Introducción a la Teoría de Autómatas, Lenguajes y...

53
Autmatas Finitos Introduccin a la Teora de Autmatas, Lenguajes y Computacin Gustavo Rodrguez Gmez y Aurelio Lpez Lpez INAOE PropedØutico 2010 1 / 53

Transcript of Introducción a la Teoría de Autómatas, Lenguajes y...

Page 1: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Introducción a la Teoría de Autómatas, Lenguajesy Computación

Gustavo Rodríguez Gómez y Aurelio López López

INAOE

Propedéutico 2010

1 / 53

Page 2: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Capítulo 2

Autómatas Finitos

2 / 53

Page 3: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

1 Autómatas FinitosAutómatas Finitos Deterministas (AFD)Como un AFD Procesa CadenasDiagramas y Tablas de TransiciónExtensión de la Función de Transición a CadenasLenguaje de un AFDAutómatas Finitos No Deterministas (AFND)

3 / 53

Page 4: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Autómatas Finitos Deterministas (AFD)

Definición de AFD

DefiniciónUn AFD es una quíntupla

A = (Q,Σ, δ, q0,F )

1 Q es un conjunto finito de estados.2 Σ es un alfabeto finito, los símbolos de entrada.3 δ : Q × Σ→ Q es una función de transición δ(q, a) = p.4 q0 ∈ Q es el estado de inicio.5 F ⊆ Q es el conjunto de estado aceptados o finales.

4 / 53

Page 5: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Como un AFD Procesa Cadenas

Procesamiento de Cadenas por un AFD

Sea A AFD y w = a1a2 · · · an una cadena de entrada para A.

Iniciamos con A en su estado q0, δ(q0, a1) = q1.

Procesamos a2, δ(q1, a2) = q2 y continuamos encontrandoq3, q4, . . . , qn.δ(qi−1, ai ) = qi para cada i .

Si qn ∈ F diremos que la entrada w = a1a2 · · · an es aceptadasino es rechazada

5 / 53

Page 6: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Como un AFD Procesa Cadenas

Procesamiento de Cadenas por un AFD

Sea A AFD y w = a1a2 · · · an una cadena de entrada para A.Iniciamos con A en su estado q0, δ(q0, a1) = q1.

Procesamos a2, δ(q1, a2) = q2 y continuamos encontrandoq3, q4, . . . , qn.δ(qi−1, ai ) = qi para cada i .

Si qn ∈ F diremos que la entrada w = a1a2 · · · an es aceptadasino es rechazada

6 / 53

Page 7: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Como un AFD Procesa Cadenas

Procesamiento de Cadenas por un AFD

Sea A AFD y w = a1a2 · · · an una cadena de entrada para A.Iniciamos con A en su estado q0, δ(q0, a1) = q1.

Procesamos a2, δ(q1, a2) = q2 y continuamos encontrandoq3, q4, . . . , qn.

δ(qi−1, ai ) = qi para cada i .

Si qn ∈ F diremos que la entrada w = a1a2 · · · an es aceptadasino es rechazada

7 / 53

Page 8: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Como un AFD Procesa Cadenas

Procesamiento de Cadenas por un AFD

Sea A AFD y w = a1a2 · · · an una cadena de entrada para A.Iniciamos con A en su estado q0, δ(q0, a1) = q1.

Procesamos a2, δ(q1, a2) = q2 y continuamos encontrandoq3, q4, . . . , qn.δ(qi−1, ai ) = qi para cada i .

Si qn ∈ F diremos que la entrada w = a1a2 · · · an es aceptadasino es rechazada

8 / 53

Page 9: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Como un AFD Procesa Cadenas

Procesamiento de Cadenas por un AFD

Sea A AFD y w = a1a2 · · · an una cadena de entrada para A.Iniciamos con A en su estado q0, δ(q0, a1) = q1.

Procesamos a2, δ(q1, a2) = q2 y continuamos encontrandoq3, q4, . . . , qn.δ(qi−1, ai ) = qi para cada i .

Si qn ∈ F diremos que la entrada w = a1a2 · · · an es aceptadasino es rechazada

9 / 53

Page 10: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Como un AFD Procesa Cadenas

Lenguaje de un AFD

DefiniciónEl lenguaje de un AFD es el conjunto de todas las cadenas w queel AFD acepta.

10 / 53

Page 11: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Como un AFD Procesa Cadenas

