Teoria da Computação - Department of Mathematics ...ccal/TComp/tc1617.teste1... · Instituto...

12
Instituto Superior Técnico Lic. Engenharia Informática e de Computadores (Alameda) Teoria da Computação 19 de Abril de 2017 Teste 1A Duração: 1h30 Grupo I (5 valores) Construa uma máquina de Turing que calcule a função que a cada natural n N 0 faz corresponder n 2 . Deverá usar notação unária para os naturais. Ap- resente apenas a representação gráfica da máquina de Turing. Resolução: Considere-se a máquina de Turing com alfabeto Γ = {1, } e duas fitas bidireccionais, representada graficamente por: q in q 1 q ac q 2 1 , RS , LS 1 11, RL 1 11, LL 1, RL ,SR A máquina explora sucessivamente a propriedade (n + 1) 2 = n 2 +2n + 1. Grupo II (5 valores) Sejam L 1 ,L 2 ,L 3 linguagens sobre um alfabeto Σ. Mostre que se L 1 é de- cidível e L 2 ,L 3 são reconhecíveis então ( L 1 L 2 ) L 3 é uma linguagem recon- hecível. Resolução: Sabendo que L 1 é decidível e L 2 ,L 3 reconhecíveis, então existem máquinas de Turing D 1 , R 2 e R 3 tais que: L ac (D 1 )= L 1 e L rj (D 1 )= L 1 , L ac (R 2 )= L 2 ,e

Transcript of Teoria da Computação - Department of Mathematics ...ccal/TComp/tc1617.teste1... · Instituto...

Page 1: Teoria da Computação - Department of Mathematics ...ccal/TComp/tc1617.teste1... · Instituto Superior Técnico Lic. Engenharia Informática e de Computadores (Alameda) Teoria da

Instituto Superior TécnicoLic. Engenharia Informática e de Computadores (Alameda)

Teoria da Computação19 de Abril de 2017 Teste 1A Duração: 1h30

Grupo I (5 valores)

Construa uma máquina de Turing que calcule a função que a cada naturaln ∈ N0 faz corresponder n2. Deverá usar notação unária para os naturais. Ap-resente apenas a representação gráfica da máquina de Turing.

Resolução: Considere-se a máquina de Turing com alfabeto Γ = {1,�} e duasfitas bidireccionais, representada graficamente por:

qin q1

qac

q21�→ ��, RS ��→ ��, LS

1�→ 1 1, RL 1�→ 1 1, LL

��→ � 1, RL

��→ ��, SR

A máquina explora sucessivamente a propriedade (n+ 1)2 = n2 + 2n+ 1.

Grupo II (5 valores)

Sejam L1, L2, L3 linguagens sobre um alfabeto Σ. Mostre que se L1 é de-cidível e L2, L3 são reconhecíveis então (L1 ∩ L2) ∪ L3 é uma linguagem recon-hecível.

Resolução: Sabendo que L1 é decidível e L2, L3 reconhecíveis, então existemmáquinas de Turing D1, R2 e R3 tais que:

• Lac(D1) = L1 e Lrj(D1) = L1,

• Lac(R2) = L2, e

Page 2: Teoria da Computação - Department of Mathematics ...ccal/TComp/tc1617.teste1... · Instituto Superior Técnico Lic. Engenharia Informática e de Computadores (Alameda) Teoria da

• Lrj(R3) = L3.

Considere-se a máquina M , com duas fitas, que copia o input para a se-gunda fita, e de seguida escolhe não-deterministicamente entre simular D1 nafita 1 e R2 na fita 2, ou apenas simular R3 na fita 1, descrita por:

qin : w

q1 : w

w

escolhe não-deterministicamente

↓ ↓

simula D1 sobre w na fita 1 simula R3 sobre w na fita 1

se rejeita ↓ ↓ se aceita

simula R2 sobre w na fita 2 qac

se aceita ↓

qac

Tem-se que:

