SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
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
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.
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á
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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”.
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)
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>
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)
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>>>>...
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.
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.
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 #.
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.
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.”
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.
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

Contenu connexe

Similaire à Máquinas de turing com memória limitada

02 maquinas de turing modificadas
02 maquinas de turing modificadas02 maquinas de turing modificadas
02 maquinas de turing modificadasYuri Passos
 
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02Cláudio Alves
 
Microcontroladores pic ling c unicamp
Microcontroladores pic ling c unicampMicrocontroladores pic ling c unicamp
Microcontroladores pic ling c unicampFrancisco Fambrini
 
Controle de acesso ao meio
Controle de acesso ao meioControle de acesso ao meio
Controle de acesso ao meioFbioAzevedo30
 
microcontrolador-pic-em-powerpoint-parte-2-interrupcoes-e-timers.pdf
microcontrolador-pic-em-powerpoint-parte-2-interrupcoes-e-timers.pdfmicrocontrolador-pic-em-powerpoint-parte-2-interrupcoes-e-timers.pdf
microcontrolador-pic-em-powerpoint-parte-2-interrupcoes-e-timers.pdftccunip
 

Similaire à Máquinas de turing com memória limitada (6)

02 maquinas de turing modificadas
02 maquinas de turing modificadas02 maquinas de turing modificadas
02 maquinas de turing modificadas
 
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
 
Microcontroladores pic ling c unicamp
Microcontroladores pic ling c unicampMicrocontroladores pic ling c unicamp
Microcontroladores pic ling c unicamp
 
Controle de acesso ao meio
Controle de acesso ao meioControle de acesso ao meio
Controle de acesso ao meio
 
microcontrolador-pic-em-powerpoint-parte-2-interrupcoes-e-timers.pdf
microcontrolador-pic-em-powerpoint-parte-2-interrupcoes-e-timers.pdfmicrocontrolador-pic-em-powerpoint-parte-2-interrupcoes-e-timers.pdf
microcontrolador-pic-em-powerpoint-parte-2-interrupcoes-e-timers.pdf
 
Zilog
ZilogZilog
Zilog
 

Plus de Carlos Eduardo

When and Why Your Code Starts to Smell Bad
When and Why Your Code Starts to Smell BadWhen and Why Your Code Starts to Smell Bad
When and Why Your Code Starts to Smell BadCarlos Eduardo
 
Experimentos envolvendo ações de Rejuvenescimento de Software
Experimentos envolvendo ações de Rejuvenescimento de SoftwareExperimentos envolvendo ações de Rejuvenescimento de Software
Experimentos envolvendo ações de Rejuvenescimento de SoftwareCarlos Eduardo
 
A Measurement-Based Model for Estimation of Resource Exhaustion in Operationa...
A Measurement-Based Model for Estimation of Resource Exhaustion in Operationa...A Measurement-Based Model for Estimation of Resource Exhaustion in Operationa...
A Measurement-Based Model for Estimation of Resource Exhaustion in Operationa...Carlos Eduardo
 
Programação Orientada a Objetos - Pós Graduação - Aula 8 - Bad Smells & Desig...
Programação Orientada a Objetos - Pós Graduação - Aula 8 - Bad Smells & Desig...Programação Orientada a Objetos - Pós Graduação - Aula 8 - Bad Smells & Desig...
Programação Orientada a Objetos - Pós Graduação - Aula 8 - Bad Smells & Desig...Carlos Eduardo
 
Programação Orientada a Objetos - Pós Graduação - Aula 7 - Inversão de Controle
Programação Orientada a Objetos - Pós Graduação - Aula 7 - Inversão de ControleProgramação Orientada a Objetos - Pós Graduação - Aula 7 - Inversão de Controle
Programação Orientada a Objetos - Pós Graduação - Aula 7 - Inversão de ControleCarlos Eduardo
 
Programação Orientada a Objetos - Pós Graduação - Aula 6 - Princípios OO
Programação Orientada a Objetos - Pós Graduação - Aula 6 - Princípios OOProgramação Orientada a Objetos - Pós Graduação - Aula 6 - Princípios OO
Programação Orientada a Objetos - Pós Graduação - Aula 6 - Princípios OOCarlos Eduardo
 
Socket Descriptor Leak encontrado na JDK
Socket Descriptor Leak encontrado na JDKSocket Descriptor Leak encontrado na JDK
Socket Descriptor Leak encontrado na JDKCarlos Eduardo
 
