Escolar Documentos
Profissional Documentos
Cultura Documentos
(/)
Turmas
1º Semestre de 2018
Ybadoo (/) / Turmas (/turmas/) / 1º Semestre de 2018 (/turmas/2018_01/)
/ Teoria da Computação (/turmas/2018_01/iesb_tco/) / Segunda Avaliação
Segunda Avaliação
Questão 01
Questão 02
b. A máquina em questão registra o valor da palavra de entrada e depois pára, quando a função
indicar um movimento da cabeça para a esquerda e ela já se encontrar no início da fita.
d. As saídas podem ser apenas binárias, pois as referidas máquinas trabalham com representações
lógicas.
e. Uma máquina de Turing pode alterar várias entradas em cada vez, pois ela é capaz de transferir sua
atenção para mais de uma posição da fita em cada argumento da função de transição.
Questão 03
Considerando a forma normal que resulta da redução completa do termo M, assinale a alternativa
correta.
a. w
b. x
c. y
d. z
e. w w
Questão 04
Função de Transição de M
δ(q0, a) (q0, a, R)
δ(q0, b) (q1, a, R)
δ(q0, ε) (q0, ε, R)
δ(q1, a) (q0, a, L)
δ(q1, ε) (q0, a, L)
a. abaab
b. aabab
c. abba
d. babab
e. εaεb
Questão 05
a. A classe de problemas em P consiste nos problemas que dado um “certificado” de uma solução, é
possível verificar se a solução é correta em tempo polinomial no tamanho da entrada.
b. A classe de problemas NP consiste nos problemas que não pertencem a classe P, e por isso são
problemas não “verificáveis” em tempo polinomial.
d. Um problema que está em P não estará em NP, exceto problemas NP-completos, os quais não
foram demonstrados pela ciência.
e. Dado que exista um problema NP-completo com solução em tempo polinomial, então todos os
problemas em NP terão soluções em tempo polinomial.
Questão 06
Na teoria da computação, uma máquina de Post, assim denominada em honra a Emil Leon Post, é um
autômato determinístico, baseado na estrutura de dados do tipo fila com um símbolo auxiliar. Post
publicou este modelo computacional em 1943 como uma forma simples de sistema canônico de Post.
Em poucas palavras, uma máquina de estados finita cuja fila tem um tamanho ilimitado, tal que em cada
transição a máquina lê o símbolo da cabeça da fila, remove um número fixo de símbolos da cabeça, e ao
fim concatena uma palavra-símbolo pré-definida ao símbolo removido. Desenvolva uma máquina de
Post, sobre o alfabeto {0, 1}, que verifique se os números binários fornecidos pelo usuário são números
binários pares. A seguir, são apresentados alguns exemplos de entradas possíveis de serem fornecidas
pelo usuário com seus respectivos resultados.
11 indiferente rejeita
10 indiferente aceita
β indiferente rejeita
M = ({0, 1}, D, #)
partida
X ← X#
#, ε
X ← ler(X) rejeita
1
X ← ler(X)
0
ε
aceita
Máquina de Post
Questão 07
A Máquina de Turing consiste de basicamente três partes: Uma fita, uma unidade de controle e uma
função de transição. A fita é usada como um dispositivo de entrada, saída e memória. Ela é dividida em
células que armazenam um símbolo de cada vez. A unidade de controle reflete o estado controle da
máquina. Possui uma unidade de leitura e gravação que pode deslocar-se para a esquerda (L) ou para a
direita (R) da fita, podendo ler e/ou gravar um único símbolo em cada movimento. A função de transição
comanda as leituras e gravações, o sentido de movimento da cabeça e define o estado da máquina.
Desenvolva uma máquina de Turing, sobre o alfabeto {a, b, c}, que verifique o triplo balanceamento da
entrada fornecida pelo usuário, ou seja, L = {anbncn | n ≥ 0}. A seguir, são apresentados alguns exemplos
de entradas possíveis de serem fornecidas pelo usuário com seus respectivos resultados.
β indiferente aceita
M = ({a, b, c}, {q0, q1, q2, q3, q4, q5, q6}, ∏, q0, {q6}, {A, B, C}, β, ⊗)
(A, A, D)
(β, β, E)
q6
Máquina de Turing
Questão 08
(Diverio, 2000) Autômatos com pilha diferem da definição normal de máquinas de estados finitos de
duas maneiras: a) podem fazer uso da informação que está no topo da pilha para decidir qual transição
deve ser efetuada e b) podem manipular a pilha ao efetuar uma transição. Autômatos com pilha
escolhem uma transição analisando o símbolo atual na cadeia de entrada ou o topo da pilha, enquanto
que máquinas de estados finitos convencionais apenas analisam o símbolo da cadeia de entrada.
Desenvolva uma máquina com pilhas que reconheça a linguagem L = {ww | w é palavra sobre {a, b}}.
M = ({a, b}, D)
partida
X ← ler(X) Y2 ← aY2
a
Y1 ← aY1
b
Y1 ← bY1
ε
Y2 ← ler(Y2) X ← ler(X)
ε b a
aceita rejeita Y1 ← aY1
a
b
Y1 ← ler(Y1) Y1 ← bY1
a ε
Y3 ← aY3 rejeita
b
a Y3 ← bY3
ε
rejeita
b
rejeita
Y2 ← ler(Y2)
Y1 ← ler(Y1)
a
Y2 ← aY2
b
Y2 ← bY2
ε
Y2 ← ler(Y2)
a ε b
a b
Y3 ← ler(Y3) Y3 ← ler(Y3) Y3 ← ler(Y3)
b, ε a, ε
rejeita rejeita
a, b ε
rejeita aceita