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

Transcript of Autómata finito Determinista. Definición Un AFD es una quíntupla A =(Q,,, q 0,F) Q es un conjunto...

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