Академический Документы
Профессиональный Документы
Культура Документы
Universidad de Cantabria
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
Esquema
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Grafo de Transiciones Eliminacin de las -transiciones Algoritmo para tratar el Indeterminismo
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
El Problema
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
El Problema
Por lo tanto siempre nos vamos a centrar en el siguiente problema: Dado un lenguaje L y una palabra, est esa palabra en el lenguaje?
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
El Problema
Entrada: Una palabra Salida: 1 si el autmata llega a una conguracin nal aceptadora (i.e., (q0 , ) F ). 0 si el autmata llega a una conguracin nal no aceptadora (i.e., (q0 , ) Q \ F ).
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
Denicin (Lenguaje Aceptado por un Autmata) Dado un autmata A se dene el lenguaje aceptado por A como el conjunto de palabras al que el anterior algoritmo devuelve 1.
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
Entrada: x (una palabra sobre el alfabeto). Inicializar: I := (q0 , x) (la conguracin inicial sobre x) mientras I F {} hacer si I = (q, x x1 ), x x1 = , entonces I := ((q, x ), x1 ) en otro caso devolver NO naliza si naliza mientras devolver YES
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
Diversos Ejemplos
Hallar un autmata que acepte solamente las palabras que empiezan por 01, sobre el alfabeto = {0, 1}.
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
Diversos Ejemplos
Hallar un autmata que acepte solamente las palabras que contengan la subpalabra 00, sobre el alfabeto = {0, 1}.
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
El Indeterminismo
Este cdigo es fcil de interpretar si no tenemos en cuenta: La presencia de transiciones. La indenicin de I = ((q, x ), x1 ) por no estar denido (q, x ) o por tener ms de un valor asociado.
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
Denicin Se denominan transiciones a las transiciones de una autmata A := (Q, , q0 , F , ) dadas por igualdades de la forma: (q, ) = {p1 , . . . , ps }.
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
Una transicin puede interpretarse como que el autmata adivina cuales son los siguientes smbolos que van a aparecer.
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
NO lee el contenido de la cinta. Modica el estado en la unidad de control. NO borra el contenido de la celda sealada por la unidad de control. NO se mueve a la izquierda.
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
Grafo de Transiciones
Recordemos que un grafo es un par (V , E), donde V es el conjunto de vertices y E es el conjunto de aristas.
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
Grafo de Transiciones
Queremos saber que cual como opera el autmata sin leer de la cinta. Queremos saber cual es el la conguracin al acabar de leer la palabra ( si es que termina de leer la palabra).
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
Grafo de Transiciones
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
Clausura Transitiva
La clausura transitiva muestra que nodos se pueden alcanzar de otros nodos en el grafo de Transiciones.
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
Clausura Transitiva
Denicin La clausura transitiva de un nodo (estado) se dene del modo siguiente: clausura(p) := {q V : (p, ) (q, )}.
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
Objetivo
Teorema Dado cualquier lenguaje L que sea aceptado por un autmata con transiciones, entonces existe un autmata sin transiciones que acepta el mismo lenguaje. Ms aun, la transformacin de un autmata a otro se puede dar algortmicamente.
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
Algoritmo de Transformacin
Entrada: Autmata A := (Q, , q0 , F , ). Inicializar: Q := Q y q0 := q0 . para cada p Q encontrar clausura(p) naliza para F := F {p : clausura(p) F = }. para cada p Q hacer si clausura(p, a) = , entonces (p, a) := clausura((q, a)).
qclausura(p)
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
Determinismo e Indeterminismo
Todava no hemos acabado con el indeterminismo. Queremos saber que papel juega en nuestros lenguajes. Esta claro que los autmatas indeterministas son tiles pero no son fciles de utilizar.
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
Determinismo e Indeterminismo
Sorprendentemente, es posible encontrar autmatas deterministas que acepten los mismos lenguajes que los indeterministas (aunque pagando un precio).
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
Algoritmo
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
Algoritmo
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
Algoritmo
F := {X Q : X F = } (las conguraciones nales aceptadoras son aquellas que contienen algn estado del espacio F de estados nales aceptadores).
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
Algoritmo
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
Algoritmo
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
Sugerencia
Este es la forma ms cmoda de programar el algoritmo, aunque para lpiz y papel sea mejor no aadir todos los estados de una vez, sino ir aadiendo estados a medida que se generen.
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
Ejemplo
Sea el siguiente autmata indeterminista A = (Q, , q0 , F , ), donde Q = {q0 , q1 , q2 }, F = {q2 } y viene dada por esta tabla: q0 q1 q2 a q1 , q2 q1 q1 b q1
Autmatas Finitos
Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo
Solucin
El nuevo autmata tiene dos estados adicionales, q y q1,2 esta es la nueva funcin de transicin: q0 q1 q2 q1,2 q a q1,2 q1 q1 q1 q b q q1 q q1 q
Autmatas Finitos