210 likes | 397 Views
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 entrada ) es una funci ón de transición (q,a) p q 0 Q es el s ímbolo de inicio
E N D
Definición • Un 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
Autómata finito • Transición s1a s2 (s1,a) s2 • Se lee • En el estado s1teniendo entrada ¨a¨ moverse al estado s2
Grafos de los estados de un Autómata finito • Un estado • Estado de inicio • Estado de aceptación • Una transición a
Ejemplo 1 • Si se tiene el alfabeto ∑={0,1} dibuje un autómata finito que acepte la cadena ¨1¨ 1 q r 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
Ejemplo 2 • Un autómata finito que acepta cualquier cantidad de 1´s seguido de un 0. • Alfabeto: 0,1 0 1 r q q 1 0 q r r Verificar que ¨1110¨es aceptada pero no ¨111¨
Implementación • Un 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] = k • Ejecución del AFD • Para cada estado si y entrada a, leer T[i,a]=k y saltar al estado k. • Muy eficiente.
Ejemplo 3 • Un autómata A que acepta • {x01y:x,y {0,1}*} • El autómata como un diagrama de transición
Ejemplo • El autómata anterior, A=({q0,q1,q2}, {0,1}, ,q0, {q1}) tiene tabla de transición:
Aceptación de una cadena 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
Ejemplo • El AF: Acepta por ejemplo la cadena 01101
Extensión de la función de transición • La 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)
Ejemplo • Empleando al autómata del ejemplo anterior, con la cadena 01101 genera el siguiente resultado: • Realizarlo en clase.
Lenguaje aceptado por un AF • Formalmente el lenguaje aceptado por un AF llamado A es: L(A)= w (q0,w) F Los lenguajes aceptados por AFs se conocen como regulares.
Ejemplo 1 • AFD todas las cadenas con un número par de 0s y un número par de 1s
Ejemplo 1 (Cont.) • La tabla de transición del autómata es:
Ejemplo 2 • El juguete Marble-Rolling tomado de la página 53 del libro de texto
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.