Ejemplo 1

Ejemplo

Especificar formalmente un AFD que acepte únicamente cadenasque tenga 0′s y 1′s conteniendo la subcadena 01 en alguna partede la cadena

L = {x01y | x , y ∈ {0, 1}∗}

Las siguientes cadenas pertenecen a L:01, 11010, 1001, 110001011.

Las siguientes cadenas no pertenecen a L: ε, 0, 11000.

11 / 53

Page 12: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Como un AFD Procesa Cadenas

Ejemplo 1

Ejemplo

Especificar formalmente un AFD que acepte únicamente cadenasque tenga 0′s y 1′s conteniendo la subcadena 01 en alguna partede la cadena

L = {x01y | x , y ∈ {0, 1}∗}

Las siguientes cadenas pertenecen a L:01, 11010, 1001, 110001011.

Las siguientes cadenas no pertenecen a L: ε, 0, 11000.

12 / 53

Page 13: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Como un AFD Procesa Cadenas

Ejemplo 1, continuación (1/3)

¿Qué es lo que debemos conocer para definir el autómata queacepta al lenguaje L?

1 Sus estados Q.

2 Su estado de inicio q0.3 Su alfabeto Σ = {0, 1}.4 Su conjunto de estado aceptados.

13 / 53

Page 14: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Como un AFD Procesa Cadenas

Ejemplo 1, continuación (1/3)

¿Qué es lo que debemos conocer para definir el autómata queacepta al lenguaje L?

1 Sus estados Q.2 Su estado de inicio q0.

3 Su alfabeto Σ = {0, 1}.4 Su conjunto de estado aceptados.

14 / 53

Page 15: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Como un AFD Procesa Cadenas

Ejemplo 1, continuación (1/3)

¿Qué es lo que debemos conocer para definir el autómata queacepta al lenguaje L?

1 Sus estados Q.2 Su estado de inicio q0.3 Su alfabeto Σ = {0, 1}.

4 Su conjunto de estado aceptados.

15 / 53

Page 16: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Como un AFD Procesa Cadenas

Ejemplo 1, continuación (1/3)

¿Qué es lo que debemos conocer para definir el autómata queacepta al lenguaje L?

1 Sus estados Q.2 Su estado de inicio q0.3 Su alfabeto Σ = {0, 1}.4 Su conjunto de estado aceptados.

16 / 53

Page 17: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Como un AFD Procesa Cadenas

Ejemplo 1, continuación (2/3)

El autómata debe tener la capacidad de reconocer si 01 es unasubcadena de la cadena de entrada.

1 q0: Si la cadena de entrada es ε permanecemos en q0,δ(q0, ε) = q0. Si la cadena de entrada es 1 permanecemos enq0, δ(q0, 1) = q0.

2 q1: Ya se detecto la cadena 01, se acepta entonces todasucesión posterior de entradas, δ(q1, 0) = δ(q1, 1) = q1.

3 q2: No se ha detectado la cadena 01 pero la entrada masreciente ha sido un 0. Luego si vemos un 1 se tendrá lacadena 01, δ(q2, 0) = q2, δ(q2, 1) = q1

17 / 53

Page 18: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Como un AFD Procesa Cadenas

Ejemplo 1, continuación (2/3)

El autómata debe tener la capacidad de reconocer si 01 es unasubcadena de la cadena de entrada.

1 q0: Si la cadena de entrada es ε permanecemos en q0,δ(q0, ε) = q0. Si la cadena de entrada es 1 permanecemos enq0, δ(q0, 1) = q0.

2 q1: Ya se detecto la cadena 01, se acepta entonces todasucesión posterior de entradas, δ(q1, 0) = δ(q1, 1) = q1.

3 q2: No se ha detectado la cadena 01 pero la entrada masreciente ha sido un 0. Luego si vemos un 1 se tendrá lacadena 01, δ(q2, 0) = q2, δ(q2, 1) = q1

18 / 53

Page 19: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Como un AFD Procesa Cadenas

Ejemplo 1, continuación (2/3)

El autómata debe tener la capacidad de reconocer si 01 es unasubcadena de la cadena de entrada.

1 q0: Si la cadena de entrada es ε permanecemos en q0,δ(q0, ε) = q0. Si la cadena de entrada es 1 permanecemos enq0, δ(q0, 1) = q0.

