autómata finito determinista. definición un afd es una quíntupla a =(q,,, q 0,f) q es un conjunto...

20
Aut Aut ómata finito ómata finito Determinista Determinista

Upload: susana-balderas

Post on 31-Dec-2014

60 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Autómata finito Determinista. Definición Un AFD es una quíntupla A =(Q,,, q 0,F) Q es un conjunto finito de estados es un alfabeto finito (símbolos de

AutAutómata finito ómata finito DeterministaDeterminista

Page 2: Autómata finito Determinista. Definición Un AFD es una quíntupla A =(Q,,, q 0,F) Q es un conjunto finito de estados es un alfabeto finito (símbolos de

DefiniciónDefiniciónUn AFD es una quíntupla

A =(Q,, , q0,F)◦Q es un conjunto finito de estados◦ es un alfabeto finito (símbolos de

entrada)◦ es una función de transición (q,a)

p◦q0 Q es el símbolo de inicio

◦F Q es el conjunto de estados finales

Page 3: Autómata finito Determinista. Definición Un AFD es una quíntupla A =(Q,,, q 0,F) Q es un conjunto finito de estados es un alfabeto finito (símbolos de

Autómata finitoAutómata finitoTransición

s1 a s2

(s1,a) s2

Se lee

◦ En el estado s1 teniendo entrada ¨a¨ moverse al estado s2

Page 4: Autómata finito Determinista. Definición Un AFD es una quíntupla A =(Q,,, q 0,F) Q es un conjunto finito de estados es un alfabeto finito (símbolos de

Grafos de los estados de un Grafos de los estados de un Autómata finitoAutómata finitoUn estado

Estado de inicio

Estado de aceptación

Una transición a

Page 5: Autómata finito Determinista. Definición Un AFD es una quíntupla A =(Q,,, q 0,F) Q es un conjunto finito de estados es un alfabeto finito (símbolos de

Ejemplo 1Ejemplo 1

Si se tiene el alfabeto ∑={0,1} dibuje un autómata finito que acepte la cadena ¨1¨

1

A={{q,r}, {0,1},(q,1)=r,q,{r}}

Un autómata finito acepta una cadena w si podemos seguir las etiquetas de los arcos con los caracteres de la cadena w desde el estado de inicio hasta un estado de aceptación

q r

Page 6: Autómata finito Determinista. Definición Un AFD es una quíntupla A =(Q,,, q 0,F) Q es un conjunto finito de estados es un alfabeto finito (símbolos de

Ejemplo 2Ejemplo 2

Un autómata finito que acepta cualquier cantidad de 1´s seguido de un 0.

Alfabeto: 0,1

r0

1

Verificar que ¨1110¨es aceptada pero no ¨111¨

q

0 1

q

r

r q

Page 7: Autómata finito Determinista. Definición Un AFD es una quíntupla A =(Q,,, q 0,F) Q es un conjunto finito de estados es un alfabeto finito (símbolos de

ImplementaciImplementaciónónUn AFD se puede implementar

mediante una tabla de 2 dimensiones T◦ Una dimensión para los estados◦ Otra dimensión para los símbolos de

entrada◦ Para cada transición (s1,a) s2 definir T[i,a]

= kEjecución del AFD

◦ Para cada estado si y entrada a, leer T[i,a]=k y saltar al estado k.

◦ Muy eficiente.

Page 8: Autómata finito Determinista. Definición Un AFD es una quíntupla A =(Q,,, q 0,F) Q es un conjunto finito de estados es un alfabeto finito (símbolos de

ImplementaciImplementación de la Tablaón de la Tabla

0 1

s t u

t t u

u t u

Page 9: Autómata finito Determinista. Definición Un AFD es una quíntupla A =(Q,,, q 0,F) Q es un conjunto finito de estados es un alfabeto finito (símbolos de

Ejemplo 3Ejemplo 3

Un autómata A que acepta◦ {x01y:x,y {0,1}*}

El autómata como un diagrama de transición

Page 10: Autómata finito Determinista. Definición Un AFD es una quíntupla A =(Q,,, q 0,F) Q es un conjunto finito de estados es un alfabeto finito (símbolos de

EjemploEjemplo

El autómata anterior, A=({q0,q1,q2}, {0,1}, ,q0, {q1}) tiene tabla de transición:

Page 11: Autómata finito Determinista. Definición Un AFD es una quíntupla A =(Q,,, q 0,F) Q es un conjunto finito de estados es un alfabeto finito (símbolos de

AceptaciAceptación de una cadena ón de una cadena por un Autómata Finito (AF)por un Autómata Finito (AF)Un AF acepta una cadena

w=a1a2…an si existe un camino en el diagrama de transición tal que:◦Comienza en el estado inicial.◦Finaliza en un estado de aceptación.◦Tiene una secuencia de etiquetas

a1a2…an

Page 12: Autómata finito Determinista. Definición Un AFD es una quíntupla A =(Q,,, q 0,F) Q es un conjunto finito de estados es un alfabeto finito (símbolos de

EjemploEjemplo

El AF:

Acepta por ejemplo la cadena 01101

Page 13: Autómata finito Determinista. Definición Un AFD es una quíntupla A =(Q,,, q 0,F) Q es un conjunto finito de estados es un alfabeto finito (símbolos de

ExtensiExtensión de la función de ón de la función de transicióntransiciónLa función de transición se

puede extender a que opera en estados y cadenas (a diferencia de que opera en estados y símbolos).◦Caso base: (q,)=q◦Inducción: (q,xa)= ((q,x),a)

Page 14: Autómata finito Determinista. Definición Un AFD es una quíntupla A =(Q,,, q 0,F) Q es un conjunto finito de estados es un alfabeto finito (símbolos de

EjemploEjemploEmpleando al autómata del

ejemplo anterior, con la cadena 01101 genera el siguiente resultado:

◦Realizarlo en clase.

Page 15: Autómata finito Determinista. Definición Un AFD es una quíntupla A =(Q,,, q 0,F) Q es un conjunto finito de estados es un alfabeto finito (símbolos de

Lenguaje aceptado por un Lenguaje aceptado por un AFAFFormalmente el lenguaje

aceptado por un AF llamado A es:L(A)= w (q0,w) F

Los lenguajes aceptados por AFs se conocen como regulares.

Page 16: Autómata finito Determinista. Definición Un AFD es una quíntupla A =(Q,,, q 0,F) Q es un conjunto finito de estados es un alfabeto finito (símbolos de

Ejemplo 1Ejemplo 1

AFD todas las cadenas con un número par de 0s y un número par de 1s

Page 17: Autómata finito Determinista. Definición Un AFD es una quíntupla A =(Q,,, q 0,F) Q es un conjunto finito de estados es un alfabeto finito (símbolos de

Ejemplo 1 (Cont.)Ejemplo 1 (Cont.)

La tabla de transición del autómata es:

Page 18: Autómata finito Determinista. Definición Un AFD es una quíntupla A =(Q,,, q 0,F) Q es un conjunto finito de estados es un alfabeto finito (símbolos de

Ejemplo 2Ejemplo 2

El juguete Marble-Rolling tomado de la página 53 del libro de texto

Page 19: Autómata finito Determinista. Definición Un AFD es una quíntupla A =(Q,,, q 0,F) Q es un conjunto finito de estados es un alfabeto finito (símbolos de

Ejemplo 2 (Cont.)Ejemplo 2 (Cont.)Un estado se representa como

una secuencia de 3 bits seguidos por r ó a (lo que significa que la entrada anterior fue rechazada o aceptada)

Por ejemplo, 010a significa, izquierda, derecha, izquierda aceptada.

Page 20: Autómata finito Determinista. Definición Un AFD es una quíntupla A =(Q,,, q 0,F) Q es un conjunto finito de estados es un alfabeto finito (símbolos de

RepresentaciRepresentación tabular del ón tabular del juguetejuguete