tema 6.tema 6.-- autómatas finitos y máquinas secuenciales · 3 autómata ccoonn uunn estado...

12
1 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Tema 6. Tema 6.- Autómatas finitos Autómatas finitos y máquinas secuenciales y máquinas secuenciales UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS SEGUNDO CURSO, SEGUNDO CUATRIMESTRE 2 Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales Algoritmo para la obtención de los estados accesibles [1] inicio [2] Accesibles {q 0 } y q 0 no marcado [3] mientras haya un estado no marcado q Accesibles hacer [4] Marcar el estado q [5] para cada σ Σ hacer [6] si δ(q, σ) = q’ Accesibles [7] entonces Accesibles Accesibles {q’} [8] y q’ no marcado [9] fin si [10] fin para [11] fin mientras [12] fin 3 Autómata Autómata con con estados inútiles estados inútiles Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

Upload: others

Post on 19-Jan-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tema 6.Tema 6.-- Autómatas finitos y máquinas secuenciales · 3 Autómata ccoonn uunn estado estado inútilinútil 7 Teoría de Autómatas y Lenguajes Formales Tema 6.-Autómatas

1

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALESTEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Tema 6.Tema 6.-- Autómatas finitos Autómatas finitos y máquinas secuencialesy máquinas secuenciales

UNIVERSIDAD DE CÓRDOBAESCUELA POLITÉCNICA SUPERIOR

DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO

INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS

SEGUNDO CURSO, SEGUNDO CUATRIMESTRE

2

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

Algoritmo para la obtención de los estados accesibles

[1] inicio

[2] Accesibles ← {q 0} y q 0 no marcado

[3] mientras haya un estado no marcado q ∈ Accesibles hacer

[4] Marcar el estado q

[5] para cada σ ∈ Σ hacer

[6] si δ(q, σ) = q’ ∉ Accesibles

[7] entonces Accesibles ← Accesibles ∪ {q’}

[8] y q’ no marcado

[9] fin si

[10] fin para

[11] fin mientras

[12] fin

3

Autómata Autómata concon estados inútilesestados inútiles

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

Page 2: Tema 6.Tema 6.-- Autómatas finitos y máquinas secuenciales · 3 Autómata ccoonn uunn estado estado inútilinútil 7 Teoría de Autómatas y Lenguajes Formales Tema 6.-Autómatas

2

4

Autómata conexo pero con estados Autómata conexo pero con estados nono finalizablesfinalizables

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

5

Algoritmo para la obtención de los estados finalizables

[1] inicio

[2] Viejo ← ∅[3] Nuevo ← F

[4] mientras (Viejo ≠ Nuevo) hacer

[5] Viejo ← Nuevo

[6] para cada q ∉ V iejo hacer

[7] si ∃∃∃∃ σ ∈ Σ, δ(q, σ) ∈ Nuevo

[8] entonces Nuevo ← Nuevo ∪ {q}

[9] fin si

[10] fin para

[11] fin mientras

[12] Finalizables ← Nuevo

[13] fin

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

6

Autómata Autómata sinsin estados inútilesestados inútiles

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

Page 3: Tema 6.Tema 6.-- Autómatas finitos y máquinas secuenciales · 3 Autómata ccoonn uunn estado estado inútilinútil 7 Teoría de Autómatas y Lenguajes Formales Tema 6.-Autómatas

3

7Autómata Autómata concon un un estado estado inútilinútil

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

8

Autómata Autómata sinsin estados inútilesestados inútiles

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

9

Algoritmo para obtener el “Autómata Cociente”[1] inicio[2] p 0 ← Q − F

[3] p 1 ← F

[4] Nuevo ← {p 0 , p 1} y p 0 y p 1 no marcados

[5] mientras haya un estado p ∈ Nuevo no marcado hacer

[6] Marcar a p

[7] para cada σ ∈ Σ hacer

[8] Dividir p en subconjuntos tales que q i y q j estarán

[9] en el mismo subconjunto si δ(q i , σ) y δ(q j , σ)

[10] pertenecen al mismo subconjunto de Nuevo

[11] fin para

[12] si se ha dividido p en subconjuntos

[13] entonces

[14] Sustituir p en Nuevo por los subconjuntos obtenidos

[15] Desmarcar a todos los estados de Nuevo

[16] fin si

[17] fin mientras

[18] fin

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

Page 4: Tema 6.Tema 6.-- Autómatas finitos y máquinas secuenciales · 3 Autómata ccoonn uunn estado estado inútilinútil 7 Teoría de Autómatas y Lenguajes Formales Tema 6.-Autómatas

4

10

Autómata no minimizado

Minimización de un autómata

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

11

Autómata minimizado

Minimización de un autómata

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

12

Autómata no minimizado

Minimización de un autómata

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

Page 5: Tema 6.Tema 6.-- Autómatas finitos y máquinas secuenciales · 3 Autómata ccoonn uunn estado estado inútilinútil 7 Teoría de Autómatas y Lenguajes Formales Tema 6.-Autómatas

