lenguajes formales y autómatas
DESCRIPTION
Lenguajes Formales y Autómatas. UIS Escuela de Ingeniería de Sistemas Preparación para ECAES. Rafael Isaacs. Contenido. Lenguajes regulares. Autómatas finitos. Gramáticas independientes del contexto. Autómatas de pila. Gramáticas generales. Máquinas de Turing. . *. . - PowerPoint PPT PresentationTRANSCRIPT
Lenguajes Formales y Autómatas
UIS
Escuela de Ingeniería de Sistemas
Preparación para ECAES
Rafael Isaacs
Contenido
• Lenguajes regulares.
• Autómatas finitos.
• Gramáticas independientes del contexto.
• Autómatas de pila.
• Gramáticas generales.
• Máquinas de Turing.
Conjunto finito (alfabeto)
* Conjunto de las palabras sobre el alfabeto
2= Palabras sobre el alfabeto con dos letras.
3= Palabras sobre el alfabeto con tres letras.
n=.... Palabras sobre el alfabeto con n letras.
* 2
0
n
n
: la palabra sin letras.
Definición recursiva de *:*.
•Si * y u entonces u*.
•Así se forman todas las palabras de *.
Concatenación en *:=.
•Si (u)=()u.
a b
aa ab ba bb
aab aab aab aab
Lenguaje sobre : Cualquier subconjunto de *
Nuestro Objetivo: Describir y clasificar lenguajes
Expresiones Regulares sobre es expresión regular
es expresión regular
•Si u entonces u es expresión regular
Si , son expresiones regulares:
•()* es expresión regular.
•() es expresión regular.
•() es expresión regular.
={a,b}
a b
(ab) (ab) ((ab) b)
(((ab) b))*
((((ab) b))*(ab))(ab b)*ab
Lenguajes asociados a expresiones regulares sobre
•uSi , son expresiones regulares:
•()
•()
• ()*
Expresión regular. Lenguaje regular.
• {u} A,B Lenguajes regulares:
A B : ,AB A B 1 2* ... :n iA A
Ejemplo
={a,b}
a b
(ab) ((ab) b)
(((ab) b))*
((((ab) b))*(ab))
(ab b)*ab
Expresión regular. Lenguaje regular
{a} {b} {}{ab} {ab,b}
{ab,b}*
Palabras que se escriben con las palabras ab y b
Palabras que después de cada a tienen una b y terminan con ab
{ab,b}* {ab}ab abbababab bab
bbbababbabab babb baabbab
Ejemplos
Palabras que contienen exactamente 2 b’s
Palabras que contienen 2 o más b’s
Palabras que contienen un número par de b’s
Palabras que contienen un número impar de b’s
a*(ba*ba*)*a*
a*ba*ba*
(ab)*ba*ba*
(a*ba*b (ab)* )*
(a*ba*ba*)* a*ba*
(a*b (a b)* b a* )*
Ejemplos (2)
Palabras que no contienen la subpalabra ba
Palabras que empiezan por ab y terminan con ba
Palabras que contienen la subpalabra aa y la subpalabra bb
Palabras con longitud par
(ab)*(aa(ab)*bb bb(ab) *aa)(ab)*
(ab(ab)*ba)aba
a*b*
(a(ab)b(ab))*
((ab) (ab))*
a(ba b(ab)*ba)
Identidades
Autómatas Finitos (determinísticos)
M=(,Q,,q0,F)
Alfabeto
Conjunto de estados
Estado inicial
Estados finales
Función de transición :Q Q
q1
q1
q2
q0
q2
q2
Q q0
q1
q2
a b
q0q2
q1a
a
ab
b
b
Funcionamiento del autómata
q0q2
q1a
a
ab
b
b
M=(,Q,,q0,F)
*:Q Q * ,i iq q
* , * , ,i iq u q u
*(aab,q1)= (*(aa,q1),b)= ( (*(a,q1),a),b)= (( (*(,q1),a),a),b)=
(( (q1,a),a),b)= (( q1,a),b)= ( q1,b)= q2
0( ) : * ,L M q F
Palabras que contienen a ab
Ejemplos
Palabras que contienen exactamente 2 a’s
Palabras que contienen exactamente 3k b’s
Lenguaje representado por la expresión aa*b
q0
ab
a
q1
b
q3
ab
a
q2
b
q1
q0q2
q1
q2
q3
q0
Autómatas finitos no determinísticos
q1
q0q2
q1
q0q2
q1
q2
q3
q0
q1
q2
q0
Autómatas finitos no determinísticosPalabras que empiezan por ab y terminan con ba
q1
q2
q0
q4q3q5
q2
a(ba b(ab)*ba)
Lenguajes regulares
AFD
AFND
Expresiones Regulares
Gramáticas Regulares
No son LR:
: *R
: * R : * primo
: 0i ia b i
: , 0i j ia b a i j
Lema de Bombeo
q1q0 qiqk
Un autómata de k estados si acepta una palabra de longitud mayor que k acepta infinitas palabras
Un autómata de k estados acepta infinitas palabras si y solo si acepta alguna tal que k< < 2k
k
ii L
Propiedades de clausura
...lenguajes regulares, es un lenguaje regular
Intersección de dos
Unión de dos
Concatenación de dos
Complemento de
* de
Conjuntos finitos de palabras forman lenguajes regulares
Gramáticas regulares (def)
S aS
S bA
A bS
S a
S
SaS aaS aabA aabbS aabbaS aabba
aabbaL(G) ( ) *L G a bb
Producciones P
,a b
,V A S
, , ,G V P S
Gramáticas regulares (Ejemplo)
Gramáticas Independientes del contexto
Gramáticas Independientes del contexto (ejemplos)
Autómatas de pila
M=(,Q,,,q0,F)
:Q Q
Máquinas de Turing
M=(,Q,,,q0,F)
: ,Q Q L R B
b/a R b/b L
q1q2q0
B/B R B/B L
a/b R a/a L
a a b a
q0
b b a b
q2
a a b a
q1
b a b a
q1
b b b a
q1
b b a b
q1
b b a b
q2
b b a b
q2
b b a b
q2
b b a b
q2
b b a a
q1
Ejemplos de Máquinas de Turing
q4
a/a Lb/b LB/BL
a/X R
B/b L
q2q3
a/a Rb/b R
a/a Rb/b Rq0 B/B R q1
X/X RY/Y R
b/Y R
B/B R
B/B RB/a L
q6q5
a/a Rb/b R
a/a Rb/b R
q7
X/a LY/b L
B/B L