• Se w ∈ (L1 ∩ L2) ∪ L3 então (i) w ∈ L1 ∩ L2, ou (ii) w ∈ L3; no caso (i)w /∈ L1 e w ∈ L2 pelo que escolhendo não-deterministicamente o ramo daesquerda se terá que D1 rejeita w e R2 aceita w e logo M aceita w; nocaso (ii), escolhendo não-deterministicamente o ramo da direita ter-se-áque R3 aceita w e logo M aceita w.

• Se M aceita w então fá-lo escolhendo não-deterministicamente um dosramos; no ramo da esquerda ter-se-á que D1 rejeita w e R2 aceita w peloque w ∈ L1 ∩ L2 ⊆ (L1 ∩ L2) ∪ L3; no ramo da direita ter-se-á que R3aceita w pelo que w ∈ L3 ⊆ (L1 ∩ L2) ∪ L3.

Conclui-se que Lac(M) = (L1∩L2)∪L3 e portanto a linguagem (L1∩L2)∪L3é reconhecível.

Grupo III (3+2 valores)

Seja L o conjunto das linguagens sobre o alfabeto {0}.

a) Mostre que L não é numerável.

Page 3: Teoria da Computação - Department of Mathematics ...ccal/TComp/tc1617.teste1... · Instituto Superior Técnico Lic. Engenharia Informática e de Computadores (Alameda) Teoria da

Resolução: Suponha-se, por absurdo, que L fosse numerável, ou seja, queexistisse h : N→ L bijectiva. Por simplicidade, dado i ∈ N, use-se Li ∈ Lpara denotar a linguagem h(i).

Considere-se a linguagem L ⊆ {0}∗ tal que, para cada n ∈ N0, 0n ∈ L see só se 0n /∈ Ln+1.

Facilmente, tem-se que L 6= Li qualquer que seja i ∈ N. Nomeadamente,a palavra 0i−1 distingue as linguagens pois 0i−1 ∈ L se e só se 0i−1 /∈ Li.Conclui-se que h não é sobrejectiva, o que é uma contradição.

b) Mostre que existem linguagens em L que não são decidíveis (pode assumir,enunciando-os claramente, os resultados relevantes relativos à cardinali-dade do conjunto das máquinas de Turing).

Resolução: Seja D o conjunto das linguagens decidíveis contidas em {0}∗.Sabendo que o conjunto das máquinas de Turing é numerável, é fácilmostrar que também D é numerável, ou seja, #D = #N. Seja T oconjunto das máquinas de Turing sobre o alfabeto {0} e h : T → N umabijecção.

A função k : D → N tal que k(L) = h(ML) para alguma escolha demáquina de Turing ML que decida L é injectiva, pelo que D é contável.A função g : N → D tal que g(n) é a linguagem {ε, 0, 00, 000, . . . , 0n} éinjectiva, pelo que D é infinito. Note-se que g(n) ∈ D pois a linguagem éreconhecida pela máquina com n+ 1 estados de controlo que avança peloinput w e pela sequência de estados em simultâneo, aceitando w caso apalavra termine nalgum dos estados de controlo, e rejeitando w caso elaprossiga para além do último estado de controlo.

Na alínea a) mostrámos que #L 6= #N. Obviamente tem-se D ⊆ L eportanto #D ≤ #L. Mas então terá de ter-se #D < #L e logo L\D 6= ∅.Conclui-se que existem linguagens em L que não são decidíveis.

Grupo IV (2+3 valores)

Considere a linguagem

LA = {M : M é uma máquina de Turing que rejeita M}.

a) Mostre que LA é reconhecível.

Resolução: Considere-se a máquina R descrita por:

Page 4: Teoria da Computação - Department of Mathematics ...ccal/TComp/tc1617.teste1... · Instituto Superior Técnico Lic. Engenharia Informática e de Computadores (Alameda) Teoria da

qin : M

verifica se o input éuma máquina de Turing

se não→ qrj

↓ se sim

simula M sobre M(usando a máquina universal)

se aceita→ qrj

↓ se rejeita

qac

Tem-se que:

– se M é uma máquina e M rejeita M então R aceita M , e– se R aceita M então M é uma máquina e M rejeita M .

