TEXTO 5
Máquina de Turing
Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente
Prof. Luiz A M Palazzo
Maio de 2007
________________________________________________________________________
0. Introdução
• A Ciência da Computação é o estudo sistematizado relativo à Computação.
• Originou-se na Grécia com os algoritmos de Euclides (século III A.C.) e na Babilônia, com
estudos sobre complexidade e redutibilidade de problemas.
• Em 1936 Alan Mathieson Turing, matemático inglês, propôs um modelo que ficou
conhecido como Máquina de Turing, atualmente aceito como uma formalização do
conceito de procedimento, isto é, uma seqüência finita de instruções que podem ser
realizadas mecanicamente em um tempo finito.
• Ainda em 1936, Alonzo Church apresentou uma hipótese que ficou conhecida como a
Hipótese de Church, segundo a qual qualquer função computável pode ser representada
por uma Máquina de Turing.
• Como o conceito de procedimento é matematicamente impreciso, não é possível provar
que a Máquina de Turing é realmente o dispositivo computacional mais genérico possível.
• Entretanto nenhum modelo computacional desenvolvido até o presente conseguiu
apresentar capacidade computacional superior ao modelo de Turing, o que reforça a
Hipótese de Church.
• As Linguagens Enumeráveis Recursivamente (LER), ou do Tipo Zero, são as linguagens
que podem ser reconhecidas por uma Máquina de Turing e portanto esta classe de
linguagem representa o conjunto de todas as linguagens que podem ser reconhecidas
mecanicamente e em um tempo finito.
• Para gerar as LER emprega-se um formalismo axiomático ou gerador na forma de uma
gramática denominada Gramática Irrestrita (não possui qualquer restrição quanto ao
formato das produções).
• As Linguagens Sensíveis ao Contexto (LSC), ou do Tipo 1, estão contidas propriamente
no conjunto das LER.
• Gramáticas Sensíveis ao Contexto (GSC): É o formalismo gerador das LSC. O lado
esquerdo das produções pode ser uma palavra de variáveis ou terminais definindo um
contexto de derivação.
• Máquina de Turing com Fita Limitada: É o mecanismo reconhecedor das LSC. Sua fita é
limitada e portanto finita.. Não se sabe se o não-determinismo aumenta ou não o poder
computacional das Máquinas de Turing com Fita Limitada.
1. Máquina de Turing
• A fita é finita à esquerda e infinita à direita, sendo dividida em células onde cada uma
armazena um símbolo, que podem pertencer ao alfabeto de entrada, ao alfabeto auxiliar
ou ser "branco".
• Inicialmente a palavra a ser processada ocupa as células mais à esquerda da fita, ficando
as demais em "branco".
• Após a leitura/gravação a cabeça se move uma célula para a direita ou para a esquerda.
• Inicialmente a cabeça está posicionada na célula mais à esquerda da fita como pode ser
visto na figura, onde β representa "branco".
a b b c a β β β ... ∝
Controle
ESTADO NOVO
ANTERIOR ESTADO
δ1 a b A B β
q0 (q1, A, D) (q3, B, D) (q4, β, D)
q3 (q3, B, D) (q4, β, D)
q4
(A, A, D)
(a, A, D) (b, B, E)
q0 q1 q2
(B, B, D)
(a, a, D) (a, a, E)
(B, B, D) (B, B, E)
(β, β, D) q3
(B, B, D)
(β, β, D)
q4
a a b b β β A a b b β β A a b b β β
q0 q1 q1
A a B b β β A a B b β β A a B b β β
q2 q2 q0
A A B B β β A A B b β β A A B B β β
q1 q1 q2
A A B b β β A A B B β β A A B B β β
q2 q0 q3
A A B B β β A A B B β β
q3 q4