Está en la página 1de 18

Tema 2: Autmatas nitos

Departamento de Sistemas Informaticos y Computacion

DSIC - UPV

http://www.dsic.upv.es

p.

Tema 2: Automatas nitos


Autmata nito determinista (AFD).

Formas de representacin de un AFD: Diagrama de transiciones. Tabla de transiciones.


Autmata nito no determinista (AFN). Equivalencia AFN - AFD Autmata nito no determinista con transiciones vacas

(AF).
Gramticas. Deniciones Gramticas. Jerarqua de Chomsky Equivalencia AF - AFN Equivalencia Autmata Finito - Gramtica Regular

DSIC - UPV

http://www.dsic.upv.es

p.

Automata nito determinista


Un autmata nito determinista es una 5-tupla

A = (Q, , , q0 , F ) donde: Q es un conjunto nito de estados es un conjunto nito de smbolos o alfabeto. : Q Q es una funcin parcial llamada funcin de transicin q0 Q estado inicial F Q conjunto de estados nales
a1 a2 a3 an

Memoria Finita

DSIC - UPV

http://www.dsic.upv.es

p.

Automata nito determinista


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

(q1 , a)= q2 (q1 , b)= q1

(q2 , a)= q2 (q2 , b)= q2

a
q0

b b
q1

a,b a
q2

q0 q1 q2

q0 q2 q2

q1 q1 q2

DSIC - UPV

http://www.dsic.upv.es

p.

Automata nito determinista


Extensin de la funcin de transicin a cadenas

: Q Q q Q, x , a (q, ) = q (q, xa) = ((q, x), a)


Lenguaje aceptado por un AFD

L(A) = {x | (q0 , x) F }

DSIC - UPV

http://www.dsic.upv.es

p.

Automata nito no determinista


Un autmata nito no determinista es una 5-tupla

A = (Q, , , q0 , F ) donde: Q, , q0 Q y F Q el mismo conjunto de estados, alfabeto, estado inicial y conjunto de estados nales que en la denicin de AFD : Q 2Q es una funcin parcial llamada funcin de transicin Extensin de a cadenas : Q 2Q q Q, x , a (q, ) = {q} (q, xa) =
p(q,x)

(p, a)

Lenguaje aceptado por un AFN:

L(A) = {x | (q0 , x) F = }
DSIC - UPV

http://www.dsic.upv.es

p.

Automata nito no determinista


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

(q1 , a)= (q1 , b)= {q1 , q2 } (q1 , c)= {q2 }


c

(q2 , a)= (q2 , b)= (q2 , c)= {q2 }

a
q0

b a,b
q1

c b,c
q2

q0 q1 q2

{q0 , q1 , q2 }

{q1 , q2 } {q1 , q2 }

{q2 } {q2 } {q2 }

a,b,c

DSIC - UPV

http://www.dsic.upv.es

p.

Automata nito no determinista


Equivalencia entre AFN y AFD

Sea A = (Q, , , q0 , F ) un AFN.


Construimos un AFD A = (Q , , , q0 , F ) tal que L(A) = L(A ) de la siguiente forma:

Q = 2Q q0 = {q0 } F = {q Q | q F = } (q , a) = (q, a) : q Q, a
qq

DSIC - UPV

http://www.dsic.upv.es

p.

Automata nito no determinista


ejercicios:

q0

q1

a,b

q2

q0

q1

a b

q2

a,b,c

a,b

DSIC - UPV

http://www.dsic.upv.es

p.

Automata nito no determinista con transiciones vacas


Un autmata nito no determinista con transiciones vacas

es una 5-tupla A = (Q, , , q0 , F ) donde: Q, , q0 Q y F Q el mismo conjunto de estados, alfabeto, estado inicial y conjunto de estados nales que en la denicin de AFD y AFN : Q ( {}) 2Q es una funcin parcial llamada funcin de transicin
-clausura de un estado q Q ( clausura(q)): conjunto

de estados que pueden alcanzarse desde q sin consumir smbolo. Dado P Q, clausura(P ) =
pP

clausura(p)

DSIC - UPV

http://www.dsic.upv.es

p. 1

