Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Autómatas
* Lema de Arden
* Gramáticas regulares
2
Lenguajes regulares
a
q0
a b (a(b+a)+a)*
b q2
q1
b
a
3
Lema de Arden
4
Lema de Arden
5
Lema de Arden
6
Lema de Arden
a a
b q1
q0
8
Lema de Arden
a a
b q1
q0
9
Lema de Arden
A0 = aA0 bA1
A1 = aA1 bA0
10
Lema de Arden
A0 = aA0 bA1
A1 = aA1 bA0 = a*(bA0)
= a*bA0 a*
11
Lema de Arden
A0 = aA0 bA1
A1 = aA1 bA0 = a*(bA0)
= a*bA0 a*
• Se reemplaza A1 en A0 y se obtiene:
12
Lema de Arden
a a
b q1
q0
13
Lema de Arden
a b
a a a b
q0 q1 q2 q3 q4
b
b
14
Lema de Arden
a b
a a a b
q0 q1 q2 q3 q4
b
b
A0 = aA1
A1 = aA2 bA4
A2 = aA3 bA4
A3 = aA3 bA4
A4 = bA4
15
Lema de Arden
a b
a a a b
q0 q1 q2 q3 q4
b
b
A0 = aA1
A1 = aA2 bA4
A2 = aA3 bA4
A3 = aA3 bA4
A4 = bA4 = b*
16
Lema de Arden
a b
a a a b
q0 q1 q2 q3 q4
b
b
A0 = aA1
A1 = aA2 bA4
A2 = aA3 bA4
A3 = aA3 bA4 = aA3bb*
= aA3b+ = a*(b+) = a*b*
A4 = bA4 = b*
17
Lema de Arden
a b
a a a b
q0 q1 q2 q3 q4
b
b
a b
q2
q0 q1
a
19
Lema de Arden
a b
q2
q0 q1
a
A0 = aA1 = a(ba)*b
A1 = bA2 = b(aA1 )
= baA1 b = (ba)*b
A2 = aA1
20
Lema de Arden
21
Lema de Arden
22
Lema de Arden
23
Lema de Arden
A0 = aA1 bA2
A1 = aA0 bA2
A2 = aA2 bA2
24
Lema de Arden
A0 = aA1 bA2
A1 = aA0 bA2
A2 = aA2 bA2 = (ab)A2 A=
= (ab) =
25
Lema de Arden
A0 = aA1 bA2
A1 = aA0 bA2 = aA0
A2 = aA2 bA2 = (ab)A2 A=
= (ab)
26
Lema de Arden
27
Lema de Arden
28
Lema de Arden
31
Lenguajes regulares
Gramática regular
32
Gramáticas regulares
SaE
EA|B
AaA|b
BbB|b
34
Gramáticas regulares
Gramática Regular
• S, A y B son símbolos no terminales,
SaA | bB
e indican que deben ser sustituidos
AaA | a según las producciones
BbB | b • a y b son símbolos terminales que
pertenecen a un alfabeto
35
Gramáticas regulares
Gramáticas Regulares
Las gramáticas generan cadenas
SaA | bB
AaA | a
BbB | b
36
Gramáticas regulares
Gramáticas Regulares
Las gramáticas generan cadenas
SaA | bB
SaAaaAaaa
AaA | a
La cadena aaa es generada por la
BbB | b
gramática
37
Gramáticas regulares
Gramáticas Regulares
SaA | bB SaAaa
AaA | a
SaAaaAaaaAaaaa
BbB | b
SbBbb
38
Gramáticas regulares
Gramáticas Regulares
¿La cadena ab se puede
SaA | bB
generar por la gramática?
AaA | a
BbB | b
39
Gramáticas regulares
Gramáticas
Indique cuáles de las siguientes
SabS | cadenas se pueden generar por la
gramática:
•
• abab
•aaab
•abb
40
Gramáticas regulares
Gramáticas
Indique cuáles de las siguientes
SabS | cadenas se pueden generar por la
gramática:
•
• abab
•aaab
•abb
41
Gramáticas regulares
Gramáticas
SaE La cadena aaab se puede generar así:
SaEaAaaAaaaAaaab
EA|B
AaA|b Se utiliza la notación S * w para
indicar que la cadena w se puede
BaB|b
generar a partir de S en 0 o más
etapas
42
Gramáticas regulares
Gramáticas regulares
• Considere el lenguaje regular a(a*b*)b. Una forma de
expresar las cadenas aceptadas por el lenguaje, es por
medio de las producciones
43
Gramáticas regulares
Gramáticas regulares
• Considere el lenguaje regular a(a*b*)b. Una forma de
expresar las cadenas aceptadas por el lenguaje, es por
medio de las producciones
SaE
EA|B
AaA|b
BbB|b
44
Gramáticas regulares
• N={S,A}
• S es el símbolo inicial
• P: SbA
AaaA|b
45
Gramáticas regulares
• N={S,A}
• S es el símbolo inicial
• P: SbA
AaaA|b
bb,baab,baaaab, baaaaaab,…
46
Gramáticas regulares
• N={S,A}
• S es el símbolo inicial
• P: SbA
AaaA|b
El lenguaje aceptado por la gramática, L(G),
contiene las cadenas de la forma b(aa)*b
47
Gramáticas regulares
48
Gramáticas regulares
• N={S}
• S es el símbolo inicial
• P: SaS|b
49
Gramáticas regulares
• N={S,B}
• S es el símbolo inicial
• P: SaS|B
BbB|
50
Gramáticas regulares
• N={S,B}
• S es el símbolo inicial
• P: SaS|B
BbB|
El lenguaje aceptado por la gramática, L(G),
contiene las cadenas de la forma a*b*
51
Gramáticas regulares
• N={S,A}
• S es el símbolo inicial
• P: SabS|A
Aa|b
52
Gramáticas regulares
• N={S,A}
• S es el símbolo inicial
• P: SabS|A
Aa|b
El lenguaje aceptado por la gramática, L(G),
contiene las cadenas de la forma (ab)*(ab)
53
Gramáticas regulares
54
Gramáticas regulares
• N={S}
• S es el símbolo inicial
• P: SabS|ab
55
Gramáticas regulares
56
Gramáticas regulares
• N={S,A,B}
• S es el símbolo inicial
• P: SaA|bA
AaA|a|b
57
Gramáticas regulares
58
Gramáticas regulares
• N={S,A,B}
• S es el símbolo inicial
• P: SaS|bS|aA
AaA|bA|
59
Gramáticas regulares
60
Gramáticas regulares
• N={S,A}
• S es el símbolo inicial
• P: SabS|abA
AaA|bA|
61
Gramáticas regulares
62
Gramáticas regulares
• N={S,B,C}
• S es el símbolo inicial
• P: SaS|bB|cC|
BbB|cC|
CcC|
63
Gramáticas NO regulares
Gramáticas
Indique cuáles de las siguientes
SaAb | bBa cadenas se pueden generar por la
AaAb | gramática:
• ab
BbBa | •aabb
•bbaa
•abb
•bbba
64
Gramáticas NO regulares
Gramáticas
Indique cuáles de las siguientes
SaAb | bBa cadenas se pueden generar por la
AaAb | gramática:
• ab
BbBa | •aabb
•bbaa
•abb
•bbba
65
Gramáticas NO regulares
66
Gramáticas NO regulares
67
Gramáticas regulares
a a,b SaS|bA
b b AaS|bB
q0 q1 q2
a BaB|bB|
Autómata M Gramática G
68
Gramáticas regulares
69
Gramáticas regulares
a a,b
b b
q0 q1 q2
a
70
Gramáticas regulares
a a,b
b b
q0 q1 q2
a
71
Gramáticas regulares
a a,b
b b
q0 q1 q2
a
q0
73
Gramáticas regulares
q0
74
Gramáticas regulares
75
Gramáticas regulares
76
Gramáticas regulares
77
Gramáticas regulares
78
Gramáticas regulares
79
Gramáticas regulares
80
Gramáticas regulares
a,b q3
81
Gramáticas regulares
a,b q3
SaS|bA a a,b
b b
AaS|bB q0 q1 q2
BaB|bB| a
Gramática G Autómata M
83
Gramáticas regulares
84
Gramáticas regulares
SaS|bA
AaB|bB|
BaB|bB
85
Gramáticas regulares
86
Gramáticas regulares
a a,b
b a,b
q0 q1 q2
87
Gramáticas regulares
88
Gramáticas regulares
q4
a a
q5
b
q6
89
Gramáticas regulares
90
Ejemplo de expresiones regulares
Expresión regular que reconoce una cadena de dígitos con
carácter de separación ,
91
Encontrar cadenas en archivos de texto
92
Ejemplo de expresiones regulares
Expresión regular que reconoce una cadena que tenga la
forma de correo electrónico
1. /[A-Za-z]+@[a-z]+\.[a-z]+/
2. ^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$
93
Ejemplo de expresiones regulares
En lenguajes de programación: Se usan para el análisis
léxico, que es el proceso en el que un analizador sintáctico
toma una secuencia de entrada y la transforma en
componentes léxicos (Tokens)
Ejemplo:
If valorIngresado > maxValor entonces retorna 1
•Tokens
•If * entonces
•valorIngresado * retorna
•> * maxValor *1
94