Ejercicios de Expresiones Regulares
Ejercicios de Expresiones Regulares
Ejercicios de Expresiones Regulares
2. Probar que:
(b U aa*b) U (b U aa*b)(a U ba*b)*(a U ba*b) = a*b(a U ba*b)
(𝑏 ∪ 𝑎𝑎∗ 𝑏) ∪ (𝑏 ∪ 𝑎𝑎∗ 𝑏)(𝑎 ∪ 𝑏𝑎∗ 𝑏)∗ = 𝑎∗ 𝑏(𝑎 ∪ 𝑏𝑎∗ 𝑏)
((𝜆 ∪ 𝑎𝑎∗ )𝑏) ∪ ((𝜆 ∪ 𝑎𝑎∗ )𝑏)(𝑎 ∪ 𝑏𝑎∗ 𝑏)∗ = 𝑎∗ 𝑏(𝑎 ∪ 𝑏𝑎∗ 𝑏)
(𝜆 ∪ 𝑎+ )𝑏 ∪ (𝜆 ∪ 𝑎+ )𝑏(𝑎 ∪ 𝑏𝑎∗ 𝑏)∗ = 𝑎∗ 𝑏(𝑎 ∪ 𝑏𝑎∗ 𝑏)
(𝜆 ∪ 𝑎+ )𝑏(𝜆 ∪ (𝑎 ∪ 𝑏𝑎∗ 𝑏)∗ ) = 𝑎∗ 𝑏(𝑎 ∪ 𝑏𝑎∗ 𝑏)
𝑎∗ 𝑏(𝑎 ∪ 𝑏𝑎∗ 𝑏)∗ = 𝑎∗ 𝑏(𝑎 ∪ 𝑏𝑎∗ 𝑏)
3. Sea el vocabulario V={1,2}. Indique cinco de las cadenas más cortas pertenecientes a
V* y V+.
- 𝑉 ∗ = {𝜆, 1,2,11,12,21,22,111,112, … }
- 𝑉 + = {1,2,11,12,21,22,111,112, … }
6. Dado V={1,2}, indicar si las siguientes afirmaciones son Verdaderas o Falsas, justifique
brevemente su respuesta:
a) La cadena 122 ϵ V2
- 𝐸𝑠 𝑓𝑎𝑙𝑠𝑜, 𝑝𝑜𝑟𝑞𝑢𝑒 𝑙𝑎 𝑐𝑎𝑑𝑒𝑛𝑎 122 𝑝𝑒𝑟𝑡𝑒𝑛𝑒𝑐𝑒 𝑎 𝑉 3 , 𝑚𝑖𝑒𝑛𝑡𝑟𝑎𝑠 𝑞𝑢𝑒
𝑉 2 = {11,12,21,22}
b) V2∩V3 = V
- 𝐸𝑠 𝑓𝑎𝑙𝑠𝑜, 𝑝𝑜𝑟𝑞𝑢𝑒 𝑛𝑜 𝑡𝑖𝑒𝑛𝑒𝑛 𝑒𝑙𝑒𝑚𝑒𝑛𝑡𝑜𝑠 𝑒𝑛 𝑐𝑜𝑚ú𝑛 𝑦𝑎 𝑞𝑢𝑒
𝑉 2 = {11,12,21,22}
3
𝑉 = {111,121,211,221,112,122,212,222} 𝑦
𝑉2 ∩ 𝑉3 = { }
𝑝𝑜𝑟 𝑙𝑜 𝑡𝑎𝑛𝑡𝑜 𝑉 2 ∩ 𝑉 3 ≠ 𝑉
c) λ ϵ V
- 𝐸𝑠 𝑓𝑎𝑙𝑠𝑜, 𝑝𝑜𝑟𝑞𝑢𝑒 𝑉 = {1,2} 𝑦 𝑛𝑜 𝑐𝑜𝑛𝑡𝑖𝑒𝑛𝑒 𝜆
- Diagrama de transición:
- Lenguaje aceptado:
𝑤 = 10101100
(𝑞0 , 10101100) →∗ (𝑞0 , 𝜆)
(𝑞0 , 10101100) →1 (𝑞1 , 0101100) →2 (𝑞3 , 101100) →3 (𝑞2 , 01100)
→4 (0,1100) →5 (𝑞1 , 100) →6 (𝑞0 , 00) →7 (𝑞2 , 0) →8 (𝑞0 , 𝜆)
Si cumple.
11. Proporcione los AFN´s que acepten los siguientes lenguajes sobre el alfabeto {0,1} y
luego determíneselos:
a) El conjunto de todas las cadenas que terminen en 00.
𝐸𝑅 = (0|1)∗ 00
δ 0 1
λ_clausura(0)={0,1,2,4,7}/A 3,8/B 5/C
λ_clausura(3,8)={1,2,3,4,6,7,8}/B 3,8,9/D 5/C
λ_clausura(5)={1,2,4,5,6,7}/C 3,8/B 5/C
λ_clausura(3,8,9)={1,2,3,4,6,7,8,9}/D 3,8,9/D 5/C
c) 10 | (0 | 11)0*1
δ 0 1
λ_clausura(0)={0,1,4,5,7}/A 6/B 2,8/C
λ_clausura(6)={6,10,11,13}/B 12/D 14/E
λ_clausura(2,8)={2,8}/C 3/F 9/G
λ_clausura(12)={12,11,13}/D 12/D 14/E
λ_clausura(14)={14,15}/E - -
λ_clausura(3)={3,15}/F - -
λ_clausura(9)={9,10,11,13 }/G 12/D 14/E
Δ 0 1
λ_clausura(0)={0,1,2,3,5,13,32,14,15,16,18,31}/A 4,17/B 6,19/C
λ_clausura(4,17)={4,17,7,8,10,20,21,23}/B 9,22/D 11,24/E
λ_clausura(6,19)={6,19,4,17,7,8,10,20,21,23}/C 9,22/D 11,24/E
λ_clausura(9,22)={9,12,2,3,5,13,32,22,25,26,28}/D 4,27/F 6,29/G
λ_clausura(11,24)={11,24,12,2,3,5,13,32,22,25,26,28}/E 4,27/F 6,29/G
λ_clausura(4,27)={4,27,7,8,10,30,15,16,18,31,32}/F 9,17/H 11,19/I
λ_clausura(6,29)={6,29,7,8,10,30,15,16,18,31,32}/G 9,17/H 11,19/I
λ_clausura(9,17)={9,17,12,2,3,5,13,32,20,21,23}/H 4,22/J 6,14/K
λ_clausura(11,19)={11,19,17,12,2,3,5,13,32,20,21,23}/I 4,22/J 6,24/K
λ_clausura(4,22)={4,22,7,8,10,25,26,28}/J 9,27/L 11,29/M
λ_clausura(6,24)={6,24,7,8,10,25,26,28}/K 9,27/L 11,29/M
λ_clausura(9,27)={9,27,2,3,5,13,32,30,15,16,18,31}/L 4,17/B 6,19/C
λ_clausura(11,29)={11,29,2,3,5,13,32,30,15,16,18,31}/M 4,17/B 6,19/C
12. Dadas las siguientes expresiones regulares, obtener los autómatas de estados finitos
deterministas (AFD´s) equivalentes.
a) 1*(0|01)*
1≤𝑖≤5 𝑠𝑖𝑔𝑢𝑖𝑒𝑛𝑡𝑒𝑝𝑜𝑠(𝑖)
1 {1,2,3,5}
2 {2,3,5}
3 {4}
4 {2,3,5}
5 −
𝛿 0 1
{1,2,3,5}/𝐴 {2,3,4,5}/𝐵 {1,2,3,5}/𝐴
{2,3,4,5}/𝐵 {2,3,4,5}/𝐵 {2,3,5}/𝐶
{2,3,5}/𝐶 {2,3,4,5}/𝐵 −
b) (0|1)*(10|01)*1|(11|00)
1 ≤ 𝑖 ≤ 12 𝑠𝑖𝑔𝑢𝑖𝑒𝑛𝑡𝑒𝑝𝑜𝑠(𝑖)
1 {1,2,3,5,7}
2 {1,2,3,5,7}
3 {4}
4 {3,5,7}
5 {6}
6 {3,5,7}
7 {12}
8 {9}
9 {12}
10 {11}
11 {12}
12 −
𝛿 0 1
{1,2,3,5,7,8,10}/𝐴 {1,2,3,5,6,7,11}/𝐵 {1,2,3,4,5,7,9,12}/𝐶
{1,2,3,5,6,7,11}/𝐵 {1,2,3,5,6,7,12}/𝐷 {1,2,3,4,5,7,12}/𝐸
{1,2,3,4,5,7,9,12}/𝐶 {1,2,3,5,6,7}/𝐹 {1,2,3,4,5,7,12}/𝐸
{1,2,3,5,6,7,12}/𝐷 {1,2,3,5,6,7}/𝐹 {1,2,3,4,5,7,12}/𝐸
{1,2,3,4,5,7,12}/𝐸 {1,2,3,5,6,7}/𝐹 {1,2,3,4,5,7,12}/𝐸
{1,2,3,5,6,7}/𝐹 {1,2,3,5,6,7}/𝐹 {1,2,3,4,5,7,12}/𝐸
c) 10|(0|11)0*1
1≤𝑖≤8 𝑠𝑖𝑔𝑢𝑖𝑒𝑛𝑡𝑒𝑝𝑜𝑠(𝑖)
1 {2}
2 {8}
3 {6,7}
4 {5}
5 {6,7}
6 {6,7}
7 {8}
8 −
𝛿 0 1
{1,3,4}/𝐴 {6,7}/𝐵 {2,5}/𝐶
{6,7}/𝐵 {6,7}/𝐵 {8}/𝐷
{2,5}/𝐶 {8}/𝐷 {6,7}/𝐵
{8}/𝐷 − −
d) 01[((10)*|111)*|0]*1
1 ≤ 𝑖 ≤ 10 𝑠𝑖𝑔𝑢𝑖𝑒𝑛𝑡𝑒𝑝𝑜𝑠(𝑖)
1 {2}
2 {3,5,8,9}
3 {4}
4 {3,5,8,9}
5 {6}
6 {7}
7 {3,5,8,9}
8 {3,5,8,9}
9 {10}
10 −
𝛿 0 1
{1}/𝐴 {2}/𝐵 −
{2}/𝐵 − {3,5,8,9}/𝐶
{3,5,8,9}/𝐶 {3,5,8,9}/𝐶 {4,6,10}/𝐷
{4,6,10}/𝐷 {3,5,8,9}/𝐶 {7}/𝐸
{7}/𝐸 − {3,5,8,9}/𝐶
e) ((0|1)(0|1))*|((0|1)(0|1)(0|1))*
1 ≤ 𝑖 ≤ 11 𝑠𝑖𝑔𝑢𝑖𝑒𝑛𝑡𝑒𝑝𝑜𝑠(𝑖)
1 {3,4}
2 {3,4}
3 {1,2,11}
4 {1,2,11}
5 {7,8}
6 {7,8}
7 {9,10}
8 {9,10}
9 {5,6,11}
10 {5,6,11}
11 −
𝛿 0 1
{1,2,5,6,11}/𝐴 {3,4,7,8}/𝐵 {3,4,7,8}/𝐵
{3,4,7,8}/𝐵 {1,2,9,10,11}/𝐶 {1,2,9,10,11}/𝐶
{1,2,9,10,11}/𝐶 {3,4,5,6,11}/𝐷 {3,4,5,6,11}/𝐷
{3,4,5,6,11}/𝐷 {1,2,7,8,10}/𝐸 {1,2,7,8,10}/𝐸
{1,2,7,8,10}/𝐸 {3,4,9,10}/𝐹 {3,4,9,10}/𝐹
{3,4,9,10}/𝐹 {1,2,5,6,11}/𝐺 {1,2,5,6,11}/𝐺
{1,2,5,6,11}/𝐺 {3,4,7,8}/𝐵 {3,4,7,8}/𝐵
13. Sea M el AFN dado por Q = {q0, q1}, X ={a,b}, q0=q0, F={q1} y 𝛿 dada en la tabla
siguiente. Determinar si la cadena “ba” están en L(M). Dibujar el diagrama de
transición para M.
(𝑞0 , 𝑏𝑎) →1 (𝑞1 , 𝑎) →2 (∅, 𝑎)
La cadena “ba” no está en L(M) ya que el estado q1 no tiene una transición con “a”.
14. Construya la tabla de transición y describa el lenguaje que acepta el AFN con
movimiento 𝜀 = 𝜆, dado el diagrama de transición de la figura siguiente.
Determinícelo y pruebe con una palabra.
δ a b
λ_clausura(q0)={q0}/A q1/B -
λ_clausura(q1)={q1,q4}/B - q2,q0,q5/C
λ_clausura(q0,q2,q5)={q0,q2,q5}/C q0,q1,q3/D q4/E
λ_clausura(q0,q1,q3)={ q1/B q0,q2,q5/C
q0,q1,q3,q4}/D
λ_clausura(q4)={q4}/E - q0,q5/F
λ_clausura(q0,q5)={q0,q5}/F q0,q1/G -
λ_clausura(q0,q1)={q0,q1,q4}/G q1/B q0,q2,q5/C
𝑏 ∗ 𝑎(𝑎|𝑏)∗
(𝑎𝑎)∗
𝑎∗ 𝑏𝑏∗ 𝑎(𝑎|𝑏)∗
16. Representar por medio de diagramas de transición los AFD que acepten las
expresiones regulares de:
Expresión Regular Lenguaje Regular
(1|0)*0(1|0)*0(1|0)* L={Cadenas sobre ∑={0, 1} que tienen por lo menos dos
ceros}
1≤𝑖≤9 𝑠𝑖𝑔𝑢𝑖𝑒𝑛𝑡𝑒𝑝𝑜𝑠(𝑖)
1 {1,2,3}
2 {1,2,3}
3 {4,5,6}
4 {4,5,6}
5 {4,5,6}
6 {7,8,9}
7 {7,8,9}
8 {7,8,9}
9 −
𝛿 0 1
{1,2,3}/𝐴 {1,2,3,4,5,6}/𝐵 {1,2,3}/𝐴
{1,2,3,4,5,6}/𝐵 {1,2,3,4,5,6,7,8,9}/𝐶 {1,2,3,4,5,6}/𝐵
{1,2,3,4,5,6,7,8,9}/𝐶 {1,2,3,4,5,6,7,8,9}/𝐶 {1,2,3,4,5,6,7,8,9}/𝐶
1≤𝑖≤4 𝑠𝑖𝑔𝑢𝑖𝑒𝑛𝑡𝑒𝑝𝑜𝑠(𝑖)
1 {2}
2 {3}
3 {2,4}
4 −
𝛿 0 1
{1}/𝐴 {2}/𝐵 −
{2}/𝐵 {3}/𝐶 −
{3}/𝐶 {2,4}/𝐷 −
{2,4}/𝐷 {3}/𝐶 −
𝛿 0 1
{1,2,3}/𝐴 {1,2,3}/𝐴 {1,2,3,4}/𝐵
{1,2,3,4}/𝐵 {1,2,3,5}/𝐶 {1,2,3,4}/𝐵
{1,2,3,5}/𝐶 {1,2,3,6,7,8}/𝐷 {1,2,3,4}/𝐵
{1,2,3,6,7,8}/𝐷 {1,2,3,6,7,8}/𝐷 {1,2,3,6,7,8}/𝐷
𝛿 0 1
{1}/𝐴 − {2,3,4}/𝐵
{2,3,4}/𝐵 {2,3,4}/𝐵 {2,3,4,5}/𝐶
{2,3,4,5}/𝐶 {2,3,4}/𝐵 {2,3,4,5}/𝐶
17. Obtener la expresión regular que representa al lenguaje formado por todas las
cadenas sobre X={a, b} que tienen un número par de b’s y construya por medio de un
diagrama de transición su AFD.
𝐸𝑅 = (𝑎∗ 𝑏𝑎∗ 𝑏)+
𝐸𝑅 = (𝑎∗ 𝑏𝑎∗ 𝑏)(𝑎∗ 𝑏𝑎∗ 𝑏)∗ $
1≤𝑖≤9 𝑠𝑖𝑔𝑢𝑖𝑒𝑛𝑡𝑒𝑝𝑜𝑠(𝑖)
1 {1,2}
2 {3,4}
3 {3,4}
4 {5,6,9}
5 {5,6}
6 {7,8}
7 {7,8}
8 {5,6,9}
9 −
𝛿 𝑎 𝑏
{1,2}/𝐴 {1,2}/𝐴 {3,4}/𝐵
{3,4}/𝐵 {3,4}/𝐵 {5,6,9}/𝐶
{5,6,9}/𝐶 {5,6}/𝐷 {7,8}/𝐸
{5,6}/𝐷 {5,6}/𝐷 {7,8}/𝐸
{7,8}/𝐸 {7,8}/𝐸 {5,6,9}/𝐶
prueba: r= ((0|1|λ)(0|1))*|(0|1)(0|1)(0|1)*