Conclui-se que Lac(R) = LA, e portanto LA é reconhecível.

b) Mostre que LA não é decidível.

Resolução: Suponha-se, por absurdo, que LA fosse decidível. Então exis-tiria uma máquina de Turing DA que decidia LA, isto é, Lac(DA) = LA eLrj(DA) = LA.Como DA é um classificador, há duas hipóteses:

– seDA aceitaM entãoM ∈ LA, o que significa queM é uma máquinade Turing que rejeita M , ou

– DA rejeita M , e portanto M /∈ LA, o que significa que M não é umamáquina de Turing ou então M não rejeita M .

Executando a máquina DA sobre o input DA, conclui-se que DA rejeitaDA se e só se DA não rejeita DA, o que é uma contradição.

Page 5: Teoria da Computação - Department of Mathematics ...ccal/TComp/tc1617.teste1... · Instituto Superior Técnico Lic. Engenharia Informática e de Computadores (Alameda) Teoria da

Instituto Superior TécnicoLic. Engenharia Informática e de Computadores (Alameda)

Teoria da Computação19 de Abril de 2017 Teste 1A Duração: 1h30

Grupo I (5 valores)

Construa uma máquina de Turing que calcule a função que a cada natu-ral n ∈ N0 faz corresponder n2. Deverá usar notação unária para os naturais.Apresente apenas a representação gráfica da máquina de Turing.

Grupo II (5 valores)

Sejam L1, L2, L3 linguagens sobre um alfabeto Σ. Mostre que se L1 é de-cidível e L2, L3 são reconhecíveis então (L1 ∩ L2) ∪ L3 é uma linguagem recon-hecível.

Grupo III (3+2 valores)

Seja L o conjunto das linguagens sobre o alfabeto {0}.

a) Mostre que L não é numerável.

b) Mostre que existem linguagens em L que não são decidíveis (pode assumir,enunciando-os claramente, os resultados relevantes relativos à cardinali-dade do conjunto das máquinas de Turing).

Grupo IV (2+3 valores)

Considere a linguagem

LA = {M : M é uma máquina de Turing que rejeita M}.

a) Mostre que LA é reconhecível.

b) Mostre que LA não é decidível.

Page 6: Teoria da Computação - Department of Mathematics ...ccal/TComp/tc1617.teste1... · Instituto Superior Técnico Lic. Engenharia Informática e de Computadores (Alameda) Teoria da

Instituto Superior TécnicoLic. Engenharia Informática e de Computadores (Alameda)

Teoria da Computação19 de Abril de 2017 Teste 1B Duração: 1h30

Grupo I (5 valores)

Construa uma máquina de Turing que decida a linguagem formada pelaspalavras de {x, y, z}∗ que são da forma xnymzk com k = n × m. Apresenteapenas a representação gráfica da máquina de Turing.

Grupo II (5 valores)

Sejam L1, L2, L3 linguagens sobre um alfabeto Σ. Mostre que se L1, L2 sãoreconhecíveis e L3 é decidível então (L1∪L2)\L3 é uma linguagem reconhecível.

Grupo III (3+2 valores)

Seja L o conjunto das linguagens sobre o alfabeto {a, b}.

a) Mostre que L não é numerável.

b) Mostre que existem linguagens em L que não são reconhecíveis (podeassumir, enunciando-os claramente, os resultados relevantes relativos àcardinalidade do conjunto das máquinas de Turing).

Grupo IV (2+3 valores)

Considere a linguagem

LB = {M$w : M é uma máquina de Turing que rejeita w ∈ {0, 1}∗}.

a) Mostre que LB é reconhecível.

b) Mostre que LB não é decidível.

Page 7: Teoria da Computação - Department of Mathematics ...ccal/TComp/tc1617.teste1... · Instituto Superior Técnico Lic. Engenharia Informática e de Computadores (Alameda) Teoria da

Instituto Superior TécnicoLic. Engenharia Informática e de Computadores (Alameda)

Teoria da Computação19 de Abril de 2017 Teste 1C Duração: 1h30

Grupo I (5 valores)