2 q1: Ya se detecto la cadena 01, se acepta entonces todasucesión posterior de entradas, δ(q1, 0) = δ(q1, 1) = q1.

3 q2: No se ha detectado la cadena 01 pero la entrada masreciente ha sido un 0. Luego si vemos un 1 se tendrá lacadena 01, δ(q2, 0) = q2, δ(q2, 1) = q1

19 / 53

Page 20: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Como un AFD Procesa Cadenas

Ejemplo 1, continuación (3/3)

¿Qué es lo que debemos conocer para definir el autómata queacepta al lenguaje L?

1 Sus estados Q = {q0, q1, q2}

2 Su estado de inicio q0.3 Su alfabeto Σ = {0, 1}.4 Su conjunto de estado aceptados: F = {q1}.

20 / 53

Page 21: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Como un AFD Procesa Cadenas

Ejemplo 1, continuación (3/3)

¿Qué es lo que debemos conocer para definir el autómata queacepta al lenguaje L?

1 Sus estados Q = {q0, q1, q2}2 Su estado de inicio q0.

3 Su alfabeto Σ = {0, 1}.4 Su conjunto de estado aceptados: F = {q1}.

21 / 53

Page 22: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Como un AFD Procesa Cadenas

Ejemplo 1, continuación (3/3)

¿Qué es lo que debemos conocer para definir el autómata queacepta al lenguaje L?

1 Sus estados Q = {q0, q1, q2}2 Su estado de inicio q0.3 Su alfabeto Σ = {0, 1}.

4 Su conjunto de estado aceptados: F = {q1}.

22 / 53

Page 23: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Como un AFD Procesa Cadenas

Ejemplo 1, continuación (3/3)

¿Qué es lo que debemos conocer para definir el autómata queacepta al lenguaje L?

1 Sus estados Q = {q0, q1, q2}2 Su estado de inicio q0.3 Su alfabeto Σ = {0, 1}.4 Su conjunto de estado aceptados: F = {q1}.

23 / 53

Page 24: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Diagramas y Tablas de Transición

Definición Diagramas de Transición

Definición

Un diagrama de transición de AFD A = (Q,Σ, δ, q0,F ) es ungrafo que cumple con las siguientes condiciones

1 Para cada q ∈ Q existe un nodo.

2 Para cada q ∈ Q y a ∈ Σ, sea δ(q, a) = p. Entonces eldiagrama de transición tiene un arco que va del nodo q alnodo p cuya etiqueta es a.

3 Hay una flecha entrando al estado q0 cuya etiqueta es Inicio.4 Los nodos correspondientes a los estados aceptados, F , sonmarcados por un círculo doble. Los estado que no pertenecena F tienen un círculo simple.

24 / 53

Page 25: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Diagramas y Tablas de Transición

Definición Diagramas de Transición

Definición

Un diagrama de transición de AFD A = (Q,Σ, δ, q0,F ) es ungrafo que cumple con las siguientes condiciones

1 Para cada q ∈ Q existe un nodo.2 Para cada q ∈ Q y a ∈ Σ, sea δ(q, a) = p. Entonces eldiagrama de transición tiene un arco que va del nodo q alnodo p cuya etiqueta es a.

3 Hay una flecha entrando al estado q0 cuya etiqueta es Inicio.4 Los nodos correspondientes a los estados aceptados, F , sonmarcados por un círculo doble. Los estado que no pertenecena F tienen un círculo simple.

25 / 53

Page 26: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Diagramas y Tablas de Transición

Definición Diagramas de Transición

Definición

Un diagrama de transición de AFD A = (Q,Σ, δ, q0,F ) es ungrafo que cumple con las siguientes condiciones

1 Para cada q ∈ Q existe un nodo.2 Para cada q ∈ Q y a ∈ Σ, sea δ(q, a) = p. Entonces eldiagrama de transición tiene un arco que va del nodo q alnodo p cuya etiqueta es a.

3 Hay una flecha entrando al estado q0 cuya etiqueta es Inicio.

4 Los nodos correspondientes a los estados aceptados, F , sonmarcados por un círculo doble. Los estado que no pertenecena F tienen un círculo simple.

26 / 53

Page 27: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Diagramas y Tablas de Transición

Definición Diagramas de Transición

Definición

Un diagrama de transición de AFD A = (Q,Σ, δ, q0,F ) es ungrafo que cumple con las siguientes condiciones

