You are on page 1of 3

Mquina de Turing

John Anderson Freitas Mendes1, Rafael Andrade2


1,

Mestrado em Cincias da Computao, primeiro trimestre, 2002


Laboratrio de Integrao de Hardware e Software (LISHA)
Universidade Federal de Santa Catarina (UFSC), Brasil, 88040-900.
Fone (0XX48) 331-9498 R. 223, Fax (0XX48) 331-9770.
johnand@inf.ufsc.br, andrade@inf.ufsc.br

Resumo
Alan M. Turing, um dos maiores matemticos de seu tempo aos 24 anos desenvolveu um
modelo matemtico simples que simularia uma mquina capaz de ler e gravar smbolos
seguindo a regra de um sistema formal.Atravs de exemplos baseados na teoria de Alan M.
Turing ser abordada em forma prtica o funcionamento do que em sua poca era apenas
uma teoria.
Palavras-chave: Turing, Formal, Grafos.

Abstract
Alan M. Turing, one of the mathematical greats of its time to the 24 years developed simple a
mathematical model that would simulate a machine capable to read and to record symbols
following the rule of a system formal .Through of examples based on the theory of Alan M.
Turing will be boarded in practical form the functioning of that at its time it was only one
theory.
Key-words: Turing, Formal, Graphs.

Introduo

Metodologia

A mquina de Turing um modelo


matemtico simples de um computador. A mquina
de Turing para ser considerada como um modelo
formal de procedimento deve satisfazer seguinte
condio: a descrio do procedimento deve ser
finita e deve consistir de passos discretos, que
possam ser executados mecanicamente, e em
tempo finito.[3]
Em 1936, com a idade de 24 anos, Alan M.
Turing consagrou-se como um dos maiores
matemticos do seu tempo quando provou aos seus
colegas que era possvel executar operaes
computacionais sobre a teoria dos nmeros por
meio de uma mquina que tivesse embutidas as
regras de um sistema formal. Embora propriamente
no existisse tal mquina, Turing enfatizou desde o
incio que tais mecanismos poderiam ser
construdos. Sua descoberta abriu uma nova
perspectiva no esforo de formalizar a matemtica,
e, ao mesmo tempo, marcou fortemente a histria
da computao.

Buscando apresentar um modelo prtico da


mquina de Turing, este documento segue moldes
baseados em Harry R. Lewis e Christos H.
Papadimitriou, onde aborda a histria de Alan M.
Turing, um pouco de sua vida e uma de suas
maiores pesquisas ou descobertas que foi a
Mquina de Turing. Seguindo um raciocnio de
apresentar a Mquina de forma prtica, buscamos
um software capaz de computar comandos de
leitura e gravao, e o mesmo foi pesquisado e
encontrado um modelo na Internet.

Resultados
O Teste de Turing
Alan Turing, matemtico Ingls autor de
vrios trabalhos sobre Lgica e Teoria da
Computabilidade
estabeleceu,
no
artigo
"Computing
Machinery
and
Intelligence",
publicado na revista Mind em 1950, as bases do
que se poderia conceber como sendo Inteligncia

Artificial. Fazendo uso de um critrio operacional,


Turing considerou um observador A isolado em
uma cabine, de duas outras pessoas B e C, com as
quais o primeiro poderia estabelecer uma
conversao por meio de teletipos. A partir de
qualquer instante, uma das pessoas, B ou C,
poderia ser substituda por um computador, que
continuaria normalmente o dilogo. Se este
computador fosse dotado de inteligncia, a troca
realizada no seria percebida pelo interlocutor A
dentro da cabine, que no poderia dizer, apenas
atravs de perguntas ou respostas, sobre qual de
seus interlocutores seria um ser humano e qual
seria uma mquina.
Considera-se que este conceito apresenta
os requisitos essenciais para definir o que seja a
Inteligncia Artificial. At mesmo se o interlocutor
A pedir a seus dois outros interlocutores para
fazerem uma conta complicada, em que neste caso
o computador seria mais rpido que o ser humano,
o software inteligente poderia fingir lentido e
demorar a apresentar o resultado, tentando enganar
o interlocutor A. Segundo Lugger & Stublefield,
trs caractersticas importantes deste teste so:
- Fornece uma noo objetiva do que seja
inteligncia, isto , o comportamento de um ser
inteligente conhecido em resposta a um conjunto
de questes especficas. Isto prov um padro para
a determinao da inteligncia que evita os
inevitveis debates sobre sua "verdadeira"
natureza.
- Evita questionamentos imprprios como aqueles
que dizem respeito a se o computador usa
processos internos apropriados ou se a mquina
est ou no consciente de suas aes.
- Elimina qualquer inclinao ou tendncia a favor
de organismos vivos, forando a pessoa que
interroga a situar-se apenas em torno das respostas
s questes que lhe so formuladas.
O Teste de Turing, devido s vantagens
acima mencionadas, ainda hoje freqentemente
solicitado, com algumas alteraes, para verificar
se um programa possui inteligncia ou no. Sua
principal vantagem, segundo alguns, afastar os
conceitos e discusses sobre a natureza da
inteligncia ou pensamento que a psicologia
procura estabelecer.
A definio aqui meramente operacional,
fazendo uso de um princpio de substituio,
procurando captar mais o sentido do que seria uma
mquina processar informaes - no que
concordam
muitos
dos
desenvolvimentos
posteriores neste campo. Pode-se admitir que
existam limites no exerccio desta habilidade
mantendo-se,
entretanto,
a
caracterstica
operacional desta definio.

