8
AUTÓMATAS FINITOS CON MOVIMIENTOS Ε Podemos extender nuestro modelo de autómata finito no determinístico para incluir transiciones sobre la entrada vacía. El diagrama de transiciones de dicho NFA que acepte el lenguaje consistente en cualquier número (incluyendo el cero) de 0s seguidos por cualquier número de 1s seguidos, a su vez, por cualquier número de 2s. Un NFA acepta una cadena w si existe alguna trayectoria con la etiqueta w que va del estado inicial a un estado final. Deben excluirse las aristas con etiqueta en la trayectoria, aunque las s no aparezcan explícitamente en w. De manera formal definimos un autómata finito no determinístico con movimiento como la quíntupla ( Q, ,S,q 0 ,F) con todos sus componentes igual que antes, con excepción de S, la función de transición, que ahora transforma ¿ a 2 Q . La intención es que S (q, a) consista en todos los estados p tales que exista una transición con etiqueta a que vaya de q a p, siendo a con el símbolo o un símbolo de Σ. Naturalmente que podemos hacer la CERRADURA ϵ ( P ) en la que P es un conjunto de estados, sea U qen p CERRADURA ϵ ( q) . Definimos ahora ^ S de la manera siguiente: I. ^ S ( q,ϵ) =CERRADURA ϵ ( q) . II. Para w en ¿ yaen , ^ S ( q,wa ) =CERRADURA ϵ( P) , en donde P= {ppara algunr en ^ S ( q,w ) ,pe . Es conveniente extender S y ^ S a conjuntos de estados mediante 3.- S ( R,a )=U q en RS ( q,a ) y 4.- ^ S ( R,w ) =U q en R ^ S ( q,w ) Para conjuntos de estados R.

Resumen Autómatas

Embed Size (px)

DESCRIPTION

Autómatas

Citation preview

Autmatas finitos con movimientos Podemos extender nuestro modelo de autmata finito no determinstico para incluir transiciones sobre la entrada vaca. El diagrama de transiciones de dicho NFA que acepte el lenguaje consistente en cualquier nmero (incluyendo el cero) de 0s seguidos por cualquier nmero de 1s seguidos, a su vez, por cualquier nmero de 2s.Un NFA acepta una cadena w si existe alguna trayectoria con la etiqueta w que va del estado inicial a un estado final. Deben excluirse las aristas con etiqueta en la trayectoria, aunque las s no aparezcan explcitamente en w. De manera formal definimos un autmata finito no determinstico con movimiento como la quntupla con todos sus componentes igual que antes, con excepcin de S, la funcin de transicin, que ahora transforma a . La intencin es que S (q, a) consista en todos los estados p tales que exista una transicin con etiqueta a que vaya de q a p, siendo a con el smbolo o un smbolo de .Naturalmente que podemos hacer la CERRADURA en la que P es un conjunto de estados, sea . Definimos ahora de la manera siguiente:I. II. .Es conveniente extender S y a conjuntos de estados mediante 3.- 4.- Para conjuntos de estados R.Definimos L (M), el lenguaje aceptado por ,Equivalencia de los Nefas con y sin movimientos Como en el caso del no determinstico, la capacidad de hacer transiciones sobre no permite al NFA aceptar conjuntos no regulares. Teorema 2.2 si L es aceptado por un NFA con transiciones , entonces L es aceptado por un NFA sin transiciones .Demostracin

Deseamos mostrar por induccin sobre |X| que . Sin embargo, esta proposicin puede no ser verdadera para , ya que = CERRADURA . Por tanto empezamos nuestra induccin en 1.Base |x|=1. Entonces x es un smbolo a, y , por definicin de .Induccin |x|>1. Sea x=wa para un smbolo a en . Entonces

Por la hiptesis inductiva, . Sea . Debemos mostrar que . Pero

Entonces, como tenemos

Por la regla (2) de la definicin de . As pues,

EXPRESIONES REGULARESLos lenguajes aceptados por un autmata finito se describen con facilidad mediante expresiones simples llamadas expresiones regulares.Sea conjunto finito de smbolos y L, y conjuntos de cadenas de . La concatenacin de y , denotada como, , es el conjunto {xy| x esta en y en }. Las cadenas de estn formadas mediante la seleccin de una cadena L1, seguida de una cadena }. La cerradura Kleene (o solamente cerradura) de L, denotada como L*, es el conjunto.