Automata nito no determinista con transiciones vacas


Extensin de a cadenas : Q 2Q q Q, x , a (q, ) = clausura(q) (q, xa) = clausura
p(q,x)

(p, a)

Pudiendo extender para operar sobre conjuntos de estados: P Q (P, x) = (p, x)


pP

Lenguaje aceptado por un AF:

L(A) = {x | (q0 , x) F = }

DSIC - UPV

http://www.dsic.upv.es

p. 1

Automata nito no determinista con transiciones vacas


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

(q1 , 0)= (q1 , 0)= {q3 } (q1 , )= {q2 } {q1 } {q2 } {q0 }

(q2 , 0)= {q1 } (q2 , 1)= {q2 } (q2 , )=

(q3 , 0)= (q3 , 1)= {q3 } (q3 , )= {q0 }

q0 q1 q2 q1

{q1 }

{q3 } {q2 } {q3 }

q0

q1

q2

1 0
q3

1
DSIC - UPV

http://www.dsic.upv.es

p. 1

Automata nito no determinista con transiciones vacas


Equivalencia entre AF y AFN

Sea A = (Q, , , q0 , F ) un AF. Construimos un AFD A = (Q, , , q0 , F ) tal que L(A) = L(A ) de la siguiente forma:
F =

F {q0 }, F,

si clausura(q0 ) F = en otro caso

(q, a) = (q, a) tomando a , x , q Q y donde: (q, ) = clausura(q) (q, xa) = clausura


p(q,x)

(p, a)

A partir de este punto, puede obtenerse un AFD utilizando

la transformacin ya vista.
DSIC - UPV

http://www.dsic.upv.es

p. 1

Automata nito no determinista con transiciones vacas


ejercicios:

1
q1

q0

a b 1
q3

0
q0

q1

c 1

q2

b
q3

0
q2

a
q4

DSIC - UPV

http://www.dsic.upv.es

p. 1

Gramaticas
Deniciones
Una gramtica G es una cudrupla G = (N, , P, S) donde: N es un conjunto nito no vaco de smbolos llamados

auxiliares es un alfabeto nito no vaco de smbolos llamados terminales. Se cumple que N = . Llamaremos V = N . S N es un smbolo auxiliar especial llamado axioma P es un conjunto de reglas de produccin P V N V V . Una produccin (, ) suele denotarse p.e.: L = {an bn | n 1}
G = {{N }, {a, b}, {S ab, S aSb}, S}
DSIC - UPV

http://www.dsic.upv.es

p. 1

Gramaticas
Tipos de gramticas. Jerarqua de Chomsky.
Regulares (tipo 3): A, B N ; a, b {} Lineales por la derecha: A aB|b Lineales por la izquierda: A Ba|b Incontextuales (tipo 2): A donde A N , V . Contextuales (tipo 1): A con A N , , V ,

V +. Formas sentenciales de longitud creciente


S para permitir L(G). !! ATENCIN !! No restringidas (tipo 0)

L3 L2 L1 L0
DSIC - UPV

http://www.dsic.upv.es

p. 1

Equivalencia Automata Finito - Gramatica Regular


Si L es un lenguaje regular, entonces L es aceptado por un

autmata nito A.
Dada G = (N, , P, S) lineal por la derecha (L = L(G)),

construimos un AF A = (Q, , , q0 , F ) tal que L(A) = L: Q = N {X} tal que X N q0 = S F = {X} funcin de transicin (A, B, X N , a {}) (A aB) P se dene B (A, a) (A a) P se dene X (A, a) a {} se dene (X, a) =

DSIC - UPV

http://www.dsic.upv.es

p. 1

Equivalencia Automata Finito - Gramatica Regular


Si L es aceptado por un autmata nito A, entonces L es

un lenguaje regular.
Sea A = (Q, , , q0 , F ) un AF (L = L(A)). Construimos

G = (N, , P, S) lineal por la derecha tal que L = L(G) N =Q S = q0 reglas de produccin (q, q Q, a {}) q (q, a) se dene q aq P q F se dene q P

DSIC - UPV

http://www.dsic.upv.es

p. 1

También podría gustarte