Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Aluno
ROBERT DIEGO DE JESUS
Mat. 2007.2100.398
Diamantina, 06/2010
SUMÁRIO
1. Apresentação....................................................................................................................................2
Exemplo de uma máquina de Turing simples.............................................................................3
2. Definição de Máquina de Turing.......................................................................................................4
O problema da parada e o problema da decisão............................................................................5
2.2 Variações da Máquina de Turing ..............................................................................................6
2.2.1. Máquina de Turing com múltiplas fitas ...........................................................................6
2.2.2. Máquina de Turing com múltiplas cabeças .....................................................................7
2.2.3. Máquina de Turing com fita infinita para os dois lados ..................................................8
Resumo das variações da Máquina de Turing: ...........................................................................9
3. Linguagens Recursivas e Recursivas Enumeráveis............................................................................9
3.1 Propriedades ...........................................................................................................................10
4. Tese de Church-Turing....................................................................................................................12
5. Outras Aplicações para MT.............................................................................................................14
5.1 As informações que a máquina de Turing já resolve..........................................................14
5.2 o que a máquina de Turing ainda não processa.................................................................15
Referências Bibliográficas...................................................................................................................17
06/2010 MÁQUINA DE TURING
1. APRESENTAÇÃO
A máquina de Turing é um dispositivo teórico conhecido como máquina universal, que foi
concebido pelo matemático britânico Alan Turing (1912-1954), muitos anos antes de existirem os
modernos computadores digitais (o artigo de referência foi publicado em 1936). Num sentido
preciso, é um modelo abstrato de um computador, que se restringe apenas aos aspectos lógicos
do seu funcionamento (memória, estados e transições) e não à sua implementação física. Numa
máquina de Turing pode-se modelar qualquer computador digital.
Turing também se envolveu na construção de máquinas físicas para quebrar os códigos
1. Apresentação
secretos das comunicações alemãs durante a II Guerra Mundial, tendo utilizado alguns dos
conceitos teóricos desenvolvidos para o seu modelo de computador universal.
A Máquina de Turing é um modelo computacional semelhante à um autômato finito,
porém muito mais poderoso e com propósito de uso geral. À rigor trata-se de um modelo
abstrato de computador, restrito apenas aos aspectos lógicos do funcionamento do mesmo:
Capacidade de armazenamento, estados e transições ignorando sua implementação física.
Informalmente descrita, uma máquina de Turing consiste em:
• Uma fita divida em células adjacentes umas às outras. Em cada célula está escrito um
símbolo de um alfabeto definido para a fita. O alfabeto contém obrigatoriamente um
símbolo especial branco e um ou mais outros símbolos. Assume-se que a fita é infinita,
isto é, a máquina de Turing possui fita suficiente para realizar sua computação.
Inicialmente a fita possui apenas a cadeia de entrada preenchida e todas as demais
células estão inicialmente com o símbolo vazio escrito. Note também que a máquina de
Turing possui dois alfabetos, um para a fita e outro para a entrada, sendo eles nunca
iguais visto que o de entrada não pode conter o símbolo vazio enquanto o de fita ,como
descrito, obrigatoriamente o possui.
• Uma cabeça, que pode ler, escrever símbolos e mover-se na fita, tanto para a esquerda
como direita.
• Um registrador de estados, que armazena o estado da máquina de Turing. O número de
estados diferentes é sempre finito e existem pelomenos dois, o estado de aceitação e o
de rejeição.
• Uma função de transição que diz à máquina que símbolo escrever, como mover a cabeça
e qual será seu novo estado após a mudança, dados o símbolo que ele acabou de ler na
fita e o estado em que se encontra.
Apesar de sua semelhança com autômatos finitos, máquinas de Turing possuem
diferenças essenciais:
Uma máquina M que computa a soma de dois números naturais n1 e n2, representados
na notação unária. Entrada: 1n101n2; saída deve ser 1n1+n2.
1. Apresentação
A idéia é deslocar o numero 0 até a extremidade direita da fita, ou seja até o fim da
cadeia n2 e assim o resultado na fita será a soma das mesmas.
Algoritmo:
1. Enquanto não encontrar um 0 vá para direita. Se encontrar vá para 2, senão, rejeite.
2. Vá uma célula para a direita, se encontrar 1 , troque-o por 0 e vá para 3, se encontrar o
símbolo vazio aceite, se encontrar o símbolo 0, rejeite.
3. Vá uma célula para a esquerda e troque o 0 por um 1. e vá para 1.
A relação M
∣− um movimento, entre duas configurações é definida da seguinte forma.
Seja X 1 ·· · X i − 1 sX i · ·· X n
uma configuração.
Seja δ s , X i = s ' , Y , D . Se i=1 e D=← então
M
sX 1 · · · X n ∣− s ' bY X i 1 · ·· X n
Se i=1, D=← e Y =b então
M
sX 1 · · · X n ∣− s ' X i1 · · · X n
Se i1 e D=← então,
M
X 1 · ·· X i −1 sX i · · · X n ∣− X 1 ·· · X i − 2 s ' X i −1 Y X i 1 ·· · X n
Analogamente se D=→ tem-se que
M
X 1 · ·· X i −1 sX i · · · X n ∣− X 1 · ·· X i −1 Y s ' X i1 · · · X n
k
Diz-se que xsy ∣− M
x ' s ' y ' se x ' s ' y ' resulta de xsy em k movimentos e
∗ k
xsy ∣M− x ' s ' y ' se existe k 0 tal que xsy ∣− x ' s ' y '
M
M = ({s0, s1, s2, s3}, {0, 1}, {0, 1, •, X}, •, s0, {s4})
Teorema da Parada: Dado um programa P qualquer para uma Máquina de Turing e uma
entrada E qualquer de dados para esse programa, não existe uma Máquina de Turing especifica
que pare após um número finito de passos, e que diga se P em algum momento encerra sua
execução ao processar E.
A solução negativa deste problema computacional implica também numa solução
Isso tomaria conta de simular múltiplas fitas. No entanto, B pode usar uma única
cabeça, enquanto A tem k cabeças posicionadas em diferentes locais em diferentes fitas. Para
memorizar a posição de k cabeças é necessário k faixas adicionais, uma para cada cabeça.
Assim, a fita única de B deve ser dividida em 2k faixas. As faixas com números ímpares
são idênticas as fitas 1,2,...,k de A. As faixas com números 2,4,...,2k memorizam as posições das
cabeças. Se a cabeça na fita i está posicionada na célula n, então a faixa 2i tem um na célula n e
0 em todas as outras células conforme mostrado na Figura 3.
onde E representa o movimento da cabeça de leitura e escrita uma posição para a esquerda e D
Ilustração 7
Teoria da Computação – Sistemas de Informação
UFVJM 8
06/2010 MÁQUINA DE TURING
Resumo Das Variações Da Máquina De Turing:
Uma das razões para considerar a Máquina de Turing como o mais geral dispositivo de
computação é o fato de que todos os demais modelos e máquinas propostas, bem como
diversas modificações da Máquina de Turing, possuem, no máximo, o mesmo poder
computacional da Máquina de Turing. As modificações apresentadas a seguir são
frequentemente usadas.
1. Máquina de Turing Não-Determinística: A facilidade de não-determinismo não aumenta o
poder computacional da Máquina de Turing;
2. Máquina de Turing com Fita Infinita à Esquerda e à Direita: A modificação da definição
básica da Máquina de Turing permitindo que a fita seja infinita dos dois lados não
aumenta o seu poder computacional. Na realidade, a fita infinita à esquerda e à direita
2. Uma linguagem é dita Recursiva se existe uma Máquina de Turing tal que:
ACEITA(M) = L
REJEITA(M)= ∑ ∗ −L.
LOOP(M) = ∅
3.1 PROPRIEDADES
3.1 Propriedades
Esta nova máquina de Turing calcula χL , a função característica de L, e portanto L é
recursiva.
Teorema: Existem linguagens não recursivamente enumeráveis sobre qualquer alfabeto A. Mais
precisamente, o conjunto das linguagens não recursivamente enumeráveis sobre A tem o
cardinal do contínuo.
Demonstração: Basta notar que RE(A) é um conjunto numerável, enquanto que P A ∗ , o
conjunto de todas as linguagens sobre A tem o cardinal do contínuo.
4. Tese de Church-Turing
• Cálculo-lambda (componente característico fundamental da linguagem de programação
LISP) de Alonzo Church;
• A Máquina de Post, análoga à de Turing, tornada pública um pouco depois, fruto de
trabalho independente, e seu sistema para rescrita de símbolos (cuja gramática de
Chomsky é um caso particular), de Emil L. Post (1897-1954).
Com efeito, todos estes conceitos levaram à mesma conclusão e acabaram por ter o mesmo
significado, dentro do citado escopo da busca de uma definição bem elaborada de processo
efetivo. No presente trabalho referir-se-á mais a Church e Turing (Kleene fez em seu trabalho
uma ampla abordagem de ambos, tirando várias consequências, e Post trata do mesmo tema de
Turing), para se ter uma visão mais clara da diversificação dos estudos desta década de 1930
para a fundamentação teórica de toda a Computação.
Um teorema de Alonzo Church (1903-1995) demonstrou em 1936 que não pode existir
um procedimento geral de decisão para todas as expressões do Cálculo de Predicados de 1a
ordem, ainda que exista tal procedimento para classes especiais de expressões de tal cálculo.
Isto pode causar certo espanto se se pensa que o Cálculo de Predicados de 1a ordem é
semanticamente completo, com o que se diz implicitamente que o próprio cálculo, com seus
axiomas e regras, constitui um algoritmo capaz de enumerar uma após outra todas as sua
expressões válidas.
De fato, no entanto, estas expressões são indefinidamente numerosas, de modo que,
mesmo sendo verdade que essa infinidade de expressões seja enumerável, ou seja, construíveis
passo a passo a partir dos axiomas, essa enumeração não tem fim. Compreende-se, então que,
se se consegue demonstrar uma determinada fórmula P em um certo momento, isto já basta
para afirmar que se trata de uma fórmula válida. Pelo contrário, se por exemplo depois de haver
deduzido mil teoremas dos axiomas, P ainda não apareceu, não se pode afirmar nada, porque P
poderia aparecer talvez após outro milhar de teoremas, permitindo-se reconhecer sua validade,
ou não aparecer nunca, por não ser válida. Mas não se poderá afirmar em qual caso se está,
mesmo depois das mil deduções.
A decisão, dentro desse cálculo seria possível se se possuísse um algoritmo capaz de
enumerar as expressões não válidas. A expressão P então aparecia dentro desse conjunto de
não válidas em algum momento. O teorema de Church de que se está tratando consiste
fundamentalmente na demonstração de que não existe algoritmo capaz de enumerar as
expressões não válidas, de maneira que fica excluído a proibir todo procedimento de decisão
para as expressões do Cálculo de predicados, em geral. Para compreender as razões de
semelhante fato seria necessário valer-se das noções técnicas relacionados com os conceitos da
matemática recursiva, que excedem amplamente os limites deste trabalho.
4. Tese de Church-Turing
Usando sua teoria Church propôs uma formalização da noção de "efetivamente computável",
através do conceito de lambda-definibilidade. Turing em 1936 e 1937, ao dar a sua noção de
computabilidade associada a uma máquina abstrata, mostrou que a noção Turing-computável é
equivalente à lambda-definibilidade. O trabalho de Church e Turing fundamentalmente liga os
computadores com as MT. Os limites das MT, de acordo com a tese de Church-Turing, também
descreve os limites de todos os computadores.
O processo que determina o valor de uma função através dos argumentos dessa função é
chamado de cálculo da função (ou computar uma função). Como foi observado, a máquina de
Turing pode ser matematicamente interpretada como um algoritmo e efetivamente toda ação
de uma máquina algorítmica como o computador pode ser considerada como a de calcular o
valor de uma função com determinados argumentos. Este 'insight' é interessante, pois dá uma
maneira de se medir a capacidade computacional de uma máquina. Necessita-se somente
identificar as funções que se é capaz de computar e usar este conjunto como medida. Uma
máquina que compute mais funções que outra é mais poderosa.
A partir dos resultados de Gödel, Turing e Church, pode-se dizer que existem funções para
as quais não existe uma seqüência de passos que determinem o seu valor, com base nos seus
argumentos. Dizendo-se de outra maneira, não existem algoritmos para a solução de
determinadas funções. São as chamadas funções não computáveis. Isto significa que para tais
funções não há nem haverá capacidade computacional suficiente para resolvê-las. Logo,
descobrir as fronteiras entre funções computáveis e não computáveis é equivalente a descobrir
os limites do computador em geral. A tese de Church-Turing representa um importante passo
nesse sentido. A percepção de Turing foi a de que as funções computáveis por uma MT eram as
mesmas funções computáveis acima referidas. Em outras palavras, ele conjeturou que o poder
computacional das MT abarcava qualquer processo algorítmico, ou, analogamente, o conceito
da MT propicia um contexto no qual todas as funções computáveis podem ser descritas. Isto foi
a contribuição dada pelo trabalho de Turing e Church: as funções computáveis são as mesmas
funções Turing-computáveis. A importância disso está na possibilidade de se verificar o alcance
e limites de um computador.
1 – Modelos computacionais
Em 1945, John von Neumann fez alterações na máquina de Turing para torná-la mais
prática dividindo-a em dispositivo de entrada de dados, uma memória para guardar os dados e
instruções, um dispositivo de processamento, um sistema operacional capaz de gerenciar todo o
REFERÊNCIAS BIBLIOGRÁFICAS