Autómata finito y Expresiones regulares -...

56
Autómata finito y Expresiones regulares A* | C. B

Transcript of Autómata finito y Expresiones regulares -...

Page 1: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Autómata finito y Expresiones regulares

A* | C. B

Page 2: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Conceptos

Alfabeto (∑): es el conjunto finito no

vacío de símbolos.

Ejemplo: ∑ = {0,1}, el alfabeto binario

Cadenas: secuencia finita de símbolos

pertenecientes a un alfabeto

Por ejemplo: 01101 es una cadena del ∑

anterior.

∑ = {ASCII}

Page 3: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Cadena vacía(ε): cadena que contiene

0 símbolos.

Longitud de una cadena |cad |:numero

de símbolos.

Ejemplo: |011|=3 y |ε| = 0

Page 4: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Potencia de alfabeto

Potencias de un alfabeto ∑k :conjunto

de cadenas de longitud k, tal que

todos los símbolos que las forman

pertenecen al ∑

∑0 = {ε} sea cual sea el ∑

Si ∑={0,1}, entonces

∑1={0,1}

∑2 = {00,01,10,11}

Page 5: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

los que se pueden generar a partir de

los lenguajes básicos({},{ε},{a}), con la

aplicación de las operaciones de

unión, concatenación y * de Kleene un

número finito de veces

5

Lenguaje Regular

Page 6: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Lenguaje: Conjunto de cadenas, todas elegidas

de algún ∑*.

L(r) Lenguaje generado por la e.r r con

∑ ={a,b}

L(r) = {ε , a, bb, aa, abb, … }

Page 7: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Operadores

Sean L y M lenguajes regulares entonces

(L U M) es un lenguaje regular

Unión de L y M (L U M): conjunto de

cadenas que pertenecen a L, a M, o a

ambos.

Por ejemplo:

Si L={001,10,111} y M={ε, 001}, entonces

L U M = {ε,10,001,111}

7

Page 8: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Concatenación de L y M(L.M)

(L.M) es un lenguaje regular

Conjunto de cadenas que pueden

formarse tomando cualquier cadena

de L y concatenándola con cualquier

cadena de M

Por ejemplo

Si L={001,10,111} y M={ε, 001}, entonces

L . M =

{001,10,111,001001,10001,111001}

Page 9: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Clausura de Kleen de (L*)

L* es un lenguaje regular

Cualquier conjunto de cadenas que se

pueden formar (quizá con

repeticiones)

L(r*) = L(r)* cero o mas concatenaciones

L*= U Li

i=0

Ejemplo: Si L = {0,11} L*={ε,011,11110}

Page 10: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Expresiones Regulares(e.r.)

Representa una descripción algebraica de

los lenguajes regulares.

Son un conjunto de secuencias de

símbolos válidas que se construyen en

base al alfabeto del lenguaje.

Ejemplo:

dir *.* donde el patrón * coincide

con cualquier cadena de caracteres.

Page 11: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Expresión Regular(e.r)

Forma compacta para definir un

lenguaje regular.

Ejemplo:

Sea el ∑ = {a,b} La e.r r = (a|bb)* se define en base al

alfabeto del lenguaje L(r)

11

Page 12: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Expresiones regulares básicas

λ o ε , L(ε) = {ε}

a ε Σ , L(a) = { a }

Si E y F son e.r.

1. E + F es una e.r. que representa la

unión de L(E) y L(F). Es decir L(E+F)=

L(E)UL(F)

12

Page 13: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

2. EF es una e.r. que representa la

concatenación de L(E) y L(F). Es decir

L(E.F)= L(E).L(F).

3. E* es una e.r. que representa la clausura de

L(E). Es decir, L(E*) = (L(E))*.

4. E es una e.r. entonces (E) es una e.r. que

denota el mismo lenguaje que E. Es decir,

L((E)) = L(E).

Page 14: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

L(r+) = L(r)+ una o mas concatenaciones

L+ = U Li

i=1

14

Cerradura positiva

Page 15: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Prioridad

1. ()

2. *

3. . o nada

4. | = U=+