1 Para cada q ∈ Q existe un nodo.2 Para cada q ∈ Q y a ∈ Σ, sea δ(q, a) = p. Entonces eldiagrama de transición tiene un arco que va del nodo q alnodo p cuya etiqueta es a.

3 Hay una flecha entrando al estado q0 cuya etiqueta es Inicio.4 Los nodos correspondientes a los estados aceptados, F , sonmarcados por un círculo doble. Los estado que no pertenecena F tienen un círculo simple.

27 / 53

Page 28: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Diagramas y Tablas de Transición

Definición de Tablas de Transición

DefiniciónUna tabla de transición es una representación tabularconvencional de la función δ. Los renglones de la tablacorresponden a los estados y las columnas corresponden a lasentradas. La entrada para el renglón correspondiente al estado q ycolumna correspondiente a la entrada a es el estado δ(q, a).

28 / 53

Page 29: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Diagramas y Tablas de Transición

Ejemplo de Diagramas y Tablas de Transición

Diagrama y tabla de transición del ejemplo 1.

A = {{q0, q1, q2}, {0, 1}, δ, q0, {q1}}

Figura: Diagrama de transición Figura: Tabla de transición

29 / 53

Page 30: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Extensión de la Función de Transición a Cadenas

Extensión de la Función de Transición a Cadenas

La función de transición δ : Q × Σ→ Q se puede extenderpara que actúe sobre estados y cadenas

A la función extendida la denotaremos por δ̂.

La definición de δ̂ se hace por inducción sobre la longitud dela cadena de entrada.

30 / 53

Page 31: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Extensión de la Función de Transición a Cadenas

Extensión de la Función de Transición a Cadenas

La función de transición δ : Q × Σ→ Q se puede extenderpara que actúe sobre estados y cadenasA la función extendida la denotaremos por δ̂.

La definición de δ̂ se hace por inducción sobre la longitud dela cadena de entrada.

31 / 53

Page 32: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Extensión de la Función de Transición a Cadenas

Extensión de la Función de Transición a Cadenas

La función de transición δ : Q × Σ→ Q se puede extenderpara que actúe sobre estados y cadenasA la función extendida la denotaremos por δ̂.

La definición de δ̂ se hace por inducción sobre la longitud dela cadena de entrada.

32 / 53

Page 33: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Extensión de la Función de Transición a Cadenas

Definición de la Función de Transición Extendida

1 Definimosδ̂(q, ε) = q,

donde ε es la cadena vacía.

2 Sea w cualquier cadena tal que |w | = 1, suponga que w = a.Definimos

δ̂(q,w) = δ(δ̂(q, ε), a

)= δ (q, a) = p1

3 Sea w cualquier cadena tal que |w | = 2, suponga quew = ba. Entonces

δ̂(q, ba) = δ(δ̂(q, b), a

)= δ (p, a) = p2,

donde estamos suponiendo que δ̂(q, b) = p.

33 / 53

Page 34: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Extensión de la Función de Transición a Cadenas

Definición de la Función de Transición Extendida

1 Definimosδ̂(q, ε) = q,

donde ε es la cadena vacía.2 Sea w cualquier cadena tal que |w | = 1, suponga que w = a.Definimos

δ̂(q,w) = δ(δ̂(q, ε), a

)= δ (q, a) = p1

3 Sea w cualquier cadena tal que |w | = 2, suponga quew = ba. Entonces

δ̂(q, ba) = δ(δ̂(q, b), a

)= δ (p, a) = p2,

donde estamos suponiendo que δ̂(q, b) = p.

34 / 53

Page 35: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Extensión de la Función de Transición a Cadenas

Definición de la Función de Transición Extendida

1 Definimosδ̂(q, ε) = q,

donde ε es la cadena vacía.2 Sea w cualquier cadena tal que |w | = 1, suponga que w = a.Definimos

δ̂(q,w) = δ(δ̂(q, ε), a

)= δ (q, a) = p1

3 Sea w cualquier cadena tal que |w | = 2, suponga quew = ba. Entonces

δ̂(q, ba) = δ(δ̂(q, b), a

)= δ (p, a) = p2,

donde estamos suponiendo que δ̂(q, b) = p.35 / 53

Page 36: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Extensión de la Función de Transición a Cadenas

Inducción

Suponga que la definición de δ̂ es válida para cualquier cadenade longitud n y tomemos una cadena arbitraria de longitudn+ 1. Supongamos que la cadena es w = xa, donde |x | = n y|a| = 1, entonces

