12
Tema 2 Autómatas finitos 1. Autómata finito determinista Formas de Representación de un AFD Diagrama de transiciones Tabla de transiciones 2. Autómata finito no determinista Equivalencia AFN - AFD . Autómata finito no determinista con transiciones Equivalencia AF - AFD 4. Equivalencia Autómatas finitos-Gramáticas Regula

Tema 2 Autómatas finitos 1. Autómata finito determinista Formas de Representación de un AFD Diagrama de transiciones Tabla de transiciones 2. Autómata

Embed Size (px)

Citation preview

Page 1: Tema 2 Autómatas finitos 1. Autómata finito determinista Formas de Representación de un AFD Diagrama de transiciones Tabla de transiciones 2. Autómata

Tema 2Autómatas finitos

1. Autómata finito deterministaFormas de Representación de un AFD

Diagrama de transiciones Tabla de transiciones

2. Autómata finito no determinista Equivalencia AFN - AFD

3. Autómata finito no determinista con transiciones vacías Equivalencia AF - AFD

4. Equivalencia Autómatas finitos-Gramáticas Regulares

Page 2: Tema 2 Autómatas finitos 1. Autómata finito determinista Formas de Representación de un AFD Diagrama de transiciones Tabla de transiciones 2. Autómata

Autómata finito determinista

A = (Q, , , q0, F)

conjunto de estadosalfabeto

función de transición: Q Q

estado inicial, q0 Q

conjunto de estados finales F Q

ana3a2a1 ...

control finito