Page 16: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Formas abreviadas

Digito = {0|1|2|3….|9} = [0-9]=D o d

Letra = {a|b…|z,A|B…|Z}=[a-zA-Z]=L o l

Signo = {+|-| ε} =S o s

ConstanteEntera = signo digito+=CE o ce

(r)? = ε U L(r) 0 ó 1 vez

G= { _ }

16

Page 17: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Ejemplos

1. r = a*.(b | c)+ y Σ= {a,b,c}

L(r)= {b,c,bb,cc,bc,cb,ab,ac,cbc,bcc,

abb,acc, aac,ccc,ccb, . . .}

2. r = [0-9]*.[0-9]+ y Σ= {1..9,.}

L(r)= {.2,1.2,12.3,023.236425,

3567.45627, .758478, . . .}

17

Page 18: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Ejemplo

3. Identificadores en ADA inician con

letra seguido de letra o dígito o guión

bajo (éste no puede ser el último)

r=L(L |D)*(G*(L |D)+)* y Σ= {L,D,G}

L(r)={a,s,a_f,k_ _d,suma, sum12s,s2a_a}

18

Page 19: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Leyes algebraicas de e.r.

LEY DESCRIPCIÓN

r | s = s | r | es conmutativo

r | (s | t) = (r | s) | t | es asociativo

r.(s.t) = (r.s).t . es asociativa

r.(s | t) = r.s | r.t . se distribuye sobre |

ε .r = r. ε = r ε es la identidad para la concatenación

r* = (r | ε)* ε se garantiza en una cerradura

Page 20: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Leyes algebraicas

1) r | Φ ≡ Φ | r ≡ r

2) r | r ≡ r

3) Φ * ≡ ε

4) r . Φ ≡ Φ. r ≡ Φ

5) r . r* ≡ r* . r

6) r . r* | ε ≡ r*

7) (r* . s*)* ≡ (r | s)*

8) (r*)* ≡ r*

Page 21: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Algunas e.r

[abc] = {a,b,c}

^a es cualquier símbolo que no sea la a

Ejemplo ^[a-Az-Z] cualquier símbolo menos una letra

a? es {ε,a}

\ c el carácter c literalmente

Ejemplo

\$ftp= { $ftp }

Page 22: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Práctica 2

Dadas las e.r´s y el Σ= {a,b,c,d} definir

los L(r) definidos por dichas e.r.

1. r=ab 5. r=(ab|c)*d

2. r=a|b 6. r=(ab)*

3. r=a* 7. r=a | a*b

4. r=ab* 8. r=(a|ab)*

22

Page 23: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Práctica 2

9. r=(a|b)*

10. r=(a|b)*aa(a|b)*

11. r=(a|ε) (a|ab)*

12. r=(a*|b)*abb

13. r=(c | d)+ (a+|db)*

14. r=(d.c)* | (b|ad+)*

15. r=(c*|ε) | (a|ab)*23

Page 24: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Práctica 3

Define los alfabetos y modela mediante una e.r los siguientes lenguajes:

1. cadenas con a lo mas una pareja de 0's consecutivos y a lo mas una pareja de 1's consecutivos.

2. cadenas de uno o mas dígitos pero que no contienen dos dígitos pares consecutivos.

3. Cadenas de comentarios que empiezan por un asterisco y un uno y terminan con el fin de esa línea o bien empiezan por un asterisco y un dos y terminan con el fin de la línea siguiente.

Page 25: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

4. Lenguaje formado por todas las cadenas de caracteres

que cumplen simultáneamente las tres condiciones siguientes:

a) Sus tres primeros caracteres son, por este orden, una letra i, una n y otra i.

b) Sus tres últimos caracteres son, por este orden, una letra f, una i y una n.

c) Entre las tres letras iniciales y las tres letras finales de la cadena aparece una secuencia de uno o mas caracteres, pero ninguno de los cuales es ni una letra ni un salto de línea.

Observa que cada una de las seis letras de la cadena debe poder ser, indistintamente, mayúscula o minúscula, ya que no se ha impuesto ninguna restricción al respecto.

Page 26: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