δ̂(q, xa) = δ(δ̂(q, x), a

)= δ (p, a) = p3,

estamos suponiendo que δ̂(q, x) = p por hipótesis deinducción.

36 / 53

Page 37: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Lenguaje de un AFD

Definición Formal de Lenguaje para un AFD

Definición

Formalmente el lenguaje (aceptado) de un AFDA = (Q,Σ, δ, q0,F ) es

L(A) ={w | δ̂(q0,w) ∈ F

}DefiniciónLos lenguajes aceptados por los AFD son llamados lenguajesregulares.

37 / 53

Page 38: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Lenguaje de un AFD

Ejemplo 2 de AFD

1 Diseño de un AFD que acepta únicamente cadenas con unnúmero par de 0′s y un número par de 1′s.

2 El lenguaje aceptado del AFD es

L ={w | w tiene un número par de 0′s y de 1′s

}.

3 q0: El número de 0′s y 1′s vistos hasta el momento es par.4 q1: El número de 0′s vistos hasta el momento es par pero los1′s son impares.

5 q2: El número de 1′s vistos hasta el momento es par pero los0′s son impares.

6 q3: El número de 0′s y 1′s vistos hasta el momento es impar.

38 / 53

Page 39: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Lenguaje de un AFD

Ejemplo 2 de AFD

1 Diseño de un AFD que acepta únicamente cadenas con unnúmero par de 0′s y un número par de 1′s.

2 El lenguaje aceptado del AFD es

L ={w | w tiene un número par de 0′s y de 1′s

}.

3 q0: El número de 0′s y 1′s vistos hasta el momento es par.4 q1: El número de 0′s vistos hasta el momento es par pero los1′s son impares.

5 q2: El número de 1′s vistos hasta el momento es par pero los0′s son impares.

6 q3: El número de 0′s y 1′s vistos hasta el momento es impar.

39 / 53

Page 40: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Lenguaje de un AFD

Ejemplo 2 de AFD

1 Diseño de un AFD que acepta únicamente cadenas con unnúmero par de 0′s y un número par de 1′s.

2 El lenguaje aceptado del AFD es

L ={w | w tiene un número par de 0′s y de 1′s

}.

3 q0: El número de 0′s y 1′s vistos hasta el momento es par.

4 q1: El número de 0′s vistos hasta el momento es par pero los1′s son impares.

5 q2: El número de 1′s vistos hasta el momento es par pero los0′s son impares.

6 q3: El número de 0′s y 1′s vistos hasta el momento es impar.

40 / 53

Page 41: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Lenguaje de un AFD

Ejemplo 2 de AFD

1 Diseño de un AFD que acepta únicamente cadenas con unnúmero par de 0′s y un número par de 1′s.

2 El lenguaje aceptado del AFD es

L ={w | w tiene un número par de 0′s y de 1′s

}.

3 q0: El número de 0′s y 1′s vistos hasta el momento es par.4 q1: El número de 0′s vistos hasta el momento es par pero los1′s son impares.

5 q2: El número de 1′s vistos hasta el momento es par pero los0′s son impares.

6 q3: El número de 0′s y 1′s vistos hasta el momento es impar.

41 / 53

Page 42: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Lenguaje de un AFD

Ejemplo 2 de AFD

1 Diseño de un AFD que acepta únicamente cadenas con unnúmero par de 0′s y un número par de 1′s.

2 El lenguaje aceptado del AFD es

L ={w | w tiene un número par de 0′s y de 1′s

}.

3 q0: El número de 0′s y 1′s vistos hasta el momento es par.4 q1: El número de 0′s vistos hasta el momento es par pero los1′s son impares.

5 q2: El número de 1′s vistos hasta el momento es par pero los0′s son impares.

6 q3: El número de 0′s y 1′s vistos hasta el momento es impar.

42 / 53

Page 43: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Lenguaje de un AFD

Ejemplo 2 de AFD

1 Diseño de un AFD que acepta únicamente cadenas con unnúmero par de 0′s y un número par de 1′s.

2 El lenguaje aceptado del AFD es

L ={w | w tiene un número par de 0′s y de 1′s

}.

3 q0: El número de 0′s y 1′s vistos hasta el momento es par.4 q1: El número de 0′s vistos hasta el momento es par pero los1′s son impares.

