Está en la página 1de 37

GRAMATICAS LENGUAJES MAQUINAS

Sin restricciones o Sin restricciones Máquina de Turing


de Tipo 0 o de Tipo 0

Sensible al contexto Sensible al contexto Autómata Linealmente


o de Tipo 1 o de Tipo 1 Acotado

Libre de contexto Libre de contexto Autómata a Pila


o de Tipo 2 o de Tipo 2

Regular Regular Autómata Finito


o de Tipo 3 o de Tipo 3
 Para cada AFD existe un AFND
equivalente y viceversa

 AFD AFND los AFD´s son un caso


particular de los AFND teniendo en
cuenta que  p  Q, a  , |f(p,a)|= 1 y
no hay transiciones nulas (qQ,
f’’(q,λ)=)
 AFND AFD se puede construir un
AFD (,Q’, f’,q’0, F) a partir de un AFND
(,Q, f, q0, F) mediante un algoritmo.
 Ejemplo: A4=({0,1}, {q0 , q1 , q2 , q3}, q0 ,{q1}, f)
f(q0,0)= {q0}
f(q0,1)= {q1, q2}
f(q1,0)= q0
A 4 0 1
f(q1,1)= {q0, q1} →q0 q0 q 1 , q2
f(q2,0)= { q2, q3 } *q1 q0 q0, q1
f(q2,1)= 
q2 q2 , q 3
f(q3,0)= q0
f(q3,1)= q1 q3 q0 q1
A4 0 1 A’4 0 1
→q0 q0 q1, q2 →q0 q0 q1, q2
*q1 q0 q0, q1
q2 q2 , q3
q3 q0 q1
A4 0 1 A’4 0 1
→q0 q0 q1, q2 →q0 q0 q1, q2
*q1 q0 q0, q1 *q1, q2 q0, q2 , q3 q0, q1
q2 q2 , q 3
q3 q0 q1
A4 0 1 A’4 0 1

→q0 q0 q1, q2 →q0 q0 q1, q2


*q1, q2 q0, q2 , q3 q0, q1
*q1 q0 q0, q1
q0, q2 , q3 q0, q2 , q3 q1, q2
q2 q2 , q 3
q3 q0 q1
A4 0 1 A’4 0 1
→q0 q0 q1, q2 →q0 q0 q1, q2
*q1 q0 q0, q1 *q1, q2 q0, q2 , q3 q0, q1
q2 q2 , q 3 q0, q2 , q3 q0, q2 , q3 q1, q2

q3 q0 q1 *q0, q1 q0 q0, q1, q2


A4 0 1 A’4 0 1

→q0 q0 q1, q2 →q0 q0 q1, q2


*q1, q2 q0, q2 , q3 q0, q1
*q1 q0 q0, q1
q0, q2 , q3 q0, q2 , q3 q1, q2
q2 q2 , q3
*q0, q1 q0 q0, q1, q2
q3 q0 q1
*q0, q1, q2 q0, q2 , q3 q0, q1, q2
A’4 0 1
A4 0 1
→C0 →q0 q0 q1, q2
→q0 q0 q1, q2 *q1, q2 q0, q2 , q3 q0, q1
*C1
*q1 q0 q0, q1 C2 q0, q2 , q3 q0, q2 , q3 q1, q2
q2 q2 , q3 *C3 *q0, q1 q0 q0, q1, q2
q3 q0 q1 *C4 *q0, q1, q2 q0, q2 , q3 q0, q1, q2

A’4=({0,1}, {c0 , c1 , c2 , c3 , c4}, c0 ,{ c1 , c3 , c4}, f)


f(c0,0)= c0 f(c2,1)= c4
f(c0,1)= c1 f(c3,0)= c0
f(c1,0)= c2 f(c3,1)= c4
f(c1,1)= c3 f(c4,0)= c3
f(c2,0)= c2 f(c4,1)= c4
Video de AFND- λ y AFD

http://www.youtube.com/watch?v=d63V5nDeLXA
Gramática regular asociada a un AFD
 Si L es aceptado por un AFD entonces L puede generarse mediante
una gramática regular.
 Sea A=(Q, , f, q0, F), la gramática regular equivalente es aquella definida como
G=(Q,, P, q0), donde P viene dado por:
 Si f(q,a)=p entonces añadir a P la producción q→ap.

 Si f(q,a)=p y p  F entonces añadir a P la producción q→a.

 Si q0 F entonces añadir a P la producción q0→λ


 Ejemplo: a partir del

A’4=({0,1}, {c0 , c1 , c2 , c3 , c4}, c0 ,{ c1 , c3 , c4}, f)


f(c0,0)= c0 f(c2,1)= c4
f(c0,1)= c1 f(c3,0)= c0
f(c1,0)= c2 f(c3,1)= c4
f(c1,1)= c3 f(c4,0)= c3
f(c2,0)= c2 f(c4,1)= c4

