Teoria Lenuajes
Teoria Lenuajes
Teoria Lenuajes
R.C.
R.R./Ho:
Aceptar
Ho:
R.R./Ho:
LENGUAJES FORMALES Y
AUTOMTAS
PREPARADO POR:
VLADIMIRO IBAEZ QUISPE, Dr.
PRESENTACIN
El autor
Marzo, 2011
Lenguajes Formales - v -
NDICE
Pg.
CAPTULO 1: LENGUAJES FORMALES
1.1. Conceptos bsicos.....................................................................................
01
07
CAPTULO 2: GRAMTICA
2.1. Gramtica ......................................................................................................
2.2. Tipos de gramticas - Jerarqua de Chomsky..........................................
2.3. Lenguajes regulares y expresiones regulares.........................................
2.4. Representaciones de lenguajes y gramticas especiales......................
2.4.1. Notacin BNF (Backus-Naur-Form)................................................
2.4.2. Diagrama de sintxis .........................................................................
2.5. Gramticas regulares y expresiones regulares .........................................
13
28
33
37
37
41
44
50
58
61
63
66
73
76
86
101
116
117
122
126
131
140
Pg.
CAPTULO 5: MQUINAS DE TURING
5.1. Funcionamiento de la Mquina de Turing..............................................
5.2. Lenguaje aceptado por una mquina de Turing.....................................
5.3. Mquinas de Turing como generadores de lenguajes..........................
5.3.1. Tcnicas para la construccin de mquinas de Turing ..............
5.3.2. Almacenamiento en el control finito ...............................................
5.4. Mquinas de Turing Modificadas ...........................................................
5.4.1. Mquinas de Turing Multicinta ......................................................
5.4.2. Mquinas de Turing Multipista ......................................................
5.4.3. Mquinas de Turing con mltiples cabezales ...............................
5.4.4. Mquinas de Turing Offline ............................................................
5.5. Mquinas de Turing no deterministas.......................................................
5.5.1. Simulacin de autmatas por medio de mquinas de Turing .......
147
152
158
159
159
160
161
162
164
164
165
168
Lenguajes Formales - 1 -
1
LENGUAJES FORMALES
1.1. CONCEPTOS BSICOS.
a) Alfabeto.- Un alfabeto ( ) es un conjunto finito no vaco de smbolos.
Ejemplo:
El alfabeto del idioma espaol:
= {a , b , c ,L , z},
1
= {0 ,1},
a 1
0 2
= {a , b},
b 4
Observacin:
i) Usamos meta-smbolos {}
, , =, y la coma para describir sobre lo que hablamos.
ii) Usamos subndices para distinguir diferentes alfabetos.
iii) Cardinalidad del alfabeto (nmero de elementos del alfabeto): 0, .
b then b = a;
Observacin:
i) Existe una cadena vaca que no tiene smbolos y se denota con , cuya
longitud es cero = 0 .
ii) El smbolo no pertenece a ningn alfabeto, pero si al meta-alfabeto,
c) Longitud de cadena (palabra o frase).- La longitud de una cadena es el nmero de
smbolos de que contiene X, y es denotado por X a la longitud de la palabra
X.
0, si X =
w =
y + 1, si X = ya
Ejemplo:
: w = a, entonces w = 1
:
3
w = 123, entonces w = 3
: w = if a b then b = a; entonces w = 9
6
* = { , a, aa, aaa,L}
- * , Ejemplo: a * , aa *
- es palabra de cualquier universo, *
- La cardinalidad del universo es infinito (contable o enumerable).
- Si el alfabeto es libre (un generador libre), se denota con w( ) por *
Definicin.- Se define lenguaje formal al conjunto de cadenas sobre un alfabeto se denomina lenguaje sobre un alfabeto ( ) a un subconjunto del universo del
discurso ( * ).
Ejemplo: Sea = {0,1}
L1 = {0 ,1,11,1111 }
L3 = {0,00,000,0000, L}
L2 = {0,1} =
L 4 = { ,1,10 ,110 , L}
w = x y w =
* x * *
( w1 , w2 ) w1 w2
Ejemplo:
Si x = banana, y = rama. Entonces w = bananarama
Si x = porta, y = equipajes. Entonces w = portaequipajes
Si x = como, y = zanahoria. Entonces w = comezanahoria
Si x = abra, y = cada. Entonces xybra es w = abracadabra
En forma general:
Dadas x = a 1 a 2 a 3 L a m ,
i = 1,2,3, L m;
y = b1b 2 b 3 L b n con ai , b j ,
j = 1,2,3, L n entonces:
( x y) z = x ( y z)
x ( y z) = ( x y) z
Por cumplir los dos propiedades P1 y P2), la concatenacin de las palabras de un alfabeto es un semigrupo (* ,*) .
Ejemplo:
x = conejo, y = come, z = zanahoria. Aplicando la propiedad (xy)z = x(yz)
se tiene: (conejocome)zanahoria = conejo(comezanahoria)
conejocomezanahoria = conejocomezanahoria.
P3: Existencia de elemento neutro: La palabra vaca es el elemento neutro de
la concatenacin de palabras, tanto por la derecha como por la izquierda. Entonces, sea
x una palabra cualquiera. Se cumple que: x = x = x . Por cumplir las tres propiedades P1, P2 y P3, la concatenacin de palabras es un monoide.
P4: La concatenacin de palabras no tiene la propiedad conmutativa. Es trivial
hallar contraejemplos, incluso con palabras de un asola letra.
Ejemplo:
Las palabras a y b verifican que ab no es igual a ba, siempre que a
decabc = yz.
, si n = 0
wn = n1
ww , si n > 0
Ejemplo:
Si w = 133 sobre el alfabeto = {133}, se tiene:
w0 =
w1 = 133
w 2 = 133133
Ejemplo:
Si w = ala sobre el alfabeto = {ala}, se tiene:
w0 =
w1 = ala
w 2 = alaala
Ejemplo:
Si w = abc sobre el alfabeto = {abc}, se tiene:
w0 =
w1 = abc
w 2 = abcabc
w3 = abcabcabc
Observacin: Las propiedades de la funcin longitud son semejantes a las del
n
logaritmo: w = n w
Ejemplo: w2 = 2 alaala
Definicin.- Sea
de w, y se representa como:
por las mismas letras en orden inverso. La funcin longitud es invariante con respecto
a la reflexin de palabras w R = w y esta definido como:
w, si w =
wI = I
*
Y a, si w = ay, a y y
Ejemplo: Supongamos que X = amor.
(arroz)I = (rroz) I a = (roz) I ra = (oz)I rra = ( z)I orra = ()I zorra = zor
L = L1 + L2 = x * ( x L1 ) ( x L2 ) = L1 U L2
Propiedades:
P-1: La unin de lenguajes es una operacin cerrada.
L1 U L2 *
L1 U L2 es un lenguaje.
L1 + L 2 = L2 + L1
L1 L 2 = L 2 L1
L1 L2 = {x y * ( x L1 ) ( y L2 )}
Ejemplo:
L1 = {0,1}, L2 = {a, b, cd }
L 1 L 2 = {0 a , 0 b , 0 cd ,1 a ,1 b ,1 cd
Ejemplo: L1 = {casa},
L2 = {pjaro, perro}
L1 L2 = {casapjaro, casaperro}
L2 = {nta, sa}
Propiedades:
P-1: La concatenacin de lenguajes es una operacin cerrada, es decir la
concatenacin de dos lenguajes sobre el mismo alfabeto es otro lenguaje sobre el
mismo alfabeto.
Lenguajes Formales - 9 -
L = L 1 L 2 es un lenguaje.
P-2: Asociativa: ( L1 L 2 ) L 3 = L1 ( L 2 L 3 )
Por cumplir las dos propiedades anteriores, la operacin de
concatenacin de lenguajes es un semigrupo.
P-3: Elemento neutro: Cualquiera que sea el lenguaje L, el lenguaje formado por
la palabra vaca cumple que: L = L = L .
Por cumplir los tres propiedades anteriores, la operacin de concatenacin
de lenguajes es un monoide.
P-4: Lenguaje vaci o anulador: L = L =
P-5: Si
L1 L2
L1 L2
L1 ( L 2 L 3 ) = L1 L 2 L1 L 3
P-7: Distributiva respecto a la interseccin.
L1 ( L 2 L 3 ) L1 L 2 L1 L 3
Nota: Puede no cumplirse la igualdad en la ltima propiedad, por ejemplo:
{ }, s n = 0
Ln = n 1
n
LL
s
n
,
>
0
L0 = { }
L1 = L L 0 = L { } = L = {0 ,1}
L3 = L L2 = L L L = {000,001,010,011,100,101,110,111}
L4 = {0,1}{000,001,010,011,100,101,110,111}
0000,0001,0010,0011,0100,0101,0110,0111,
=
1000,1001,1010,1011,1100,1101,1110,1111
Ejemplo: L = {ab}, encontrar L3.
L0 = { }
L1 = L L0 = L{ } = L = {ab}
L2 = L L1 = L L = {abab}
L3 = L L2 = {ababab}
d) Cierre estrella (de Kleene) y cierre positivo.
1) Cierre estrella clausura universal.-Se denomina cierre estrella de L o
*
L* = U Ln
n=0
L* = U Ln
L* = L0 L1 L2 L
n0
Ejemplo: L = {a }, entonces:
L0 = { }, L1 = {a}, L2 = {aa},
Luego:
Ejemplo:
Luego:
L3 = {aaa},...
L* = { , a, aa, aaa,L}
Lenguajes Formales - 11
L+ = U Ln
n =1
L+ = U Ln
n>0
L* , s L
L = *
L { }, s L
+
LR = {x R x L} LR = {w R w L}
Propiedades:
i) Si = {a}, LR = L
ii) R =
iii) ( L1 L 2 ) R = L R2 L1R
iv) ( Ln ) R = ( LR ) n
v)
( L* ) R = ( LR )*
vi) ( L* ) R = ( L R ) * = *
vii) ( LR ) R = L
Observacin: R = , ( a1a2 L an ) = an L a2 a1
R
Gramtica - 13 -
2
GRAMTICA
2.1. GRAMTICA.
La idea para aplicar una gramtica es que parte de una variable (no terminales),
llamada smbolo inicial, y se aplican repetidamente las reglas gramaticales, hasta que
ya no haya smbolos no terminales en la palabra. En ese momento se dice que la palabra
resultante es generada por la gramtica, o en forma equivalente, que la palabra resultante
es parte del lenguaje de esa gramtica.
Definicin.- Se llama gramtica formal o simplemente gramtica G a la cuadrpla o 4uple o ada definido como:
G = ( N , T , I , P ) = (V , S , v0 , a )
Donde:
N = V : Es un conjunto finito y no vaco de smbolos llamados no terminales
(alfabeto de smbolos no terminales).
Ejemplo:
S: Estado inicial.
Generar la palabra aaabbb.
SOLUCIN:
a: S a ab
S a aSb
N aC
C a1
Ca2
Ca0
Ca3
N a NC
Ca4
Ca7
Ca5
Ca6
C a8
Ca9
2011
122010
N a NC
N a NCC
N a NCCC
N a NCCCC
N a CCCCC
N a 1CCCC
N a NC
N a NCC
N a NCCC
N a CCCC
N a 2CCC
N a 20CC
N a NC
N a NCC
N a NCCC
N a NCCCC
N a NCCCCC
N a CCCCCC
N a 12CCC
N a 122CC
N a 1223C
N a 12230
N a 201 C
N a 1CCCCC
N a 2011
N a 12 CCCC
N a 122 CCC
N a 1220 CC
N a 12201C
N a 122010
S bAA a
B aBB b
Generar la palabra aabbbbaaba
SOLUCION:
S aBS
S aBbAS
S aBbAbAS
S aaBBbbAAbAS
S aabbbbaaba
Definicin (derivacin).- Sean ' , ' * , se dice que ' deriva directamente
), ' =
y P.
S ab
S aSb
SOLUCION:
S aSb
S aaSbb
S aaabbb
Aplicando la definicin al ejemplo anterior se tiene:
aa
{ S{ bb
{ G
aa
{ ab
{ bb
{
y se cumple i i +1 ,
G
V * , n 1, de manera que 1 = , n =
S .
G
L (G ) = w * S w
G
L(G ) = x * S x
G
Gramtica - 17 -
} )
S aSb
S
Si n = 4, entonces la derivacin de la palabra es el siguiente:
A Sb
S aA
S ab
A Sb
Ejemplo:
Sea S = {Juan, Julia, maneja, corre, descuidadamente, rpido, frecuentemente}
v0 = Oracin.
Generar: Juan corre descuidadamente.
SOLUCION:
Oracin Sujeto Predicado
Sujeto Juan
Sujeto Julia
L(G).
Adverbio
Adverbio
descuidadamente
S a aS
S a bA
A a aA
Aa a
Generar la palabra
i) aaaabaaaaaa
ii) aaabaaa
SOLUCION:
Para i)
S a aS
S a aaS
Para ii)
S a aS
S a aaS
S a aaaS
S a aaaS
S a aaaaS
S a aaaabA
S a aaaabaA
S a aaaabaaA
S a aaabA
S a aaabaA
S a aaabaaA
S a aaabaaa
Gramtica - 19 -
S a aaaabaaaA
S a aaaabaaaaA
S a aaaabaaaaa A
S a aaaabaaaaa a
Arbol de derivacin.- Consideremos una derivacin cualquiera de la forma
A , donde A y son, respectivamente una variable (smbolo no terminal) y una
cadena intermedia; consideremos la secuencia de derivaciones directos que constituyen
la derivacin considerada. Es muy til representar esta derivacin por medio de un
rbol, de la siguiente manera:
*
A a bAA a
B a aBB b
Encontrar la palabra: aabbbbaa
SOLUCION:
a) S aBS aaBBS aabBS aabbS aabbbAS aabbbbAAS
a
a
S
B
B
b
v0 a aw
w a bbw
wac
Examine la gramtica de estructura de frase: G = ( V , S , v0 , )
SOLUCIN:
v0
v0
a
ac L( G )
v0
w
b b c
abbc L( G )
ab 2 c L( G )
b b
b b
b
abbbbbbc L( G )
ab 6 c L( G )
w
w
w
b
c
a( bb ) c L( G )
*
Gramtica - 21 -
L( G ) = a( bb )* c a ,b, c S
EJEMPLO:
l q
G = (V , S ,v0 , ),V = v0 , v1 , x , y , z , S = x , y , z , N = V S = v0 , v1 ,
a: v0 a xv0
v0 a yv1
v1 a yv1
v1 a z
SOLUCIN:
v0
v0
v0
v0
v0
v0
v1
v1
v1
v1
xyz L(G)
v0
v1
v1
v1
v1
v0
v0
v0
v0
v1
v1
v0
v0
v1
v0
v0
v0
v1
v0
v0
v0
v0
v0
v0
v1
v1
x
x
v1
v1
v1
v1
xxxxxyyyyyzLG
( ), x yzLG
( )
5 5
v1
v1
v1
L(G)= x y z n0,m1
n m
l q
l q
V = v 0 , a ,b , S = a ,b , N = V S = v 0
a: v0 a aav0
v0 a a
v0 a b
SOLUCIN:
v0
v0
v0
v0
v0
a =aaaLG
( )
a a
v0
v0
a a
a =aaaaaL(G)
a a
v0
a a
v0
a a
v0
v0
a a
a a
v0
v0
v0
a a
a a a
a1 L(G)
v0
v0
v0
a a
v0
v0
0 1
ab
( )
LG
v0
v0
v0
a a
a4bL(G)
a a
b
v0
v0
v0
a a
a a
v0
a a
a6bL(G)
a a
v0
a a
v0
..
v0
v0
a a
a a
a8bL(G)
v0
a a
v0
a a
b
a a
a2n+1 a
v0
v0
a a
a bL(G)
2
v0
v0
v0
a a
a9 =aaaaaaaaaL(G)
v0
v0
..
a a
a7 = aaaaaaa L(G) a
v0
a a
r m
a2nb
L( G ) = a 2 n +1 n 0 a 2 nb n 0
EJEMPLO:
Gramtica - 23 -
G = (V , S , v0 , ), V = v0 , v1 , v2 , x ,(, ), , S = x ,(, ),
a: v0 a ( v0 )
v0 a xxv1
v1 a x v2
v2 a x v2
v2 a x
SOLUCIN:
v0
v0
v0
v0
v0
v0
)
v1
x
x
v2
v2
v2
v2
v2
v2
l q
lq
G = (V , S , v0 , ), V = v0 , a , S = a
a: v0 a aav0
v0 a aa
2. G = ( V , S , v0 , ), V = v0 , x , y , z , S = x , y , z
a: v0 a xv0v0
v0 a yv0
v0 a z
3. G = (V , S , v0 , ), V = v0 , v1 , v2 , a ,+ ,(, ) , S = a ,(,),+
a: v0 a (v0 )
v0 a a + v1
v1 a a + v2
v2 a a + v2
v2 a a
l q
4. G = (V , S , v0 , ), V = v0 , a , b , S = a , b
a: v0 a aav0
v0 a a
v0 a b
l q
5. G = (V , S , v0 , ), V = v0 , v1 , a , b , S = a , b
Gramtica - 25 -
a:
v 0 a av1
v1 a bv 0
v1 a a
6. G = (V , S , v 0 , ), V = v 0 , v1 , v 2 , a , b , c , S = a , b , c
a :
v0 a aav0
v 0 a b v1
v1 a c v 2b
v1 a cb
v2 a abv2
v2 a bb
S aSbS
S bSaS
S
a
a
b
a
abab
b
a
abab
SP AN
A un
A el
N mono
N pl tan o
VP VO
V come
S: Sentencia.
V trepa
O: Objeto
O NP
A: Artculo
NP AN
N: Nombre
SP: Sintagma sujeto.
VP: Predicado verbal.
NP: Predicado nominal.
V: Verbo
S u je to (S P )
A r tc u lo ( A )
un
P r e d ic a d o v e r b a l (V P )
N o m b r e (N ) V e r b o (V )
m ono
com e
O b je to (O )
P r e d ic a d o n o m in a l ( N P )
A r tc u lo (A )
el
S SPVP
ANVP
unNVP
un monoVP
un monoVO
un mono comeO
N o m b r e (N )
p l ta n o
Gramtica - 27 -
un mono comeNP
un mono comeAN
un mono come elN
un mono come el pl tan o
Ejercicio:
1) El mono come el pltano.
2) El mono sube a un rbo.
3) El mono sube al rbol.
4) El pltano come el mono.
Sujeto
artculo
el
predicado
nombre
adjetivo
verbo
adverbio
conejo
hambriento
come
rpidamente
frase
sujeto
artculo
artculo
el
el
el
el
el
predicado
nombre
nombre
nombre
conejo
conejo
conejo
conejo
adjetivo
adjetivo
adjetivo
adjetivo
hambriento
hambriento
hambriento
predicado
verbo
verbo
verbo
verbo
come
come
adverbio
adverbio
adverbio
adverbio
adverbio
rpidamente
TIPO
Lenguajes
(Gramticas)
Forma de las
producciones en la
gramtica
Dispositivo de
aceptacin
Regulares
AaB, Aa (A,B,a)
Autmata finito
De contexto libre
A (A,(N)*
Sensibles al contexto
(, (N ) , ,
contieneuna variable)
0
Autmata limitado
linealmente
Mquina de Turing
TIPO 1
TIPO 2
TIPO 3
A aB b con
A, B
y a, b {}
A Ba b con
A, B
y a, b {}
A ::= con
A , ( N )*
} )
S aSb
S ab
S aSb aaSbb aaaSbbb aaaaSbbbb aaaaabbbbb a
Puede comprobarse que: L = {a n b n n 1}
En general, un mismo lenguaje puede describirse mediante muchas gramticas
diferentes. En cambio, una gramtica determinada describe siempre un lenguaje nico.
Ejemplo: Encontrar una gramtica libre de contexto para generar los siguientes
lenguajes.
L = a i b j i, j , i j
SOLUCIN:
S aSb
S
S Sb
C) Gramticas contextuales (Lenguajes dependientes del contexto - lenguajes
sensibles al contexto - context sensitive - gramtica del tipo 1 de Chomsky.- Se llama
gramtica del Tipo 1 de Chomsky a toda gramtica cuyas reglas de produccin son de
la forma:
X , donde
X , , V * y V +
x, y ( )* , v ( ) + y A .
xAy xvy
se tiene
G
que . Adems, no puede ser la cadena vaca. Por esta razn, los lenguajes
representados por las gramticas del Tipo 1, se llaman lenguajes dependientes del
contexto lenguajes sensibles al contexto.
Se admite, como excepcin, que una gramtica del Tipo 1 pueda contener la
regla S , donde S es el axioma. De lo contrario, el lenguaje representado por una
gramtica del Tipo 1 no podra contener la palabra vaca. Esto se permite nicamente
cuando la gramtica no sea recursiva en S, para evitar la posibilidad de que haya
derivaciones no crecientes de palabras distintas de .
Ejemplo: Sea la siguiente gramtica: S SS a no es del Tipo 1, porque es
recursiva en S y contiene la regla
decrecientes, como la siguiente:
S SS
S
Cuando se desea obtener una gramtica del Tipo 1 para un lenguaje L que
contiene la palabra vaca, se puede aplicar el siguiente procedimiento.
i) Se obtiene en primer lugar una gramtica del Tipo 1 para el lenguaje L { }.
ii) Si la gramtica obtenida no es recursiva en el axioma S, se aade la regla
S .
iii) En caso contrario, se aade a la gramtica un nuevo smbolo no terminal, A
que ser el nuevo axioma, junto con la reglas: A S .
D) Gramticas no restringidas o con estructura de frase gramticas del TIPO
0 (Gramticas con estructura de frase).
Son las gramticas ms generales. Sus reglas de produccin tienen la forma
x, y , v ( ) * y
l3
l2
l1
l0
CB BC
bB bb
bC b
SOLUCIN:
Puede comprobarse que el lenguaje representado por esta gramtica es:
Gramtica - 33 -
{a b
n
smbolo no terminal C puede sustituirse por la cadena vaca, cuando est precedido
por el smbolo terminal b.
2.3. LENGUAJES REGULARES Y EXPRESIONES REGULARES.
Lenguajes Regulares.- Los lenguajes regulares son interesantes desde el punto
de vista prctico porque pueden ser usados para especificar la construccin de
analizadores lxicos - programas que analizan un texto y extraer los lexemas (o unidades
lxicas) que hay en el mismo. Un lenguaje regular es un alfabeto es uno que puede
obtenerse de esos lenguajes bsicos con las operaciones de unin, concatenacin y *
de Kleene, y es factible describir un lenguaje regular con una frmula explcita.
Definicin.- Sea un alfabeto. El conjunto de los lenguajes regulares (LR) sobre
es un lenguaje regular.
{a i 0} es un lenguaje regular.
{a b i 0 y j 0} es un lenguaje regular.
{(ab) i 0} es un lenguaje regular.
i
que
SOLUCIN:
* *
b)
{a}.
Gramtica - 35 Ejemplo:
*
Ejemplo: {a } {a } {c} = a b c
*
{}
{0}
1
{001 }es decir {0 }{0 }{}
{0,1}o sea {0} {}
1
0
001
0+1
0+10
{1, }{001}
(1 + )001
{110}* {0,1}
*
1 {10}
{}
{10,111,11010}*
{0,10}* ({11}* {001, })
(110)*(0 +1)
10)
----------------------------------------------------
1*10
(10 + 111 + 11010)*
2) La unin es Conmutativa: + = + =
3) La concatenacin es asociativa: ( ) = ( )
4) La concatenacin es distributiva respecto a la unin:
( + ) = +
5) es el elementro neutro de la unin: + = + =
7)
8)
* =
9)
* =
6)
Gramtica - 37 10) =
*
11)
* = *
12) ( * )* = *
13)
* = + *
14) ( * + * )* = ( * * )* = ( + )*
15)
( )* = ( )*
SOLUCIN:
v0 :: = a w
w :: = bb w c
en V * .
SOLUCIN:
Expresar en notacin BNF
Oracin
a Sujeto predicado
<Oracin>::= <sujeto><predicado>
a Juan
sujeto a Julia
sujeto
Predicado
verbo
<sujeto>::= Juan
<Predicado>::=<Verbo><adverbio>
a verbo adverbio
<Verbo>::=maneja
a maneja
corre
<adverbio>::=cuidadosamente
a corre
Adverbio a cuidadosamente
Adverbio a rpidamente
Adverbio a frecuentemente
verbo
EJEMPLO:
Julia
mente
frecuentemente
l q
G = (V , S ,v0 , ),V = v0 , v1 , x , y , z , S = x , y , z , N = V S = v0 , v1 ,
a: v0 a xv0
v0 a yv1
v1 a yv1
v1 a z
v 0 :: = x v 0
y v1
v1 :: = y v1
rpida-
Gramtica - 39 EJEMPLO:
l q
lq
G = (V , S , v0 , ), V = v0 , a , S = a
a: v0 a aav0
v0 a aa
EJEMPLO:
l q
G = (V , S , v0 , ), V = v0 , a ,b , S = a ,b
a: v0 a aav0
v0 a a
v0 :: = aa v0 a b
v0 a b
EJEMPLO:
l q
G = (V , S , v0 , ), V = v0 , v1 , a ,b , S = a ,b
E xpresar en notacin B N F
a: v0 a av1
v1 a bv0
v 0 :: = a v 1
v1 a a
v 1 :: = b v 0 a
EJERCICIO:
a: v0 a aav0
v0 a bv1
v1 a cv2b
v1 a cb
v2 a bbv2
v2 a bb
a: v0 a ( v0 ); v0 a a + v1 ; v1 a a + v2 ; v2 a a + v2 ; v2 a
En los ejercicios siguientes, construya una gramtica para la estructura de
oraciones G tal que el lenguaje L(G) de G sea igual al lenguaje L.
3. L = a b n 1
4.
n n
L = {a n b m n 1, m 1}
5. L = a n b n n 3
6.
7.
8.
L = {a nb m n 1, m 3}
{
L = {x
}
n, par, m positivo e impar}
L = x n y m n 2, m no negativo y par
n
ym
a: v0 a 0v11,
v0 a 1v1 0 ,
v1 a 0v11
v1 a 1v1 0 ,
v1 a 01 ,
v1 a 10
a : v0 a aav 1bb ,
v1 a av1b ,
a: v0 a v0 yy ,
v 0 a xv 0 ,
v1 a ab
S = {x, y}
v 0 a xx
EJEMPLO:
Un enunciado BNF es:
w1
w3
w2
EJEMPLO:
Un enunciado BNF es:
w ::= w1 w2 w1 a bc w2
w1
w2
w1
w2
w
b
w
c
v0
a
a
v0 :: = x v0 y w1
w1 :: = y v1 z
Gramtica - 43 -
v0
w1
w1
v0
a
a
v 0 :: = aa v 0 b v 1
v 1 :: = c v 2 b cb
v 2 :: = bb v 2 bb
a
v0
b
a
b
b
v1
v1
v2
v2
L S * , entonces L es un conjunto
regular si y solo s L = L(G) para alguna gramtica regular G = ( V , S , v0 , ) .
Teorema.- Sea S un conunto finito y
Definicin.- Sea G = ( V , S , v0 , ) una gramtica regular y se especifica por un conjunto de diagramas sintcticos, es posible combinar todos los diagramas
sintcticos dentro de un gran diagrama que representa a v0 , y slo tenga smbolos
terminales, se denomina diagrama maestro de G.
Reglas:
1. Los smbolos terminales del diagrama corresponden a s mismos, como expresiones regulares.
2. Si un segmento D del diagrama se compone de dos segmentos D1 y D2 en
sucesin, y D1 y D2 corresponden a las expresiones regulares
respectivamente, entonces D corresponde a
1 y 2
1 2 .
1 2 .
D
1.
D1
D2
D3
D4
1 2 3 4
Gramtica - 45 -
2.
D1
D2
D3
*1 es un ciclo.
3.
D1
EJEMPLO:
a: v0 a aw
w a bbw
wac
SOLUCIN:
v0
c
b
b
y
v0
w , se obtendr el diagrama
a
b
v0
a( bb )* c
EJEMPLO:
l q
2. Sea G = ( V , S , v0 , ), V = v0 , a ,b , S = a ,b
v 0 :: = aa v 0 a b
v0
a
a
v0
ql q
l q
Gramtica - 47 SOLUCIN:
a: v0 a xv0
v0 a yv1
v1 a yv1
v1 a z
v 0 :: = x v 0
y v1
v1 :: = y v1
v0
v1
v1
z
y
y v1 , se obtendr el diagrama
y
x
x* yy* z
q l q
4. Sea G = (V , S , v0 , ),V = v0 , v1 , a ,b , S = a ,b
a: v0 a av1
v1 a bv0
v1 a a
Expresar en notacin BNF, diagrama sintctico, diagrama maestro y la expresin regular.
v0
v0 :: = a v1
v1
v0
v1
v1 :: = b v0 a
a
El diagrama maestro es:
v0
a
b
EJERCICIOS:
1. Determinar la expresin regular y exprese en notacin BNF a los diagramas
sintcticos siguientes:
a
v0
b
c
d
d
2.
v0
d
c
Autmatas Finitos - 49 -
3
AUTMATAS FINITOS
Todo proceso que recibe una o varias entradas, que las transforma y que despus
emite una salida recibe el nombre de sistema. Existen sistemas muy complejos, como
los sistemas de los seres vivos; por ejemplo una planta que recibe como entrada agua,
sales minerales, oxgeno luz solar, procesa esas entradas y emite como salida hojas,
tallos, flores y frutos. Este sistema parece muy sencillo, sin embargo no lo es ya que de
acuerdo con las entradas, cantidad y calidad de elementos, as como el medio ambiente
que rodea a la planta, puede tener mejores flores y frutos.
Un sistema an ms complejo es el comportamiento del ser humano, el cual recibe
infinidad de informacin de varios lados que se procesa de acuerdo con su estructura
cognitiva y que en funcin de esto toma una decisin de lo que debe hacer. Su comportamiento o reaccin a la informacin proporcionada no se puede determinar con exactitud, ya que depende adems de la informacin de entrada, del entorno socioeconmico,
edad, valores morales entre otras muchas cosas ms. Este tipo de sistemas recibe el
nombre de sistemas infinitos.
Los autmatas finitos tambin reciben como entrada informacin que procesan y
en funcin de ello emiten una salida. Un autmata finito recibe una palabra, la cual debe
procesar por medio de un recorrido a travs de los diferentes estados que integran el
autmata, y si al final del procesamiento de sta el recorrido termina en un estado o
posicin de aceptacin, se dice que la palabra forma parte del lenguaje. A diferencia de
los sistemas infinitos, un autmata es un sistema finito y por eso se llama autmata
finito, en donde si es posible determinar con exactitud la salida que se tendr con cierta
informacin.
M = ( K , , , q0 , F ) , tal que:
K: Es un conjunto finito de estados ( K , ha de ser finito y K = ).
: K K
( q, a ) = p,
p, q K , a
CINTA DE ENTRADA
Cabeza de lectura
...
q1
q6
q2
q5
q3
q4
MECANISMO DE CONTROL
Autmatas Finitos - 51 -
La funcin de transicin
8
3
7
6
8
3
Ejemplo: M = ( K , , , q0 , F ) , donde:
8
3
2
3
7
6
a
b
q0
q1
b
b)
a * (ba*ba * )* ba*
(a *ba*ba * )* ba*
F = {q2 }
q0 = {q0 }
a,b
a
q0
a
q1
q2
b
b) Las funciones de transiciones son los siguientes:
(q0 , a) = q1
(q1 , a) = q2
( q2 , a ) = q 2
( q0 , b ) = q0
(q1 , b) = q0
( q2 , b) = q2
( qi , a k ) = ( q i , a k ) = q j , a k .
q0
q1
q2
b
a,b
a,b
q3
q3 es un estado de muerte.
(a b)aba*
SOLUCIN:
a
q0
a,b
q1
q2
q3
Ejemplo:
Sea = {0,1}, dibuje el diagrama de transicin que reconozca cadenas con dos
unos consecutivos.
SOLUCIN:
0,1
1
1
q0
q1
q2
Expresin Regular:
(0*10)*1(01)*
q1
q2
Encuentre las combinaciones de cadenas?. Se deja como ejercicio para el estudiante para que resuelva y explique.
Definicin.- Sea M = ( K , , , q0 , F ) un AFD, y sea
cadena x es aceptada por el AFD M cuando
x * . Se dice que la
L ( M ) = {x * ( q0 , x ) F }
Ejemplos:
1)
2)
3)
4)
5)
a,b
a,b
a,b
a,b
a
c
6)
a,b
L ( M ) = bc {a} , a{c}
*
b,c
a,b
a,b,c
7)
8)
a,b
el lenguaje es: L ( M ) = {a , b}
a,b
a,b
9)
a,b
a
10)
b
b
a
b
a,b
a
a
L( M ) = a{a} b{b}
*
M .
transitiva de
como: L( M ) = x * f F , ( q0 , x ) *M ( f , )
a,b
a
b
q0
q1
b
q2
q3
Sea la cadena de entrada x = abbababb, escribir las configuraciones por las que
pasa M al recibir x como entrada.
SOLUCIN: La tabla de transicin de estados es el siguiente:
qi
q0
q1
q2
q3
a
q0
q0
q0
q3
b
q1
q2
q3
q3
q2 F , tenemos que x L (M ) .
Ejemplo: Considere el AFD, cuyo diagrama de transicin es el siguiente:
0
q0
q1
q2
q3
0
a) Encuentre la tabla de transicin de estados (TTE).
qi
q0
q1
q2
q3
0
q1
q0
q3
q2
1
q2
q3
q0
q1
b) Sea la cadena de entrada x = 110101, escribir las configuraciones por las que
pasa M al escribir x como entrada.
a)
b)
c)
ab
a
q0
q3
q1
b
a
q1
q2
q0
b
q2
q0
aba
a
q3
Cmo puede no aceptar una cadena?. Supongamos que recibe como entrada
bb. Parte del estado inicial (y final), y no tiene transiciones para moverse. Queda,
pues en ese estado. Acepta la cadena?. Respuesta: NO, pues no ha logrado consumirla. El AFND c) tiene slo un estado y ste es final.
Un AFND acepta una cadena cuando tiene una forma de consumirla y llegar a un
estado final. Loas AFND son un superconjunto de los AFD, la relacin que hay entre
AFD y AFND es que los AFD son un caso particular de los AFND.
Nota: Cuando tenemos ms de una transicin con un mismo smbolo del alfabeto
desde un estado, se refiere a AFND.
q2
q4
a
q1
q3
Del estado
otra al estado
M = ( K , , , q0 , F ) , tal que:
K: Es un conjunto finito de estados.
b
q3
q1
q2
a
q4
q0
q1
q2
q3
q4
a
{q1,q4}
{q1}
b
{q3}
{q2}
{q4}
b
a
q0
q1
q2
q0
q1
q2
a
{q1}
{q1}
b
{q0,q2}
{q2}
b) L( M ) = b m (ab) n m 1, n 0
c)
(q0 , a ) = {q1}
(q0 , b) = {q0 , q2 }
(q1 , a) =
(q1 , b) = {q2 }
(q2 , a ) = {q1}
( q2 , b ) =
(q0 , bbababab
) (q0 , bababab) (q0 , ababab) (q1, babab)
Autmatas Finitos - 61 -
l( M ) = x * f F , ( q0 , x) *M ( f , ) .
Ejemplo: Considere la cadena de entrada x = ababaababa.
ab
q0
aba
SOLUCIN:
( q 0 , ababaababa ) ( q 0 , abaababa ) ( q 0 , ababa ) ( q 0 , aba ) ( q 0 , )
~ : K * 2 K como sigue: q K , x * , a
Definicin.- Se define
~ (q, ) = {q}
~
b) ( q, xa ) = U p~ ( q , x ) ( p , a )
a)
K , coincide con el de la
, ya que:
~ ( q, a ) = U ~ ( p , a ) = U
p{q } ( p , a ) = ( q , a )
p ( q , )
Ejemplo: Sea M el AFND, cuyo diagrama de transicin se presentacin en
seguida:
a
q0
b
a,b
b,c
q1
q2
a,b,c
Calcule el resultado de
~ (q , abbc ) .
SOLUCIN:
( q0 , a ) = {q0 , q1 , q2 }
Sustituyendo en (3), se tiene:
Sustituyendo en (2):
Sustituyendo en (1):
Entonces:
Autmatas Finitos - 63 -
q0
q1
q2
L ( M ) = x * ( q0 , x ) F
0,1
0,1
0
q0
q1
q2
1
0,1
q3
q4
q0
q1
q2
q3
q4
0
{q0,q1}
{q2}
{q2}
{q4}
1
{q0,q3}
{q2}
{q4}
{q4}
= {0,1}.
.......................... (1)
Sustituyendo en (3):
Sustituyendo en (2):
Sustituyendo en (1):
Entonces:
q0
q1
q2
q3
0
{q0}
{q2}
{q3}
1
{q0,q1}
{q2}
{q3}
q1
0,1
0,1
q2
q3
p ( q 0 ,10 )
( q 0 ,10 ) = U
p ( q 0 ,1 )
( p , 0 ) ............................ (5)
( q0 ,1) = {q0 , q1 }
Sustituyendo en (5), se tiene:
Sustituyendo en (4):
Sustituyendo en (3):
(q0 ,1011) = U p{q0 ,q1 ,q3 } ( p,1) = {q0 , q1} {q2 } {}= {q0 , q1, q2 }
Sustituyendo en (2):
(q0 ,10110) = U p{q0 ,q1 ,q2 }( p,0) = {q0 } {q2 } {q3 }= {q0 , q2 , q3 }
Sustituyendo en (1):
M = ( K , , , q0 , F ) que cumple
Autmatas Finitos - 67 iii) F ' = K ' ( K F ) , son todos los conjuntos de estados de M que contengan algn estado de F.
iv) Q K ' (Q K ) y
c , (Q , c ) =
U E (q ' )
qQ , ( q ,c , q '
M ' = ( K ' , ' , ' , s' , F ' ) L(M ) = L( M ' ) , tal que:
i) K ' = ( K )
ii)
' =
iii) s' = {s}, conjunto de estados que contiene el arranque del AFND.
iv) F K ' , son subconjuntos de K que contengan algn p F .
v) ' ({q1 , q2 ,L, qk }, a ) = {p1 , p2 ,L, pm } ({q1, q2 ,L, qk }, a ) = {p1, p2 ,L, p
Para construir un AFD a partir de un AFND, se procede de la siguiente forma:
- Se toman todos los smbolos de
AFND
N = ( K N , , N , s, FN )
son iguales.
iii)
tiene todos los conjuntos de estados de N que incluyen al menos un estado de aceptacin de N.
iv)
s K N y a . D ( s, a) =
( p, a )
P en S
b
q0
b
a
q1
q2
( K ) = 2 n ,
( K ) = { , {q0 }{
, q1}{
, q2 }{
, q0 , q1 }{
, q0 , q2 }{
, q1 , q2 }{
, q0 , q1 , q2 }}
({q0 }, a ) = {q1}
({q0 }, b ) = {q0 }
({q1 }, a ) = { }
({q2 }, a ) = { }
({q2 }, b ) = { }
Autmatas Finitos - 69 -
({ }, a ) = { }
({ }, b ) = { }
{q0}
{q2}
{q1}
b
{q0,q2}
b
{q0,q1,q2}
a,b
a
b b
{q0,q1}
{q1,q2}
{}
a,b
b
Eliminando los estados que no se tocan, se tiene el siguiente AFD equivalente:
b
a
{q0}
{q1,q2}
{q1}
a
a,b
a
{}
({q 1 }, a ) = { }
({q0 }, a ) = {q1}
({q1}, b) = {q1 , q2 }
({q0 }, b ) = {q0 }
({ }, a ) = { }
({}, b ) = {}
b
a
{q0}
{q1,q2}
{q1}
a
a,b
a
{}
a
q0
q2
a
q1
b
SOLUCIN:
({q0 }, a ) = {q1 , q2 }
({q0 }, b ) = { }
Autmatas Finitos - 71 -
({q1}, a ) = {q1}
({q1}, b ) = {q0 }
({q0 , q1}, a) = (q0 , a) (q1, a) = {q1, q2 }{q1} = {q1, q2 }
({ }, b ) = { }
{q0}
b
a
{q1}
{q0,q1}
{q1,q2}
{}
a,b
1)
q0
q1
a
3)
a,b
5)
q3
q0
q1
a
a
q3
b
b
b
a
q2
7)
a
b
q4
q4
q2
q3
b
q3
b
b
b b
b
b
q2
q2
a
a
q1
a
aq0
q1
q0
q4
q1
q3
a
q2
6)
q2
q0
q0
a,b
q1
q1
4)
2)
q2
q0
a,b
a,b
expresiones regulares:
2)
Th( )
3)
a a , Th(a)
4)
5)
Th ( )
Th( )
Th( )
()
( )
()
( )
6)
* Th( * )
----------------------------------------------------
()
---------------------------------------------
l(Th( E )) = l( E ) .
Ejemplo: Sea = ba *
SOLUCIN:
Para a:
q0
Para b:
q2
q1
q3
a
q0
q1
q4
q5
Para ba * se tiene:
q2
q3
SOLUCIN:
q4
q0
q1
q5
0
A
Para 1 .
Finalmente se tiene:
011*
0
A
1*
que acepte ( ab )
SOLUCIN: Para ab
q0
q1
q2
*
Para ( ab )
q3
q0
q1
q2
que los antiguos estados finales qi F dejan de ser finales; adems se aade una
transicin vaca del nuevo estado inicial al antiguo (i, , q0 ) , y varias transiciones de
los antiguos estados finales al nuevo {(qi , , f ) qi F }. Esta transformacin tiene
por objeto que haya un estado inicial al que no llegue ninguna transicin, y un solo
estado final del que no salga ninguna transicin.
2) El segundo paso consiste en eliminar nodos intermedios en la grfica de transiciones. Se llama nodo intermedio a aquel que se encuentra en una trayectoria entre el
estado inicial y el final. El proceso de eliminacin de nodos intermedios es directo. La
idea es que al suprimir el nodo en cuestin, no se alteren las cadenas que hay que
consumir para pasar de uno a otro de los nodos vecinos. En otras palabras, al suprimir
dicho nodo, se deben reemplazar las transiciones que antes tomaban ese nodo como
punto intermedio para ir de un nodo vecino a otro, por otras transiciones que vayan del
nodo vecino origen al nodo vecino destino, pero ahora sin pasar por el nodo eliminado.
p1
n
pn
q1
m
qm
q es el nodo intermedio que se quiere eliminar, y los nodos entre los que se
encuentra.
p1
1 ( 1 + L + k ) 1
q1
n ( 1 + L + k ) m
qm
Rn
a,b
a
q0
q1
q2
SOLUCIN:
Paso 1: Aadir un nuevo estado inicial y uno final.
a,b
q0
q1
q2
b
Paso 2: Eliminacin de nodos intermedios. Se elimina primero el nodo
a
q2
a(a+b)*
q0
q1 .
q2 .
a(a+b)*
q0
bb*
bb*a
q0 .
(bb*a)*a(a+b)*
i
(bb*a)*bb*
Paso 5: Finalmente fusionamos las expresiones que estn en paralelo.
(bb*a)*a(a+b)* + (bb*a)*bb*
i
q0
a
q1
q0
q1
q1 .
a
i
ba*
q0
ba*b
q0 .
(a+ba*b)*ba*
i
er ( M ) = (a + ba *b)* ba *
Mtodo alternativo para convertir un AFD a una Expresin Regular (ER).
A cada estado
L i de todas las palabras que llevan desde dicho estado a un estado final. Es evidente
que el lenguaje aceptado por el autmata es
Si el autmata se encuentra en un estado
L0 .
q i , recibir de la entrada la palabra vaca
q i es final, entonces: Li = + U a jk L jk .
En cambio, si
k =1
A . Enton-
q0
q1
b
SOLUCIN:
............................................... (1)
er ( M ) = a + ba*b ba *
Ejemplo: Encontrar una ER para el AFD del diagrama de transiciones por el mtodo simplificado.
a,b
a
q1
q2
a
q3
SOLUCIN:
X 1 = aX 2 + bX 3 .................................................................... (1)
X 2 = aX 2 + bX 2 = (a + b) X 2 = (a + b)* ..................... (2)
X 3 = aX 1 + bX 3 + ........................................................... (3)
De la ecuacin (3) se despeja
X3 .
X 1 , se obtiene:
Autmatas Finitos - 83 -
q1
q2
a
q3
a,b
............................................... (1)
q1
a,b
b
q2
q3
a
SOLUCIN:
X 1 = (a + b) X 2 .................................................................... (1)
X 2 = bX 3 + ...................................................................... (2)
X 3 = aX 2 ................................................................................ (3)
Paso 1: Fase de reduccin (Primera iteracin).
X 3 = aX 2
X 2 = bX 3 + X 3 = aX 2
X 1 = (a + b) X 2
Paso 2: Se realiza la segunda iteracin:
X 2 = b(aX 2 ) +
*
X 2 = (ba) X 2 + = (ba)
X 1 = ( a + b) X 2
Paso 3: La tercera iteracin y se encuentra la solucin:
X 1 = (a + b) X 2 = (a + b)(ba)*
er ( M ) = (a + b)(ba)*
q1
q4
q1
q3
2)
q2
q2
q3
a
q4
3)
a,b
q1
q2
b
q4
q3
b
a
vo ( k
w. w I * .
c h b g
L M =L M .
Z + ), se define una relacin Rk en S, el conjunto de los
*
estados de una mquina de Moore M = ( S , I , , s0 , T ) . Si w I , se recuerda que
Observacin.- Si ( k
TEOREMA:
a) Rk +1 Rk , k 0
b) Toda Rk es una relacin de equivalencia.
c) R Rk , k 0
m r
S R0 = T ,T , donde T es el complemente de T.
b) Sea
x I
Este resultado nos indica que es posible encontrar las particiones Pk , que
corresponde a las relaciones Rk por el siguiente mtodo recursivo:
PROCEDIMIENTO:
Una procedimiento para reducir una mquina de Moore dada a una mquina
equivalente es el siguiente:
PASO 1: Se inicia con la particin
m r
P0 = T , T de S.
Pk , ser Pk +1 .
PASO 3: Cuando Pk = Pk +1 entonces alto, para k 0 la particin resultante
q K existe
x * ( q0 , x ) = q .
' ([ q ]~ , a ) = [ ( q , a )]~
B( p , k +1 ) = B( q , k +1 ) B( p , k ) = B( q , k )
a ( B( ( p , a ), k ) = B( ( q , a ), k )
3) Repetir 2) hasta encontrar un m tal que
m +1 = m .
EJEMPLO:
Encuentre la particin correspondiente a la relacin R y construya la tabla de
estados de la mquina cociente que sea equivalente a la mquina de Moore, cuyo grafo
dirigido se presenta a continuacin:
0,1
0
1
s0
s2
1
s4
0
0
0,1
s1
s5
s3
SOLUCIN:
l q
T = s4 , s5 ;
S = s0 , s1 , s2 , s3 , s4 , s5 ;
I = {0,1}
s0
s1
s2
s3
s4
s5
0
s0
s0
s5
s4
s4
s5
1
s2
s3
s3
s2
s4
s5
m r mls ,s q,ls ,s ,s ,s qr
P0 = T ,T =
PASO 2: P1 = ?
l q
s4 a s4 1: s4 a s4 N . S . P .
s5 a s5
s5 a s5
Analizando: s4 , s5 entonces: 0:
Analizando: s0 , s1 , s2 , s3
0: s0 a s0 1: s0 a s2 S . S . P.
s1 a s0
s1 a s3
P1 =
PASO 3: P2 = ?
s2 a s5
s2 a s3
s3 a s4
s3 a s2
l q
s4 a s4 1: s4 a s4 N . S . P .
s5 a s5
s5 a s5
Analizando: s4 , s5 entonces: 0:
l q
s0 a s0 1: s0 a s2 N . S . P.
s1 a s0
s1 a s3
Analizando: s0 , s1 entonces: 0:
l q
s2 a s5 1: s2 a s3 N . S . P .
s3 a s4
s3 a s2
Analizando: s2 , s3 entonces: 0:
M = S R , I , ,[s0 ], T R = S = S R = P
b g
f x [s] = f x ( s )
Pero:
b g
f b[s ]g = f ( s ) = [s ] = [s ]
f b[s ]g = f ( s ) = [s ]
f b[s ]g = f ( s ) = [s ]
f b[s ]g = f ( s ) = [s ] = [s ]
f b[s ]g = f ( s ) = [s ]
f 0 [s0 ] = f 0 ( s0 ) = [s0 ]
0
[s0]
[s2]
[s4]
0
[s0]
[s4]
[s4]
1
[s2]
[s2]
[s4]
[s0]
1
0,1
1
[s2]
[s4]
EJEMPLO:
Dado el AFD siguiente, construya el diagrama de transiciones del AF cociente
equivalente al AFD.
a
a
q0
q1
a
q4
b
a
q2
q3
SOLUCIN:
l q
K = q0 , q1 , q2 , q3
F = q3 ;
I = {a,b}
q0
q1
q3
a
b
PASO 1:
q1
q1
q3
q2
q1
q4
Analizando:
a: q0 a q1
b:
q1 a q1
q0 a q3
q1 a q3
q2 a q1
q 2 a q4
q4 a q 4
q4 a q1
lq ,q ,q ,q q
entonces:
P1 =
q4
q4
q1
m r mlq q,lq ,q ,q ,q qr
P0 = F , F =
PASO 2: P1 = ?
q3
q2
q4
S . S . P.
l q
b:
[ q4 a q4 ]
l q
q2 a q4 S . S . P.
[ q4 a q1 ]
q0 a q1 b: q0 a q3
q1 a q1
q1 a q3
P2 =
PASO 3: P3 = ?
l q
P3 = P2 = P =
S =S R=
q1 a q1
b: q0 a q3
q1 a q3
N . S . P.
, q2 , q3 , q 4
M = S R , , ,[q 0 ], T R = S = S R = P
b g
f x [s] = f x ( s )
Pero:
b g
b g
f a [q 2 ] = f a ( q2 ) = [q1 ] = [q 0 ]
f b [q 0 ] = fb ( q0 ) = [q 3 ] ;
f b [q 2 ] = f b ( q2 ) = [q 4 ]
b g
f b[q ]g =
f b[q ]g =
a
f a ( q3 ) = [q 2 ] ;
f b ( q3 ) = [q 4 ] ;
b g
b g
f b[q ]g =
f a [q 4 ] = f a ( q4 ) = [q 4 ]
b
f b ( q4 ) = [q 1 ] = [q 0 ]
a
[q0]
[q0]
[q2]
[q4]
[q0]
[q2]
[q3]
[q4]
b
[q3]
[q4]
[q4]
[q0]
[q0]
a
a
[q2]
[q3]
[q4]
a
a
q0
q1
q4
q2
q3
SOLUCIN:
La tabla de transicin de estados se presenta en seguida:
a
b
PASO 1:
q0
q1
q3
q1
q1
q3
q2
q1
q4
q3
q2
q4
q4
q4
q1
m r mlq q,lq ,q ,q ,q qr
0 = F,F =
Autmatas Finitos - 95 -
l
= lq q
B1 = q0 , q1 , q3 , q4
B2
q0
q1
q2
q3
q4
PASO 2:
1 = ?; 1 =
PASO 3:
2 = ?;
2 =
l
q
B = lq q
B = lq q
B1 = q0 , q1 , q2
2
PASO 4:
3 = ?;
B1
B1
B1
B1
B1
B2
B2
B1
B1
B1
3 =
a
B1
B1
B1
B2
B2
q0
q1
q2
q3
q4
l q
= lq , q , q q
2
mlq ,q ,q q,lq ,q qr
B1 = q0 , q1
B2
b
B2
B2
B2
B2
B1
q0
q1
B1
B1
B2
B2
q2
q3
q4
B1
B1
B3
B3
B3
B1
l q
B = lq , q q
B = lq q
B1 = q0 ,q1
2
PASO 5:
4 = ?;
l q
B = lq q
B = lq q
B = lq q
B1 = q0 , q1
2
PASO 6:
5 = ?;
l q
B = lq q
B = lq q
B = lq q
a
B1
B1
B1
B2
B3
q0
q1
q2
q3
q4
b
B2
B2
B3
B3
B1
q0
q1
q2
q3
q4
B1
B1
B1
B2
B4
B3
B3
B4
B4
B1
B1 = q0 , q1
2
Autmatas Finitos - 97 -
b
a
B1
B2
B3
B4
b
EJEMPLO:
Encuentre la relacin R y construya el diagrama de transiciones de del autmata finito cociente equivalente que corresponda al autmata finito, cuyo diagrama de
transiciones es:
0
1
s0
s1
s4
s5
s2
1
0
s6
SOLUCIN:
s7
ls q ;
T =
s3
S = s0 , s1 , s2 , s3 , s4 , s5 , s6 , s7 ;
I = {0,1}
0
1
s0
s1
s5
PASO 1:
s1
s6
s2
s2
s0
s2
s3
s2
s6
s4
s7
s5
s5
s2
s6
s6
s6
s4
s7
s6
s2
m r mls q, ls , s , s , s , s , s , s qr
P0 = T , T =
ls , s , s , s , s , s , s q
0
0: s0 a s1
1: s0 a s5
s1 a s6
s1 a s2
s3 a s2
s3 a s6
entonces:
s4 a s7
s4 a s5
s5 a s2
s5 a s6
s6 a s6
s6 a s4
s7 a s6
P1 =
S . S . P.
s7 a s2
mls q, ls , s q, ls , s q, ls , s , s qr
2
PASO 3: P2 = ?
l q
Analizando: s3 , s5 entonces: 0:
l q
Analizando: s1 , s7 entonces: 0:
s3 a s2 1:
s5 a s2
s3 a s6
s5 a s6
N . S . P.
s1 a s6 1: s1 a s2
s7 a s6
s7 a s2
N . S . P.
Analizando: s0 , s4 , s6 entonces: 0: s0 a s1
s4 a s7
s6 a s6
P2 =
1: s0 a s5 S . S . P.
s4 a s5
s6 a s4
PASO 3: P3 = ?
l q
Analizando: s0 , s4 entonces: 0:
s0 a s1 1:
s4 a s7
s0 a s5 N . S . P.
s4 a s5
Autmatas Finitos - 99 -
mls q, ls , s q, ls , s q, ls , s q, ls qr = S R = S
S = S R = mls q, ls , s q, ls , s q, ls , s q, ls qr = m s , s , s
P3 = P2 = P =
, s3
M = S R , I , ,[s0 ], T R = S = S R = P
b g
f x [s] = f x ( s )
Pero:
b g
b g
f 0 [s0 ] = f 0 ( s0 ) = [s1 ] ;
f 0 [s1 ] = f 0 ( s1 ) = [s6 ] ;
f 0 ( s2 ) = [s0 ] ;
f 0 ( s3 ) = [s2 ] ;
b g
f b[s ]g =
f b[s ]g =
f 0 ( s6 ) = [s6 ] ;
b g
f b[s ]g =
f b[s ]g =
f b[s ]g =
f 1 ( s 2 ) = [s 2 ]
f 1 ( s 3 ) = [s 6 ]
b g
[s0]
[s1]
[s2]
[s3]
[s6]
0
[s1]
[s6]
[s0]
[s2]
[s6]
1
[s3]
[s2]
[s2]
[s6]
[s0]
[s0]
[s6]
0
[s1]
1
1
[s2]
[s3]
s0
s1
s2
s4
s5
1
0
s6
s7
s0
s1
s5
0
1
PASO 1: 0
s1
s6
s2
s2
s0
s2
s4
s7
s5
m r ml q l
l
B = ls q
2
1 = ?;
l
q
= ls , s , s q
= ls q
B1 = s0 , s4 , s6
B2
B2
s6
s6
s4
s7
s6
s2
= T ,T = s2 , s0 , s1 , s4 , s5 ,s6 , s7
B1 = s0 , s1 , s4 , s5 , s6 , s7
PASO 2:
s5
s2
s6
1 =
qr
s0
s1
s2
s4
s5
s6
s7
0
B1
B1
B1
B1
B2
B1
B1
1
B1
B2
B2
B1
B1
B1
B2
2 = ?;
2 =
l q
B = ls , s , s q
B = ls q
B = ls q
B1 = s0 , s4
2
PASO 4:
3 = ?;
3 =
l q
= ls , s q
= ls q
= ls q
= ls q
B3
B4
B5
s0
s1
s2
s4
s5
s6
s7
PASO 5:
4 = ?;
l q
= ls , s q
= ls q
= ls q
= ls q
B1 = s0 , s4
B2
B3
B4
B5
1
2
1
B3
B2
B2
B3
B1
B1
B2
0
B2
B4
B1
B2
B2
B4
B4
s0
s1
s2
s4
s5
s6
s7
0
B2
B1
B1
B2
B2
B1
B1
B1 = s0 , s4
B2
1
B3
B2
B2
B3
B4
B1
B2
0
B2
B5
B1
B2
B3
B5
B5
1
B4
B3
B3
B4
B5
B1
B3
0
B2
B2
B5
B5
B1
B3
B5
s0
s4
s1
s7
s2
s5
s6
B1
B2
B3
B4
B5
1
B4
B4
B3
B3
B3
B5
B1
B1
0
B5
0
1
B2
B3
B4
0
EJERCICIOS:
1. Encuentre la particin correspondiente a la relacin R y construya el grafo dirigido de la mquina cociente que corresponde a la mquina de Moore, cuya tabla
de transicin de estados se muestra a continun:
a
a
c
0
1
b
g
d
c
f
e
S2
b
d
a
d
2.
b
S0
b
S1
a
b
a
S3
a,b
b
a
S4
a
S5
e
a
d
f
g
f
g
g
c
s0 = a
T = {d, e}
0
1
S0
S4
S2
1
3.
S1
S3
S5
1
1
4.
S1
1
S0
0
S2
S3
S5
S4
0
S0
S1
S2
0
S3
1
S4
0
S0
0
0
1
1
S2
0
0
S3
1
1
S4
S1
0
0
S5
S0
S1
1
S2
S3
1
S4
S5
0,1
a,b
S0
S3
b
a,b
S1
S2
S5
S6
a
S4
S7
a
S0
0
0
S1
S2
S3
0
S4
Autmatas Finitos - 105 10. Minimizar los autmatas de las siguientes diagramas de estados.
S0
S1
S2
S3
0
S5
0
1
S6
S7
S4
1
4
Lenguajes Libres de Contexto
Se estudia una forma de representacin de lenguajes ms potentes que los regulares. Los lenguajes libres de contexto (LC), sirve como mecanismo formal para expresar
la gramtica de lenguajes de programacin o los semiestructurados. Backus-NaurForm es esencialmente una gramtica libre de contexto. Los DTDs usados para indicar
el formato permitido en documento XML son gramticas que describen lenguajes
libres de contexto. Los lenguajes libres de contexto, se usan en biologa computacional
para modelar las propiedades que se buscan en secuencias de ADN protenas.
El estudio de este tipo de lenguajes deriva en la construccin semiautmatica de
Parsers (reconocedores) eficientes, los cuales son esenciales en la construccin de
compiladores e interpretes, as como para procesar textos semiestructurados. Una
herramienta conocida para esta construccin semiautmatica es LEX/YACC en C/
UNIX y sus distintas versiones para otros ambienes.
En trminos tericos, los lenguajes libres de contexto, van ms all de la memoria
finita sobre el pasado permitida a los regulares, puede almacenar una cantidad arbitraria de informacin sobre el pasaod, siempre que esta informacin se acceda en forma de
pila.
4.1. GRAMTICAS LIBRES DE CONTEXTO (GLC).
Una gramtica libre de contexto (GLC) es una serie de reglas de derivacin,
produccin o reescritura que indican que un cierto smbolo puede convertirse en una
secuencia de otros smbolos, los cuales a su vez pueden convertirse en otros, hasta
A z en
y P son definidos
S aAa
S bAb
S
A SS
S
a
S
a
A
S
A
S
Lenguajes Libres de Contexto - 109 Ejemplo: Considere la gramtica del contexto libre G = (V , , P, S ) donde:
S aB
S bA
Aa
A aS , A BAA , B b , B bS , B ABB
S aB abS abaB ababS
ababbA ababba L (G )
Ejemplo: Sea G = (V , , P, S ) y las siguientes producciones:
E E + E E * E (E) a
S = E , V = {E}, P = {E E + E , E E * E , E ( E ), E a}
= {+,*, (, ), a}
Encontrar la cadena w = (a + (a ))
SOLUCIN:
S ( E ) ( E + E ) ( E + ( E )) ( a + ( a ))
E
(
E
)
E
+
(
)
a
S aSa
S bSb
S Es contexto libre. Probar w = aabbaa
SOLUCIN:
a
S
S abB
A aaBb
B bbAa
Probar para la cadena w = ?
A
SOLUCIN:
abbbaabbaabbAaba abbbaabbaabbaba
El Lenguaje de la gramtica es:
S AB
A aaA
A
4. B Bb
5.
S aAB
2. A bBb
3.
4.
BA
B
w = abbbb
SOLUCIN:
A
b
B
b
b
A
b
S = E , V = {E}, P = {E E + E , E E * E , E ( E ), E E, E id }
Encontrar la cadena
w = id + id * id
SOLUCIN:
DERIVACIN POR LA IZQUIERDA
E+E
E+E
id + E
E+E*E
id + E*E
E + E * id
id + id*E
E + id * id
id + id*id
id + id*id
(V )
Definicin: Definimos la relacin lleva en cero o ms pasos, *G , como la clausura reflexiva y transitiva de G .
Definicin: Dada una GLC G = (V , , P, S ) , definimos el lenguaje generado por
G, l(G ) como:
l(G ) = w * s *G w .
Definicin: Un lenguaje L es libre del contexto (LC) si existe una GLC G L = l(G ) ,
EE+E
E E*E
E (E )
Ea
SOLUCIN:
Ea
E ( E ) (a)
E ( E ) (( E )) ((a ))
E E+E a+a
El lenguaje es:
(
(
)
)
S (
EE+E
E E*E
E (E )
E N
N D
N DN
D 01 2 3 4 5 6 7 8 9
Generar la cadena w = 2 + 3 * 5 , por dos rboles de derivacin distintos.
SOLUCIN:
E
+
E
w = 2+3*5
3
w = 2+3*5
Son ambiguas
E E +T
E T
T T *F
T F
F (E )
F N
N D
N DN
D 01 2 3 4 5 6 7 8 9
Se la cadena w = 2 + 3 * 5 , slo permite la derivacin que queremos, pues hemos obligado a que primero se consideren los sumandos y luego los factores. La
tcnica usada ha sido distinguir lo que son sumandos (o trminos T) de factores (F),
de modo que se fuerza la precedencia *, +.
SOLUCIN:
E
+
T
3
w = 2+3*5
*
Teorema.- Si L es un lenguaje regular, entonces L es LC.
EJERCICIO:
Con las reglas de produccin dadas en el ejemplo anterior generar las siguientes
cadena:
1) w = 25 + 3 *12
2) w = 15 *12 + 24
3) w = 07 + 03 * 2011
4) w = 28 + 05 *1981
...
Cabeza de lectura
q1
q6
q2
q5
q3
q4
MECANISMO DE CONTROL
PILA
(Memoria
intermedia)
M = ( K , , , , q0 , F , Z ) , tal que:
K : Es un conjunto finito de estados.
: Es el alfabeto de smbolos de entrada de la mquina.
Observacin: Las transiciones ((q, x, ), (q ' , )) son las que presentan como flechas rotuladas x, , que va de q a q, y se puede recorrer cuando
viene x en la entrada y se lee (de arriba hacia abajo) en el tope de la pila, de modo
que al pasar a q ese
x
se reemplaza por .
...
Tope de la
pila
de la pila,
en la pila.
a,Z;AZ
a,A;AA
q0
b, A;
a, A;
q1
SOLUCIN:
M = ( K , , , , q0 , F , Z ) ,
, Z; Z
q2
x,; x
q0
, Z; Z
q1
y, x;
SOLUCIN:
M = ( K , , , , q0 , F , Z ) ,
y, x;
q2
, Z; Z
q3
F = {q1 , q2 , q3 }
Las transiciones son los siguientes:
(( q 0 , , Z ), ( q1 , Z ) ), (( q1 , x , ), ( q1 , x ) ), (( q1 , y , x ), ( q 2 ,
=
(( q 2 , y , x ), ( q 2 , ) ), (( q 2 , , Z ), ( q 3 , Z ) )
1 , F = {1,2}.
= {a, b}, = {a}, q0 = {}
Las transiciones son los siguientes:
b, a;
b, a;
2
a
aa
aaa
aa
a
1
1
1
1
2
2
2
CADENA
aaabbb
aabbb
abbb
bbb
bbb
bbb
Se inicializa la pila
((1,a,),(1,a))
((1,a,),(1,a))
((1,a,),(1,a))
((1,b,a),(2,))
((2,b,a),(2,))
((2,b,a),(2, )) Acepta la cadena
1
1
1
1
2
2
a
aa
aaa
aa
a
CADENA
aaabb
aabb
abb
bb
b
Se inicializa la pila
((1,a,),(1,a))
((1,a,),(1,a))
((1,b,a),(2,))
((2,b,a),(2, ))
Falla, ley todo pero la pila no esta vaca
a,a;
b,b;
b, ; b
a, ; a
S
, ;
S
S
S
f
f
f
CADENA
abba
bba
ba
ba
abba
---((S,a,),(S,a))
((S,b,),(S,b))
((S, ,),(f,))
((f,b,b),(f, ))
((f,a,a),(f, )) Acepta, ya que "f" es final
a
ba
ba
a
y,x;
x, ; x
y, x;
S0
S1
CADENA
S0
S0
S0
S0
X
XX
XXX
XXXYY
XXYY
XYY
YY
S1
S1
XX
X
YY
((S 1 ,Y,X),(S 1 , ))
Falla: pues ley todo, pero la pila no esta vaca.
se inicializa
l( M ) = {X nY n n m, n, m + }
Ejemplo: Con el diagrama de transicin dada en seguida, encontrar:
a) La funcin de transicin.
b) Verificar la cadena w = XXXYYY
c) Encontrar el L(M) = ?
y,x;
x, ; x
, ; #
1
y,x;
, #;
SOLUCIN:
((1, , ), (2, # ) ), ((2, x, ), (2, x) ), ((2, y, x), (3, ) ),
a) =
CADENA
TRANSICIN EJECUTADA
#
#X
#XX
#XXX
#XX
#X
#
XXXYYY
XXXYYY
XXYYY
XYYY
YYY
YYY
YYY
Se inicializa la pila
((1, ,,),(2,#))
((2,X,),(2,X))
((2,X,),(2,X))
((2,X,),(2,X))
((2,Y,X),(3, ))
((3,Y,X),(3, ))
((3,Y,X),(3, ))
((3,Y,#),(4, ))
1
2
2
2
2
3
3
3
4
c) L( M ) = X nY n n
l ( M ) = x * ( q0 , x , Z ) * ( p , , )
Donde: p F , *
( q0 , x, Z ) : Configuracin inicial.
( p, , ) : Configuracin de aceptacin.
2) Sea la sextupla M = ( K , , , , q0 , F , Z ) un autmata de pila, entonces N (P ) , el lenguaje aceptado por un M por pila nula pila vaca es:
N ( P ) = x * ( q0 , x, Z ) * ( p , , )
Donde: p K
a,Z;AZ
a,A;AA
q0
b, A;
b, A;
q1
, Z; Z
q2
(q0 , aabbb, Z ) (q0 , abbb, AZ ) (q0 , bbb, AAZ ) (q1 , bb, AZ ) (q1 , b, Z )
La cadena no se ha procesado completamente y ( q 2 , b, Z ) no es una configuracin de aceptacin, por lo tanto w no es aceptada, la razn es la siguiente:
(q1 , , Z ) y la transicin
(q0 , a, Z ) = (q0 , AZ )
(q0 , b, A) = (q1 , )
(q1 , b, A) = (q1 , )
(q1 , , Z ) = (q2 , Z )
Ejemplo: Sea la cadena w = aaabb, verificar si es aceptado por el autmata de
pila:
(q0 , aaabb, Z ) (q0 , aabb, AZ ) (q0 , abb, AAZ ) (q0 , bb, AAAZ ) (q1 , b, AAZ )
a,Z;AZ
a,A;AA
q0
b, A;
b, A;
q1
,Z;
q2
(q0 , a, Z ) = (q0 , AZ )
(q0 , b, A) = (q1 , )
(q1 , b, A) = (q1 , )
(q1 , , Z ) = (q2 , )
Sea w = aabb, realice la configuracin:
(q0 , aabb, Z ) ( q0 , abb, AZ ) ( q0 , bb, AAZ ) (q1 , b, AZ ) (q1 , , Z ) ( q2 , ,
x,; x
q0
, Z; Z
q1
y, x;
y, x;
q2
, Z; Z
q3
( q 0 , , Z ) = ( q1 , Z )
( q1 , x , ) = ( q1 , x )
(q1 , y, x) = (q2 , )
(q2 , y, x) = (q2 , )
( q 2 , , Z ) = ( q3 , Z )
a) Realizar la configuracin para la cadena w = xxx.
(q0 , xxx, Z ) (q1 , xxx, Z ) (q1 , xx, xZ ) (q1 , x, xxZ ) (q1 , , xxxZ ) , por lo que la
pila qued llena xxxz y el autmata en el estado
(q0 , xxy, Z ) (q1 , xxy, Z ) (q1 , xy, xZ ) (q1 , y, xxZ ) (q2 , , xZ ) , la pila no qued del todo vaci (qued xz), se reconoci toda la cadena completa y el autmata
qued en un estado de aceptacin
q2 .
, la
cadena es procesada por completo; en la pila queda el smbolo inicial de pila, y por
tanto la cadena es aceptada.
d) Sea la cadena w = xyy.
( q 0 , xyy , Z ) ( q1 , xyy , Z ) ( q1 , yy , xZ ) ( q 2 , y , Z ) , A pesar de que est en un esta-
(q2 , y, Z ) no est
Pf ( K * ) es un conjunto de
K * .
*
Para q K , a {} y s
subconjuntos finitos de
i * .
a,Z;AZ
a,A;AA
b, A;
b, A;
q0
, Z; Z
q1
,Z;Z
q2
(q0 , a, Z ) = (q0 , AZ )
( q0 , , Z ) = ( q2 , Z ) (acepta )
(q1 , b, A) = (q1 , )
(q1 , , Z ) = (q2 , Z )
Tabla de transicin de Estados:
?
(a, Z)
(a, A)
q0
(q0,AZ)
(q0,AA)
q1
q2
(,Z )
(q2, Z)
(q1, )
(q2, Z)
(q1, )
(b, A)
(q0 , , Z ) = (q1 , Z )
b , A;
,Z;Z
b , A;
q0
q1
, Z ;
q2
= {a , b} .
El no determinismo se usa para permitirle al autmata adivinar cul es la mitad de
la cadena de entrada, y para esto se requiere los siguientes procedimientos:
1) Si acierta, procede a comparar el resto de la cadena de entrada con los smbolos acumulados en la pila.
2) Si no acierta el autmata seguir acumulando smbolos en la pila y no habr
aceptacin.
b, B;
a , A;
b, B;
q0
a , A;
,Z;Z
q1
,Z;Z
q2
(q0 , a, Z ) = (q0 , AZ )
(q0 , b, Z ) = (q0 , BZ )
( q0 , , Z ) = (q2 , Z ) acepta
( q0 , a, A) = {( q0 , AA), ( q1 , )}
( q0 , b, B ) = {( q0 , BB ), (q1 , )}
(q0 , a, B ) = (q0 , AB)
( q1 , a , A) = ( q1 , )
( q1 , b, B ) = ( q1 , )
( q1 , , Z ) = ( q2 , Z )
Ejemplo: Sea el AFPND M = ( K , , , , q0 , F , Z ) , = {a, b} , F = {q1} ,
( q 0 , , Z ) = ( q1 , Z )
( q0 , a , Z ) = ( q0 ,0 Z )
(q0 , b, Z ) = ( q0 ,1Z )
( q 0 , a ,0 ) = ( q 0 ,00 )
( q 0 , b ,0 ) = ( q 0 , )
( q 0 , a ,1) = ( q 0 , )
(q1 , b,1) = (q0 ,11)
a) Construya el diagrama de transiciones;
b) Verificar para la cadena w = baab
c) Encuentre el lenguaje del AFPND.
SOLUCIN:
a)
a,Z;0Z
b,Z;1Z
a,0;00
b ,0;
a ,1;
b,1;11
, Z ;Z
q0
q1
b) w = baab
( q0 , baab , Z ) ( q0 , aab ,1Z ) ( q0 , ab , Z ) ( q0 , b,0 Z ) ( q0 , , Z ) ( q1 , , Z ) la cadena
es aceptada.
( q0 , a, Z ) = {( q1 , a), ( q2 , )}
(q1 , b, b) = (q1 , b)
(q1 , b, a) = (q1 , b)
(q1 , a, b) = (q2 , )
M ' = {K { p0 , p}, p0 , , {Z 0 }, Z 0 , }
a) Se aaden
p0 estado inicial y p.
b) Tambin se aade
( p0 , , Z 0 ) = {( q0 , ZZ 0 )}
( q, , Y ) = {( p, Y )}, q F , Y {Z 0 }
( p, , Y ) = {( p, Y )}, Y {Z 0 }
Ejemplo: Sea el AFPN por el criterio de estado final que reconoce todas las
cadenas sobre = {a, b} que tienen igual nmero de aes que bes, F = {q1} ,
cuyo diagrama de transicin es el siguiente:
a,Z;AZ
b,Z;BZ
a,A;AA
b, B; BB
a , B;
b, A;
,Z;Z
q0
q1
(q0 , a, Z ) = (q0 , AZ )
(q0 , b, Z ) = (q0 , BZ )
(q0 , a, A) = (q0 , AA)
( q0 , b, B ) = (q0 , BB )
( q0 , a , B ) = ( q0 , )
(q0 , b, A) = (q0 , )
(q0 , , Z ) = (q1 , Z )
Se podra de manera intuitiva la transformacin del
a,Z;AZ
b,Z;BZ
a,A;AA
b, B; BB
a, B;
b, A;
, Z;
q0
q1
p0 , p y Z 0
( p0 , , Z 0 ) = (q0 , ZZ 0 )
(q0 , a, Z ) = (q0 , AZ )
(q0 , b, Z ) = (q0 , BZ )
(q0 , a, A) = (q0 , AA)
( q0 , b, B ) = (q0 , BB )
( q0 , a , B ) = ( q0 , )
(q0 , b, A) = (q0 , )
(q0 , , Z ) = (q1 , )
(q1 , , a ) = ( p, a )
(q1 , , b) = ( p, b)
(q1 , , Z ) = ( p, Z )
(q1 , , Z 0 ) = ( p, Z 0 )
( p, , A) = ( p, )
( p, , B ) = ( p , )
( p, , Z ) = ( p, )
( p, , Z 0 ) = ( p, )
Ejemplo: Verificar la cadena siguiente: w = abab.
SOLUCIN:
( q 0 , ab , ZZ 0 )
(q0 , b, AZZ 0 )
(q0 , , ZZ 0 )
(q1 , , ZZ 0 )
( p, , ZZ 0 )
( p, , Z 0 )
( p , , )
( p 0 , abb , Z 0 ) ( q 0 , abb , ZZ 0 )
( q 0 , bb , AZZ 0 )
( q 0 , b , ZZ 0 )
(q0 , , BZZ 0 )
Como se ley toda la cadena y la pila no qued vaca, por tanto abb es
rechazada por el autmata de pila.
Teorema.- Si L = N(P) para algn autmata de pila AFPN P, entonces L = L(P)
para algn AFPN P. Esto es P acepta por estado final, lo que P acepta por pila vaca.
Sea P = ( K , , , , s , Z ) entonces el autmata:
P ' = ( K { p0 , q f }, , {Z 0 }, p0 , Z 0 , {q f }, )
Se construye a partir de P siguiendo los siguientes pasos:
1) Se aaden dos nuevos estados p0 y qf .
2) Se aaden a ,{Z 0 } , este ser el smbolo inicial de la pila.
3) Se mantienen todas las transiciones de P, aadiendo las siguientes transiciones:
( p0 , , Z 0 ) = {( q0 , ZZ 0 )}
( q, , Z 0 ) = {( q f , Z 0 )}, q K
GIC Y AUTMATA DE PILA
GRAMTICA
AP PILA VACA
AP ESTADO
FINAL
Observacin: Los lenguajes aceptados por los AFPN son exactamente los lenguajes independientes de contexto.
Teorema.- Dada una GIC G, existe un AFPN P tal que L(G) = L(P).
P = ( K , , , F , q0 , Z , ), K = {q0 , q1 , q2 },
F = {q2 }, = V {Z }
La funcin de transicin , se define as:
1) ( q0 , , Z ) = {( q1 , SZ )} , transicin
q2 cuando detec-
T1
T2
T3
(( q , , S ), ( q, c )),
T4
T5
T6
T7
, S; aSa
, S;bSb
, ; S
a)
, S; c
a,a;
b,b;
c,c;
b) w = abbcbba.
Estado
p
q
Cadena
abbcbba
abbcbba
Pila
Transicin ejecutada
---T1
((p,,),(q,S))
((q,,S),(q,aSa)) T2
abbcbba
aSa
bbcbba
Sa
((q,a,a),(q,))
T5
bbcbba
bSba
((q,,S),(q,bSb))
T3
bcbba
Sba
((q,b,b),(q,))
T6
bcbba
bSbba
((q,,S),(q,bSb))
T3
cbba
Sbba
((q,b,b),(q,))
T6
cbba
cbba
((q,,S),(q,c))
T4
bba
bba
((q,c,c),(q,))
T7
ba
ba
((q,b,b),(q,))
T6
((q,b,b),(q,))
T6
((q,a,a),(q,))
T5
REGLAS:
1)
(( p, , ), (q, S ))
A x
a.
Lenguajes Libres de Contexto - 137 Ejemplo: Sea G una gramtica independiente del contexto (GIC), cuyas producciones son:
S aSa
S bSb
S c
SOLUCIN:
(q0 , , Z ) = {(q1 , SZ )}
, S;bSb
, Z ; SZ
q0
, S; c
q1
a,a;
b,b;
c,c;
S xAz
S yBz
S
A xAz
A B
A
B yBz
B
Se C = z y reemplazamos, se obtiene:
S xAC
S yBC
S
A xAC
A B
A
B yBC
B
Cz
Quitamos la regla de redenominacin para obtener la FNG de A:
S xAC
S yBC
S
A xAC
A yBC
A
B yBC
B
Cz
Construimos el AFPN:
( q, x, S ) = {( q , AC )}
( q, y , S ) = {( q , BC )}
( q , , S ) = {( q , )}
( q, x, A) = {(q, AC )}
( q, y , A) = {( q, BC )}
( q , , A) = {( q, )}
( q , xxyzz , S ) ( q , xyzz , AC )
( q , yzz , ACC )
( q , zz , BCCC )
( q , zz , CCC ) ( q , z , CC ) ( q , , C )
se ley la cadena por completo, pero la pila no qued vaca; por
lo tanto la cadena no es reconocida.
4.2.4. Forma Normal de Chomsky.
Una de las ventajas de clasificar los lenguajes en funcin de su gramtica es
que estas clasificaciones proporcionan detalles con respecto a las estructuras de cadenas que pueden aparecer en los lenguajes correspondientes. Sin embargo, la flexibilidad que permiten las gramticas independientes del contexto impone pocas restricciones a las posibles estructuras de cadenas que pueden encontrarse en los lenguajes
independientes del contexto.
Comenzamos considerando la necesidad de tener regla en una gramtica
independiente del contexto. Si el lenguaje generado por la gramtica contiene la cadena vaca, entonces debe aparecer cuando menos una regla en la gramtica; de lo
contrario, no habra manera de derivar la cadena vaca del smbolo inicial de la gramtica.
Procedimiento:
1) Para cada estado de aceptacin f de M, forme la regla de reescritura
s t , , f , donde t es el estado inicial de M.
Las reglas de reestructura obtenidas en el paso 1 aseguran que cualquier derivacin que utilice esta gramtica comenzar sustituyendo el smbolo inicial
de la gramtica por un objetivo principal del autmata.
2) Para cada estado p en M, forme la regla de reestructura p, , p .
3) Para cada transicin (p,x,y;q,z) de M (donde y no es
y ), genere
Lenguajes Libres de Contexto - 141 primero a un estado q mientras que se lee x de la entrada y se intercambia z por
y en la pila (usando la transicin (p,x,y;q,z) y luego intentando pasar del estado q
al estado r a la vez que se elimina z de la pila.
4) Para cada transicin de la forma ( p, x, ; q, z ) , genere todas las reglas de
reescritura de la forma
pila
p, w, r x q, z, k k , w, r , donde w es un smbolo de
c, ; c
b, ;
c,c;
h
a) Determinar el l(M ) .
b) Encontrar una gramtica independiente del contexto G l (G ) = l ( M ) .
SOLUCIN:
a) El lenguaje del autmata de pila es: l( M ) = {cb n c n 0}
b) Desarrollo de la GIC.
Paso 1: s f , , h
Paso 2:
f , , f
g, , g
h, , h
Paso 3:
b, ;
c , c;
Para ( g , c, c; h, )
g , c, f c h, , f
g , c, g c h, , g
g , c , h c h, , h
Paso 4: ( p , x, ; q , z ) genere todas las reglas de reescritura de la forma:
p, w, r x q, z, k k , w, r , = {c, }, = {b, c}
Para ( f , c, ; g , c) ( f , c, ) = ( g , c )
f , , f c g , c, f
f , , f
f , c, f c g , c, f
f , c, f
f , , f c g , c, g g , , f
f , c, f c g , c, g g , c, f
f , , f c g , c, h h, , f
f , c, f c g , c, h h, c, f
f , , g c g , c, f
f , c, g c g , c, f
f , , g
f , c, g
f , , g c g , c, g g , , g
f , c, g c g , c, g g , c, g
f , , g c g , c , h h, , g
f , c, g c g , c, h h, c, g
f , , h c g , c, f
f , c, h c g , c, f
f , , h
f , c, h
f , , h c g , c, g g , , h
f , c, h c g , c, g g , c, h
f , , h c g , c , h h, , h
f , c, h c g , c, h h, c, h
g, , f b g, , f
f , , f
g , c, f b g , , f
f , c, f
g, , f b g, , g g, , f
g , c , f b g , , g g , c, f
g , , f b g , , h h, , f
g , c, f b g , , h h, c, f
g, , g b g, , f
g , c, g b g , , f
f , , g
f , c, g
g, , g b g, , g g, , g
g , c, g b g , , g g , c, g
g , , g b g , , h h, , g
g , c , g b g , , h h, c , g
g, , h b g, , f
g , c, h b g , , f
f , , h
f , c, h
g, , h b g, , g g, , h
g , c , h b g , , g g , c, h
g , , h b g , , h h, , h
g , c , h b g , , h h, c, h
c, ; c
g , ; g
f ,g;
SOLUCIN:
Paso 1: v0 r, , t
Paso 2:
r, , r
s, , s
t, , t
,c;
t
s, g , r f s, , r
s, g , s f s, , s
s, g , t f s , , t
Para ( s , , c ; t , ),
s, c, r t , , r
s, c, s t , , s
s, c, t t , , t
Paso 4: Para
( r , c, ; s, c )
r , c, r c s, c, r r , c, r
r , c, t c s, c, r r , c, t
r , c, r c s, c, s s, c, r
r , c, t c s, c, s s, c, t
r , c, r c s, c, t t , c, r
r , c, t c s, c, t t, c, t
r , c, s c s, c, r r , c, s
r , c, s c s, c, s s, c, s
r , c, s c s, c, t t , c, s
r , g , r c s, c, r r , g , r
r , g , t c s, c, r r , g , t
r , g , r c s, c, s s, g , r
r , g , t c s, c, s s, g , t
r , g , r c s, c, t t , g , r
r , g , t c s, c, t t , g , t
r, g , s c s, c, r r, g , s
r , g , s c s, c, s s, g , s
r, g , s c s, c, t t, g , s
r , , r c s, c, r r, , r
r , , t c s, c, r r , , t
r , , r c s, c, s s, , r
r , , t c s, c, s s, , t
r , , r c s, c, t t, , r
r , , t c s, c, t t , , t
r , , s c s, c, r r , , s
r , , s c s, c, s s, , s
r , , s c s, c, t t , , s
Para
(s, g , ; s, g )
s , c, r g s , c, r r , c , r
s , c, t g s , c , r r , c , t
s , c, r g s , c, s s , c , r
s , c, t g s , c , s s , c, t
s , c, r g s , c, t t , c, r
s , c, t g s , c , t t , c, t
s , c, s g s , c, r r , c, s
s , c, s g s , c, s s , c, s
s , c, s g s , c, t t , c, s
s, g, r g s, g, r r, g, r
s, g , t g s, g , r r , g , t
s, g, r g s, g, s s, g , r
s, g , t g s, g , s s , g , t
s, g , r g s, g , t t, g , r
s, g , t g s, g , t t , g , t
s, g, s g s, g, r r, g, s
s, g, s g s, g, s s, g, s
s, g, s g s, g, t t , g, s
s, , r g s, g , r r , , r
s, , t g s, g , r r , , t
s, , r g s, g , s s, , r
s, , t g s, g , s s, , t
s, , r g s, g , t t , , r
s, , t g s, g , t t , , t
s, , s g s, g , r r , , s
s, , s g s, g , s s, , s
s, , s g s, g , t t , , s
EJERCICIOS:
Construya una gramtica independiente del contexto (GIC) de pila descrito a
continuacin:
x,;
x,;
z,;z
y,z;
1)
p
, ; #
x,;x
y,x;
y,x;
,#;
2)
1
5
MQUINAS DE TURING
Las mquinas de Turing fue propuesta por Alan M. Turing en 1936. La idea bsica
de Turing fue estudiar los procesos algortmicos utilizando un modelo computacional.
Es conveniente considerar a las mquinas de Turing como una versin generalizada de
los autmtas finitos y autmatas de pila.
Las mquinas de Turing se asemejan a los autmatas finitos en que constan de un
mecanismo de control y un flujo de entrada que concebimos como una cinta; la diferencia es que las mquinas de Turing pueden mover sus cabezas de lectura hacia adelante, hacia atrs y pueden leer o escribir en la cinta.
5.1. FUNCIONAMIENTO DE LA MQUINA DE TURING (MT).
La mquina de Turing contiene un mecanismo de control que en cualquier momento puede encontrarse en uno de entre un nmero finito de estados. Uno de stos
estados se denomina estado inicial y representa el estado en el cual la mquina comienza los clculos. Otro de los estados se conoce como estado de parada o estado
halt final de clculo; una vez que la mquina llega a ese estado, termina todos los
clculos. El estado de parada de una mquina de Turing difiere de los estados de
aceptacin de los autmatas finitos y de pila en que stos pueden continuar sus
clculos despus de llegar a un estado de aceptacin; mientras que una mquina de
Turing debe detenerse en el momento en que llegue a su estado parada. El estado
inicial de una mquina de Turing no puede ser a la vez el estado de parada; por lo tanto,
...
Cabeza de lectura
La cabeza se mueve en las
dos direcciones
Indicador de Estado
t
q6
q5
q1
q4
q2
q3
MECANISMO DE CONTROL
Mquinas de Turing - 149 En la mquina de Turing la cabeza lectora es de lectura y escritura, por lo que la
cinta puede ser modificada en curso de ejecucin. Adems, en la mquina de Turing la
cabeza se mueve bidireccionalmente (izquierda y derecha), por lo que puede pasar
repetidas veces sobre un mismo segmento de la cinta.
La operacin de la mquina de Turing consta de los siguientes pasos:
a) Lee un caracter en la cinta.
b) Efecta una transicin de estado.
c) Realiza una accin en la cinta.
Las acciones que puede ejecutar en la cinta la mquina de Turing pueden ser:
- Escribe un smbolo en la cinta, o
- Mueve la cabeza a la izquierda o a la derecha.
Estas dos acciones son excluyentes, es decir, se hace una o la otra, pero no
ambos a la vez.
La palabra de entrada en la mquina de Turing est escrita inicialmente en la
cinta, como es habitual en nuestros autmatas, pero iniciando a partir de la segunda
posicin de la cinta, siendo el primer cuadro un caracter blanco. Como la cinta es
infinita, inicialmente toda la parte de la cinta a la derecha de la palabra de entrada est
llena del caracter blanco ( , B , | | ).
Definicin.- Una mquina de Turing es una tupla M = ( K , , , q0 , B, F , ) , tal
que:
K : Es el conjunto de estados.
B:
0 0,+
1 0,+
B B, =
q0
qF
q0
0
(q0, 0, +)
1
(q0, 0, +)
B
(qF, B, =)
qF
Sea la cadena w = 10011.
q0
q0
q0
q0
0
B
q0
q0
B
qF
q0
0
(q0, 0, R)
1
(q1, 1, R)
B
(qF, 0, =)
q1
(q1, 0, R)
(q0, 1, R)
(qF, 1, =)
qF
Probar para la cadena w = 1011.
q0
q1
q1
q0
q1
1
qF
y q K , tal
a1
a2
ai-1
ai
an
ai .
B S, D
q
w1q w 2 *
tamente.
El lenguaje L(M) aceptado por una mquina de Turing M se define como:
} M se para en w pw , si la
L( M ) = w * q0 w * w1pw2 , p F
Mquinas de Turing - 153 que corresponden a los estados de la mquina Turing. La transicin
( q , a ) = ( p , b, D ) se representa as:
a b, D
q
(q, a) = ( p, b, N ) . donde a, b y N
K = {q0 , q1} ,
F = {q1} , construya una mquina de Turing que reconozca a* sobre = {a, b} , cuyas
transiciones son:
( q0 , a ) = ( q0 , a , D )
(q0 , B) = (q1 , B, D)
Probar para la cadena w = aa.
SOLUCIN:
a a, D
B B, D
q0
q1
1 Y, I
q1
0 0, I
Y Y, I
q2
0 0, D
Y Y, D
Y Y, D
X X,D
Y Y, D
q3
B B, D
q4
q0
q1
q2
0
(q1, X, D)
(q1, 0, D)
(q2, 0, I)
(q2, Y, I)
(q0, X, D)
q3
q4
Y
(q3, Y, D)
(q1, Y, D)
(q2, Y, I)
(q3, Y, D)
(q4, B, D)
XXq 2YY
Xq2 0Y 1
Xq 2 XYY
q2 X 0Y 1
Xq0 0Y 1
XXq1Y 1
XXYq11
XXq 0YY
XXYq 3Y
XXYYq 3 B
XXYYBq 4 B se acepta la cadena
XXq1 0Y 11
XXXYq1Y 1
XX 0q1Y 11
XXXYYq11
XX 0Yq111
XXXYq2YY
XX 0q2YY1
XXq2 0YY1
Xq2 X 0YY1
XXq0 0YY1
XXXq1YY1
XXXq2YYY
XXq2 XYYY
XXXq0YYY
XXXYq3YY
XXXYYq3Y
XXXYYYq3 B
XXXYYYBq4 B
( q0 , X ) = ( q0 , X , D )
(q0 , Y ) = (q1 , Y , D)
(q1 , B) = (q2 , B, I )
Probar para la cadena w = XXY
(q2 , X ) = (q2 , X , I )
( q 2 , Y ) = ( q2 , Y , I )
( q 2 , B ) = ( q3 , B , D )
q0
q1
X
(q0, X, D)
q2
(q2,X, I)
Y
(q1, Y, D)
B
(q2, B, I)
(q2, Y, I)
(q3, B, D)
q0 XXY Xq0 XY
XXq0Y
XXYq1 B
XXq2YB
Xq2 XY
Bq2 XXY
q2 BXXY
Bq3 XXY
Se acepta la cadena X*Y, tales como: Y, XY, XXY, XXXY; sin embargo no se
acepta la cadena XYX. El lenguaje de la mquina de Turing est dada por:
L( M ) = {X nY n 0}.
K = { q 0 , q1 , q 2 }, = {0 ,1}, = {0 ,1, B }, F = { q 2 }
cuya tabla de transicin est dada por:
q0
q1
0
(q0, 1, D)
(q1, 0, I)
1
(q0, 0, D)
(q1, 1, I)
q2
Probar la cadena w = 1001011.
SOLUCIN:
B
(q1, B, I)
(q2, B, D)
01101q1 00 B
01q0 01011B
0110 q1100 B
011q01011B
011q1 0100 B
0110q0 011B
01q110100 B
011010q011B
0q1110100 B
011010q01B
q1 0110100 B
0110100q0 B
Bq1 B 0110100 B
011010q1 0 B
Bq2 0110100 B
Se acepta la cadena.
Se deja para el estudiante para su verificacin la cadena w = 0011.
EJERCICIO:
1. Se tiene el diagrama de transiciones de la mquina de Turing dada en seguida:
a a, I
b b, I
Y Y, D
q0
Y Y, D
a X, D
q1
B B, D
Y Y, D
Z Z, D
q4
B B, D
Z Z, I
Y Y, I
b b, D
Z Z, D
a a, D
b Y, D
q2
c Z, I
q3
X X, D
q5
q0
1 1, R
0 1, R
1 1, L
B B, L
q1
1 0, L
q2
q3
B B, R
q4
1 1, L
q0
B B, L
q1
X 1, R
B B, R
B 1, L
1 1, R
q2
q3
M = ( K , , , q0 , B, F , ) genera un lenguaje L * s:
a) M comienza a operar con la cinta en blanco en el estado inicial q0 .
b) Cada bez que M retorna al estado inicial q0 , existe una cadena u L escrita
sobre la cinta.
c) Todas las cadenas de L son, eventualmente generadas por M.
Ejemplo: El siguiente mquina de Turing genera cadenas con un nmero par de
q0
q1
B a, D
([qi , ], ) = ([qt , ], , {I , D, N })
qi : Es el estado real.
Unidad de Control
qi
...
Estados
}Almacenami ento
...
[q1 , B] y = {0,1, B} .
[q0,B]
0 0, D
B B, D
1 1, D
0 0, D
[q1,1]
1 1, D
[q1,0]
B B, D
[q1,B]
Observacin:
([q0 , B ], a ) = ([q1 , a ], a, D )
([q1 , a ], a ) = ([q1 , a ], a , D )
([q1 , a ], B ) = ([q1 , B ], B, D )
a es el complemento de a.
5.4. MQUINAS DE TURING MODIFICADAS.
Hay ciertos modelos de computacin relacionados con las mquinas de Turing,
que poseen el mismo potencial como reconocedores de lenguajes que el modelo bscio.
: K n K n {I , D, N }n
Grficamente se observa.
...
...
...
...
...
...
...
...
U.C.
C.F.
Ejemplo: La mquina de Turing de dos cintas que reconoce el lenguaje.
L = a i bi c i i 0
es la siguiente, F = {q3}
(q 2 , ( B , B ) ) = (q3 , ( B , B ), ( D , D ) )
5.4.2. Mquinas de Turing Multipista.
En el modelo multipista, la cinta est dividida en un nmero finito de k
pista. La funcin de transicin tiene la siguiente notacin.
: K k K k {I , D, N }
B
B
B
1
1
B
0
1
B
1
1
B
B
B
B
q0
Ejemplo: Realizar la suma de los dgitos, se parte de la izquierda a la derecha con la siguiente transicin:
(q , , D) si (B, B, B)
( q0 , ) = 0
(q1 , , I ) si = (B, B, B)
Teorema.- El lenguaje L es reconocido por una mquina de Turing multicinta
si y solo s L es reconocido por una mquina de Turing de una sola cinta.
Prueba:
1. ) Si L es reconocido por una mquina de Turing de una sola cinta,
entonces L es reconocido por una mquina de Turing multicinta. Basta con hacer
funcionar una sola cinta de la mquina de Turing multicinta, podra ser la cinta de la
cadena de entrada.
Mquinas de Turing - 163 2. ) Si L es reconocido por una mquina de Turing multicinta entonces
L es reconocido por una mquina de Turing de una sola cinta. Se supone que la
mquina de Turing M dispone de k cintas, acepta el lenguaje L, y simulamos M
mediante una mquina de Turing N de una sola cinta, suponiendo 2k pistas.
- Si la mquina de Turing multicinta tiene k = 2 cintas se dispone de una
mquina de Turing de una sola cinta de 2k = 4 pistas, las pistas primera y tercera tienen
la informacin de las dos cintas. Las pistas segunda y cuarta tienen las cabezas.
- Para simular un movimiento M, la cabeza de N usamos un marcador para
las cabezas de la cintas y si hay un desplazamiento a la derecha de M, entonces
reemplazamos el 1 en N por B y viceversa, si hay un desplazamiento en la izquierda, el
reemplazo de 1 por B y B por 1 hace la simulacin de los cabezales de M.
a
B
B
B
q0
b
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
q0
b
B
B
B
B
B
B
B
B
B
B
B
q0 .
B
B
B
B
q0
(q0 , (a, B, B, B ) ) = (q0 , (a,1, B,1), N )
a
B
X
B
b
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
q0
(q0 , (a,1, B,1) ) = (q0 , ( a, B, X , B ), D )
...
...
U.C.
C.F.
Teorema.- Un lenguaje L es reconocido por una mquina de Turing de
mltiples cabezales L es reconocido por una mquina de Turing de un cabezal
(ambos modelos tienen el mismo poder computacional).
La demostracin se realiza en forma intuitiva.
1. Si L es reconocido por una mquina de Turing unicabezal, L es reconocido por una mquina de Turing multicabezal. Basta con trabajar con un slo cabezal
en la de mltiples cabezales.
2. Si L es reconocido por una mquina de Turing multicabezal, L es reconocido por una mquina de Turing unicabezal. La simulacin es similar a la realizada para
las mquinas de Turing multicinta: se utiliza una cinta con (k+1) sectores, k para
marcar las posiciones de los distintos cabezales y uno para la informacin de la cinta.
5.4.4. Mquinas de Turing Offline.
Es un caso particular de las mquinas de Turing multicinta: tienen una
cinta especial de slo lectura en la que el cabezal, que slo puede moverse hacia la
derecha, no puede moverse de la zona delimitada por un par de smbolos especiales. En
forma esquemtica se presenta:
...
...
U.C.
C.F.
...
...
...
...
...
...
...
d) En la tercera cinta se realiza la simulacin, cada vez que se genere una secuencia en la cinta dos, se copia la cadena de entrada en la cinta tres. La secuencia de la
cinta indica qu transicin concreta se elige cada vez. S, por ejemplo, en la cinta dos
est la secuencia: 11231..., y simula computacin de mquina de Turing no determinista
(q, (a,1, B )) = ( p, (a,1, a ), ( D, D, D )) .
e) La mquina de Turing determinista prueba todas las combinaciones de la cinta
dos, empezando cada vez que una configuracin, cuando no sirva. Si la cadena es
reconocida en la mquina de Turign no determinista, tambien es reconocida en le
mquina de Turing determinista.
Ejemplo: Sea el siguiente mquina de Turing no determinista.
a a, D
q0
b b, D
a a, D
q1
B B, D
q2
q1
q2
a B B
q0
B B B
...
...
Mquinas de Turing - 169 Ejemplo: Podemos ver que la interseccin de dos LICs nos di {a i b i c i i 0} y
no es LIC.
L.R.
LIC
Recursivos
Recursivamente
Enumerables
, donde
, ( N ) y .