Ciência da Computação Teoria da Computação (ENG10395) Profa. Juliana Pinheiro Campos E-mail: jupcampos@gmail.com
Máquinas Universais Máquinas Universais podem ser entendidas de duas formas: Se é capaz de simular todas as outras máquinas; Se toda função computável pode ser expressa como um programa nesta máquina, ou seja, se for possível representar qualquer algoritmo como um programa nesta máquina. Ambos os entendimentos não podem ser provados.
Máquinas Universais TEORIA DA COMPUTAÇÃO Como é impossível formalizar a demonstração de que uma máquina é universal, buscam-se evidências para tal comprovação. Essas evidências podem ser classificadas como: evidência interna: consiste na demonstração de que qualquer extensão das capacidades da máquina proposta computa, no máximo, a mesma classe de funções (não aumenta o seu poder computacional). evidência externa: consiste no exame de outros modelos que definem a noção de algoritmo, juntamente com a prova de que são, no máximo, computacionalmente equivalentes.
Máquinas Universais A MT é uma máquina universal: Todas as evidências internas e externas imaginadas sempre foram verificadas. Já vimos que as variações na definição de MT não aumentaram o seu poder computacional. Mais adiante vamos mostrar que outro modelo que define a noção de algoritmo (autômatos com 2 pilhas) é computacionalmente equivalente às MT.
Tese de Church (Church-Turing) Essas evidências levaram Alonzo Church a apresentar, em 1936, a tese de Church a qual afirma que qualquer função computável (algoritmo) pode ser processada por uma MT. Turing criou a MT como uma proposta de definição formal de algoritmo. Vários outros trabalhos (Máquina de Post e funções recursivas e outros mais recentes como máquina Norma e autômato com pilhas) resultaram em conceitos semelhantes ao de Turing.
Tese de Church (Church-Turing) O fato de todos esses trabalhos independentes gerarem o mesmo resultado em termos de capacidade de expressar computabilidade é um forte reforço na tese de Church, enunciada como: A capacidade de computação representada pela máquina de Turing é o limite máximo que pode ser atingido por qualquer dispositivo de computação
Tese de Church (Church-Turing) A tese de Church não é demonstrável, pois é fundamentada em uma noção intuitiva (não formal) de algoritmo. Ela é aceita como verdadeira, ou seja, é assumida como hipótese. Por isso é conhecida também como Hipótese de Church (ou Church- Turing).
Outras máquinas universais Além da MT, há outras máquinas consideradas universais. Cada uma delas é baseada em um tipo de estrutura de dados. Máquina Máquina Norma Máquina de Post Máquina com pilhas Autômatos com duas pilhas Estrutura de Dados Registradores As máquinas com 2 pilhas possuem o mesmo poder computacional que a classe das MT. Fila Pilha Pilha
Outras máquinas universais Definição formal de autômato com 2 pilhas (A2P):Um A2P é uma 6-upla (Q,, Γ, δ, q0, F) onde Q é o conjunto finito de estados é o alfabeto de entrada Γ é o alfabeto auxiliar de pilha δ: Q x x Γ x Γ -> Q x Γ x Γ é a função de transição. Ela considera: o estado corrente, o símbolo lido e o símbolo no topo de cada pilha; para determinar: novo estado e o símbolo gravado em cada pilha. q0 Є Q é o estado inicial F C Q é o conjunto de estados de aceitação
Outras máquinas universais Considerações sobre a função de transição: a omissão do parâmetro de leitura, representada por?, indica o teste da correspondente pilha vazia ou toda palavra de entrada lida. O símbolo ε na leitura indica que o autômato não lê nem move a cabeça. O símbolo ε na gravação indica que nenhuma gravação é realizada na pilha (ou desempilha) Ex: δ(p,?, a, e) = {(q, ε, b)} indica que se no estado p, a entrada foi completamente lida, o topo da pilha 1 é a e o topo da pilha 2 é e; então vá para o estado q, desempilha a da pilha 1 e grava b na pilha 2.
Outras máquinas universais Representação no diagrama de estados p (x, a 1, b 1, a 2, b 2 ) q x: símbolo lido a 1 : símbolo lido da pilha 1 b 1 : símbolo gravado na pilha 1 a 2 : símbolo lido da pilha 2 b 2 : símbolo gravado na pilha 2
Outras máquinas universais O formalismo A2P é equivalente ao formalismo MT: MT pode ser simulada em um A2P: A fita da MT é simulada usando as duas pilhas: a pilha 1 simula o conteúdo da fita à esquerda da cabeça da fita, e a pilha 2, o conteúdo à direita Um A2P pode ser simulado em uma MT: a palavra de entrada aparece nas primeiras posições da fita da MT. A pilha 1 corresponde às células impares da fita, após a palavra de entrada; a pilha 2 corresponde às células pares da fita, após a palavra de entrada.
Referências TEORIA DA COMPUTAÇÃO Diverio, T. A.; Menezes, P. B.. Teoria da Computação: Máquinas Universais e Computabilidade. Porto Alegre: Sagra Luzzato, 2000.