G= ({0,1}, {c0 , c1 , c2 , c3 , c4}, c0,P)


co= 0c0|1
c1 = 0c2 |1
c2 = 0c2 |1
c3= 0c0 |1
c4= 0c2 |1
Gramatica 3 a AFD/AFND: dada la gramática lineal
por la derecha
G3=(T,N,S, P) se construye el autómata equivalente
A=(T,N{F}, f, S, {F}) donde F N es un
nuevo símbolo no terminal y
f se construye:
Si A::=aB → f(A,a)=B
Si A::=a →f(A,a)=F
Si S::=λ →f(S,λ)=F
Ejemplo: Dada la gramática G=({0,1}, {A,B,C},A,P)
P={(A::=0B), (A::=λ), (B::=1C), (B::=1), (C::=0B)}
El Autómata que reconoce el lenguaje generado
por dicha gramática será.
A5=({0,1}, {A,B,C, F}, f, {A}, {F})

f(A,0)= B 0 1 λ
f(A,λ)= F A B F
f(B,1)= C
B
f(B,1)= F
f(C,0)= B C B {C,F}
F
Unión: Sean L1 y L2, entonces existen
dos autómatas A1 y A2 tales que L1 = L(A1) y
L2 = L(A2) donde:
Ai = (Qi,Σi,δi,qi,Fi), i = 1,2
Construimos A = (Q, Σ, δ, q0, F) donde:
• Q = Q1 x Q2
• q0 = [q1, q2]
• F = F1 U F2
 • δ([p1, p2], a) = [δ1(p1, a) U δ2(p2, a)],
para todo p1 en Q1, Para todo p2 en Q2, Para
todo a en Σ
 Dado dos autómatas
 A1: donde L1 acepta por lo menos un 0
1
0,1

 Cadenas aceptadas: 0,01,110, 10, 00

 Dado dos autómatas


 A2: donde L2 acepta por lo menos un 1
0
0,1

 Cadenas aceptadas: 1, 01, 111, 110


1 0,1

A B 0 0,1

C D

AC AD BC BD
1 0,1

A B 0 0,1

C D

AC AD BC BD
1 0,1

A B 0 0,1

C D

1
AC AD BC BD
1 0,1

A B 0 0,1

C D

1
AC AD BC BD
1 0,1

A B 0 0,1

C D

1
AC AD BC BD

0
1 0,1

A B 0 0,1

C D

1 0

1
AC AD BC BD

0
1 0,1

A B 0 0,1

C D

1 0

1
1
AC AD BC BD

0
1 0,1

A B 0 0,1

C D

1 0 0, 1

1
1
AC AD BC BD

0
Intersección: Sean L1 y L2, entonces existen
dos autómatas A1 y A2 tales que L1 = L(A1) y
L2 = L(A2) donde:
Ai = (Qi,Σi,δi,qi,Fi), i = 1,2
Construimos A = (Q, Σ, δ, q0, F) donde:
• Q = Q1 x Q2
• q0 = [q1, q2]
• F = F1 x F2
• δ([p1, p2], a) = [δ1(p1, a), δ2(p2, a)], para
todo p1 en Q1, Para todo p2 en Q2, Para todo
a en Σ
 Dado dos autómatas
 A1: donde L1 acepta por lo menos un 0
1
0,1

 Cadenas aceptadas: 0,01,110, 10, 00

 Dado dos autómatas


 A2: donde L2 acepta por lo menos un 1
0
0,1

 Cadenas aceptadas: 1, 01, 111, 110


1 0,1

A B 0 0,1

C D

AC AD BC BD
1 0,1

A B 0 0,1

C D

AC AD BC BD
1 0,1

A B 0 0,1

C D

1
AC AD BC BD
1 0,1

A B 0 0,1

C D

1
AC AD BC BD
1 0,1

A B 0 0,1

C D

1
AC AD BC BD

0
1 0,1

A B 0 0,1

C D

1 0

1
AC AD BC BD

0
1 0,1

A B 0 0,1

C D

1 0 0, 1

1
1
AC AD BC BD

0
Sea h : Σ Δ*, Existe L en Σ* y un autómata A
tal que L = L(A) y donde A = (Q,Σ,δ,q0,F)
Construimos A’ = (Q,Σ,δ’,q0,F) donde:
• δ’ (p,a) = δ(p,h(a)) si δ(p,h(a)) ≠ Φ
• δ’ (p,a) = Φ en cualquier otro caso
1. Cuales son los pasos para pasar de un AFND
a AFD.
2. Cuales son los pasos para pasar de un AFD a
una G3
3. Cuales son los pasos para pasar de una G3 a
un AFD o AFND
4. Defina la Union de AF
5. Defina la Interseccion de AF
6. Defina Morfismo de AF

También podría gustarte