Teoria de Automatas Finitos

download Teoria de Automatas Finitos

of 68

description

Teoria de automatas, automatas finitos deterministas AFD DFA, automatas finitos no deterministras AFND, NFA

Transcript of Teoria de Automatas Finitos

Teora de Autmatas

Evander Flores ([email protected])

1

ContenidosObjetivos Alcance Desarrollo del tema Resumen

Ejercicios2

Objetivos Definir que son los Autmatas finitos Autmatas Finitos Determinsticos. Autmatas Finitos No Determinsticos.

Establecer las formas de representar los Autmatas. Definir las propiedades de los Autmatas

3

Alcances Autmatas Finitos Deterministas. Definicin. Estados Tabla de transicin Diagrama de Transicin

Transformacin ER-DFA, Tabla de Transicin-DFA y LR-DFA Reconocimiento de Cadenas

4

Autmatas finitosDefinicin, Propiedades, Ejemplos

5

Autmatas Finitos Tambin llamado mquina de estado finito. Es un modelo matemtico que recibe una cadena de smbolos

de un alfabeto y determina si la cadena pertenece al lenguaje que el autmata reconoce. Puede reconocer o traducir una cadena de smbolos

6

Autmatas FinitosLos autmatas a travs de una entrada de smbolos cambia de estados. Por ejemplo un video, donde las cada entrada modifica el estado del video.

7

Autmata FinitoEs una mquina que interpreta expresiones regulares, y reconoce cadenas de entrada

8

Autmata Finito Inspecciona cada smbolo de la

cadena comparndola con una tabla de transiciones y el estado actual en que se encuentra, si es reconocido cambia su estado y se mueve una celda hacia la derecha, hasta que reconoce todos los elementos de la cadena.

Cabeza Lectora

Cinta lectora

9

Autmata Finito La cadena se divide en Celdas de memoria para almacenar. Los estados son la memoria de los autmatas. Cuando finaliza la cadena, acepta o rechaza la cadena,

dependiendo de procesamiento.

10

Diseo de Autmatas Finitos Establecer un conjunto de estados que memoricen

condiciones importantes Establecer correctamente cual es el estado inicial y los

estados de aceptacin Establecer las transiciones que permiten pasar de un estado a

otro

11

Diseo de Autmatas FinitosAlgunos errores al momento de construir cualquier autmata: Aceptar cadenas que no se debera aceptar , pues no estn definidas. No aceptar todas las cadenas que debe de aceptar.

12

Notacin Descripcin abstracta Tabla de transicin Diagrama de transiciones (Diagrama de Moore)

13

Autmata Finito

Descripcin Abstracta Se define por medio del quinteto

(Q, , q0, A, ) donde: Q es un conjunto finito (de estados) es un alfabeto (finito) de smbolos q0 Q (El estado inicial) A Q (El conjunto de estados aceptores) es una funcin de transicin

14

Tabla de Transicin Generado a travs de un producto cartesiano de los estados y

los smbolos del alfabeto.Donde es el estado inicial * es un estado de aceptacin

QA B

0 A A

1 B C

*C

A

c

15

Diagrama de Transiciones Define el flujo de un autmata Los estados son nodos Las transiciones son arcos

16

Autmatas finitos DeterminsticosDefinicin, Propiedades, Ejemplos

17

Autmata Finito Determinstico Tambin es llamado AFD o en sus siglas en ingls DFA

Deterministic finite automata. Puede detectar smbolos conforme llegan y se basa en el estado actual y el smbolo recibido, ejecutar una transicin. Tiene un nmero finito de estados.

18

Autmata Finito Determinstico Los Autmata Finito Determinista no debe tener

ambigedades. El diagrama de transicin cada arco posee solo un smbolo del alfabeto, al salir de un estado.

19

DFA ---Autmata Finito Determinstico

Definicin Se define por medio del quinteto

(Q, , q0, A, ) donde: Q es un conjunto finito (de estados) es un alfabeto (finito) de smbolos q0 Q (El estado inicial) A Q (El conjunto de estados aceptores) es una funcin de transicin QxaQ

20

DFA ---Autmata Finito Determinstico

Funcin de TransicinPara todo q Q & a , (q, a) = p es decir, existe un estado p al que se mueve al estar en el estado q, y lee el carcter a. Una transicin: (q, a, q0) Q normalmente se describe q q0a

21

AlgoritmoInicia en el estado Inicial, y en el primer smbolo de entrada

q = estado actual s = smbolo actual en la cinta Mientras (s! = blanco) haga q = (q, s) s = siguiente smbolo a la derecha en la cinta entonces si qn = Estado Final Acepta sino No Acepta

22

Notacin General DFA Estado Estado Inicial

Estado de Aceptacin Transicin

23

Ejemplos de transformacinER DFA , Tablas Transicin DFA, Definicin LR - DFA

24

Transformacin ER - DFAa*

a+

Cerradura de Kleene

Cerradura de Positiva

25

Transformacin ER - DFAac*b

ac+b

26

Transformacin ER - DFA Otro ejemplo

bc*d | h | ae

27

Transformacin ER - DFAA partir de una expresin regular bb|(a(ba)*)*Iniciando por bb|(a(ba)*)*Tomando en cuenta que al completar la cadena bb puede llegar a un estado final.28

Expresin Regular - DFATomando en cuenta la utilizacin de parntesis se define la secuencia (ba)*Por estar contenida en una cerradura, indica que puede o no venir, por lo que q3 es un estado de aceptacin

bb|(a(ba)*)*

29