5. L1 el lenguaje de todas las cadenas que pueden formarse utilizando únicamente cero o mas dígitos binarios y asteriscos con la restricción de que no se permiten mas de dos asteriscos consecutivos. Así, por ejemplo, las siguientes cadenas pertenecerán a L1:

101, **, *1*1*1, *00*1*, .

Pero no estas otras: +001, 1****1, 000***, 911...

Page 27: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

6. L2 el lenguaje de todas las cadenas que pueden formarse utilizando únicamente dígitos decimales y asteriscos con la

restricción de que en cada cadena debe haber un único grupo de varios asteriscos consecutivos. Así, por ejemplo, las siguientes cadenas pertenecerán a L2:

2**, *10*1**, 19***99.

Pero no estas otras: **1**, x****x, 012345, 1*1, ...

Page 28: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

7. L3 el lenguaje de todas las cadenas

formadas por una o mas letras

minúsculas y que no tienen tres b’s

seguidas. Así, por ejemplo, las

siguientes cadenas pertenecerán a L3:

xyz, bb, bebebe, baobab, .

Pero no estas otras: Gato, abbbba,

xxxbbb, salu2...

Page 29: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

8. Conjunto de cadenas numéricas de

tres dígitos formados por todos los

posibles excepto 007. Así, por ejemplo,

o33,921 y 777 pertenecen a este

lenguaje, pero no efe, 33, etc.

9. El lenguaje de todas las cadenas que

se pueden formar con los dígitos 0,1 y 2

respetando las 2 condiciones siguientes:

la cadena no será vacía ni habrá ninguna

subcadena 01 en ella. Por ejemplo.

02210 pertenece al lenguaje pero no

2012.

Page 30: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Autómatas Finitos

Modelo matemático de un sistema que

recibe una cadena y determina si esta

pertenece al lenguaje que el autómata

reconoce

Page 31: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Clasificación

Deterministas (AFD):no puede estar

en mas de un estado simultáneamente

No deterministas (AFND):puede estar

en varios estados al mismo tiempo

Page 32: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

AFD consta de A = (Q, Σ, δ , q0 ,F)

Q conjunto finito de estados.

Σ conjunto finito de símbolos de entrada.

δ función de transición que recibe como

argumentos un estado y una entrada y

devuelve un estado.

q0 estado inicial (uno de los estados de Q).

Conjunto F de estados finales o de

aceptación.

Page 33: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Ejemplo 1

AFD que acepta únicamente todas las

cadenas de 0’s y 1’s que contienen la

secuencia 01 en algún lugar de la

cadena.

δ( q0,1)= q0 δ(q2,1)= q1

δ(q0,0)= q2 δ(q2,0)= q2

δ(*q1,0)=δ(q1,1)= q1

Page 34: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Representación de autómatas

Formal: Quintupla

Diagarama de Transición

Tabla de Transición

Formal:

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

Page 35: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Diagrama de Transición

q0q2 q1

Inicio

0 1

1 0

0,1

Page 36: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Tabla de transición

0 1

q0 q2 q0

*q1 q1 q1

q2 q2 q1

Inicial

Final

Page 37: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Ejemplo 2

AFD que acepta únicamente todas las

cadenas con un número par de 0’s y/o

1’s.

δ( *q0,0)= q2 δ(q2,0)= q0

δ(q0,1)= q1 δ(q2,1)= q3

δ(q1,0)= q3 δ(q3,0)= q1

δ(q1,1)= q0 δ(q3,1)= q2

Page 38: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Representación Formal

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

Page 39: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Diagrama de Transición

q0q1

Inicio

q3q2

1

0

1

001

0

1

0

Page 40: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Tabla de transición

0 1

q0 q2 q1

q1 q3 q0

q2 q0 q3

q3 q1 q2

*

Page 41: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

AFND consta de A = (Q, Σ, δ , q0 ,F)

Q conjunto finito de estados.

Σ conjunto finito de símbolos de entrada.

δ función de transición que recibe como argumentos un estado y una entrada y devuelve un conjunto con 0,1 o mas estados.

q0 estado inicial (uno de los estados de Q).

