O documento apresenta máquinas de Turing com memória limitada e prova que o problema Accept é decidível, enquanto o problema Empty é indecidível para este tipo de máquina. Apresenta reduções via histórias de computação e exemplos de máquinas de Turing com memória limitada resolvendo problemas de aceitação e não aceitação.
1. Redução via Histórias de
Computação em Máquinas de
Turing com memória limitada
Pós Graduação em Ciência da ComputaçãoPós Graduação em Ciência da Computação
Aluno: Carlos Eduardo DantasAluno: Carlos Eduardo Dantas
2. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
ObjetivosObjetivos
• Apresentar as reduções por histórias de
computação e as Máquinas de Turing com
memória limitada;
• Provar que o problema Accept é decidível
para este tipo de máquina;
• Provar via redução por histórias de
computação que o problema Empty é
indecidível para este tipo de máquina.
3. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
Revisão - redutibilidadeRevisão - redutibilidade
• Uma redução é uma maneira de converter
um problema em outro, onde a solução
para o segundo problema seja usada para
resolver o primeiro.
• A ≤ B ( A se reduz a B)
• Resolver A não pode ser mais difícil que
resolver B
• Se B for decidível, A também será.
• Se A for indecidível, B também será
4. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
Redução via Histórias deRedução via Histórias de
ComputaçãoComputação
• O método da história de computação é
uma técnica para provar que ATM é
redutível a certas linguagens;
• Esse método é útil quando o problema a
ser mostrado como indecidível envolve
testar a existência de algo;
• Por exemplo, a indecidibilidade do 10º
problema de Hilbert: testar a existência de
raízes inteiras em um polinômio.
5. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
Redução via Histórias deRedução via Histórias de
ComputaçãoComputação
• A história de computação para uma MT
sobre uma entrada é a seqüência de
configurações pelas quais MT passa a
medida em que ela processa a entrada;
• Uma configuração é como uma fotografia
instantânea no meio de sua computação;
• Uma configuração é constituída do estado
do controle, posição da cabeça e conteúdo
da fita.
6. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
Redução via Histórias deRedução via Histórias de
Computação - DefiniçãoComputação - Definição
• Seja M uma MT e w uma cadeia de entrada.
• Uma história de computação de aceitação para M
sobre w é uma seqüência de configurações, C1,
C2,...,Cn, onde:
• C1 é a configuração inicial de M sobre w,
• Cn é uma configuração de aceitação de M, e
• Cada Ci segue de Ci-1 conforme as regras de M.
• Uma história de computação de rejeição para M
sobre w é definida similarmente, exceto que Cn é
de rejeição.
7. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
Redução via Histórias deRedução via Histórias de
Computação - DefiniçãoComputação - Definição
• Histórias de computação são seqüências finitas.
• Se M não pára sobre w, nenhuma história de
computação de aceitação ou de rejeição existe
para M sobre w.
• MTs determinísticas têm no máximo uma
história de computação sobre qualquer entrada;
• Provas de indecidibilidade usando o método de
história de computação podem ser usadas em
máquinas de turing com memória limitada.
8. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
Máquinas de Turing comMáquinas de Turing com
memória limitadamemória limitada
• Também são chamados de Autômato
Linearmente Limitado (ALL);
• Tipo restrito de Máquina de Turing na
qual à cabeça de leitura-escrita não é
permitido mover-se para fora da parte da
fita contendo a entrada.
9. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
Definição formalDefinição formal
• = Conjunto de estados;
• = alfabeto de entrada;
• = alfabeto da fita, onde {<,>} E ;
• = função de transição;
• = estado inicial;
• = estado de aceitação;
• = estado de rejeição, onde t != r.
10. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
RestriçõesRestrições
• A Máquina M não pode modificar os
caracteres {<,>} por nenhum outro, nem
mover a fita para fora das extremidades
{<,>};
• Resolve apenas problemas que requerem
memória que possa caber dentro da fita
usada para a entrada;
• Para uma entrada de comprimento n, a
quantidade de memória disponível é
linear em n.
11. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
Poder computacionalPoder computacional
• Os decisores para AAFD,AGLC,EAFD e EGLC são
todos ALLs;
• Toda LLC pode ser decidida por um ALL.
12. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
O problemaO problema AALL
• AALL= {<M,w>| M é um ALL que aceita a
cadeia w};
• Observa-se que a descrição é semelhante
ao AMT;
• Com o método da diagonalização, foi
provado que AMTé indecidível;
• Será provado que AALLé decidível.
13. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
LemaLema
• Seja M um ALL com q estados e g
símbolos no alfabeto de fita. Existem
exatamente qngn
configurações distintas
de M para uma fita de comprimento n.
• M tem q estados;
• O comprimento de sua fita é n;
• A cabeça pode estar em uma das n
posições, e gn
cadeias possíveis de
símbolos de fita aparecem sobre a fita.
14. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
LemaLema
• Ex: Seja M um ALL com q = 3 estados, g =
4 símbolos no alfabeto, e uma fita de
entrada com comprimento n = 5, temos
15360 possíveis configurações distintas
para a máquina M.
15. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
Teorema:Teorema: AALL é decidívelé decidível
• Como M é um ALL, a quantidade de fita é
limitada, logo a repetição de uma
configuração continuamente caracteriza
um loop.
16. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
Teorema:Teorema: AALL é decidívelé decidível
• Prova: o algoritmo que decide AALL é como
segue:
• L = “Sobre a entrada <M,w>, onde M é
um ALL e w é uma cadeia:
1. Simule M sobre w por passos ou até
que ela pare;
2. Se M parou, aceite se ela aceitou e rejeite se
ela rejeitou. Se ela não parou, rejeite”.
17. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
Exemplo 1Exemplo 1
• = {q0,q1,qa,qr}
• = {0}
• = {0,<,>}
• =
• = q0
• = qa
• = qr
(q0,<) (q0,<,R)
(q0,>) (qr,>,L)
(q0,0) (q1,0,R)
(q1,>) (qa,>,L)
(q1,0) (q0,0,R)
18. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
Exemplo 1Exemplo 1
• Segue a execução da máquina sobre a
entrada w = 000. Segue o histórico de
computação:
• Para o input 000, = 4x3x33
= 324,
logo, com 6 movimentos, a máquina parou
antes do limite de passos, aceitando.
q0<000>
<qo000>
<0q100>
<00qo0>
<000q1>
<00qa0>
19. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
Exemplo 2Exemplo 2
• = {q0,q1,qa,qr}
• = {0}
• = {0,<,>}
• =
• = q0
• = qa
• = qr
(q0,<) (q0,<,R)
(q0,>) (qr,>,L)
(q0,0) (q1,0,R)
(q1,>) (q1,>,L)
(q1,0) (q0,0,R)
20. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
Exemplo 2Exemplo 2
• Segue a execução da máquina sobre a
entrada w = 000. Segue o histórico de
computação:
• Para o input 000, = 4x3x33
= 324,
logo, com 324 movimentos, a máquina
parou no limite de passos, caracterizando
um loop.
q0<000> <0q10>>
<qo000> <q10>>>
<0q100> <q1>>>>
<00qo0> <q1>>>>
<000q1> <q1>>>>
<00q10> <q1>>>>...
21. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
Teorema: ETeorema: EALLALL é indecidívelé indecidível
• Se AALL é decidível, como provar que EALL é
indecidível?
• EALL = {<M>|M é um ALL onde L(M) =
empty};
• Deverá ser feita uma redução de ATM para
EALL , contudo utilizando um método
diferente, denominado de redução por
história de computação.
22. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
Teorema: ETeorema: EALLALL é indecidívelé indecidível
• IDÉIA DA PROVA: Essa prova é por redução a
partir de ATM. Se EALL fosse decidível, ATM também
seria.
• Suponha que EALL seja decidível.
• Para uma MT M e uma entrada w podemos
determinar se M aceita w construindo um certo
ALL B e então testando se L(B) é vazia.
• A linguagem que B reconhece compreende todas
as histórias de computação de aceitação para M
sobre w.
23. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
Teorema: ETeorema: EALLALL é indecidívelé indecidível
• Se M aceita w, L(B) contém uma cadeia e,
portanto, é não vazia. Se M não aceita w, L(B) é
vazia;
• A construção de B se caracteriza por uma única
cadeia, com as configurações separadas pelo
símbolo #.
24. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
Teorema: ETeorema: EALLALL é indecidívelé indecidível
• Quando ALL B receber uma entrada x, B quebra
x em cadeias C1#C2#...#Cn, e determina se Ci
satisfaz as três condições de uma história de
computação de aceitação:
1 - C1 é a configuração inicial para M sobre w.
2 - Cada Ci+1 segue ligitimamente de Ci.
3 - Cn é uma configuração de aceitação para M.
25. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
Teorema: ETeorema: EALLALL é indecidívelé indecidível
• Com ALL B decidindo, é possível decidir ATM,
pela redução abaixo, obtendo uma contradição:
• MT R decide EALL. MT S decide AMT
S = “Sobre a entrada <M,w>, onde M é uma MT e
w, uma cadeia:
1 - Construa o ALL B a partir de M e w.
2 - Rode R sobre a entrada <B>
3 - Se R rejeita, aceite; se R aceita, rejeite.”
26. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
ConclusõesConclusões
• Máquinas de Turing com memória limitada são
poderosas como reconhecedores e o problema
Accept pode ser decidível a partir destas;
• Outros problemas como o Empty permanecem
indecidíveis mesmo neste tipo de máquina, com
memória limitada.
27. Máquinas de Turing com Memória LimitadaMáquinas de Turing com Memória Limitada
ReferênciasReferências
• [1] Sipser, Michael. Introdução à teoria da
computação / Michael Sipser.Thomsom
Learning, 2007;
• [2] Martin, John . "Introduction to Languages
and the Theory of Computation " , Tata
McGraw-Hill, Third Edition;
• [3]
http://www.cs.uky.edu/~lewis/texts/theory/autom
• [4]
http://www.fit.vutbr.cz/~janousek/vyuka/vsl2/ne