You are on page 1of 8

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
s no aparezcan explcitamente en w.

en la trayectoria, aunque las

De manera formal definimos un autmata finito no determinstico con movimiento

como la quntupla

(Q , , S , q 0 , F)

con todos sus componentes igual que

antes, con excepcin de S, la funcin de transicin, que ahora transforma

{}

Qx

2Q . 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
conjunto de estados, sea

( P)

en la que P es un

U q en p CERRADURA (q) . Definimos ahora

S^

de la

manera siguiente:
S^ ( q , )=CERRADURA ( q ) .

I.
II.

Para w en y a en , S^ ( q , wa )=CERRADURA ( P), en donde P= { p para algunr en ^S ( q , w ) , p esta en


.
Es conveniente extender S y

S^

a conjuntos de estados mediante

3.-

S ( R ,a )=U q en R S ( q , a ) y

4.-

S^ ( R , w )=U q en R ^S ( q , w )

Para conjuntos de estados R.


Definimos L (M), el lenguaje aceptado por
Q,
S , q0 , F , como {wS^ ( q0 , w ) contiene un estado en F } .
M = ,
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
Sea M =( Q , , S , q 0 , F ) un NFA con transiciones . Construyase M ' =( Q , , S , q 0 , F' ) en elque :

F' =

F { qo } siCERRADA ( q0 ) contiene un estadode F ,


F en cualquier otro caso

y S ' ( q , a ) es S^ ( q , a ) para q en Qy a en . Notese que M ' no tiene transiciones . Asi pues podemosutilizar S' com
S y S.
Deseamos mostrar por induccin sobre |X| que
esta proposicin puede no ser verdadera para

S ' ( q0 , x ) =S^ ( q0 , x ) . Sin embargo,


x=

, ya que

S ' (q0 , )

CERRADURA ( q0 ) . Por tanto empezamos nuestra induccin en 1.


Base |x|=1. Entonces x es un smbolo a, y
'

S .

S ' ( q0 , a ) =S^ ( q0 , a ) , por definicin de

Induccin |x|>1. Sea x=wa para un smbolo a en . Entonces


S ' ( q0 , wa )=S' ( S' ( q 0 , w ) , a )
S ' ( q0 , w ) =S^ ( q0 , w ) . Sea

Por la hiptesis inductiva,


mostrar que

S ( P , a )=S ( q 0 , wa)

S^ ( q0 , w )=P

. Debemos

. Pero

S ( P , a )=U q enP S ( q , a )=U q en p ^S ( q , a )


Entonces, como

P= S^ ( q , w )= ^S ( q 0 , wa )

tenemos

U q en p ^S ( q , a ) =S^ ( q0 , wa )
Por la regla (2) de la definicin de

S^

. As pues,

S^ ( q 0 , wa ) = ^S ( q 0 , wa )
EXPRESIONES REGULARES
Los lenguajes aceptados por un autmata finito se describen con facilidad
mediante expresiones simples llamadas expresiones regulares.
Sea
de

un

conjunto finito de smbolos y L,

. La concatenacin de

el conjunto {xy| x esta en

L1

L1
y en

L1

L2

conjuntos de cadenas

L2

L2

}. Las cadenas de

, denotada como,
L1

L1

L2
L2

formadas mediante la seleccin de una cadena L1, seguida de una cadena

, es
estn
L2

}.

La cerradura Kleene (o solamente cerradura) de L, denotada como L*, es el


conjunto.
L i=0 L

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

+=i=0
L Li
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

un

alfabeto. La expresin regular sobre

los conjuntos que

detonacin definen de manera recursiva como sigue.


1.
2.

es una expresin regular y denota el conjunto vaco.


es una expresin regular y denota el conjunto { }.

3. Para cada a en

+
a

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 R S , RS y R *, respectivamente.
Equivalencia entre autmatas finitos y expresiones regulares
Ahora 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

r=r 1+ r 2

r1

tanto

r2

como

deben tener menos de i operadores.


2

Por

tanto,

existe

NFAs

, S 1 , q 1 , {f 1 }
Q1 ,
1

M 1
L ( M 1 ) =L ( r ) y L ( M 2 )= L ( r 2 ) .
M =(Q1 Q2 { q0 , f 0 } , , S , q0 , { f 0 })
1

En donde S est definido por

Caso 2

r=r 1 r 2 .

Sean

En donde S est dada por

M 1 y M 2 como en el caso 1 y construyase

, S 2 , q 2 , {f 2 }
Q2 ,
2

M 2

con


Caso 3 r=r 1 .

M 1= Q 1 , , , S , q 0 , { f 0 } ,

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.

( {q1 , qn ) , , S , q1 , F ) .
M
Podemos definir

Rij

de manera recursiva

Rkij

Informndole, la definicin de
hacen que M vaya de
a)

q1

Las que se encuentran


como

qk

qj
Rkij

daba arriba, significa que las entradas que

sin pasar por un estado mayor

qk

son:

(o sea, nunca pasan por un estado tan alto

); o.

b) Las computadoras por una cadena de

Rkij

vez) seguida por cero o ms cadenas de

(que lleva M a
k

Rij

qk ,

por primera

(que lleva a M de

qk

de

regreso a

q k sin pasar por q k

una cadena de

Rkij

o un estado con nmero mayor) seguida por

(que lleva a M del estado

qk

qj

al

.
r kij

Debemos demostrar que para cada i, j y k, existe una expresin regular


dota al lenguaje en
Base (k=0).

Rij .

que

Procederemos mediante induccin en k.

R0 ij es un conjunto finitos de cadenas, cada una de las cuales es

o un solo smbolo.

Induccin La frmula recursiva para

Rkij , 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
=

Rk1
lm
. As pues para

r kij

k1

rl m

k1

tal que L ( r l m

podemos seleccionar la expresin regular

Que completa la induccin


Para terminar la prueba solo tenemos que observar que

Ya que

Rnij , representa las etiquetas de todas las trayectorias de

aqu que L (M) se denota por la expresin regular

Donde

q1 a q j

de

You might also like