Conjunto F de estados finales o de aceptación.

Page 42: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Ejemplo 1

AFND que acepta únicamente las

cadenas de 0’s y 1’s que terminan en

01.

δ( q0,0) = {q0, q1} δ(q1,0) = Φ

δ(q0,1) = {q0} δ(q1,1) = {q2}

δ(*q2,0) = Φ δ(q2,1) = Φ

Page 43: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Representación de autómatas

Formal: Quintupla

Diagarama de Transición

Tabla de Transición

Formal:

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

Page 44: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Diagrama de Transición

q0q1 q2

Inicio0 1

0,1

Page 45: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Tabla de transición

0 1

q0 {q0 , q1} {q0}

q1 Φ {q2}

*q2 Φ Φ

Page 46: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Equivalencia entre AFND y

AFD

Construcción de subconjuntos

Parte de un AFND = (QN, Σ, δN , q0 ,FN)

Resultado: la descripción de

AFD = (QD, Σ, δD , {q0} ,FD)

Page 47: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Construcción

1. QD es el conjunto de subconjuntos de

QN, es decir es el conjunto potencia

de QN.

2. FD es el conjunto de subconjuntos S

de QN tal que S ∩ FN ≠ Φ, es decir,

FD contiene todos los conjuntos de

estados de N que incluyen al

menos un estado de aceptación de

N.

Page 48: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Función de transición

3. Para cada conjunto S QN y para

cada símbolo de entrada a en Σ,

δD ( S,a) = δN ( p,a)

Senp

Page 49: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Ejemplo

0 1

Φ Φ Φ

{q0} {q0,q1} {q0}

{q1} Φ {q2}

*{q2} Φ Φ

{q0,q1} {q0,q1} {q0,q2}

*{q0,q2} {q0,q1} {q0}

*{q1,q2} Φ {q2}

*{q0,q1,q2} {q0,q1} {q0,q2}

q0q1 q2

Inicio0 1

0,1

Page 50: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

AFD

{q0}{q0,q1}Inicio

0 1

10

{q0,q2}

01

Nota: no todos los estados son accesibles

Page 51: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Práctica 4

1. Construye el AFD o AFND que acepte

el siguiente lenguaje.

Todas las cadenas compuestas de

cualquier letra pero que inician con a y

tiene la restricción que nunca pueden

llevar 3 b’s seguidas.

Page 52: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Práctica 4. Construye AFD

2. Que acepte el conjunto de todas las cadenas terminadas en 00.

3. Que acepte el conjunto de todas las cadenas con tres ceros consecutivos.(no necesariamente al final).

4. Que acepte el conjunto de cadenas con 011 como subcadena.

Page 53: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

1. Convertir el siguiente AFND a AFD(

manera formal y DT

a) b) c)

0 1

p {p,q} {p}

q {r} {r}

r {s} Φ

*s {s} {s}

0 1

p {q,s} {q}

*q {r} {q,r}

r {s} {p}

*s Φ {p}

0 1

p {p,q} {p}

q {r,s} {t}

r {p,r} {t}

*s Φ Φ

*t Φ Φ

Page 54: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

2. Construir AFND para los lenguajes

a) conjunto de cadenas de dígitos cuyo

último dígito haya aparecido antes

en la misma entrada.

b) conjunto de cadenas de dígitos cuyo

último dígito no haya aparecido

antes en la misma entrada.

Page 55: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

3. Para el ejercicio 2 convertir el AFND a

AFD( manera formal y DT)

Page 56: Autómata finito y Expresiones regulares - …ymoyao.cs.buap.mx/wp-content/uploads/2014/08/automata1IntroCom.pdf · Autómata finito y ... Ejemplo: ∑ = {0,1}, el alfabeto binario

Tarea 3

Investigar algún método para encontrar el

AFND equivalente de un AFD y 2 ejemplos

aplicando el método.

Investigar algún método para encontrar la

e.r. equivalente a AFND y 2 ejemplos

aplicando el método.

Investigar algún método para encontrar la

e.r. equivalente a AFD y 2 ejemplos

aplicando el método.