Guillem Godoy Ejercicios para la evaluación continua 1 Teor´ıa de

Anuncio
Guillem Godoy
Ejercicios para la evaluación continua
1
Teorı́a de lenguajes
1. Formalitzeu els següents llenguatges utilitzant la notació clàssica de
conjunts, com a parell variable de mot i propietat sobre aquest. Feu
servir quantificadors universals i existencials, operadors booleans i les
notacions sobre mides de mots que hem introduı̈t.
(a) Llenguatge dels mots sobre {a, b} que contenen el submot ab.
(b) Llenguatge dels mots sobre {a, b} tals que a la dreta de cada
submot ab hi ha algun submot ba.
(c) Llenguatge dels mots sobre {a, b} que contenen el submot ab i el
submot ba.
(d) Llenguatge dels mots sobre {a, b, c} tals que entre cada dues b’s
hi ha alguna a.
(e) Llenguatge de mots sobre {a, b} tal que tota ocurrència de b està
en posició parell (el primer sı́mbol d’un mot ocupa la posició 1).
(f) Llenguatge dels mots sobre {a, b} amb algun prefix amb més b’s
o igual que a’s.
(g) Llenguatge dels mots sobre {a, b} tals que qualsevol prefixe seu
té més b’s o igual que a’s.
(h) Llenguatge dels mots sobre {a, b} amb algun prefix de mida parell
amb més b’s o igual que a’s.
(i) Llenguatge dels mots sobre {a, b} tals que qualsevol prefixe seu
de mida parell té més b’s o igual que a’s.
(j) Llenguatge dels mots sobre {a, b} que tenen un prefix i un sufix
idèntics de mida major que 0 i menor que la mida del propi mot.
2. Argumenteu si són certes (amb una justificació) o falses (amb un contraexemple) les següents afirmacions sobre mots x, y, z y llenguatges
A, B, C en general.
(a) xy = yx.
(b) xy = xz ⇒ y = z.
(c) A(BC) = (AB)C.
1
(d) AB = BA.
(e) A 6= ∅ ∧ AB = AC ⇒ B = C.
(f) A 6= ∅ ∧ B 6= ∅ ∧ AB = CD ∧ (∀u ∈ A, v ∈ C : |u| = |v|) ⇒
A = C ∧ B = D.
(g) (A ∪ B)C = AC ∪ BC y A(B ∪ C) = AB ∪ AC.
(h) (A ∩ B)C ⊆ AC ∩ BC y A(B ∩ C) ⊆ AB ∩ AC.
(i) (A ∩ B)C ⊇ AC ∩ BC y A(B ∩ C) ⊇ AB ∩ AC.
3. Argumenteu si són certes (amb una justificació) o falses (amb un contraexemple) les següents afirmacions en general.
(a) L∗ = {a, b}∗ ⇒ {a, b} ⊆ L.
(b) L∗1 L∗2 ⊆ (L1 L2 )∗ .
(c) L∗1 L∗2 ⊇ (L1 L2 )∗ .
+
+ ∧ L+ ∩ L+ = ∅ ⇒ L = ∅ ∨ L = ∅.
(d) L+
1
2
2
1
1 ∪ L2 = {a, b}
(e) (L∗1 ∪ L∗2 ) ⊆ (L1 ∪ L2 )∗ .
(f) (L∗1 ∪ L∗2 ) ⊇ (L1 ∪ L2 )∗ .
(g) (L1 ∩ L2 )∗ ⊆ (L∗1 ∩ L∗2 ).
(h) (L1 ∩ L2 )∗ ⊇ (L∗1 ∩ L∗2 ).
(i) L∗1 ⊆ L∗2 ⇒ L1 ⊆ L2 .
∗
(j) L∗ ⊆ L ⊆ L .
∗
(k) L∗ ⊇ L ⊇ L .
(l) L1 6= ∅ ∧ L2 6= ∅ ∧ L1 ∩ L2 = ∅ ⇒ L∗1 6= L∗2 .
(m) L+ L+ ⊆ L+ .
(n) L+ L+ ⊇ L+ .
(o) (L2 )∗ ⊆ (L∗ )2 .
(p) (L2 )∗ ⊇ (L∗ )2 .
(q) L ⊆ L2 ⇔ (λ ∈ L) ∨ (L = ∅).
(r) L2 ⊆ L ⇔ L = L+ .
(s) (λ ∈ L) ∧ (L2 ⊆ L) ⇔ L = L∗ .
(t) L = L2 ⇒ (L = L∗ ) ∨ (L = ∅).
4. Argumenteu si són certes (amb una justificació) o falses (amb un contraexemple) les següents afirmacions en general.
2
(a) (xy)R = y R xR .
R
(b) (L1 L2 )R = LR
2 L1 .
R
(c) (L1 ∪ L2 )R = LR
1 ∪ L2 .
R
(d) (L1 ∩ L2 )R = LR
1 ∩ L2 .
R
(e) L = LR .
(f) (L∗ )R = (LR )∗ .
R
(g) (L1 L2 )R = LR
1 L2 ⇒ L1 = L2 .
5. Quines de les següents definicions de la funció σ defineixen un morfisme
(és a dir, cumpleixen σ(xy) = σ(x)σ(y) per a mots x, y qualsevols).
(a) σ(a1 a2 · · · an ) = a1 a1 a2 a2 · · · an an .
n)
z }| {
(b) σ(a1 a2 a3 · · · an ) = a1 a2 a2 a3 a3 a3 · · · an · · · an .
(c) σ(w) = w.
(d) σ(w) = λ.
(e) σ(w) = a|w| .
(f) σ(w) = wR .
(g) σ(w) = σ1 (σ2 (w)) per a morfismes σ1 , σ2 .
6. Argumenteu si són certes (amb una justificació) o falses (amb un contraexemple) les següents afirmacions en general, on σ és un morfisme.
(a) σ(L1 L2 ) = σ(L1 )σ(L2 ).
(b) σ(Ln ) = σ(L)n .
(c) σ(L1 ∪ L2 ) = σ(L1 ) ∪ σ(L2 ).
(d) σ(L∗ ) = σ(L)∗ .
(e) σ(LR ) = σ(L)R .
(f) σ(L) = σ(L).
(g) σ(L) = L ⇒ ∀x ∈ L : σ(x) = x.
7. Argumenteu si són certes (amb una justificació) o falses (amb un contraexemple) les següents afirmacions en general.
(a) |L1 | · |L2 | = |L1 · L2 |.
(b) (∀a, b ∈ Σ : (a 6= b ⇒ σ(a) 6= σ(b))) ⇒ |σ(L)| = |L|, on σ és un
morfisme.
3
(c) |LR | = |L|.
(d) |Ln | = |L|n .
8. Donat un llenguatge L, shiftar L dóna lloc a un nou llenguatge, que
denotem S(L), i que conté als mots que s’obtenen agafant cada mot
de L i rotant-lo de totes les maneres possibles, formalment: S(L) =
{vu | uv ∈ L}. Argumenteu si són certes (amb una justificació) o
falses (amb un contraexemple) les següents afirmacions en general.
(a) S(L)∗ ⊆ S(L∗ ).
(b) S(L)∗ ⊇ S(L∗ ).
(c) S(L) = S(L).
(d) S(LR ) = S(L)R .
(e) S(L1 ∪ L2 ) = S(L1 ) ∪ S(L2 ).
(f) S(L1 ∩ L2 ) = S(L1 ) ∩ S(L2 ).
(g) S(L1 L2 ) = S(L1 )S(L2 ).
(h) S(σ(L)) = σ(S(L)), on σ és un morfisme.
9. Demostrad que no hay ninguna palabra w que cumpla aw = wb.
10. Demostrad que, para cualquier alfabeto Σ, hay un único lenguaje L
que cumple L = ΣL. Cuál es este lenguaje?
2
Autómatas finitos
1. Obtén los DFA’s mı́nimos A1 , A2 para L1 = {xaay | x, y ∈ {a, b}∗ } y
L2 {xbby | x, y ∈ {a, b}∗ }, respectivamente, y calcula explı́citamente el
DFA intersección A1 ∩ A2 .
2. Obtén los DFA’s mı́nimos A1 , A2 para L1 = {xaay | x, y ∈ {a, b}∗ } y
L2 {xbby | x, y ∈ {a, b}∗ }, respectivamente, y calcula explı́citamente el
DFA unión A1 ∩ A2 .
3. Obtén los DFA’s mı́nimos A1 , A2 para L1 = {xay | x, y ∈ {a, b}∗ } y
L2 {xbbby | x, y ∈ {a, b}∗ }, respectivamente, y calcula explı́citamente
el DFA unión A1 ∪ A2 .
4. Obtén el DFA mı́nimo A para L = {aaw | w ∈ {a, b}∗ }, y calcula
explı́citamente A.
4
5. Obtén el DFA mı́nimo A para L = {w ∈ {0, 1}∗ | valor2 (w) ∈ 3̇}, y
calcula explı́citamente A.
6. Obtén el DFA mı́nimo A para L = {w ∈ {0, 1}∗ | |w| ∈ 3̇ + 1}, y
calcula explı́citamente A.
7. Obtén los DFA’s mı́nimos A1 , A2 para L1 = {xaya | x, y ∈ {a, b}∗ } y
L2 {bxby | x, y ∈ {a, b}∗ }, respectivamente, y calcula explı́citamente el
λ-NFA concatenación A1 · A2 , determinı́zalo y minimı́zalo.
8. Obtén los DFA’s mı́nimos A1 , A2 para L1 = {xaay | x, y ∈ {a, b}∗ }
y L2 {bxb | x ∈ {a, b}∗ }, respectivamente, y calcula explı́citamente el
λ-NFA concatenación A1 · A2 , determinı́zalo y minimı́zalo.
9. Obtén los DFA’s mı́nimos A1 , A2 para L1 = {xaya | x, y ∈ {a, b}∗ }
y L2 {bxb | x ∈ {a, b}∗ }, respectivamente, y calcula explı́citamente el
λ-NFA concatenación A1 · A2 , determinı́zalo y minimı́zalo.
10. Obtén el DFA mı́nimo A para L = {xay ∈ {a, b}∗ | |y| = 1}, y calcula
explı́citamente el λ-NFA estrella A∗ , determinı́zalo y minimı́zalo.
11. Obtén el DFA mı́nimo A para L = {xaby ∈ {a, b}∗ | |y| = 1}, y calcula
explı́citamente el λ-NFA estrella A∗ , determinı́zalo y minimı́zalo.
12. Obtén el DFA mı́nimo A para L = {axab ∈ {a, b}∗ | |y| = 1}, y calcula
explı́citamente el λ-NFA estrella A∗ , determinı́zalo y minimı́zalo.
13. Obtén el DFA mı́nimo A para L = {w ∈ {a, b}∗ | ∀w1 , w2 (w =
w1 aw2 ⇒ |w1 |b ∈ 2̇)}, y calcula explı́citamente el λ-NFA reverso AR ,
determinı́zalo y minimı́zalo.
14. Obtén el DFA mı́nimo A para L = {w ∈ {a, b}∗ | ∀w1 , w2 (w =
w1 aw2 ⇒ |w1 |b ∈ 2̇ + 1)}, y calcula explı́citamente el λ-NFA reverso AR , determinı́zalo y minimı́zalo.
15. Obtén el DFA mı́nimo A para L = {w ∈ {a, b}∗ | ∀w1 , w2 (w =
w1 aw2 ⇒ |w1 | ∈ 2̇)}, y calcula explı́citamente el λ-NFA reverso AR ,
determinı́zalo y minimı́zalo.
16. Obtén el DFA mı́nimo A para L = {axbya | x, y ∈ {a, b}∗ }, y dado el
morfismo definido por σ(a) = aa, σ(b) = ba, calcula explı́citamente el
λ-NFA imagen σ(A), determinı́zalo y minimı́zalo.
5
17. Obtén el DFA mı́nimo A para L = {axbyc | x, y ∈ {a, b, c}∗ }, y dado
el morfismo definido por σ(a) = ab, σ(b) = b, σ(c) = λ, calcula
explı́citamente el λ-NFA imagen σ(A), determinı́zalo y minimı́zalo.
18. Obtén el DFA mı́nimo A para L = {xbcya | x, y ∈ {a, b, c}∗ }, y dado
el morfismo definido por σ(a) = bbb, σ(b) = a, σ(c) = λ, calcula
explı́citamente el λ-NFA imagen σ(A), determinı́zalo y minimı́zalo.
19. Sea A el DFA mı́nimo que reconoce a los números binarios múltiples
de 3. Calcula σ −1 (A) tomando como σ los morfismos:
(a) σ(a) = 01, σ(b) = 0, σ(c) = λ.
(b) σ(a) = 10, σ(b) = 0, σ(c) = λ.
(c) σ(a) = 00, σ(b) = 11, σ(c) = λ.
(d) σ(a) = 001, σ(b) = 101, σ(c) = 0.
20. Diseña un algoritmo de coste razonable para encontrar los estados no
accesibles de un DFA de entrada.
21. Diseña un algoritmo de coste razonable para decidir si un DFA de
entrada acepta alguna palabra.
22. Diseña un algoritmo de coste razonable para decidir si un DFA de
entrada acepta infinitas palabras.
23. Cuál es el coste del algoritmo de determinización de NFA’s en DFA’s.
24. Cual es el coste temporal de las siguentes operaciones de DFA’s:
(a) intersección.
(b) unión.
(c) complementario.
(d) concatenación (incluyendo determinización).
(e) estrella (incluyendo determinización).
(f) reverso (incluyendo determinización).
(g) aplicación de morfismo (incluyendo determinización).
(h) aplicación de morfismo inverso.
25. Por qué en nuestra definición de A∗ añadimos un nuevo estado inicial,
que es también aceptador, en el caso particular en que se cumpla
λ 6∈ L(A)? En este caso, no bastarı́a con poner el propio estado inicial
de A como aceptador?
6
26. Cuál es el coste del algoritmo de minimización con una implementación
razonable.
27. Propón un algoritmo de coste razonable para saber si dos DFA’s de
entrada reconocen el mismo lenguaje.
28. Propón un algoritmo de coste razonable para saber, si dados dos DFA’s
de entrada, el lenguaje generado por el primero está incluido en el
lenguaje generado por el segundo.
29. Justifiqueu la veracitat o falsetat de les següents afirmacions per a
DFAs mı́nims A, A1 , A2 , NFAs B, B1 , B2 , B3 i morfisme σ. En cas que
les operacions que apareixen hagin estat definides només per a DFAs,
assumiu la seva extensió natural a NFAs.
(a) A1 ∩ A2 és DFA mı́nim.
(b) A1 ∪ A2 és DFA mı́nim.
(c) Ā és DFA mı́nim.
(d) σ(A) és DFA.
(e) σ −1 (A) és DFA mı́nim.
(f) Ā¯ = A.
(g) (B R )R = B.
(h) (B ∗ )∗ = B ∗ .
(i) (B1 B2 )B3 = B1 (B2 B3 ).
(j) (B1 B2 )R = B2R B1R .
(k) (B R )∗ = (B ∗ )R .
(l) En el cas en que AR també sigui DFA, llavors podem concloure
que és mı́nim.
30. Dado un lenguaje L, definimos Prefijos(L) como el lenguaje {w|∃x :
(wx ∈ L)}. Dado un DFA A, cómo se puede construir un DFA
Prefijos(A) que cumpla L(Prefijos(A)) = Prefijos(L(A)).
31. Dado un lenguaje L, definimos Sufijos(L) como el lenguaje {w|∃x :
(xw ∈ L)}. Dado un DFA A, cómo se puede construir un DFA
Sufijos(A) que cumpla L(Sufijos(A)) = Sufijos(L(A)).
32. Dado un natural n definimos Ln = {w ∈ {0, 1}∗ |∃k : (valor2 (w) =
k · 2n )}. Justifica que cualquier Ln es regular. Cuantos estados tiene
el DFA mı́nimo que reconoce Ln ?
7
33. Cuantos estados tiene el DFA mı́nimo que reconoce las palabras sobre
{a, b, c} que contienen al menos 100 ocurrencias de cada uno de estos
tres sı́mbolos.
34. Decimos que un NFA es de aceptación única si para cada palabra
aceptada existe una única ejecución aceptadora. Demuestra que, para
un NFA de aceptación única A, AR es un NFA de aceptación única.
3
Gramáticas incontextuales
1. Doneu una gramática no ambigua per a generar expressions amb operadors binaris de suma, resta, producte, divisió, i també admetent
parentització explı́cita, de manera que l’arbre sintàctic generat es correspongui a la precedència habitual que donem als operadors.
2. Supón que una gramática cumple que en cada parte derecha hay como
mucho una variable, y que los lenguajes generados desde dos partes
derechas cualesquiera de una misma variable són disjuntos. Demuestra
que, bajo estas condiciones, la gramática no es ambigua.
3. Justifica la ambigüetat o no ambigüetat de les següents CFG’s:
(a)
S
→
(S)S|
(b)
S
→
S(S)S|
S
B
A
C
→
→
→
→
aSb|B
bAa|bCb|λ
aAbA|bAaA|λ
Aaa|aAa|aaA
(c)
(d)
S
Z1
U1
U2
F
→
→
→
→
→
aU1 |aS|bZ1 |bS
aU2 |bF
bU2
bF |b
aF |bF |a|b
(e)
S
B
C
A
→
→
→
→
AaBA|ABaA|ACA|AbabA
bb
bB
aA|bA|λ
8
(f)
S
Z1
U1
U2
Z2
F
→
→
→
→
→
→
aU1 |aS|bZ1 |bS
aU2 |bZ2
bU2
bF
aF |bF
aF |bF |λ
S
Z1
Z2
Z3
U1
U2
F
→
→
→
→
→
→
→
Z1 a|Z2 b
Z1 a|U1 b
U2 a|Z3 b
F a|U2
U2 |F ba
Fb
F a|F b|λ
(g)
4. Muestra que la gramática unión G1 ∪G2 de dos gramáticas no ambiguas
G1 , G2 sı́ podrı́a ser ambigua.
5. Muestra que la gramática concatenación G1 · G2 de dos gramáticas no
ambiguas G1 , G2 sı́ podrı́a ser ambigua.
6. Muestra que la gramática estrella G∗ de una gramática no ambigua G
sı́ podrı́a ser ambigua.
7. Muestra que la gramática imagen σ(G) de una gramática no ambigua
G por un morfismo σ sı́ podrı́a ser ambigua.
8. Muestra que la gramática reverso GR una gramática no ambigua G
tampoco es ambigua.
9. Escribe el DFA mı́nimo para {w ∈ {a, b}∗ | |w|a ∈ 2̇}, y haz la intersección explı́cita de ese DFA con la CFG S → aSa | bSb | a | b | λ.
10. Escribe el DFA mı́nimo para {wa | w ∈ {a, b}∗ }, y haz la intersección
explı́cita de ese DFA con la CFG S → aSbS | bSaS | λ.
11. Escribe el DFA mı́nimo para {aw | w ∈ {a, b}∗ }, y haz la intersección
explı́cita de ese DFA con la CFG S → aSbS | bSaS | λ.
12. Realizad la eliminación de λ-producciones, producciones unarias, y
sı́mbolos no-útiles, de las gramáticas siguientes:
9
(a)
S
→
(S)S|λ
S
→
SS|(S)|λ
S
A
→
→
AA
AA|λ
S
A
B
→
→
→
A
B
c
S
A
B
→
→
→
AB
a|λ
b|λ
S
A
B
→
→
→
AB
aAb|λ
bBc|λ
S
A
B
C
→
→
→
→
BC|λ
aA|λ
bB
c
S
X
A
Y
B
→
→
→
→
→
X|Y
Xc|A
aAb|λ
aY |B
bBc|λ
S
A
B
C
→
→
→
→
A|B|C
SaSbS|λ
SbSaS|λ
Cc|λ
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
10
13. Sea G una CFG y sea C su conjunto de variables no-accesibles. Sea
G0 la gramática obtenida al borrar de G las variables de C junto con
las reglas donde aparecen. Demuestra que el conjunto de variables
accesibles de G0 es, de hecho, el conjunto de todas las variables de G0 .
14. Sea G una CFG y sea C su conjunto de sı́mbolos no-fructı́feros. Sea
G0 la gramática obtenida al borrar de G los sı́mbolos de C junto con
las reglas donde aparecen. Demuestra que el conjunto de sı́mbolos
fructı́feros de G0 es, de hecho, el conjunto de todas las variables de G0 .
15. Sea G una CFG y sea C su conjunto de sı́mbolos no-accesibles. Supongamos que todos los sı́mbolos de G son fructı́feros. Sea G0 el resultado
de borrar de G los sı́mbolos de C junto con las reglas donde aparecen.
Demuestra que el conjunto de sı́mbolos fructı́feros de G0 es, de hecho,
el conjunto de todas las variables de G0 .
16. Da un ejemplo de gramática en la que, tras borrar un cierto sı́mbolo
útil, y todas las reglas en las que aparece, aún ası́ el lenguaje generado
se preserva.
17. Cuál es el coste temporal y espacial de eliminar las λ-producciones de
una CFG.
18. Cuál es el coste temporal y espacial de eliminar las producciones unarias de una CFG.
19. Cuál es el coste temporal y espacial de eliminar los sı́mbolos no útiles
de una CFG.
20. Cuál es el coste temporal y espacial de pasar una CFG a CNF?
21. Cuál es el coste del algoritmo propuesto en el curso para decidir si una
gramática genera una cierta palabra, si se realiza una implementación
razonable del mismo? Cuál es el coste si se supone G fija, y que la
entrada sólo contiene w?
22. Sea n el número de pasos de derivación necesarios para generar una
cierta palabra w con una cierta gramática G en forma normal de
Chomsky. Podemos establecer alguna relación entre n y |w|?
23. Justifiqueu la veracitat o falsetat de les següents afirmacions per a
CFGs G, G1 , G2 , G3 .
(a) (GR )R = G.
11
R
(b) (G1 ∪ G2 )R = GR
1 ∪ G2 .
(c) (GR )∗ = (G∗ )R .
(d) (G1 ∪ G2 )G = (G1 G) ∪ (G2 G).
(e) σ(G1 ∪ G2 ) = σ(G1 ) ∪ σ(G2 ).
(f) G1 (G2 G3 ) = (G1 G2 )G3 .
R
(g) (G1 G2 )R = GR
2 G1 .
24. Propón un algoritmo de coste razonable para saber si una CFG de
entrada genera alguna palabra.
25. Propón un algoritmo de coste razonable para saber si una CFG de
entrada genera infinitas palabras.
26. Propón un algoritmo de coste razonable para saber si una CFG de
entrada genera alguna palabra de tamaño par.
27. Propón un algoritmo de coste razonable para saber si una CFG de
entrada genera infinitas palabras de tamaño par.
28. Propón un algoritmo de coste razonable para saber, dada una CFG G
de entrada y un natural n, cuantos árboles de derivación distintos de
palabras de tamaño n genera G.
29. Sigui L un llenguatge incontextual infinit. Demostra que hi ha una
CFG G tal que L(G) = L i totes les variables de G generen un llenguatge infinit.
4
Expresiones regulares
1. Trobeu expressions regulars que representin els següents llenguatges
transformant un DFA en una expressió regular segons el mètode basat
en el lema d’Arden.
(a) Mots sobre {a, b} amb un nombre parell de a’s.
(b) Mots sobre {a, b} amb o bé un nombre parell de a’s, o bé un
nombre parell de b’s.
(c) Mots sobre {a, b} acabats en ababa.
(d) Mots sobre {a, b} que no contenen el submot aba.
(e) Mots sobre {a, b, c} tals que, entre cada dues a’s hi ha almenys
una b.
12
(f) Mots sobre {0, 1} amb almenys dos 0’s consecutius.
2. Dada una expresión regular, cómo construirı́as otra, de forma sencilla,
que genere el lenguaje reverso de la primera?
3. Dada una expresión regular r y un morfismo σ, cómo construirı́as otra
expresión regular, de forma sencilla, que genere σ(L(r))?
4. Dadas dos expresiones regulares r1 y r2 , cómo decidirı́as:
(a) L(r1 ) = L(r2 ).
(b) L(r1 ) ⊆ L(r2 ).
(c) L(r1 ) = ∅.
(d) |L(r1 )| = ∞.
(e) |L(r1 ) ∩ L(r2 )| = 0.
(f) |L(r1 ) ∩ L(r2 )| = ∞.
5. (Lema de Arden (bis)) Demuestra que BA∗ es solución de la ecuación
X = XA + B, que toda solución de esa ecuación contiene a BA∗ , y
que en el supuesto de que A no contenga λ, entonces BA∗ es la única
solución.
6. Aprovechando el resultado del ejercicio anterior, obtén una expresión
regular para el complementario de las palabras que representan un
múltiple de 3 (es decir, {w ∈ {0, 1}∗ | valor2 (w) ∈ 3̇}). Para ello, escribe el autómata mı́nimo para ese lenguaje, crea una variable Xq para
cada estado q, y crea ecuaciones con la idea de que la sustitución solución de cada Xq sea el lenguaje de las palabras que nos llevan desde
el estado inicial al estado q.
7. Usa el método del ejercicio anterior para obtener expresiones regulares
de los siguientes lenguajes. Compáralas con expresiones regulares que
se obtienen aplicando el lema de Arden tal y como se explica en los
videos.
(a) Mots sobre {a, b} amb un nombre parell de a’s.
(b) Mots sobre {a, b} amb o bé un nombre parell de a’s, o bé un
nombre parell de b’s.
(c) Mots sobre {a, b} acabats en ababa.
(d) Mots sobre {a, b} que no contenen el submot aba.
13
(e) Mots sobre {a, b, c} tals que, entre cada dues a’s hi ha almenys
una b.
(f) Mots sobre {0, 1} amb almenys dos 0’s consecutius.
5
No regularidad
1. Demostreu la no-regularitat dels següents llenguatges:
(a) {an bn |n ∈ 2̇}.
(b) {an bn |n ∈ 3̇}.
(c) {an bm |n 6= m}.
(d) {a2n bn |n ∈ 2̇}.
(e) {w ∈ {a, b}∗ | |w|a = |w|b }.
(f) {an bm |n ≤ m}.
(g) {an bm |n ≥ m}.
(h) {cm an bn |(n, m ≥ 0)}.
(i) {a, b}∗ ∪ {cm an bn |(m ≥ 1) ∧ (n ≥ 0)}.
(j) {w ∈ {a, b}∗ |w = wR }.
(k) {ww ∈ {a, b}∗ }
2
(l) {an |n ≥ 0}.
n
(m) {a2 |n ≥ 0}.
(n) {an |n apareix a la successió de Fibonacci}.
(o) {an |n és primer}.
(p) {an |n és parell o primer}.
(q) {abab2 ab3 . . . abn |n ≥ 0}.
(r) {w1 #w2 |w1 , w2 ∈ {0, 1}∗ ∧ (|w1 | < |w2 | ∨ |w1 | ∈ 2̇)}.
(s) {u#v|u, v ∈ {a, b}∗ ∧ v és submot de u}.
(t) {w ∈ (a + b + c)∗ | |w|a ≥ |w|b ∨ |w|b ≥ |w|c }.
(u) Qualsevol subconjunt infinit del llenguatge {an bn }.
(v) {w ∈ {a, b}∗ | (|w| ∈ 3̇ ⇒ |w|a = |w|b )}.
(w) {w1 #w2 |w1 , w2 ∈ {0, 1}∗ ∧ valor2 (w1 ) = valor2 (w2 )}.
(x) {w1 #w2 |w1 , w2 ∈ {0, 1}∗ ∧ valor2 (w1 ) = 1 + valor2 (w2 )}.
14
(y) {w1 #w2 #w3 |w1 , w2 , w3 ∈ {0, 1}∗ ∧ valor2 (w1 ) + valor2 (w2 ) =
valor2 (w3 )}.
(z) {xy ∈ {a, b}∗ | |x|a = 2|y|b }
2. Considerem el llenguatge Lk = {w ∈ (0 + 1)∗ |valor2 (w) ≤ k}. Quins
dels següents llenguatges són regulars per a qualsevol k:
(a) Lk .
S
(b) k≥1 Lk .
(c) {w#w|w ∈ Lk }.
(d) {1w#1w|1w ∈ Lk }.
(e) {1w#1w|w ∈ Lk }.
(f) {w#w|w ∈ Lk ∧ |w| ≤ valor2 (w)}.
(g) {w#w|1w ∈ Lk }.
(h) {w1 #w2 |w1 , w2 ∈ Lk ∧ valor2 (w1 ) = valor2 (w2 ).
(i) {w1 #w2 |∃k : (w1 , w2 ∈ Lk ∧ valor2 (w1 ) = valor2 (w2 )).
3. Quins dels següents llenguatges podem assegurar que són no regulars
sabent que A i B són no regulars i que σ és un morfisme.
(a) Ā.
(b) A ∪ B.
(c) A ∩ B.
(d) A · B.
(e) AR .
(f) A∗ .
(g) S(A) (recordeu la definició de shiftar un llenguatge dels exercicis
del primer tema).
(h) σ(A).
(i) σ −1 (A).
4. Determineu quin llenguatge genera cadascuna de les següents CFG’s,
i justifiqueu si aquest llenguatge és regular o no.
(a)
15
S
A
B
C
D
→
→
→
→
→
AB|CD
0A0|0
1B1|λ
0C0|λ
1D1|λ
S
A
B
→
→
→
aA|bB|λ
Sa|Sb
Sb
S
A
B
→
→
→
AB
0A0|1
1B1|0
S
→
0S0|0S1|λ
S
A
B
→
→
→
AB
0A0|0A1|λ
0B|1B|λ
S
A
B
→
→
→
A|B
0S0|1S1|λ
0S1|1S0|λ
S
A
B
→
→
→
A|B
0A0|1A1|λ
0B1|1B0|λ
S
X
→
→
aSa|bSb|X
aXb|bXa|a|b|λ
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
S
X
W
W0
→
→
→
→
W XW 0
aX|bX|λ
aW |bW |λ
W 0 a|W 0 b|λ
16
6
Autómatas con pila y jerarquı́a de Chomsky
1. Muestra un ejemplo de lenguaje inambiguo que no sea DCFL.
2. Muestra un ejemplo de DCFL que no sea regular.
3. Muestra que los lenguajes inambiguos y los DCFL no son cerrados por
morfismo directo.
4. Muestra que los lenguajes inambiguos y los DCFL no son cerrados por
intersección.
5. Muestra que los DCFL no son cerrados por reverso.
6. Muestra que los lenguajes inambiguos y los DCFL no son cerrados por
concatenación.
7. Muestra que los lenguajes inambiguos y los DCFL no son cerrados por
estrella.
8. Sigui A regular, B CFL, C DCFL i σ un morfisme. Quins dels següents
llenguatges podem assegurar que són regulars, quins podem assegurar
que són DCFL, i quins podem assegurar que són CFL? Raoneu les
respostes, i doneu contraexemples quan sigui necessari.
(a) σ −1 (B) ∩ A.
(b) σ −1 (C).
(c) C R .
(d) S(C) (recordeu la definició de shiftar un llenguatge donada en els
problemes del primer tema).
(e) S(A).
(f) (A ∩ C ∪ B).
(g) (σ(B) ∩ B)C.
(h) (A − σ(B) ∩ C).
(i) (σ −1 (σ(B)) ∩ B)C.
(j) (σ(A) ∩ C)σ(B ∩ A).
(k) σ(σ −1 (B) ∩ A)σ −1 (C).
9. Propón un algoritmo de coste razonable para saber, dado un DFA A
y una CFG G, si se cumple L(G) ⊆ L(A).
17
10. Propón un algoritmo de coste razonable para saber, dado un DFA A
y una CFG G, si G genera infinitas palabras no aceptadas por A.
11. Propón un algoritmo de coste razonable para saber, dado un DFA A
y una CFG G, si G genera alguna palabra de tamaño par no aceptada
por A.
7
Máquinas de Turing
1. Escrivid TM sencillas para los siguientes lenguajes:
(a) {an bn cn |n ≥ 0}.
(b) {w1 #w2 |w1 , w2 ∈ {0, 1}∗ ∧ valor2 (w1 ) = valor2 (w2 ) + 1}.
(c) {ww|w ∈ {0, 1}∗ }.
n
(d) {02 |n ≥ 0}
2. Escrivid 2-TM (o 3-TM o 4-TM en caso de necesidad) sencillas para
los siguientes lenguajes:
(a) {an bn cn |n ≥ 0}.
(b) {w1 #w2 |w1 , w2 ∈ {0, 1}∗ ∧ valor2 (w1 ) = valor2 (w2 ) + 1}.
(c) {ww|w ∈ {0, 1}∗ }.
n
(d) {02 |n ≥ 0}
2
(e) {0n |n ≥ 0}
3. Argumenta a grandes rasgos que las máquinas de Turing nodeterministas no son más expresivas que las máquinas de Turing deterministas.
4. Considera el modelo de máquina que definimos a grandes rasgos ası́:
una variante de los autómatas con pila donde, en vez de una pila,
tenemos dos pilas, las transiciones dependen del contenido de la cima
de ambas pilas, y en la acción de cada transición se puede o bien borrar
el elemento de la cima o bien añadir nuevos elementos, todo ello en
ambas pilas. Justifica a grandes rasgos que este modelo puede simular
una máquina de Turing, y que, por tanto, es Turing-completo.
5. Considera el modelo de máquina que definimos a grandes rasgos ası́:
una variante de los autómatas con pila donde, en vez de una pila,
tenemos una cola, las transiciones dependen del contenido del inicio de
18
la cola, y en la acción de cada transición se puede borrar el elemento del
inicio, y también añadir nuevos elementos al final de la cola. Justifica a
grandes rasgos que este modelo puede simular una máquina de Turing,
y que, por tanto, es Turing-completo.
8
decidibilidad, semi-decidibilidad, computabilidad
1. Demuestra que los lenguajes decidibles son cerrados por las siguientes
operaciones:
(a) Intersección.
(b) Complementario.
(c) Resta (de conjuntos).
(d) Reverso.
(e) Concatenación.
(f) Estrella.
(g) Morfismo inverso.
(h) Shiftado.
2. Demuestra que los lenguajes decidibles no son cerrados por morfismo
directo.
3. Demuestra que los lenguajes semi-decidibles son cerrados por las siguientes operaciones:
(a) Intersección.
(b) Concatenación.
(c) Reverso.
(d) Estrella.
(e) Morfismo directo.
(f) Morfismo inverso.
(g) Shiftado.
4. Demuestra que los siguientes conjuntos son semi-decidibles:
(a) {hx, yi|Mx (y) ↓}.
19
(b) {x|∃y : Mx (y) ↓}.
(c) {hu, v, Ri | u →∗R v}.
(d) {G ∈ CFG | G ambigua}.
(e) {hG1 , G2 i | G1 , G2 ∈ CFG ∧ L(G1 ) ∩ L(G2 ) 6= ∅}.
5. Sea B un conjunto semi-decidible y sea C un conjunto que cumple
C = {x | ∃y : hx, yi ∈ B}. Demuestra que C es semi-decidible.
6. Sea C un conjunto infinito. Demuestra que C es decidible si y solo si
existe una función computable, total, inyectiva y creciente cuya imagen
es C.
7. Sea C un conjunto infinito. Demuestra que C es semi-decidible si y
solo si existe una función computable total e inyectiva cuya imagen es
C.
8. Sea f una función computable e inyectiva. Es f −1 computable e inyectiva?
9. Sea f : N → N una función estrı́ctamente decreciente. Podemos asegurar que es computable?
10. Sean A y B dos conjuntos tales que (A ∪ B) − (A ∩ B) es decidible y
A es decidible. Eso implica que B es decidible?
11. Sean A y B dos conjuntos tales que (A ∪ B) − (A ∩ B) es decidible y
A es semi-decidible. Eso implica que B es semi-decidible?
9
No-decidibilidad,
computabilidad
no-semi-decidibilidad,
no-
1. Clasifica como decidibles, no decidibles pero semi-decidibles, o no semidecidibles, los siguientes conjuntos.
(a) {p|Lp es finito}.
(b) {p|Lp es infinito}.
(c) {p|Mp (p) = p}.
(d) {p|∃y : My (p) = p}.
(e) {p | |Dom(ϕp )| ≥ 10}.
(f) {p | |Dom(ϕp )| ≥ 0}.
20
(g) {p | |Im(ϕp )| ≥ 10}.
(h) {p | |Im(ϕp )| ≥ 0}.
(i) {p | |Im(ϕp )| < |Dom(ϕp )| < ∞}.
(j) {p | |Dom(ϕp )| < |Im(ϕp )| < ∞}.
(k) {p|ϕp es inyectiva y total}.
(l) {p|ϕp es exhaustiva y total}.
(m) {p|ϕp es creciente y total}.
(n) {p|ϕp es total y estrı́ctamente decreciente}.
(o) {p|ϕp es inyectiva parcial}.
(p) {p|ϕp es exhaustiva parcial}.
(q) {p|ϕp es creciente parcial}.
(r) {p|ϕp es estrı́ctamente decreciente parcial}.
2. Clasifica como decidibles, no decidibles pero semi-decidibles, o no semidecidibles, los siguientes conjuntos.
(a) {hp, qi|∀z : ((Mp (z) ↓ ∧Mq (z) ↑) ∨ (Mp (z) ↑ ∧Mq (z) ↓))}.
(b) {hp, zi|∃y : Mp (y) = z}.
(c) {hp, zi|∃y : Mp (y) 6= z}.
(d) {p | Lp es incontextual}.
(e) {p | Lp no es incontextual}.
(f) {p|Dom(ϕp ) ∈ Dec}.
(g) {p|Dom(ϕp ) 6∈ Dec}.
(h) {p|Dom(ϕp ) 6∈ semi − Dec}.
(i) {p|Im(ϕp ) ∈ Dec}.
(j) {p|Im(ϕp ) 6∈ Dec}.
(k) {p|Im(ϕp ) ∈ semi − Dec}.
(l) {p|Im(ϕp ) 6∈ semi − Dec}.
(m) {p|p ≤ 100 ∧ Dom(ϕp ) ∈ Dec}.
(n) {p|p ≥ 100 ∧ Dom(ϕp ) ∈ semi − Dec}.
(o) {p|∀y > p : ϕy es biyectiva}.
(p) {p|∀y < p : ϕy es biyectiva}.
(q) {p|∃y > p : ϕy es biyectiva}.
21
(r) {p|∃y < p : ϕy es biyectiva}.
(s) {p|∃y : Dom(ϕp ) ⊆ Dom(ϕy )}.
(t) {p|∃y : Dom(ϕp ) ⊇ Dom(ϕy )}.
(u) {p|Dom(ϕp ) ⊆ 2̇}.
(v) {p|Dom(ϕp ) ⊇ 2̇}.
3. Clasifica como decidibles, no decidibles pero semi-decidibles, o no semidecidibles, los siguientes conjuntos.
(a) K × K.
(b) K̄ × K.
(c) K̄ × K̄.
(d) K̄ × K.
(e) {x | el decimal 3 aparece x veces en el número π}.
(f) {hx, yi | 0 ≤ x ≤ 9
∧ el decimal x aparece y veces
consecutivas en la secuencia de decimales del número π}.
4. Demuestra que K no se puede reducir a K̄.
5. Demuestra que puede ocurrir que C sea decidible, f computable, y sin
embargo f (C) no sea decidible.
6. Demuestra que puede ocurrir que C sea decidible, f computable y
total, y sin embargo f (C) no sea decidible.
7. Demuestra que si C es semi-decidible y f es computable, entonces
f (C) es semi-decidible.
8. Para cada una de las siguientes funciones indica si son computables,
totales y cuál es su imagen.
1
si ∃n : Mn (x) ↓
(a) f (x) =
↑
si 6 ∃n : Mn (x) ↓
1
si ∀n : Mn (x) ↓
(b) f (x) =
↑
si 6 ∀n : Mn (x) ↓
1
si ∃n : Mx (n) ↓
(c) f (x) =
↑
si 6 ∃n : Mx (n) ↓
1
si ∀n : Mx (n) ↓
(d) f (x) =
↑
si 6 ∀n : Mx (n) ↓
22
9. La función caracterı́stica de un conjunto C se define como:
1
si x ∈ C
χC (x) =
0
si x 6∈ C
Demuestra que C es decidible si y solo si su función caracterı́stica χC
es computable.
10. Justifica si los siguientes conjuntos de parejas son funciones, y si son
funciones computables.
(a) ϕ3 .
(b) {hx, yi|Mx (x) = y}.
(c) {hx, yi|Mx (x) ≤ y}.
(d) {hx, yi|Mx (x) ≥ y}.
(e) {hx, yi|Mx (x) = My (y)}.
(f) {hx, yi|Mx (x) para en y pasos o más}.
(g) {hx, yi|Mx (x) para en exactamente y pasos}.
(h) {hx, 1i|Mx (x) ↓} ∪ {hx, 0i|Mx (x) ↑}.
(i) {hx, 1i|Mx (x) ↓}.
(j) {hx, 0i|Mx (x) ↑}.
(k) {hx, yi|y = |{z|Mx (z) ↓}|}.
10
Problemas naturales indecidibles
1. Demostrad que los siguientes problemas son indecidibles reduciendo
desde accesibilidad de palabras.
(a) {hu, v, Ri|∃w1 , w2 : u →∗R w1 vw2 }.
(b) {hu, v, Ri|u →∗R vv}.
(c) {hu, v, Ri|uu →∗R v}.
(d) {hu, v, w, Ri|u →∗R v sin pasar por w}.
(e) {hu, v, Ri|u →∗R v ∧ ∀(l → r) ∈ R : |l| = 1 ∨ |r| = 1}.
(f) {hu, v, R = {l1 → r1 , . . . , ln → rn }i
|l1 |, |r1 |, . . . , |ln |, |rn | ≤ 2 ∧ |u| = |v| = 1}.
|
u
→∗R
v ∧
(g) {hu, v, Ri|u →∗R v usando cada regla de R al menos una vez}.
23
2. Demostrad que los siguientes problemas son indecidibles reduciendo
desde PCP o PCP-INI.
(a) {hu1 , v1 , . . . , un , vn i|n ∈ 2̇ + 1 ∧ ∃1 ≤ i1 , . . . , ik ≤ n : (k > 0 ∧
ui1 · · · uik = vi1 · · · vik )}.
(b) {hu1 , v1 , . . . , un , vn i|∃1 ≤ i1 , . . . , ik ≤ n : (k ∈ 2̇ ∧ ui1 · · · uik =
vi1 · · · vik )}.
(c) {hu1 , v1 , . . . , un , vn i| |u1 |, |v1 |, . . . , |un |, |vn | ∈ 2̇ ∧ ∃1 ≤ i1 , . . . , ik ≤
n : (k > 0 ∧ ui1 · · · uik = vi1 · · · vik )}.
(d) {hu1 , v1 , . . . , un , vn i|u1 , v1 , . . . , un , vn ∈ {0, 1}∗ ∧ ∃1 ≤ i1 , . . . , ik ≤
n : (k > 0 ∧ ui1 · · · uik = vi1 · · · vik )}.
3. Demostrad que los siguientes problemas son indecidibles reduciendo
desde intersección vacı́a, o desde intersección no vacı́a.
(a) {hG1 , G2 i | |L(G1 ) ∩ L(G2 )| ≥ 3}.
(b) {hG1 , G2 i | |L(G1 ) ∩ L(G2 )| = 3}.
(c) {hG1 , G2 i | |L(G1 ) ∩ L(G2 )| = ∞}.
(d) {hG1 , G2 i | |L(G1 )| = |L(G2 )| = ∞ ∧ |L(G1 ) ∩ L(G2 )| =
6 ∞}.
(e) {hG1 , G2 i | ΣG1 = ΣG2 = {a, b}∗ ∧ L(G1 ) ∩ L(G2 ) 6= ∅ ∧ L(G1 ) ∩
L(G2 ) ∩ {aa, bb}∗ = ∅}.
(f) {hG1 , G2 i | L(G1 ) ∩ L(G2 ) 6= ∅∧ 6 ∃w ∈ (L(G1 ) ∩ L(G2 )) : |w| ∈
2̇ + 1}.
(g) {hG1 , G2 i | L(G1 )∩L(G2 ) 6= ∅∧ 6 ∃w ∈ (L(G1 )∩L(G2 )) : |w| ∈ 2̇}.
4. Demostrad que los siguientes problemas son indecidibles reduciendo
desde no universalidad.
(a) {G | L(G) 6= Σ∗ − {λ}}.
(b) {G | L(G) 6= Σ∗ − {aab}}.
(c) {G | L(G) 6⊇ (aabΣ∗ )}.
(d) {G = hV, Σ, δ, Si | Σ = {a, b} ∧ L(G) 6= Σ∗ }.
(e) {G = hV, Σ, δ, Si | Σ = {a, b} ∧ L(G) 6= (aa + bb)∗ }.
(f) {G = hV, Σ, δ, Si | Σ = {a, b} ∧ L(G) 6= (aa + bb + ab + ba)∗ }.
(g) {G = hV, Σ, δ, Si | Σ = {a, b, c} ∧ L(G) 6= Σ∗ }.
(h) {G | |L(G)| = ∞}.
24
5. Sea L un lenguaje regular. Demuestra que o bien {G | L(G) = L}
o bien {G | L(G) = L̄} es indecidible. Pista: Procede por reducción
al absurdo suponiendo que ambos son decidibles y concluyendo que
entonces universalidad es decidible.
6. Demuestra que los siguientes problemas son indecidibles reduciendo
desde veracidad de fórmulas de lógica de primer orden interpretadas
sobre palabras.
(a) El problema de saber si una descripción de la forma {w|F (w)},
donde F es una fórmula de lógica de palabras con variable libre
w, representa al lenguaje (a + b)∗ .
(b) El problema de saber si una descripción de la forma {w|F (w)},
donde F es una fórmula de lógica de palabras con variable libre
w, representa al lenguaje vacı́o.
(c) El problema de saber si una descripción de la forma {w|F (w)},
donde F es una fórmula de lógica de palabras con variable libre
w, representa al lenguaje a∗ b∗ .
(d) El problema de saber si una descripción de la forma {w|F (w)},
donde F es una fórmula de lógica de palabras con variable libre w,
representa al lenguaje de las palabras palı́ndromas sobre {a, b}.
(e) El problema de saber si una descripción de la forma {w|F (w)},
donde F es una fórmula de lógica de palabras con variable libre
w, representa algun lenguaje finito.
(f) El problema de saber si una descripción de la forma {w|F (w)},
donde F es una fórmula de lógica de palabras con variable libre
w, representa algun lenguaje incontextual.
7. Demuestra que los siguientes problemas son decidibles:
(a) {hu, v, R = {l1 → r1 , . . . , ln → rn }i | u →∗R v ∧ ∀1 ≤ i ≤ n : |li | ≥
|ri |}.
(b) {hu, v, R = {l1 → r1 , . . . , ln → rn }i | u →∗R v ∧ ∀1 ≤ i ≤ n : |li | ≤
|ri |}.
(c) {hu, v, R = {l1 → r1 , . . . , ln → rn }i | u →∗R v ∧ |R| = 1}.
(d) {hu, v, R = {l1 → r1 , . . . , ln → rn }i |
|u|, |v|, |l1 |, |r1 |, . . . , |ln |, |rn | ≤ 10 ∧ Σ = {0, 1}}.
u
→∗R
v ∧
(e) {hu, v, R = {l1 → r1 , . . . , ln
u, v, l1 , r1 , . . . , ln , rn ∈ a∗ }.
u
→∗R
v ∧
25
→
rn }i
|
(f) {hu1 , v1 , . . . , un , vn i|u1 , v1 , . . . , un , vn ∈ a∗ ∃1 ≤ i1 , . . . , ik ≤ n :
ui1 · · · uik = vi1 · · · vik }.
(g) {hG, Ai ∈ CFG × DFA | L(G) 6⊆ L(A)}.
8. Completa
la
siguiente
reducción
de
sección
no
vacı́a:
hu1 , v1 , . . . , un , vn i
u1 Sv1R | · · · |un SvnR |u1 #v1R | · · · |un #vnR , . . .? . . .i.
PCP
7→
a
interhS
→
9. Cuales de los siguientes problemas pueden ser decidibles y cuales pueden ser indecidibles:
(a) {hu, vi | u →∗R v} donde R es un sistema de reescritura fijado de
antemano.
(b) {R | u →∗R v} donde u, v son palabras diferentes fijadas de antemano.
(c) {hu1 , v1 , . . . , un , vn i|∃1 ≤ i1 , . . . , ik ≤ n : ui1 · · · uik = vi1 · · · vik }
donde k es un número fijado de antemano.
(d) {hu1 , v1 , . . . , un , vn i|∃1 ≤ i1 , . . . , ik ≤ n : ui1 · · · uik = vi1 · · · vik }
donde n es un número fijado de antemano.
(e) {G|L(G) ⊇ L(G0 )} donde G0 es una gramática fijada de antemano.
(f) {G|L(G) 6⊆ L(G0 )} donde G0 es una gramática fijada de antemano. Pista: piensa en la reducción de PCP a intersección no vacı́a
del problema 8.
(g) {G|L(G) ∩ L(G0 ) 6= ∅} donde G0 es una gramática fijada de antemano. Pista: piensa en la reducción de PCP a intersección no
vacı́a del problema 8.
(h) {G ∈ CFG | L(G) 6⊇ L(A)} donde A es un DFA fijado de antemano.
10. Dado un sistema de reescritura R = {l1 → r1 , . . . , ln →
rn } sobre el alfabeto {a, b},, llamaremos wR a la palabra
#l1 $r1 #l2 $r2 # . . . #ln $rn #, donde # y $ son sı́mbolos nuevos. Esencialmente, wR es una palabra que codifica el sistema de reescritura.
Demuestra que existe una fórmula de lógica de primer orden sobre
palabras F (x, y, z), donde x, y y z son variables libres, que cumple lo
siguiente: dadas dos palabras u, v y un sistema de reescritura R, todos
ellos sobre el alfabeto {a, b}, resulta que u →∗R v ⇔ F (u, v, wR ).
26
11. Aprovechando el resultado del ejercicio anterior, Demuestra que los
siguientes problemas son indecidibles reduciendo desde veracidad de
fórmulas de lógica de primer orden interpretadas sobre palabras.
(a) El problema de saber si una descripción de la forma {w|F (w)},
donde F es una fórmula de lógica de palabras con variable libre
w, representa algun lenguaje decidible.
(b) El problema de saber si una descripción de la forma {w|F (w)},
donde F es una fórmula de lógica de palabras con variable libre
w, representa algun lenguaje semi-decidible.
12. Justifica que {G|L(G) no es regular} es indecidible. Pista: retoca
la reducción de PCP a intersección no vacı́a hu1 , v1 , . . . , un , vn i 7→
hG1 , G2 i ası́: hu1 , v1 , . . . , un , vn i 7→ h{am bm }·G1 , {am bm }·G2 i, donde a
y b son sı́mbolos nuevos. Haz lo mismo con la reducción de PCP a nouniversalidad. Justifica que la gramática resultante, si no es universal,
entonces el lenguaje que genera no es regular.
27
Descargar