Y la cerradura positiva de L, denotada por L+2, es el conjunto

Es decir, L* se denota palabras construidas mediante la concatenacin de cualquier numero de palabras de L. L+ es lo mismo que L*, solo que ahora se excluye el caso de cero palabras, cuya concatenacin se define como si y solo si L lo hace.Sea alfabeto. La expresin regular sobre los conjuntos que detonacin definen de manera recursiva como sigue.1. es una expresin regular y denota el conjunto vaco.2. es una expresin regular y denota el conjunto {}.3. Para cada a en es una expresin regular y denota al conjunto {a}.4. Si r y s son expresiones regulares que denotan a los lenguajes R y S, respectivamente, entonces (r + s), (rs) y (r*) son expresiones regulares que detonan a los conjuntos *, respectivamente.Equivalencia entre autmatas finitos y expresiones regularesAhora nos abarcaremos a mostrar que los lenguajes aceptados por un autmata finito son precisamente los lenguajes denotados por las expresiones regulares. Esta equivalencia fue la motivacin para llamar a los lenguajes de autmata finito conjuntos regulares. Nuestro plan consistir en demostrar, por induccin sobre el tamao (nmero de operadores) de una expresin regular, que existe un NFA con transiciones que denota el mismo lenguaje. Finalmente, demostraremos que para cada DFA existe una expresin regular que denota a su lenguaje. Estas construcciones, junto con los Teoremas 2.1 y 2.2, demuestran que los cuatro mecanismos para definir un lenguaje.Procedemos ahora a probar que para cada expresin regular existe un NFA equivalente con transiciones

Teorema 2.3 Sea r una expresin regular. Entonces existe un NFA con transiciones que acepta L(r).Prueba mostramos por induccin sobre el nmero de operadores de la expresin regular, r, que existe un NFA, M, con transiciones , que posee un estado final y ninguna transicin que parta dl estado final, tal que L(M)= L(r).Base (Cero operadores) La expresin ser o a para alguna a de .Induccin (uno o ms operadores) supngase que el teorema es verdadero por expresiones regulares con menos de i operadores, i > 1. Sea r una expresin con operadores.Caso 1 tanto como deben tener menos de i operadores. Por tanto, existe NFAs y con

En donde S est definido por

Caso 2 Sean En donde S est dada por

Caso 3 Sea En el que S est dada por

La prueba del teorema 2.3 es, en esencia, un algoritmo para convertir una expresin regular en autmata finito.Para las expresiones regulares que no tengan parntesis redundantes, debemos de determinar si la expresin es de la forma p + q, pq o p*. Teorema 2.4 si L es aceptado por un DFA, entonces L es denotado por una expresin regular.Demostracin Sea L el conjunto aceptado por el DFA.

Podemos definir de manera recursiva

Informndole, la definicin de daba arriba, significa que las entradas que hacen que M vaya de a sin pasar por un estado mayor son:a) Las que se encuentran (o sea, nunca pasan por un estado tan alto como ); o.b) Las computadoras por una cadena de (que lleva M a por primera vez) seguida por cero o ms cadenas de (que lleva a M de de regreso a o un estado con nmero mayor) seguida por una cadena de (que lleva a M del estado al .Debemos demostrar que para cada i, j y k, existe una expresin regular que dota al lenguaje en Procederemos mediante induccin en k.Base (k=0). ij es un conjunto finitos de cadenas, cada una de las cuales es o un solo smbolo.Induccin La frmula recursiva para , solo implica a los operadores de expresiones regulares: unin, concatenacin y cerradura. Por la hiptesis de induccin, para cada L y m existe una expresin regular tal que L ( = . As pues para podemos seleccionar la expresin regular

Que completa la induccinPara terminar la prueba solo tenemos que observar que

Ya que , representa las etiquetas de todas las trayectorias de de aqu que L (M) se denota por la expresin regular

Donde