A reao negativa de muitas pessoas ao


ouvirem falar do comportamento inteligente das
mquinas se deve talvez ao fato de que muitas
vezes esto procurando estabelecer uma
correspondncia funcional completa entre a
mquina e o crebro humano, coisa que
obviamente no ocorre. Esta incompreenso
aumenta com o avano da tecnologia de software e
hardware, com os computadores modernos
realizando com facilidade avaliaes lgicas.

Mquina de Turing
A mquina de Turing, tem seu
funcionamento baseado em um dispositivo
contendo uma cabea de leitura que possa gravar e
ler smbolos, uma fita dividida em clulas que
possa ser movimentada para qualquer direo ao
longo da fita e por ltimo uma unidade de controle
onde essa unidade poderia interpretar uma lista de
instrues simples sobre leitura e gravao de
smbolos nas clulas, movendo-se para direita ou
esquerda na fita. A clula que lida conhecida
como clula ativa, e cada regra o estado da
mquina que dever ser executada e tambm
devemos considerar a fita como sendo infinita[1].
Uma mquina de Turing M sobre um
alfabeto consiste de 3 partes:
- Uma fita que dividida em clulas. A fita
tem uma clula mais a esquerda, mas infinita no
lado direito. Cada clula da fita contm exatamente
um smbolo de fita. Os smbolos de fita incluem as
letras do alfabeto dado , as letras de um alfabeto
auxiliar V, e o smbolo especial (branco). Todos
smbolos so distintos.
- Unidade de controle. Reflete o estado
corrente da mquina. Possui uma unidade de
leitura e gravao (cabea de fita) a qual acessa
uma clula da fita de cada vez e movimenta-se
para a esquerda ou direita

Figura 1: Representao de uma cabea de fita.

- Programa ou funo de transio. Funo


que comanda as leituras e gravaes, o sentido de
movimento da cabea e define o estado da
mquina. Existe sempre um estado inicial,
denotado por START, e um subconjunto de estados

da parada, denotado por HALT. Este subconjunto


pode ser vazio[4].
A unidade de controle possui um
nmero finito e pr-definido de estados. A cabea
da fita l o smbolo de uma clula de cada vez e
grava um novo smbolo. Aps a leitura/gravao, a
cabea move uma clula para a direita ou esquerda.
O smbolo gravado e o sentido do movimento so
definidos pelo programa.
O programa uma funo que dependendo
do estado corrente da mquina e do smbolo lido,
determina o smbolo a ser gravado, o sentido do
movimento da fita e o novo estado.
Podemos agora representar a definio
formal de uma mquina de Turing.
A mquina de Turing o quntuplo (K, , , s, H),
onde:
K o conjunto de finito de estados;
um alfabeto que contm o smbolo de
espaos em branco e o smbolo de final
esquerdo , mas que no contm os
smbolos e ;
s K o estado inicial;
H K o conjunto de estados de parada;
, a funo de transio.

Linguagens enumerveis recursivamente


Uma linguagem aceita por uma mquina de
Turing

dita
Linguagem
Enumervel
Recursivamente ou do Tipo 0. Exemplos de
Linguagens enumerveis recursivamente:
Linguagem exemplo1: {0n1n | n0}
Linguagem exemplo 2: {aibjck | i=j ou j=k }
Linguagem exemplo 3: {w| w tem o mesmo
nmero de smbolos a e b}
A funo programa para uma mquina de
Turing que reconhea a linguagem exemplo 1 pode
ser interpretada como um grafo finito direto, como
mostrado na figura 2. Na figura, D e E representam
direita e esquerda respectivamente, o estado inicial
o estado 0, e o nico estado final o estado 4.
Nas duas figuras (qx , X, D) representam escreve o
smbolo X, vai para o estado qx e desloca a cabea
de leitura/gravao para a direita.[2]

(1,Y,E)
q0
q4

(0, X, D)
q1

(0, X, E)

(1,X,D)

(X,Y,D)
q3

(Y,0,D)

q2

Figura 2: Mquina de Turing representada por um


grafo
A mesma mquina de Turing pode ser
representada pela seguinte tabela:
Simbolo
Estado
0
1
x
y
q0
(q1, X, D) (q0, Y, E)
q1
(q2, Y, D)
q2
(q3, 0, D)
q3
(q0, X, E) (q4, X, D)
q4(final)

Figura 3: Mquina de Turing representada por uma


tabela.

Discusso e Concluses
Turing provou que para qualquer sistema
formal existe uma mquina de Turing que pode ser
programada para imit-lo. Era este sistema formal
genrico, com a habilidade de imitar qualquer
outro sistema formal, o que Turing procurava. Tais
sistemas chamam-se Mquinas de Turing
Universais.

Referncias
[1] Lewis Harry R., "Elementos de Teoria da
Computao", 2 Edio, pp. 172-185, 2000.
[2] Thomas A. Sudkamp, "Languages and
Machines", 1997.

[3] Derick Wood, Theory of Computation,


pp 280-282, 1987.
[4] http://www.dc.uel.br/disciplinas/3cop078/
computabilidade%20-%20mTour.htm

You might also like