Você está na página 1de 14

Captulo 2: Autmatas Finitos

Teora de Autmatas y Compiladores [ICI-445] Captulo 2: Autmatas Finitos


Dr. Ricardo Soto
[ricardo.soto@ucv.cl] [http://www.inf.ucv.cl/rsoto]

Escuela de Ingeniera Informtica Ponticia Universidad Catlica de Valparaso

Marzo, 2010

Dr. Ricardo Soto

Teora de Autmatas y Compiladores

1/14

Captulo 2: Autmatas Finitos

1. Introduccin
Un autmata es una mquina terica que lee instrucciones en forma de smbolos y cambia de estado segn stas.

a, b q0 a q1 b q2

reas de aplicacin de la teora de autmatas:


Comunicaciones. Teora de Control. Circuitos secuenciales. Recocimiento de Patrones. . . . Compiladores.

Dr. Ricardo Soto

Teora de Autmatas y Compiladores

2/14

Captulo 2: Autmatas Finitos

2. Autmatas Finitos Deterministas

Una Autmata Finito Determinista (AFD) se dene como una quintupla M = (Q , V , , q0 , F ) donde:
Q es un conjunto nito de estados. V es el alfabeto de entrada. : Q V Q es la funcin de transicin. q0 es el estado inicial. F Q es el conjunto de estados nales.

Determinista: se sabe con certeza el estado siguiente conociendo el estado actual y el smbolo a leer.

Dr. Ricardo Soto

Teora de Autmatas y Compiladores

3/14

Captulo 2: Autmatas Finitos

2. Autmatas Finitos Deterministas


Considere el siguiente autmata: M = ({q0 , q1 , q2 }, {0, 1}, , q0 , {q 1}) donde la funcin : {q0 , q1 , q2 } {0, 1} {q0 , q1 , q2 } viene dada por:
(q0 , 0) = q0 (q1 , 0) = q0 (q2 , 0) = q2 (q0 , 1) = q1 (q1 , 1) = q2 (q2 , 1) = q1

Tabla de transicin q0 # q1 q2 0 q0 q0 q2 1 q1 q2 q1

Diagrama de transicin

0 q0

1 0

q1

1 1

0 q2

Dr. Ricardo Soto

Teora de Autmatas y Compiladores

4/14

Captulo 2: Autmatas Finitos

3. Autmatas Finitos No Deterministas

Una Autmata Finito No Determinista (AFND) se dene como una quintupla M = (Q , V , , q0 , F ) donde:
Q es un conjunto nito de estados. V es el alfabeto de entrada. : Q V P (Q ) es la funcin de transicin. q0 es el estado inicial. F Q es el conjunto de estados nales.

No Determinista: No se puede determinar con certeza el estado siguiente conociendo el estado actual y el smbolo a leer.

Dr. Ricardo Soto

Teora de Autmatas y Compiladores

5/14

Captulo 2: Autmatas Finitos

3. Autmatas Finitos No Deterministas


Considere el siguiente autmata: M = ({q0 , q1 , q2 }, {0, 1}, , q0 , {q 1}) donde la funcin : {q0 , q1 , q2 } {0, 1} P ({q0 , q1 , q2 }) viene dada por:
(q0 , 0) = {q0 } (q1 , 0) = {q0 } (q2 , 0) = {q2 } (q0 , 1) = {q0 , q1 } (q1 , 1) = {q2 } (q2 , 1) = {q1 }

Tabla de transicin q0 # q1 q2 0 {q0 } {q0 } {q2 } 1 {q0 , q1 } {q2 } {q1 }

Diagrama de transicin

0, 1 q0

1 0

q1

1 1

0 q2

Dr. Ricardo Soto

Teora de Autmatas y Compiladores

6/14

Captulo 2: Autmatas Finitos

4. Autmatas Finitos con -transiciones

Una Autmata Finito con -transiciones (AFND-) se dene como una quintupla M = (Q , V , , q0 , F ) donde:
Q es un conjunto nito de estados. V es el alfabeto de entrada. : Q (V ) P (Q ) es la funcin de transicin. q0 es el estado inicial. F Q es el conjunto de estados nales.

Un AFND- puede decidir de forma no determinista entre cambiar de estado consumiendo o no consumiendo un smbolo de entrada.

Dr. Ricardo Soto

Teora de Autmatas y Compiladores

7/14

Captulo 2: Autmatas Finitos

4. Autmatas Finitos con -transiciones


Considere el siguiente autmata: M = ({q0 , q1 , q2 }, {0, 1}, , q0 , {q 1}) donde la funcin : {q0 , q1 , q2 } {0, 1, } P ({q0 , q1 , q2 }) viene dada por:
(q0 , 0) = {q0 } (q1 , 0) = {q0 } (q2 , 0) = {q2 } (q0 , 1) = {q0 , q1 } (q1 , 1) = {q2 } (q2 , ) = {q1 }

Tabla de transicin q0 # q1 q2 0 {q0 } {q0 } {q2 } 1 {q0 , q1 } {q2 } {q1 }

Diagrama de transicin

0, 1 q0

1 0

q1

0 q2

Dr. Ricardo Soto

Teora de Autmatas y Compiladores

8/14

Captulo 2: Autmatas Finitos

5. Ejercicios
Construya un autmata nito para cada uno de los siguientes lenguajes: L1 = {(ab)n |n > 1} L2 = {an bm |n 2 y m 3} Todas las palabras que empiezen con a y terminen con o Todas las palabras que empiezen con a, tengan una s y terminen con o Todas las palabras que tengan entre 3 y 5 letras Construya un autmata nito que permita reconocer: Un nmero entero Un nmero real Una letra Un identicador

Dr. Ricardo Soto

Teora de Autmatas y Compiladores

9/14

Captulo 2: Autmatas Finitos

5. Ejercicios
Obtener la expresin regular asociada al lenguaje aceptado por los siguientes autmatas:

q0 a

a b q2 b

q1

a..z, A..Z, , , 0..9 q1 a..z, A..Z q2 ( ) : q3

0..9

q0 a q2

a b b b

q0

q1 q3
q5

q6

q4

Dr. Ricardo Soto

Teora de Autmatas y Compiladores

10/14

Captulo 2: Autmatas Finitos

6. Mquinas de Turing
Una mquina de Turing es un modelo matemtico abstracto que formaliza el concepto de algoritmo. Fue introducido por Alan Turing en 1936. Consta de un cabezal lector/escritor y una cinta innita en la que el cabezal lee el contenido, borra el contenido anterior y escribe un nuevo valor.

ver Mquina de Turing en Youtube


Dr. Ricardo Soto Teora de Autmatas y Compiladores 11/14

Captulo 2: Autmatas Finitos

6. Mquinas de Turing

Una mquina de turing se dene como una sptupla M = (Q , V , , , q0 , B , F ) donde:


Q es un conjunto nito de estados. es el conjunto de smbolos permitidos en la cinta. B es el smbolo blanco. V es el alfabeto de entrada (sin incluir el blanco). : Q Q {L, R , S } es la funcin de transicin. q0 es el estado inicial. F Q es el conjunto de estados nales.

Dr. Ricardo Soto

Teora de Autmatas y Compiladores

12/14

Captulo 2: Autmatas Finitos

6. Mquinas de Turing
Considere una mquina de turing que verica si el nmero de ceros de una palabra es par: M = ({q0 , q1 }, {0, 1}, {0, 1, B }, , q0 , B , {q0 }) donde la funcin viene dada por:
(q0 , 0) = {q1 , B , R } (q1 , 0) = {q0 , B , R } (q0 , 1) = {q0 , B , R } (q1 , 1) = {q1 , B , R }

Para la entrada 00010 el proceso es el siguiente:


Inicio: Paso 1: Paso 2: 0 q 0 0 q 0 0 0 q 1 1 1 0 ... 0 ... 0 ... Paso 3: Paso 4: Paso 5: B B B B B B B B B 1 q 0 ... 0 ... q
1

B B

B B

B ... q

Ejercicio: disear una mquina de Turing que acepte el lenguaje L = {0n 1n |n 1}


Dr. Ricardo Soto Teora de Autmatas y Compiladores 13/14

Captulo 2: Autmatas Finitos

6. Mquinas de Turing

Solucin: M = ({q0 , q1 , q2 , q3 , q4 }, {0, 1}, {0, 1, X , Y , B }, , q0 , B , {q4 }) Funcin de transicin: q0 q1 q2 q3 q4 0 q1 , X , R q1 , 0, R q2 , 0, L S 1 q2 , Y , L S X q0 , X , R S Y q3 , Y , R q1 , Y , R q2 , Y , L q3 , Y , R S B q4 , B , R S

Dr. Ricardo Soto

Teora de Autmatas y Compiladores

14/14

Você também pode gostar