5 q2: El número de 1′s vistos hasta el momento es par pero los0′s son impares.

6 q3: El número de 0′s y 1′s vistos hasta el momento es impar.

43 / 53

Page 44: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Lenguaje de un AFD

Diagrama y Tabla de Transición del Ejemplo 2

Un AFD que acepta únicamente cadenas con un número parde 0′s y un número par de 1′s

A = {{q0, q1, q2, q3, q4}, {0, 1}, δ, q0, {q0}}

44 / 53

Page 45: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Autómatas Finitos No Deterministas (AFND)

Autómatas Finitos No Deterministas (AFND)

Un AFND puede estar en varios estados al mismo tiempo.Capacidad de adivinar algo relacionado con su entrada.

[Ejemplo 1 AFND] Considere el AFND que acepta todas lascadenas formadas de 0′s y 1′s pero que terminan en 01

45 / 53

Page 46: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Autómatas Finitos No Deterministas (AFND)

Autómatas Finitos No Deterministas (AFND)

Un AFND puede estar en varios estados al mismo tiempo.Capacidad de adivinar algo relacionado con su entrada.

[Ejemplo 1 AFND] Considere el AFND que acepta todas lascadenas formadas de 0′s y 1′s pero que terminan en 01

46 / 53

Page 47: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Autómatas Finitos No Deterministas (AFND)

Definición de AFND

DefiniciónUn AFND es una quíntupla

A = (Q,Σ, δ, q0,F )

1 Q es un conjunto finito de estados.

2 Σ es un alfabeto finito, los símbolos de entrada.3 q0 ∈ Q, el estado de inicio.4 F ⊆ Q, los estados aceptados5 δ : Q × Σ→ 2|Q |, la función de transición.

47 / 53

Page 48: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Autómatas Finitos No Deterministas (AFND)

Definición de AFND

DefiniciónUn AFND es una quíntupla

A = (Q,Σ, δ, q0,F )

1 Q es un conjunto finito de estados.2 Σ es un alfabeto finito, los símbolos de entrada.

3 q0 ∈ Q, el estado de inicio.4 F ⊆ Q, los estados aceptados5 δ : Q × Σ→ 2|Q |, la función de transición.

48 / 53

Page 49: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Autómatas Finitos No Deterministas (AFND)

Definición de AFND

DefiniciónUn AFND es una quíntupla

A = (Q,Σ, δ, q0,F )

1 Q es un conjunto finito de estados.2 Σ es un alfabeto finito, los símbolos de entrada.3 q0 ∈ Q, el estado de inicio.

4 F ⊆ Q, los estados aceptados5 δ : Q × Σ→ 2|Q |, la función de transición.

49 / 53

Page 50: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Autómatas Finitos No Deterministas (AFND)

Definición de AFND

DefiniciónUn AFND es una quíntupla

A = (Q,Σ, δ, q0,F )

1 Q es un conjunto finito de estados.2 Σ es un alfabeto finito, los símbolos de entrada.3 q0 ∈ Q, el estado de inicio.4 F ⊆ Q, los estados aceptados

5 δ : Q × Σ→ 2|Q |, la función de transición.

50 / 53

Page 51: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Autómatas Finitos No Deterministas (AFND)

Definición de AFND

DefiniciónUn AFND es una quíntupla

A = (Q,Σ, δ, q0,F )

1 Q es un conjunto finito de estados.2 Σ es un alfabeto finito, los símbolos de entrada.3 q0 ∈ Q, el estado de inicio.4 F ⊆ Q, los estados aceptados5 δ : Q × Σ→ 2|Q |, la función de transición.

51 / 53

Page 52: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Autómatas Finitos No Deterministas (AFND)

Especificación Formal del Ejemplo 1 AFND

1

A = {{q, q, q} , {0, 1} , δ, q0, {q2}}

2 La función de transición δ está dada por

52 / 53

Page 53: Introducción a la Teoría de Autómatas, Lenguajes y …grodrig/Descargas/AutomatasLenguajesCapitu... · Ejemplo 1, continuación (2/3) El autómata debe tener la capacidad de reconocer

Autómatas Finitos

Autómatas Finitos No Deterministas (AFND)

Especificación Formal del Ejemplo 1 AFND

1

A = {{q, q, q} , {0, 1} , δ, q0, {q2}}

2 La función de transición δ está dada por

53 / 53