Autómata finito y Expresiones regulares -...
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/1.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/2.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/3.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/4.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/5.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/6.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/7.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/8.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/9.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/10.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/11.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/12.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/13.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/14.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/15.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/16.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/17.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/18.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/19.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/20.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/21.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/22.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/23.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/24.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/25.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/26.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/27.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/28.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/29.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/30.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/31.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/32.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/33.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/34.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/35.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/36.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/37.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/38.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/39.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/40.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/41.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/42.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/43.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/44.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/45.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/46.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/47.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/48.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/49.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/50.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/51.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/52.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/53.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/54.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/55.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022021518/5ba2aff209d3f2a1708c4b44/html5/thumbnails/56.jpg)
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.