Extensión de a palabras (: Q * Q):

)),,((),(

),(

*,,

axqxaq

qq

axQq

Page 3: Tema 2 Autómatas finitos 1. Autómata finito determinista Formas de Representación de un AFD Diagrama de transiciones Tabla de transiciones 2. Autómata

Formas de Representación de un AFD

Tabla de transicionesDiagrama de transiciones

a

a

b

b

a, b

q0 q1

q2

a bq0 q1 q2

q1 q2 q0

q2 q2 q2

A = ({q0 , q1 , q2), {a, b}, , q0 , {q1})con: (q0 ,a) = q1, (q0 , b) = q2 , (q1 ,a) = q2, (q1 ,b) = q0 , (q2,a) = q2, (q2,b) = q2

Lenguaje aceptado: L(A) = {x *: (q0 , x) F }

Page 4: Tema 2 Autómatas finitos 1. Autómata finito determinista Formas de Representación de un AFD Diagrama de transiciones Tabla de transiciones 2. Autómata

Autómata finito no determinista

A = (Q, , , q0, F)

conjunto de estadosalfabeto

función de transición: Q 2Q

estado inicial, q0 Q

conjunto de estados finales F Q

Extensión de a cadenas (: Q * 2Q )

),(),(),(

}{),(

*,,

xqpapxaq

qq

axQq

Page 5: Tema 2 Autómatas finitos 1. Autómata finito determinista Formas de Representación de un AFD Diagrama de transiciones Tabla de transiciones 2. Autómata

Ejemplo de AFN

Tabla de transiciones

Diagrama de transiciones

A = ({q0 , q1 , q2), {a, b, c}, , q0 , {q0, q1, q2})con: (q0 ,a) = {q0, q1, q2}, (q0 , b) = {q1, q2}, (q0 ,c) = {q2}, (q1 ,a) = , (q1, b) = {q1, q2}, (q1,c) = {q2 },(q2 ,a) = , (q2, b) = , (q2,c) = {q2 }.

Lenguaje aceptado: L(A) = {x *: (q0 , x) F }

a b cq0 {q0, q1, q2} {q1, q2} {q2}q1 {q1, q2} {q2 }q2 {q2 }

Page 6: Tema 2 Autómatas finitos 1. Autómata finito determinista Formas de Representación de un AFD Diagrama de transiciones Tabla de transiciones 2. Autómata

Equivalencia AFN - AFD

q0 q1 q2

c

a,b b,c

a,b,c

ba

a b c{q0 } {q0, q1, q2} {q1, q2} {q2}{q0, q1, q2} {q0, q1, q2} {q1, q2} {q2} {q1, q2} {q1, q2} {q2} {q2} {q2}

Paso de AFN a AFD

Dado un lenguaje L aceptado por un AFN, existe un AFD queacepta L.

Page 7: Tema 2 Autómatas finitos 1. Autómata finito determinista Formas de Representación de un AFD Diagrama de transiciones Tabla de transiciones 2. Autómata

p0

p1

p3

p2

a

b

b b

cc

c

c

a b c{q0 } {q0, q1, q2} {q1, q2} {q2}{q0, q1, q2} {q0, q1, q2} {q1, q2} {q2} {q1, q2} {q1, q2} {q2} {q2} {q2}

a

a a,b

a,b,c

Page 8: Tema 2 Autómatas finitos 1. Autómata finito determinista Formas de Representación de un AFD Diagrama de transiciones Tabla de transiciones 2. Autómata

Autómata finito no determinista con transiciones vacías

A = (Q, , , q0, F)

conjunto de estados

alfabeto

función de transición: Q ( {}) 2Q

estado inicial, q0 Q

conjunto de estados finales F Q

Lenguaje aceptado: L(A) = {x *: (q0 , x) F }

-clausura de un estado

Page 9: Tema 2 Autómatas finitos 1. Autómata finito determinista Formas de Representación de un AFD Diagrama de transiciones Tabla de transiciones 2. Autómata

Equivalencia AF - AFD

-Dado q Q, -clausura(q) es el conjunto de estados a los que se puede llegar desde q sin consumir símbolos.

-Dado P Q -clausura(P ) = p P -clausura(p)

Extensión a cadenas de la función de transición -’(q , ) = -clausura(q)

-’(q, xa) = -clausura( p ’(q , x) (p , a) )

Dado A = (Q, , , q0, F) AF , construimos A’ = (Q, , ’, q0, F’)con F’ = F {q0} si -clausura(q0) F F en caso contrario

Se cumple que L(A) = L(A’ )

Page 10: Tema 2 Autómatas finitos 1. Autómata finito determinista Formas de Representación de un AFD Diagrama de transiciones Tabla de transiciones 2. Autómata

Ejemplo de AF-

Tabla de transiciones

Diagrama de transiciones

A = ({q0 , q1 , q2 , q3), {0, 1}, , q0 , {q0})con:

Lenguaje aceptado: L(A) = {x * : (q0 , x) F }

0 1 q0 {q1}q1 {q3} {q2 }q2 {q1} {q2}

q3 {q3} {q0}

Page 11: Tema 2 Autómatas finitos 1. Autómata finito determinista Formas de Representación de un AFD Diagrama de transiciones Tabla de transiciones 2. Autómata

Equivalencia Autómatas finitos-Gramáticas Regulares

Si L es un lenguaje regular, L es aceptado por un A. Finito

-Dada G = (N, , P, S) lineal por la derecha con L = L(G)se construye un AF A = (Q, , , q0, F) con L(A) = L(G):

Q = N {X}, X N; q0 = S; F ={X}.

Función de transición:1. (A aB) P se define B (A, a); A,B N; a {}2. (A a) P se define X (A, a); A N; a {}3. a {} se define (A, a) =

Page 12: Tema 2 Autómatas finitos 1. Autómata finito determinista Formas de Representación de un AFD Diagrama de transiciones Tabla de transiciones 2. Autómata

Equivalencia Autómatas finitos-Gramáticas Regulares

Si L es aceptado por un A. Finito, L es un lenguaje regular.-Sea A = (Q, , , q0, F) un AF tal que L = L(A)se construye una G = (N, , P, S) lineal por la derecha con L = L(G):

N = Q ; S = q0

El conjunto de reglas de producción se construye:

1. q’ (q, a) se define (q aq’) P ; q, q’ Q; a {}2. q F se define (q ) P