Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
(Tema 5)
NDICE
1. Introduccin: Definicin
1.1. Funcionamiento (Movimientos)
1.2. Configuraciones (Descripciones Instantneas)
1.3. Lenguajes Aceptados por un AP
1.4. Autmatas a Pila Deterministas (APD)
2. LIC y AP
2.1. Equivalencia entre aceptacin de autmatas: LV(AP) = LF(AP)
2.1.1. LV(AP) LF(AP)
2.1.2. LV(AP) LF(AP)
2.2. Lenguajes Independientes de Contexto (LIC) son los lenguajes
aceptados por un AP y generados por una gramtica (G).
LIC = L(AP) = L(G2)
2.2.1. LIC = L(G2) L(AP)
2.2.2. LIC = L(G2) L(AP)
1. INTRODUCCIN
Go
G1
G2
G3 G2 G1 G0
equivalencia
GRAMTICA
MQUINA
describe
genera
reconoce
acepta
LENGUAJE
Lenguajes sin
restricciones (LSR)
Lenguajes
dependientes de
contexto (LDC)
Lenguajes
independientes de
contexto (LIC)
G3
Lenguajes regulares
(LR)
Definicin
Autmata Finito (AF) que tiene acceso (controla) a una memoria intermedia
(Pila) y que lee smbolos en una cinta de entrada ( ).
PILA: tiene el tamao que sea necesario (incluso ).
LIFO: Last Input Firt Ouput
AP No Deterministas: Lenguajes Independientes de Contexto (Tipo 2)
A : : = v , v ( T N )*
AP Deterministas: Subconjunto de los Lenguajes de Tipo 2
L(APD) L(APND)
ESQUEMA GRFICO de un AP
Q
q0
.
.
A1
AF
Control
qn
.
An
A0
ACEPTA
O NO ACEPTA
Operaciones en la pila:
Escribir
Introducir
Leer
Movimientos de tipo 2:
f ( q A ) = { ( q1 Z1 ), ( q2 Z2 ), ( q3 Z3 ),.. ( qn Zn ) }
1er EJEMPLO:
Construir un AP que reconozca el lenguaje L = { anbn / n 1 }
AP = { , , Q , A0 , q0 , f , }
AP = { { a, b }, { A, A0 } , { q0, q1 } , A0 , q0 , f , }
1) f ( q0 a A0) = ( q0 AA0)
Lee a mete A
2) f ( q0 a A ) = ( q0 AA )
3) f ( q0 b A ) = ( q1 )
4) f ( q1 b A ) = ( q1 )
5) f ( q1 A0) = ( q1 )
PALABRA: aabb
a
q0
A0
q0
AF
q1
A
AF
A0
Control
Control
NO ACEPTA
NO ACEPTA
q0
q0
AF
q1
Control
A
AF
q0
q1
A0
Control
A0
NO ACEPTA
NO ACEPTA
q1
q1
A0
q0
AF
q1
AF
Control
Control
NO ACEPTA
ACEPTA
(q x Z)
q0 Q , p F Q ; A0 ; x { }
- Vaciado de Pila
L = { x / ( q0 x A0 ) ( p ) }
*
q0 , p Q ; A0 ; x { }
Paso 1:
Paso 2:
Paso 1:
Paso 2:
Paso 3:
( qv ) f( q Z ) q F ; Z * { A0}
( qv ) f( qv Z )
qv Q ; Z * { A0}
10
G2 / L(G2) = L
AP / L(AP) = L
11
P = Producciones de G
ALGORITMO (para obtener las producciones P de G):
1.
2.
3.
12
GRAMATICA (G)
Elimina A de la pila
2 componente de la TERNA en la
parte IZQUIERDA de la produccin
[q A p]::=
2 componente/s de las TERNA/S en
la parte DERECHA de la produccin
: : = [ q B1 p ] [ q B2 p ]...[ q Bm p ]
Se lee a
Se genera a T
METODO REDUCIDO:
Se aplica el mtodo anterior pero tras ver que smbolos no-terminales
(TERNAS) son vlidos para construir las producciones de la G2 a partir de los
movimientos del AP.
Se construyen todas las posibles ternas que se pueden formar con los
estados (Q) y los smbolos de pila () y se analizan.
13
MTODO 1
Construir un AP que acepte (reconozca) el lenguaje generado por la
gramtica: G = { T, N, P, S }. La gramtica ha de estar en FNG.
AP = { T , N , { q } , S , q , f , }
T = alfabeto de entrada ()
N = alfabeto de pila ()
{ q } = Q conjunto de estados de AP
S = Smbolo de inicio de pila
q = estado inicial de AP
F = Funcin de transicin (movimientos)
F=
Si
A : : = aZ , a T , A N , Z N*
entonces, ( q Z ) f ( q a A )
2.
Si
S::=
entonces, ( q ) f ( q S )
14
MTODO 2
Construir un AP que acepte (reconozca) el lenguaje generado por la
gramtica: G = { T, N, P, S }. La gramtica puede estar o no en FNG.
AP = { T , { N T } , { q } , S , q , f , }
T = Alfabeto de entrada ()
{ N T } = Alfabeto de pila ()
{ q } = Q (Conjunto de estados del AP)
S = Smbolo de inicio de pila
q = estado inicial del AP
F = Funcin de transicin (movimientos)
F = (Conjunto de estados finales)
ALGORITMO (para obtener los movimientos del AP):
1.
X { N T }, A N
A : : = X produccin de la gramtica,
en AP se hace: ( q X ) f ( q A )
2.
a T
entonces, ( q ) f ( q a a )
15