Programação Orientada a Objetos - Pós Graduação - Aula 5 - refactoring com ho...
Programação Orientada a Objetos - Pós Graduação - Aula 5 - refactoring com ho...Programação Orientada a Objetos - Pós Graduação - Aula 5 - refactoring com ho...
Programação Orientada a Objetos - Pós Graduação - Aula 5 - refactoring com ho...Carlos Eduardo
 
Programação Orientada a Objetos - Pós Graduação - Aula 4 - refactoring com ho...
Programação Orientada a Objetos - Pós Graduação - Aula 4 - refactoring com ho...Programação Orientada a Objetos - Pós Graduação - Aula 4 - refactoring com ho...
Programação Orientada a Objetos - Pós Graduação - Aula 4 - refactoring com ho...Carlos Eduardo
 
Programação Orientada a Objetos - Pós Graduação - Aula 3
Programação Orientada a Objetos - Pós Graduação - Aula 3Programação Orientada a Objetos - Pós Graduação - Aula 3
Programação Orientada a Objetos - Pós Graduação - Aula 3Carlos Eduardo
 
Programação Orientada a Objetos - Pós Graduação - Aula 2
Programação Orientada a Objetos - Pós Graduação - Aula 2Programação Orientada a Objetos - Pós Graduação - Aula 2
Programação Orientada a Objetos - Pós Graduação - Aula 2Carlos Eduardo
 
Programação Orientada a Objetos - Pós Graduação - aula 1
Programação Orientada a Objetos - Pós Graduação - aula 1Programação Orientada a Objetos - Pós Graduação - aula 1
Programação Orientada a Objetos - Pós Graduação - aula 1Carlos Eduardo
 
Detecting bad smells in source code using change history information
Detecting bad smells in source code using change history informationDetecting bad smells in source code using change history information
Detecting bad smells in source code using change history informationCarlos Eduardo
 
Recommending refactoring operations in large software systems
Recommending refactoring operations in large software systemsRecommending refactoring operations in large software systems
Recommending refactoring operations in large software systemsCarlos Eduardo
 
Mini Curso - Programação de Interfaces Gráficas - aula extra persistência
Mini Curso - Programação de Interfaces Gráficas - aula extra persistênciaMini Curso - Programação de Interfaces Gráficas - aula extra persistência
Mini Curso - Programação de Interfaces Gráficas - aula extra persistênciaCarlos Eduardo
 
Mini Curso - Programação de Interfaces Gráficas - aula 4
Mini Curso - Programação de Interfaces Gráficas - aula 4Mini Curso - Programação de Interfaces Gráficas - aula 4
Mini Curso - Programação de Interfaces Gráficas - aula 4Carlos Eduardo
 
Mini Curso - Programação de Interfaces Gráficas - aula 3
Mini Curso - Programação de Interfaces Gráficas - aula 3Mini Curso - Programação de Interfaces Gráficas - aula 3
Mini Curso - Programação de Interfaces Gráficas - aula 3Carlos Eduardo
 
Mini Curso - Programação de Interfaces Gráficas - aula 2
Mini Curso - Programação de Interfaces Gráficas - aula 2Mini Curso - Programação de Interfaces Gráficas - aula 2
Mini Curso - Programação de Interfaces Gráficas - aula 2Carlos Eduardo
 
Mini Curso - Programação de Interfaces Gráficas - aula 1
Mini Curso - Programação de Interfaces Gráficas - aula 1Mini Curso - Programação de Interfaces Gráficas - aula 1
Mini Curso - Programação de Interfaces Gráficas - aula 1Carlos Eduardo
 

Plus de Carlos Eduardo (20)

When and Why Your Code Starts to Smell Bad
When and Why Your Code Starts to Smell BadWhen and Why Your Code Starts to Smell Bad
When and Why Your Code Starts to Smell Bad
 
Experimentos envolvendo ações de Rejuvenescimento de Software
Experimentos envolvendo ações de Rejuvenescimento de SoftwareExperimentos envolvendo ações de Rejuvenescimento de Software
Experimentos envolvendo ações de Rejuvenescimento de Software
 
A Measurement-Based Model for Estimation of Resource Exhaustion in Operationa...
A Measurement-Based Model for Estimation of Resource Exhaustion in Operationa...A Measurement-Based Model for Estimation of Resource Exhaustion in Operationa...
A Measurement-Based Model for Estimation of Resource Exhaustion in Operationa...
 
Programação Orientada a Objetos - Pós Graduação - Aula 8 - Bad Smells & Desig...
Programação Orientada a Objetos - Pós Graduação - Aula 8 - Bad Smells & Desig...Programação Orientada a Objetos - Pós Graduação - Aula 8 - Bad Smells & Desig...
Programação Orientada a Objetos - Pós Graduação - Aula 8 - Bad Smells & Desig...
 
