Lenguajes Formales y Autómatas

25
Lenguajes Formales y Autómatas UIS Escuela de Ingeniería de Sistemas Preparación para ECAES Rafael Isaacs

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 Presentation

Transcript of Lenguajes Formales y Autómatas

Page 1: Lenguajes Formales y Autómatas

Lenguajes Formales y Autómatas

UIS

Escuela de Ingeniería de Sistemas

Preparación para ECAES

Rafael Isaacs

Page 2: Lenguajes Formales y Autómatas

Contenido

• Lenguajes regulares.

• Autómatas finitos.

• Gramáticas independientes del contexto.

• Autómatas de pila.

• Gramáticas generales.

• Máquinas de Turing.

Page 3: Lenguajes Formales y Autómatas

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.

Page 4: Lenguajes Formales y Autómatas

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

Page 5: Lenguajes Formales y Autómatas

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

Page 6: Lenguajes Formales y Autómatas

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

Page 7: Lenguajes Formales y Autómatas

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

Page 8: Lenguajes Formales y Autómatas

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* )*

Page 9: Lenguajes Formales y Autómatas

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)

Page 10: Lenguajes Formales y Autómatas

Identidades

Page 11: Lenguajes Formales y Autómatas

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

Page 12: Lenguajes Formales y Autómatas

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

Page 13: Lenguajes Formales y Autómatas

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

Page 14: Lenguajes Formales y Autómatas

Autómatas finitos no determinísticos

q1

q0q2

q1

q0q2

q1

q2

q3

q0

q1

q2

q0

Page 15: Lenguajes Formales y Autómatas

Autómatas finitos no determinísticosPalabras que empiezan por ab y terminan con ba

q1

q2

q0

q4q3q5

q2

a(ba b(ab)*ba)

Page 16: Lenguajes Formales y Autómatas

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

Page 17: Lenguajes Formales y Autómatas

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

Page 18: Lenguajes Formales y Autómatas

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

Page 19: Lenguajes Formales y Autómatas

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

Page 20: Lenguajes Formales y Autómatas

Gramáticas regulares (Ejemplo)

Page 21: Lenguajes Formales y Autómatas

Gramáticas Independientes del contexto

Page 22: Lenguajes Formales y Autómatas

Gramáticas Independientes del contexto (ejemplos)

Page 23: Lenguajes Formales y Autómatas

Autómatas de pila

M=(,Q,,,q0,F)

:Q Q

Page 24: Lenguajes Formales y Autómatas

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

Page 25: Lenguajes Formales y Autómatas

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