Unidad 1 Automatas Finitos Deterministas

22/08/2012

1. Autómatas Finitos

1. AUTOMATAS FINITOS

Objetivo: Construir Autómatas Finitos (AF) para el reconocimiento y análisis de los Lenguajes Regulares.
    

1.1 1.2 1.3 1.4 1.5

Máquinas Abstractas. Máquinas de Estados Finitos. Autómatas Finitos Determinísticos (AFD). Autómatas Finitos No Determinísticos (AFND). Equivalencias de AFD y AFND.

70

71

1.1 Máquinas Abstractas

Modelado de Sistemas Discretos

Diseño de una Máquina (Física o Mecánica). El modelado de una máquina en lo relacionado con secuencias o ciclos de acciones. Las máquinas que estudiaremos son abstracciones matemáticas que capturan solamente el aspecto referente a las secuencias de eventos que ocurren, sin tomar en cuenta ni la forma de la máquina ni sus dimensiones, ni tampoco si efectúa movimientos rectos o curvos, etc.
72

El modelado de fenómenos y procesos es una actividad que permite:
   

Verificar hipótesis sobre dichos procesos; Efectuar predicciones sobre el comportamiento futuro; Hacer simulaciones (eventualmente computarizadas); Hacer experimentos del tipo “¿qué pasaría si. . . ?”, sin tener que actuar sobre el proceso o fenómeno físico.

Llamamos eventos discretos a aquéllos en los que se considera su estado sólo en ciertos momentos, separados por intervalos de tiempo, sin importar lo que ocurre en el sistema entre estos momentos.
73

Modelado de Sistemas Discretos.

La noción más básica de los modelos de eventos discretos es la de estado. Un estado es una situación en la que se permanece un cierto lapso de tiempo. También consideramos transiciones entre los estados, que son enlaces que permitan el cambio entre estados. De manera gráfica un estado se representa por medio de un óvalo y una transición con una fecha uniendo dos estados. Todo modelo deberá contemplar un estado inicial y estados finales.
74

Modelo de estados civiles de una persona.

75

1

2 Modelado de Estados Finitos   El propósito de algunos modelos de estados y eventos es el de reconocer secuencias de eventos “buenos” de los “malos”. Confundir estados con eventos. Puede no ser único. Proponer conjuntos de estados no compresivos. Se considera que puede dar cambio. 78 79  Estados dentro de una máquina:    Estado Inicial. Estado Final 80 81 2 .22/08/2012 Errores al modelar  La elaboración de modelos “adecuados” de un proceso real es un arte:   Errores más frecuentes al crear modelos:       Diferenciar la duración de los eventos (instantáneos y de duración considerable) Condiciones asociadas excluyentes Condiciones comprensivas (cubren todos los casos posibles) Eventos instantáneos asociados a los cambios de estado (transiciones). Estado final: identifica el fin del proceso que se esta modelando. 1 q0 Estado Inicial Transición q1 Notación Gráfica. 2 y 5 y el precio de la lata es de 5 pesos. Supóngase que se desea modelar el comportamiento de una máquina de refrescos. Proponer conjuntos de estados no excluyentes. 76 77 1. Transiciones: Eventos que producen el cambio de estado.  ¿Cuáles son los estados? ¿cuáles las transiciones? Modelo de una máquina de refrescos. que acepta monedas de 1.