Expresin Regular - DFAPara finalizar, la secuencia (a (..) )*Parte del estado inicial con una transicin a, y dando la recursividad en q3. Pero tomando en cuenta que puede recibir cadena vaca q0 puede ser estado final.

bb|(a(ba)*)*

30

Generacin de DFA a partir de Definiciones LRAl ser los DFA reconocedores de LR, puede generarse un DFA a partir de definiciones de lenguaje como: Cadenas terminadas en 00

Donde el alfabeto = {0,1}

31

Definicin LR - DFA

TransformacinCadenas terminadas en 00

32

Reconocimiento de CadenasPor los estados de DFA

33

Reconocimiento de Cadenas El autmata parte de un estado inicial y solamente

reconocer la cadena, si esta termina en un estado de aceptacin. Si no es as no se reconoce la cadena Comprobar: aaab bbba

34

ComprobandoComprobando la cadena: aaab

q q0

1

a

35

ComprobandoComprobando la cadena: aaab

q q q q0 1

1

2

a a

36

ComprobandoComprobando la cadena: aaab

q q q q q q0 1 2

1

2

a a a

2

37

ComprobandoComprobando la cadena: aaab

q q q q

0

1

2

2

q q q q

1

2

a a a

2

2

b

q2 es estado de aceptacin, Se acepta la cadena38

ComprobandoComprobando la cadena: bbba

q q0

1

b

39

ComprobandoComprobando la cadena: bbba

q q q q0 1

1

1

b b

40

ComprobandoComprobando la cadena: bbba

q q q q q q0 1

1

bb b

1

1

1

41

ComprobandoComprobando la cadena: bbba

q q q q

0 1 1 1

q q q q

1 1 1 1

b b b a

q1 NO ES estado de aceptacin, no es aceptada por DFA42

Gramtica Regular - AFDPartiendo de la una gramtica se puede construir un diagrama de Moore que represente el AFD. Identificadores, ER: L(L|D)* | | a|b|c||z 0|1|2||943

Construccin AFDPartimos de la definicin del ID (Identificador)

44

Construccin AFDSe debe tomar en cuenta que cuando reciba cualquier otro smbolo, (puede ser espacio) se terminara de reconocer.

Suponiendo que $ es cualquier otro smbolo45

Evaluacin AFDEvaluando la cadena var1; al llegar a ; se finaliza el reconocimiento definiendo al identificador como var1

46

Autmatas finitos no DeterminsticosDefinicin, Propiedades, Algoritmo de Thompson

47

Autmata Finito No Determinstico Los Autmata Finito No Determinista puede tener

ambigedades. Los estados pueden tener una o mas transiciones con diferentes smbolos del lenguaje. El autmata acepta una palabra si existe al menos un camino desde el estado q0 a un estado final con la palabra de entrada. Acepta transiciones con cadenas vacias ()

48

Definicin Se define por medio del quinteto

(Q, , q0, A, ) donde: Q es un conjunto finito (de estados) es un alfabeto (finito) de smbolos q0 Q (El estado inicial) A Q (El conjunto de estados aceptores) es una funcin de transicin *: Q x * 2Q

49

Construccin de AFNDTabla de Transiciones, Expresin Regular, Gramtica

50

Construccin de AFND Puede partir desde una tabla de transiciones, generando un

diagrama de Moore. A travs de una expresin regular, generando un diagrama de Moore. Por medio de una gramtica regular.

51

Tabla de Transicin AFND Ejemplo 1A partir de la definicin (Q, , q0, A, ) donde: Q= {0,1,2,3} ={a, b} q0 =0 A={3} Genere el Diagrama de Moore que representa al AFND a partir de la tabla de transiciones

Q0 1 2

a1,2 2

b1,3 3

352

3

-

Construccin AFNDEl estado de aceptacin es q3

Diagrama de Moore53

AFND Expresin RegularA partir del AFND se puede deducir la expresin o las expresiones asociadas a este. a b* b a* | a a* b a*

54

AFND Expresin RegularA partir del AFND se puede deducir la expresin o las expresiones asociadas a este. a b* b a* | a a* b a*Factorizando a ( b*b| a*b) a*

55

AFND Expresin RegularA partir del AFND se puede deducir la expresin o las expresiones asociadas a este. a b* b a* | a a* b a*Factorizando a ( b*b| a*b) a*

Factorizando a ( b*|a*) b a*

56

Otro Ejemplo Se tiene el siguiente AFND, cual sera el lenguaje aceptado?

q0

a

q1

b

q2

q3

57

Evaluando la cadena de entrada ab

a bq0

a

q1

b

q2

q3

58

Evaluando la cadena de entrada ab

a b

q0

a

q1

b

q2

q3

59

Evaluando la cadena de entrada ab

a bAcepta la cadena

q0

a

q1

b

q2

q3

60

Evaluando otra cadena abab

a b a b

q0

a

q1

b

q2

q3

61

Evaluando otra cadena abab

a b a b

q0

a

q1

b

q2

q3

62

Evaluando otra cadena abab

a b a b

q0

a

q1

b

q2

q3

63

Evaluando otra cadena abab

a b a b

q0

a

q1

b

q2

q3

64

Evaluando otra cadena abab

a b a b

q0

a

q1

b

q2

q3

65

Evaluando otra cadena abab

a b a b

q0

a

q1

b

q2

q3

66

a b a bLa cadena es aceptada

q0

a

q1

b

q2

q3

67

Lenguaje Aceptado

L ab, abab, ababab, ... ab

q0

a

q1

b

q2

q3

68