Beruflich Dokumente
Kultur Dokumente
1.1 Introducción
Palabra vacía (ξ): palabra de largo cero sin símbolos del alfabeto.
Σ*=Uk≥0 Σk
Σ+= Uk≥1 Σk
1.2 Lenguaje
*
L = { ω ∈ Σ / ω satisface alguna propiedad}
1.2.1 Operaciones sobre Lenguajes
Dado L1 y L2
1. Unión
ܮଵ ܮ ڂଶ = {ω / ω ߱ ∈ ܮଵ ܮ ∈ ߱ ଶ }
2. Intersección
ܮଵ ∩ ܮଶ = {ω / ω ߱ ∈ ܮଵ ܮ ∈ ߱ ݕଶ }
3. Concatenación
ܮଵ //ܮଶ = {ω / ω=uv, con u ∈ ܮଵ ܮ ∈ ݒ ݕଶ }
4. Clausura (Estrella de Kleen)
Dado ∈ ܮΣ
{ = ∗ܮω / ω1 ω2 …ωk, algún k≥0 con ω1 ,ω2…. ,ωk ∈ }ܮ
Lenguajes Formales y Autómatas Claudio Henríquez
2 Lenguajes Regulares
2.1.2 Ejemplos
1. Encuentre una expresión regular (ER) bajo el alfabeto {0,1}, para el conjunto de
palabras que puede tener cualquier combinación de ceros y unos.
ER1: (0+1)*
2. Encuentre una expresión regular (ER) bajo el alfabeto {0,1}, para el conjunto de
palabras que empiezan con uno.
ER2: 1·(0+1)*
3. Encuentre una expresión regular (ER) bajo el alfabeto {0,1}, para el conjunto de
palabras que empiezan con uno y terminan con uno.
ER3: 1·(0+1)*·1
4. Encuentre una expresión regular (ER) bajo el alfabeto {0,1}, para el conjunto de
palabras de largo par.
ER4: (00+01+10+11)*
Lenguajes Formales y Autómatas Claudio Henríquez
5. Encuentre una expresión regular (ER) bajo el alfabeto {a, b, c}, para el conjunto de
palabras que empiezan con c y terminan con a o b.
ER5: c·(a+b+c)*·(a+b)
2.2.2 Ejemplos
1. Encuentre un AFD bajo el alfabeto {0,1}, para el conjunto de palabras que puede
tener cualquier combinación de ceros y unos.
ER1: (0+1)*
0,1
A
2. Encuentre un AFD bajo el alfabeto {0,1}, para el conjunto de palabras que
empiezan con uno.
ER2: 1· (0+1)*
0,1 0,1
C
0
A 1 B
A 0 B
0
1 1 1 1
0
C 0 D
Lenguajes Formales y Autómatas Claudio Henríquez
2.2.3 Ejercicios
1. Encuentre un AFD bajo el alfabeto {0,1}, para el conjunto de palabras que
empiezan con uno y terminan con uno.
ER1: 1·(0+1)*·1
2. Encuentre un AFD bajo el alfabeto {0,1}, para el conjunto de palabras de largo par.
ER2: (00+01+10+11)*
2.2.4 AFD)
Método de Thompson (AFND-ξ
ξ: q0 ξ qf
σ
σ: q0 qf
ξ r0 rf ξ
rUs: q0 qf
ξ s0 sf ξ
rs: r0 rf sf
S
ξ ξ
r*: q0 r0 rf qf
S
ξ
Lenguajes Formales y Autómatas Claudio Henríquez
AFND-ξ
ξ
2 0 3
ξ ξ
ξ ξ ξ ξ
0 1 4 1 5 1 6 9 10
ξ ξ
7 1
8
ξ
Aplicando Clausura
C-ξ({0})={0,1,2,4,7,10}:A
C-ξ(δ(A,0))=C-ξ({3})={1,2,3,4,7,9,10}:B
C-ξ(δ(A,1))=C-ξ({5,8})={1,2,4,5,7,8,9,10}:C
C-ξ(δ(B,0))=C-ξ({3}):B
C-ξ(δ(B,1))=C-ξ({5,8}):C
C-ξ(δ(C,0))=C-ξ({3}):B
C-ξ(δ(C,1))=C-ξ({5,6,8})={1,2,4,5,6,7,8,9,10}:D
C-ξ(δ(D,0))=C-ξ({3}):B
C-ξ(δ(D,1))=C-ξ({5,6,8}):D
AFD
Δ 0 1 0
A B C
B B C 0 B 0
C B D
D B D A 0 1 D 1
1 C 1
AFD Mínimo
P0=[A B C D]
P1=[A B C D]
A≈B≈C≈D
Δ 0 1 0,1
A A A
A
Lenguajes Formales y Autómatas Claudio Henríquez
AFND-ξ
ξ
0 0
1 2 10 11
ξ ξ ξ ξ
ξ ξ ξ ξ 1 1 ξ ξ
0 3 1 4 1 5 8 9 12 13 14 17 18
ξ ξ
ξ ξ
6 1 7 15
1 16
ξ
Aplicando Clausura
C-ξ({0})={0,1,3,6}:A
C-ξ(δ(A,0))=C-ξ({2})={2,8,9,10,12,15,18}:B
C-ξ(δ(A,1))=C-ξ({4,7})={4,7,8,9,10,12,15,18}:C
C-ξ(δ(B,0))=C-ξ({11})={9,10,11,12,15,17,18}:D
C-ξ(δ(B,1))=C-ξ({13,16})={9,10,12,13,15,16,17,18}:E
C-ξ(δ(C,0))=C-ξ({11}):D
C-ξ(δ(C,1))=C-ξ({5,13,16})={5,8,9,10,12,13,15,16,17,18}:F
C-ξ(δ(D,0))=C-ξ({11}):D
C-ξ(δ(D,1))=C-ξ({13,16}):E
C-ξ(δ(E,0))=C-ξ({11}):D
C-ξ(δ(E,1))=C-ξ({13,14,16})={9,10,12,13,14,16,17,18}:G
C-ξ(δ(F,0))=C-ξ({11}):D
C-ξ(δ(F,1))=C-ξ({13,14,16}):G
C-ξ(δ(G,0))=C-ξ({11}):D
C-ξ(δ(G,1))=C-ξ({13,14,16}):G
AFD
δ 0 1
A B C
B D E
C D F
D D E
E D G
F D G
G D G
Lenguajes Formales y Autómatas Claudio Henríquez
AFD Mínimo
P0=[A][ B C D E F G]
P1=[A][ B C D E F G]
B≈C≈D≈E≈F≈G
δ 0 1
A B B
B B B
AFND-ξ
a
ε
2 3 ε
ε ε a b b
0 1 ε 6 7 8 9 10
ε ε
4 b 5
Aplicando Clausura
c-ε(0) = {0,1,2,4,7}:A
c-ε(δ(A,a))= c-ε({3,8})={1,2,3,4,6,7,8}:B
c-ε(δ(A,b))= c-ε({5})={1,2,4,5,6,7}:C
c-ε(δ(B,a))= c-ε({3,8}):B
c-ε(δ(B,b))= c-ε({5,9})={1,2,4,5,6,7,9}:D
c-ε(δ(C,a))= c-ε({3,8}):B
c-ε(δ(C,b))= c-ε({5}):C
c-ε(δ(D,a))= c-ε({3,8}):B
c-ε(δ(D,b))= c-ε({5,10})={1,2,4,5,6,7,10}:E
c-ε(δ(E,a))= c-ε({3,8}):B
c-ε(δ(E,b))= c-ε({5}):C
AFD
δ A B
A B C
B B D
C B C
D B E
E B C
Lenguajes Formales y Autómatas Claudio Henríquez
AFD Mínimo
P1=[A B C D] [E]
P2=[A B C] [D] [E]
P3=[A C] [B] [D] [E]
P4=[A C] [B] [D] [E]
A≈C
δ A B
A B A
B B D
D B E
E B A
2.2.5 Ejercicios
Dadas las expresiones regulares (ER) siguientes, utilice el método de Thompson para
encontrar su AFD correspondiente.
1. 1(0+1)*0
2. 01*+1
3. a(a+ba)*
4. (a+b)*a(a+b)(a+b)
Es decir, en la parte izquierda puede haber una cadena de símbolos con al menos un no
terminal, a la derecha puede haber una cadena de símbolos que puede ser vacía.
2.3.1 Ejemplos
1. Genere una gramática bajo el alfabeto {0,1}, para el conjunto de palabras que
empiezan con uno y terminan con uno.
G1= ({S},{0,1},P1,S)
P 1= {S1A1
A0A|1A|ξ}
Lenguajes Formales y Autómatas Claudio Henríquez
2. Genere una gramática bajo el alfabeto {0,1}, para el conjunto de palabras de largo
par.
G2= ({S},{0,1},P2,S)
P1={S00S|01S|10S|11S|ξ}
2.3.2 Ejercicios
1. Genere una gramática bajo el alfabeto {0,1}, para el conjunto de palabras que
puede tener cualquier combinación de ceros y unos.
2. Genere una gramática bajo el alfabeto {0,1}, para el conjunto de palabras que
empiezan con uno.
3. Genere una gramática bajo el alfabeto {0,1}, para el conjunto de palabras que
empiezan con uno y terminan con uno.
4. Genere una gramática bajo el alfabeto {0,1}, para el conjunto de palabras de largo
par.
5. Genere una gramática bajo el alfabeto {a, b, c}, para el conjunto de palabras que
empiezan con c y terminan con a o b.