Programação Orientada a Objetos - Pós Graduação - Aula 7 - Inversão de Controle
Programação Orientada a Objetos - Pós Graduação - Aula 7 - Inversão de ControleProgramação Orientada a Objetos - Pós Graduação - Aula 7 - Inversão de Controle
Programação Orientada a Objetos - Pós Graduação - Aula 7 - Inversão de Controle
 
Programação Orientada a Objetos - Pós Graduação - Aula 6 - Princípios OO
Programação Orientada a Objetos - Pós Graduação - Aula 6 - Princípios OOProgramação Orientada a Objetos - Pós Graduação - Aula 6 - Princípios OO
Programação Orientada a Objetos - Pós Graduação - Aula 6 - Princípios OO
 
Socket Descriptor Leak encontrado na JDK
Socket Descriptor Leak encontrado na JDKSocket Descriptor Leak encontrado na JDK
Socket Descriptor Leak encontrado na JDK
 
Programação Orientada a Objetos - Pós Graduação - Aula 5 - refactoring com ho...
Programação Orientada a Objetos - Pós Graduação - Aula 5 - refactoring com ho...Programação Orientada a Objetos - Pós Graduação - Aula 5 - refactoring com ho...
Programação Orientada a Objetos - Pós Graduação - Aula 5 - refactoring com ho...
 
Programação Orientada a Objetos - Pós Graduação - Aula 4 - refactoring com ho...
Programação Orientada a Objetos - Pós Graduação - Aula 4 - refactoring com ho...Programação Orientada a Objetos - Pós Graduação - Aula 4 - refactoring com ho...
Programação Orientada a Objetos - Pós Graduação - Aula 4 - refactoring com ho...
 
Programação Orientada a Objetos - Pós Graduação - Aula 3
Programação Orientada a Objetos - Pós Graduação - Aula 3Programação Orientada a Objetos - Pós Graduação - Aula 3
Programação Orientada a Objetos - Pós Graduação - Aula 3
 
Programação Orientada a Objetos - Pós Graduação - Aula 2
Programação Orientada a Objetos - Pós Graduação - Aula 2Programação Orientada a Objetos - Pós Graduação - Aula 2
Programação Orientada a Objetos - Pós Graduação - Aula 2
 
Programação Orientada a Objetos - Pós Graduação - aula 1
Programação Orientada a Objetos - Pós Graduação - aula 1Programação Orientada a Objetos - Pós Graduação - aula 1
Programação Orientada a Objetos - Pós Graduação - aula 1
 
Detecting bad smells in source code using change history information
Detecting bad smells in source code using change history informationDetecting bad smells in source code using change history information
Detecting bad smells in source code using change history information
 
Recommending refactoring operations in large software systems
Recommending refactoring operations in large software systemsRecommending refactoring operations in large software systems
Recommending refactoring operations in large software systems
 
Mini Curso - Programação de Interfaces Gráficas - aula extra persistência
Mini Curso - Programação de Interfaces Gráficas - aula extra persistênciaMini Curso - Programação de Interfaces Gráficas - aula extra persistência
Mini Curso - Programação de Interfaces Gráficas - aula extra persistência
 
Mini Curso - Programação de Interfaces Gráficas - aula 4
Mini Curso - Programação de Interfaces Gráficas - aula 4Mini Curso - Programação de Interfaces Gráficas - aula 4
Mini Curso - Programação de Interfaces Gráficas - aula 4
 
Mini Curso - Programação de Interfaces Gráficas - aula 3
Mini Curso - Programação de Interfaces Gráficas - aula 3Mini Curso - Programação de Interfaces Gráficas - aula 3
Mini Curso - Programação de Interfaces Gráficas - aula 3
 
Mini Curso - Programação de Interfaces Gráficas - aula 2
Mini Curso - Programação de Interfaces Gráficas - aula 2Mini Curso - Programação de Interfaces Gráficas - aula 2
Mini Curso - Programação de Interfaces Gráficas - aula 2
 
Mini Curso - Programação de Interfaces Gráficas - aula 1
Mini Curso - Programação de Interfaces Gráficas - aula 1Mini Curso - Programação de Interfaces Gráficas - aula 1
Mini Curso - Programação de Interfaces Gráficas - aula 1
 
NoSql
NoSqlNoSql
NoSql
 

Máquinas de turing com memória limitada

  • 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