5

13Autómata minimizado

Minimización de un autómata

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

14

Autómata finito Autómata finito nono determinista determinista ((concon transiciones épsilon triviales)transiciones épsilon triviales)

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

15

Autómata finito Autómata finito nono determinista determinista ((sinsin transiciones épsilon triviales)transiciones épsilon triviales)

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

Page 6: Tema 6.Tema 6.-- Autómatas finitos y máquinas secuenciales · 3 Autómata ccoonn uunn estado estado inútilinútil 7 Teoría de Autómatas y Lenguajes Formales Tema 6.-Autómatas

6

16

Algoritmo de Construcción de Subconjuntos[1] inicio

[2] p 0 ← clausura − ε (q 0)

[3] Q D ← {p 0} y p 0 no marcado

[4] mientras haya un estado p ∈ Q D no marcado hacer

[5] Marcar a p

[6] para cada σ ∈ Σ hacer

[7] p ’ ← clausura −ε (δ N (p, σ))

[8] si p ’ ∉ Q D[9] entonces

[10] Q D ← Q D ∪ {p ’} y p ’ no marcado

[11] fin si

[12] Definir δ D (p, σ) ← p ’

[13] fin para

[14] fin mientras

[15] FD ← {p i| F N ∩ p i ≠ ∅}

[16] fin

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

17

Estado inicial: p 0 Transiciones de p 0

Algoritmo de Construcción de Subconjuntos: ejemplo

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

18Transiciones de p 1

Algoritmo de Construcción de Subconjuntos: ejemplo

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

Page 7: Tema 6.Tema 6.-- Autómatas finitos y máquinas secuenciales · 3 Autómata ccoonn uunn estado estado inútilinútil 7 Teoría de Autómatas y Lenguajes Formales Tema 6.-Autómatas

7

19Transiciones de p 2

Algoritmo de Construcción de Subconjuntos: ejemplo

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

20

Transiciones de p 3

Algoritmo de Construcción de Subconjuntos: ejemplo

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

21

Transiciones de p 4

Algoritmo de Construcción de Subconjuntos: ejemplo

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

Page 8: Tema 6.Tema 6.-- Autómatas finitos y máquinas secuenciales · 3 Autómata ccoonn uunn estado estado inútilinútil 7 Teoría de Autómatas y Lenguajes Formales Tema 6.-Autómatas

8

22

Ejercicio: transformación de una Gramáticaregular en un Autómata Finito Determinista

P = {

S → a A

A → a A

A → a

A → b B

B → b B

B → b

}

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

23

Ejercicio: transformación de un AutómataFinito Determinista en una GramáticaRegular

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

24

Problema de AnálisisEjercicio: obtención de la Expresión Regular

equivalente a un Autómata Finito Determinista

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

Page 9: Tema 6.Tema 6.-- Autómatas finitos y máquinas secuenciales · 3 Autómata ccoonn uunn estado estado inútilinútil 7 Teoría de Autómatas y Lenguajes Formales Tema 6.-Autómatas

9

25

AFD que reconoce identificadores de COBOL

Problema de AnálisisEjercicio: obtención de la Expresión Regular

equivalente a un Autómata Finito Determinista

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

26

Componentes de una máquina secuencial

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

27

Representación gráfica de una máquina secuencial de Mealy

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

Page 10: Tema 6.Tema 6.-- Autómatas finitos y máquinas secuenciales · 3 Autómata ccoonn uunn estado estado inútilinútil 7 Teoría de Autómatas y Lenguajes Formales Tema 6.-Autómatas

10

28

Máquina secuencial de Mealy que detecta “discontinuidades”

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

29

Máquina secuencial de Moore que calcula “n mod 3”

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

30

Máquina secuencial de Mealy que calcula “n mod 3”

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

Page 11: Tema 6.Tema 6.-- Autómatas finitos y máquinas secuenciales · 3 Autómata ccoonn uunn estado estado inútilinútil 7 Teoría de Autómatas y Lenguajes Formales Tema 6.-Autómatas

11

31

Máquina secuencial de Moore que detecta “discontinuidades”

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

32

Máquina secuencial de Mealy “generalizada”

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

33

Máquina secuencial de Moore “generalizada”

Teoría de Autómatas y Lenguajes Formales Tema 6.- Autómatas finitos y máquinas secuenciales

Page 12: Tema 6.Tema 6.-- Autómatas finitos y máquinas secuenciales · 3 Autómata ccoonn uunn estado estado inútilinútil 7 Teoría de Autómatas y Lenguajes Formales Tema 6.-Autómatas

12

UNIVERSIDAD DE CÓRDOBAESCUELA POLITÉCNICA SUPERIOR

DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO

INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS

SEGUNDO CURSO, SEGUNDO CUATRIMESTRE

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALESTEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Tema 6.Tema 6.-- Autómatas finitos Autómatas finitos y máquinas secuencialesy máquinas secuenciales