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

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

Transcript of Lenguajes Formales y Autómatas UIS Escuela de Ingeniería de Sistemas Preparación para ECAES...

Page 1: Lenguajes Formales y Autómatas UIS Escuela de Ingeniería de Sistemas Preparación para ECAES Rafael Isaacs.

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 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.

Page 3: Lenguajes Formales y Autómatas UIS Escuela de Ingeniería de Sistemas Preparación para ECAES Rafael Isaacs.

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 UIS Escuela de Ingeniería de Sistemas Preparación para ECAES Rafael Isaacs.

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 UIS Escuela de Ingeniería de Sistemas Preparación para ECAES Rafael Isaacs.

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 UIS Escuela de Ingeniería de Sistemas Preparación para ECAES Rafael Isaacs.

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 UIS Escuela de Ingeniería de Sistemas Preparación para ECAES Rafael Isaacs.

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 UIS Escuela de Ingeniería de Sistemas Preparación para ECAES Rafael Isaacs.

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 UIS Escuela de Ingeniería de Sistemas Preparación para ECAES Rafael Isaacs.

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 UIS Escuela de Ingeniería de Sistemas Preparación para ECAES Rafael Isaacs.

Identidades

Page 11: Lenguajes Formales y Autómatas UIS Escuela de Ingeniería de Sistemas Preparación para ECAES Rafael Isaacs.

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 UIS Escuela de Ingeniería de Sistemas Preparación para ECAES Rafael Isaacs.

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 UIS Escuela de Ingeniería de Sistemas Preparación para ECAES Rafael Isaacs.

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 UIS Escuela de Ingeniería de Sistemas Preparación para ECAES Rafael Isaacs.

Autómatas finitos no determinísticos

q1

q0q2

q1

q0q2

q1

q2

q3

q0

q1

q2

q0

Page 15: Lenguajes Formales y Autómatas UIS Escuela de Ingeniería de Sistemas Preparación para ECAES Rafael Isaacs.

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 UIS Escuela de Ingeniería de Sistemas Preparación para ECAES Rafael Isaacs.

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 UIS Escuela de Ingeniería de Sistemas Preparación para ECAES Rafael Isaacs.

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 UIS Escuela de Ingeniería de Sistemas Preparación para ECAES Rafael Isaacs.

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 UIS Escuela de Ingeniería de Sistemas Preparación para ECAES Rafael Isaacs.

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 UIS Escuela de Ingeniería de Sistemas Preparación para ECAES Rafael Isaacs.

Gramáticas regulares (Ejemplo)

Page 21: Lenguajes Formales y Autómatas UIS Escuela de Ingeniería de Sistemas Preparación para ECAES Rafael Isaacs.

Gramáticas Independientes del contexto

Page 22: Lenguajes Formales y Autómatas UIS Escuela de Ingeniería de Sistemas Preparación para ECAES Rafael Isaacs.

Gramáticas Independientes del contexto (ejemplos)

Page 23: Lenguajes Formales y Autómatas UIS Escuela de Ingeniería de Sistemas Preparación para ECAES Rafael Isaacs.

Autómatas de pila

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

:Q Q

Page 24: Lenguajes Formales y Autómatas UIS Escuela de Ingeniería de Sistemas Preparación para ECAES Rafael Isaacs.

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 UIS Escuela de Ingeniería de Sistemas Preparación para ECAES Rafael Isaacs.

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