Construa uma máquina de Turing que que decida a linguagem formada pelaspalavras de {a, b}∗ que são da forma anbn2 . Apresente apenas a representaçãográfica da máquina de Turing.

Grupo II (5 valores)

Sejam L1, L2, L3 linguagens sobre um alfabeto Σ. Mostre que se L1, L2 sãoreconhecíveis e L3 é decidível então (L1\L3)∪L2 é uma linguagem reconhecível.

Grupo III (3+2 valores)

Seja L o conjunto das linguagens sobre o alfabeto {a, b, c}.

a) Mostre que L não é numerável.

b) Mostre que existem linguagens em L que não são decidíveis (pode assumir,enunciando-os claramente, os resultados relevantes relativos à cardinali-dade do conjunto das máquinas de Turing).

Grupo IV (2+3 valores)

Considere a linguagem

LC = {M : M é uma máquina de Turing que aceita M}.

a) Mostre que LC é reconhecível.

b) Mostre que LC não é decidível.

Page 8: Teoria da Computação - Department of Mathematics ...ccal/TComp/tc1617.teste1... · Instituto Superior Técnico Lic. Engenharia Informática e de Computadores (Alameda) Teoria da

Instituto Superior TécnicoLic. Engenharia Informática e de Computadores (Alameda)

Teoria da Computação19 de Abril de 2017 Teste 1D Duração: 1h30

Grupo I (5 valores)

Construa uma máquina de Turing que calcule o produto de dois númerosnaturais dados (em notação unária). Apresente apenas a representação gráficada máquina de Turing.

Grupo II (5 valores)

Sejam L1, L2, L3 linguagens sobre um alfabeto Σ. Mostre que se L1 é de-cidível e L2, L3 são reconhecíveis então L1 ∩ (L2 ∪ L3) é uma linguagem reco-nhecível.

Grupo III (3+2 valores)

Seja L o conjunto das linguagens sobre o alfabeto {1}.

a) Mostre que L não é numerável.

b) Mostre que existem linguagens em L que não são reconhecíveis (podeassumir, enunciando-os claramente, os resultados relevantes relativos àcardinalidade do conjunto das máquinas de Turing).

Grupo IV (2+3 valores)

Considere a linguagem

LD = {M$w : M é uma máquina de Turing que aceita w ∈ {0, 1}∗}.

a) Mostre que LD é reconhecível.

b) Mostre que LD não é decidível.

Page 9: Teoria da Computação - Department of Mathematics ...ccal/TComp/tc1617.teste1... · Instituto Superior Técnico Lic. Engenharia Informática e de Computadores (Alameda) Teoria da

Instituto Superior TécnicoLic. Engenharia Informática e de Computadores (Alameda)

Teoria da Computação19 de Abril de 2017 Teste 1E Duração: 1h30

Grupo I (5 valores)

Construa uma máquina de Turing que calcule a função f : {1}∗ → {1}∗

tal que f(1n) = 1n2 . Apresente apenas a representação gráfica da máquina deTuring.

Grupo II (5 valores)

Sejam L1, L2, L3 linguagens sobre um alfabeto Σ. Mostre que se L1 é de-cidível e L2, L3 são reconhecíveis então (L1 ∪ L2) ∩ L3 é uma linguagem reco-nhecível.

Grupo III (3+2 valores)

Seja L o conjunto das linguagens sobre o alfabeto {0, 1}.

a) Mostre que L não é numerável.

b) Mostre que existem linguagens em L que não são decidíveis (pode assumir,enunciando-os claramente, os resultados relevantes relativos à cardinali-dade do conjunto das máquinas de Turing).

Grupo IV (2+3 valores)

Considere a linguagem

LE = {M : M é uma máquina de Turing que rejeita M}.

a) Mostre que LE é reconhecível.

b) Mostre que LE não é decidível.

Page 10: Teoria da Computação - Department of Mathematics ...ccal/TComp/tc1617.teste1... · Instituto Superior Técnico Lic. Engenharia Informática e de Computadores (Alameda) Teoria da