con entradas y salidas discretas. ¿Es posible que se pueda cruzar el río sin que nada sea comido por alguno? 82 83 Autómata Finito   Es un modelo matemático de un sistema.22/08/2012 Ejercicios  Modelado del funcionamiento de una máquina expendedora de refrescos. Modelado del procedimiento para cambiar una llanta ponchada. Simplemente hay que pasar de estado a estado siguiendo las flechas de las transiciones. Diagrama de Transiciones 86 87 3 . Si el estado inicial coincide con el final entonces el lenguaje reconocido será aquel que está formado sólo por la palabra nula.wikipedia. Si el hombre se lleva al lobo. la gallina puede comerse el maíz. es un modelo matemático de un sistema que recibe una cadena constituida por caracteres de cierto alfabeto y determina si esa cadena pertenece al lenguaje que el autómata reconoce. una gallina y un saco de maíz. Hay un bote con la capacidad suficiente para llevar al hombre y a uno de los otros tres. Un autómata finito se encuentra en un estado denominado Estado Inicial que tiene la característica de ser único y uno o varios Estados finales que no siempre coincide con el último estado del autómata. Este proceso puede ser seguido fácilmente en los diagramas de estados. que se dan sobre símbolos de entrada tomadas de un alfabeto Σ. El sistema puede estar en cualquiera de un número finito de configuraciones o “estados”. para cada carácter de la palabra de entrada. [Hopcroft.org/] 84 85 Funcionamiento de los autómatas finitos   El funcionamiento de los autómatas finitos consiste en ir pasando de un estado a otro. a medida que va recibiendo los caracteres de la palabra de entrada. junto a un lobo. empezando por el estado inicial. 98]   Un autómata finito o máquina de estado finito es una herramienta abstracta que se utiliza para reconocer un determinado lenguaje regular.  Modelar el siguiente problema:   En la orilla izquierda de un río se encuentra un hombre. 98] Un autómata finito consiste en un conjunto finito de estados y un conjunto de transiciones de estado a estado. [http://es. [Hopcroft. el lobo puede comerse a la gallina. Si el hombre lleva el saco de maíz.

b Estado de Transición. b).  El autómata finito de la figura está definido por el quíntuplo (K. {q1}) con: (q0 .a) = q2. ((q2.a) = q1. q2)} 89 88 Ejercicio. s. δ = { ((q0. δ. F  K es un conjunto de estados finales. ((q2. habrá un y sólo un estado siguiente. q2}. q1 . s.. a).b) = q0 .  Cómo se construye la tabla de transiciones. b).Σ. se llama determinismo. donde:      K es un conjunto de identificadores (símbolos) de estados.   La función de transición indica a qué estado se va a pasar sabiendo cuál es el estado actual y el símbolo que se está leyendo. que a partir de un estado y un símbolo del alfabeto obtiene un nuevo estado. ((q0. ∑ es el alfabeto de entrada. x)  F } 92 Estados 93 4 .b}. ∑ = {a.? Símbolos de Transición a b q0 q2 q1 q0 q2 q2 q1 q2 q2 Tabla de transiciones a b q0 q 1 q1 q 2 q2 q 2 q2 q0 q2 q 1 b b a q 2 a. Es importante notar que es una función y no simplemente una relación. (q1 . es el estado inicial. Para el siguiente diagrama de transiciones establecer la quíntupla que lo define. Esta característica. que permite saber siempre cuál será el siguiente estado. q1). δ : K × ∑ K es la función de transición. δ.b) = q2 Diagrama de transiciones a q 0 Tabla de Transiciones. s  K.22/08/2012 Definición Formal de Autómatas. q1). 90 91 Formas de Representación de un AFD A = ({q0 . a). (q1 . donde:      K = {q0. F = {q1. 1. b}. ((q1. s = q0 . esto implica que para un estado y un símbolo del alfabeto dados. ((q1. (q0 . q2}. q2).3 Autómata Finito Determinístico. q1). (q2. q0 . b) = q2 .Σ.  . Lenguaje aceptado: L(A) = {x  *: (q0 .  Definición. q1. F). q0).a) = q2. q2}. F). a). {a. b). (q2.Una máquina de estados finitos M es un quíntuplo (K.

]].  Formalización del Funcionamiento de los AFD. esto es. La cerradura reflexiva y transitiva de la relación ├ M es denotada por ├ *M. (Probar)  Definición. Dos estados subsecuentes:   El número de a’s es par. abab]]  Se consumen todos los caracteres de dicha palabra de entrada..   Diseñar un AFD que acepte las palabras del alfabeto {a.w]] ├M [[q. abab). . . .w]] ├ M .w]] para un  ∈ ∑ si y sólo si existe una transición en M tal que (q1. .  ) = q2. Cn. 98 No importa b. Definimos formalmente esta noción:   Definición..  Consideraciones:    2. sólo hay un cálculo [[s. .b} en que la cantidad de a’s sea impar. (q1. .. F).]].Una palabra w  ∑ es aceptada por una máquina M=(K. Que “sobren palabras”..Un cálculo en una máquina M es una secuencia de configuraciones C1. Este problema es comúnmente llamado “problema de diseño”. C2. Al terminarse la palabra.[[q1. que el autómata acepte algunas palabras que no debería aceptar. s.  Considérese el problema de construir un AFD que acepte exactamente un lenguaje dado. 96 97 Métodos de Diseño de AFDs. el estado al que llega es uno de los estados finales del autómata (los que tienen doble círculo en los diagramas. ├ M Cn. Así. o que son parte del conjunto F en la representación formal).   Definición. 94 95 Relación entre configuraciones. El número de a’s es impar. Dado un fragmento de la cadena saber cuál es su estado actual. . w]] ├M [[q2.Dados una palabra w  ∑* y una máquina M = (K. C1├M C2. . siguiendo las transiciones y pasando en consecuencia de un estado a otro. F) ssi existe un estado q  F tal que [[s. En este caso decimos que la solución es incompleta. si C1 = C2). sino que además ya no deben quedar caracteres por leer (lo que falta por leer es la palabra vacía). Generalmente escribimos los cálculos como C1 ├ M C2 ├ M. Ahora ya tenemos los conceptos necesarios para definir cuando una palabra es aceptada.  Vamos a definir una relación entre configuraciones.. Se entiende por configuración al estado que guarda un autómata en algún momento dado. s. . [[q1.22/08/2012 Palabras aceptadas. ├ M [[q. Teorema. tales que Ci ├ Ci+1. hay dos maneras de equivocarse al diseñar un AFD: 1. . que significa que de la configuración C1 la maquina M puede pasar en un paso a la configuración C2. la expresión C1 ├*M C2 indica que de la configuración C1 se puede pasar a C2 en algún número de pasos (que puede ser cero. ( es el caracter que se leyó). En este caso decimos que la solución es incorrecta. 99 5 . que haya palabras en el lenguaje considerado que no son aceptadas por el AFD.  Decimos que un (Autómata Finito Determinístico) AFD reconoce o acepta una palabra si se cumplen las siguientes condiciones:  Definición. Que “falten palabras”. . “Ensayo y error” Mas aún. cuando deberían serlo. esto es. Configuración.  Nótese que no basta con que se llegue a un estado final q.

22/08/2012 AFD que acepte las palabras del alfabeto {a. Este método consiste en identificar inicialmente condiciones asociadas al enunciado del problema.b} en que la cantidad de a’s sea impar. aunque éstas no sean suficientemente específicas para asociarse a estados individuales. 102 103   Diseñar un AFD que acepte las palabras del lenguaje en {0.   Es posible llevar un paso mas allá el método de asociar una condición a cada estado: vamos a asociar condiciones a grupos de estados mas que a estados individuales. Diseño de AFDs. Contienen 00 pero no 11 Contienen 11. haciendo posible en consecuencia atacar problemas mas complejos con menos posibilidades de equivocarse. De esta manera aumentaremos el grado de abstracción en la etapa inicial de diseño. Se acaba de recibir un 1 1 11 No hay subcondiciones 2.  b a b q0 a q1 Diseñar un AFD que acepte exactamente el lenguaje en el alfabeto {0. Se acaba de recibir un 1   Las letras consumidas hasta el momento no contienen ni 00 ni 11. 1} donde las palabras no contienen la subcadena 11 pero si 00.  Consideraciones:     No se han recibido caracteres Se ha recibido un cero al inicio Se han recibido dos ceros iniciales Se recibió algo que no son dos ceros iniciales 100 101 Diseño por conjuntos de estados. Se acaba de recibir un 0 2. Condiciones:  0 00 pero no 11 Ni 00 ni 11 1. 104 105 6 .1} en las palabras que no comienzan con 00. Se acaba de recibir un 0 1 1.

22/08/2012 0 1 0 D 0 E 0 B A 1 1 0.1 1 C 0 1 F 106 7 .

Sign up to vote on this title
UsefulNot useful