Вы находитесь на странице: 1из 30

Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo

Introduccin a Autmatas Finitos


El Lenguaje Aceptado por un Autmata e Indeterminismo.

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

Podemos interpretar un autmata como un evaluador de la funcin caracterstica de un subconjunto de L : L : {0, 1}

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

Lenguaje Aceptado por un Autmata

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

El Problema en Forma de Programa

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

Grafo de Transiciones Eliminacin de las -transiciones

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

Grafo de Transiciones Eliminacin de las -transiciones

Autmatas con transiciones

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

Grafo de Transiciones Eliminacin de las -transiciones

Interpretacin del 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

Grafo de Transiciones Eliminacin de las -transiciones

Interpretacin del 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 Eliminacin de las -transiciones

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 Eliminacin de las -transiciones

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 Eliminacin de las -transiciones

Grafo de Transiciones

V = Q. Dados p, q V , decimos que (p, q) E si q (p, ), i.e. E := {(p, q) : q (p, )}.

Autmatas Finitos

Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo

Grafo de Transiciones Eliminacin de las -transiciones

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

Grafo de Transiciones Eliminacin de las -transiciones

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

Grafo de Transiciones Eliminacin de las -transiciones

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

Grafo de Transiciones Eliminacin de las -transiciones

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)

naliza si naliza para cada Salida A := (Q, , q0 , F , )


Autmatas Finitos

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

Empezaremos con un autmata sin transiciones A = (Q, , q0 , F , ).

Autmatas Finitos

Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo

Algoritmo

Q := P(Q) (el espacio de estados es el conjunto de las partes de Q).

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

q0 := {q0 } (el conjunto formado por la antigua conguracin inicial).

Autmatas Finitos

Introduccin El Lenguaje Aceptado por un Autmata Indeterminismo Algoritmo para tratar el Indeterminismo

Algoritmo

La funcin de transicin : Q Q denida mediante: (X , a) := {q Q : q X , q = (q , a)}.

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

Cuales son los estados nales?

Autmatas Finitos

Вам также может понравиться