Instituto Superior TécnicoLic. Engenharia Informática e de Computadores (Alameda)

Teoria da Computação19 de Abril de 2017 Teste 1F Duração: 1h30

Grupo I (5 valores)

Construa uma máquina de Turing que decida a linguagem formada pelaspalavras de {0, 1}∗ que são da forma 1n0m1n×m. Apresente apenas a represen-tação gráfica da máquina de Turing.

Grupo II (5 valores)

Sejam L1, L2, L3 linguagens sobre um alfabeto Σ. Mostre que se L1, L2 sãoreconhecíveis e L3 é decidível então (L1∪L2)\L3 é uma linguagem reconhecível.

Grupo III (3+2 valores)

Seja L o conjunto das linguagens sobre o alfabeto {a}.

a) Mostre que L não é numerável.

b) Mostre que existem linguagens em L que não são reconhecíveis (podeassumir, enunciando-os claramente, os resultados relevantes relativos àcardinalidade do conjunto das máquinas de Turing).

Grupo IV (2+3 valores)

Considere a linguagem

LF = {M$w : M é uma máquina de Turing que rejeita w ∈ {0, 1}∗}.

a) Mostre que LF é reconhecível.

b) Mostre que LF não é decidível.

Page 11: Teoria da Computação - Department of Mathematics ...ccal/TComp/tc1617.teste1... · Instituto Superior Técnico Lic. Engenharia Informática e de Computadores (Alameda) Teoria da

Instituto Superior TécnicoLic. Engenharia Informática e de Computadores (Alameda)

Teoria da Computação19 de Abril de 2017 Teste 1G Duração: 1h30

Grupo I (5 valores)

Construa uma máquina de Turing que que decida a linguagem formada pelaspalavras de {a, b}∗ que são da forma anbm com m = n2. Apresente apenas arepresentação gráfica da máquina de Turing.

Grupo II (5 valores)

Sejam L1, L2, L3 linguagens sobre um alfabeto Σ. Mostre que se L1, L2 sãoreconhecíveis e L3 é decidível então L1∪(L2\L3) é uma linguagem reconhecível.

Grupo III (3+2 valores)

Seja L o conjunto das linguagens sobre o alfabeto {x, y}.

a) Mostre que L não é numerável.

b) Mostre que existem linguagens em L que não são decidíveis (pode assumir,enunciando-os claramente, os resultados relevantes relativos à cardinali-dade do conjunto das máquinas de Turing).

Grupo IV (2+3 valores)

Considere a linguagem

LG = {M : M é uma máquina de Turing que aceita M}.

a) Mostre que LG é reconhecível.

b) Mostre que LG não é decidível.

Page 12: Teoria da Computação - Department of Mathematics ...ccal/TComp/tc1617.teste1... · Instituto Superior Técnico Lic. Engenharia Informática e de Computadores (Alameda) Teoria da

Instituto Superior TécnicoLic. Engenharia Informática e de Computadores (Alameda)

Teoria da Computação19 de Abril de 2017 Teste 1H Duração: 1h30

Grupo I (5 valores)

Construa uma máquina de Turing que calcule o produto de dois númerosnaturais dados (em notação unária). Apresente apenas a representação gráficada máquina de Turing.

Grupo II (5 valores)

Sejam L1, L2, L3 linguagens sobre um alfabeto Σ. Mostre que se L1 é de-cidível e L2, L3 são reconhecíveis então L1 ∩ (L2 ∪ L3) é uma linguagem reco-nhecível.

Grupo III (3+2 valores)

Seja L o conjunto das linguagens sobre o alfabeto {a}.

a) Mostre que L não é numerável.

b) Mostre que existem linguagens em L que não são reconhecíveis (podeassumir, enunciando-os claramente, os resultados relevantes relativos àcardinalidade do conjunto das máquinas de Turing).

Grupo IV (2+3 valores)

Considere a linguagem

LH = {M$w : M é uma máquina de Turing que aceita w ∈ {0, 1}∗}.

a) Mostre que LH é reconhecível.

b) Mostre que LH não é decidível.