Você está na página 1de 2

UFG - Instituto de Informática Bacharelado em Ciência da Computação

Introdução à Computabilidade e à Complexidade Computacional


Professor: Julliano Nascimento1

Lista de Exercícios

3 – Máquinas de Turing
n
1. Considere a máquina de Turing M2 a seguir, que decide a linguagem A = {02 |n ≥ 0}. Em cada um dos
itens abaixo, dê a sequência de configurações nas quais M entra quando iniciada sobre a cadeia de entrada
indicada.

X→E
0→E

s4

→E
X→D


0→ ,D
s0 s1 s2 X→D
0 → X, D

0 → X, D
0→D
→D →D
X→D

sr sa s3

X→D
→D

(a) 0 (c) 000


(b) 00 (d) 000000

2. Seja a máquina de Turing M , definida por:


δ a b c
q0 q1 , ,D
q1 q2 , ,E q1 , a, D q1 , c, D q1 , c, D
q2 q2 , c, E q2 , b, E

(a) Faça o rastreamento do processamento executado por M para a cadeia de entrada aabca.
(b) Faça o rastreamento do processamento executado por M para a cadeia de entrada bcbc.
(c) Construa o diagrama de estados de M .
(d) Descreva o resultado de um processamento em M .

3. Examine a definição formal de uma máquina de Turing para responder às seguintes perguntas, e explique
seu raciocínio.

(a) Uma máquina de Turing pode alguma vez escrever o símbolo em branco na sua fita?
(b) O alfabeto de fita Γ pode ser o mesmo que o alfabeto de entrada Σ?
(c) A cabeça de uma máquina de Turing pode alguma vez estar na mesma localização em dois passos
sucessivos?
(d) Uma máquina de Turing pode conter apenas um único estado?
1
e-mail: jullianonascimento@ufg.br

1
4. Construa máquinas de Turing (descrição de baixo nível) que reconheçam as seguintes linguagens:

(a) {ww | w ∈ {a, b}∗ }


(b) {an bn cn | n ≥ 0}
(c) {wwR | w ∈ {a, b}∗ }
(d) {(ab)i ck aj | j ≥ i ≥ 1, k ≥ 1};

5. Considere a linguagem L = {w|w ∈ {a, b, c}∗ e |a| = |b| = |c|}


(a) Construa uma máquina de Turing M (descrição de baixo nível) para decidir L.
(b) Dê a sequência de configurações nas quais M entra quando iniciada sobre a cadeia accbba.
6. Dê uma definição formal de um enumerador. Considere-o como sendo um tipo de máquina de Turing de
duas-fitas que usa sua segunda fita como a impressora. Inclua uma definição da linguagem enumerada.
7. Explique porque a descrição a seguir não é uma descrição de uma máquina de Turing legítima.

Mruim = “A entrada é um polinômio p sobre as variáveis x1 , . . . , xk .

1 Tente as possíveis valorações de x1 , . . . , xk para valores inteiros.


2 Calcule o valor de p sobre todas essas valorações.
3 Se alguma dessas valorações torna o valor de p igual a 0, aceite; caso contrário, rejeite.”

8. Dê descrições no nível de implementação (alto nível) de máquinas de Turing que decidam as seguintes
linguagens sobre o alfabeto {0, 1}.

(a) {w | w possui o mesmo número de 0s e 1s}


(b) {w | w contém duas vezes mais 0s do que 1s }

9. Construa uma máquina de Turing (descrição de baixo nível) para verificar a operação lógica OU para uma
string de entrada na forma X|Y = Z, onde X, Y, Z ∈ {0, 1}.
10. Defina uma máquina de Turing determinística para incrementar um número binário inteiro sem sinal. Para
construir o diagrama de estados considere que a fita é infinita à esquerda e à direita e que a cabeça de
leitura/escrita está inicialmente posicionada no dígito mais à esquerda do número. Ao final do processa-
mento a cabeça de leitura/escrita deve ficar posicionada no dígito mais à esquerda do número resultante do
processamento. Economize no número de estados, pois quatro estados são suficientes!!!
11. Demonstre ou refute que a coleção de linguagens decidíveis é fechada sobre a operação de

(a) união.
(b) concatenação.
(c) complementação.
(d) interseção.

12. Demonstre ou refute que a coleção de linguagens Turing-reconhecíveis é fechada sobre a operação de

(a) união.
(b) concatenação.

13. Um autômato com fila é como um um autômato com pilha exceto que a pilha é substituída por uma fila. Uma
fila é uma fita que permite que símbolos sejam escritos somente na extremidade esquerda e lidos somente
da extremidade direita. Cada operação de escrita (denominá-la-emos empurrar ) adiciona um símbolo na
extremidade esquerda da fila e cada operação de leitura (denominá-la-emos puxar ) lê e remove um símbolo
na extremidade direita. Como com um autômato com pilha, a entrada é colocada numa fita de entrada
de somente-leitura separada, e a cabeça sobre a fita de entrada pode mover somente da esquerda para a
direita. A fita de entrada contém uma célula com um símbolo em branco após a entrada, de modo que
essa extremidade da entrada possa ser detectada. Um autômato com fila aceita sua entrada entrando num
estado especial de aceitação em qualquer momento. Mostre que uma linguagem pode ser reconhecida por
um autômato com fila determinístico se e somente se a linguagem é Turing-reconhecível.

Você também pode gostar