Você está na página 1de 13

MQUINA DE TURING

SUMRIO

INTRODUO ............................................................................................................. 4

Mquina de Turing .......................................................................................................... 5


Formalismo Definio .................................................................................................. 6
Mquinas de Turing grafo ............................................................................................ 6
Mquina de Turing Determinstica e NoDeterminstica .............................................. 8
Componentes de uma Mquina de Turing Determinstica .................................. 8
Esquema de uma Mquina de Turing Determinstica ......................................... 8
Funo de uma Mquina de Turing Determinstica ............................................ 9
Estados de uma Mquina de Turing Determinstica ........................................... 9
Passo de uma Mquina de Turing Determinstica .............................................. 9
Exemplo de uma Mquina de Turing Determinstica ........................................ 10
Funo de transferncia () para o exemplo: tabela ........................................ 10
Funo de transferncia () para o exemplo: diagrama ................................... 11
Mquina de Turing No Determinstica ........................................................................ 11
Procedimento Efetivo ........................................................................................ 12
Diagrama de Estados No Determinstico ........................................................ 12
Concluso ...................................................................................................................... 13
Bibliografia .................................................................................................................... 14
2

Introduo

Neste trabalho ser abordado sobre a mquina de Turing, introduzida por Alan
Turing como um modelo matemtico do processo de computao. Com a sua estrutura
simples, Turing pretendia, com sua definio, chegar a um modelo que fosse
universalmente aceito. A mquina de Turing o principal modelo usado para o estudo
do que ou no computvel.
Muito antes dos computadores modernos terem sido inventados, a teoria da
computao j havia sido iniciada e estava em desenvolvimento. Matemticos de todo o
mundo buscavam resolver problemas atravs de processos com um nmero finito de
passos que pudessem sempre retornar resultados corretos para uma mesma questo.
3

Mquina de Turing

A Mquina de Turing um modelo computacional semelhante um autmato


finito, porm muito mais poderoso e com propsito de uso geral. Trata-se de um modelo
abstrato de computador, restrito apenas aos aspectos lgicos do funcionamento do
mesmo: capacidade de armazenamento, estados e transies ignorando sua
implementao fsica.
Ela constituda por um controle finito (conjunto finito de estados), uma fita
dividida em clulas, e uma cabea de leitura/escrita, que atua sobre uma clula da fita de
cada vez.

Componentes de uma Mquina de Turing

Existem algumas operaes bsicas que so realizadas sobre


autmatos, entre elas destacam-se:
1. Anlise e validao de cadeias de entrada: ao se analisar uma string
de entrada, a mquina de estados capaz de determinar se essa cadeia
de caracteres um elemento ou no da linguagem representada.
2. Converso de um AFND para um AFD e vice-versa: essa operao
comprova que essas duas classes so equivalentes.
3. Minimizao de um AFD: o objetivo da minimizao gerar um
autmato finito equivalente ao autmato original, mas com o menor
nmero de estados possveis.

Apesar de sua semelhana com autmatos finitos, mquinas de Turing possuem


diferenas essenciais:
A cabea pode mover-se para ambos os lados.
A fita infinita
Os estados de aceitao e rejeio so imediatamente processados.
4

Formalismo Definio

O smbolo de incio da fita sempre ocorre exatamente uma vez e na clula mais
esquerda da fita, auxiliando na identificao de que a cabea da fita se encontra na
clula mais esquerda da fita.

Mquinas de Turing - grafo

A funo programa considera o estado corrente e o smbolo lido da fita para


determinar o novo estado, o smbolo a ser gravado e o sentido de movimento da cabea
onde esquerda e direita so representados por E e D, respectivamente. O estado inicial e
os estados finais so representados como nos autmatos finitos.

O processamento de uma Mquina de Turing para uma palavra de entrada w


consiste na sucessiva aplicao da funo programa a partir do estado inicial q0 e da
cabea posicionada na clula mais esquerda da fita at ocorrer uma condio de
parada.
5

O processamento de M para a entrada w pode parar ou ficar em loop infinito. A


parada pode ser de duas maneiras: aceitando ou rejeitando a entrada w. E as condies
de parada so as seguintes:
Estado Final: a mquina chega um estado pertencente a F, aceitando a entrada w ;
Funo Indefinida: a funo indefinida para o smbolo lido e o estado corrente. A
mquina pra e a entrada w rejeitada;
Movimento Invlido: o argumento corrente da funo programa defini um
movimento esquerda da clula que contm o marcador de inicio da fita.

Tambm pode ser representada em forma de tabela conforme figura abaixo:

O algoritmo apresentado reconhece o primeiro smbolo a, o qual marcado


como A, e movimenta a cabea da fita direita, procurando o b correspondente, o qual
marcado com B. Este ciclo repetido sucessivamente at identificar para cada a o seu
6

correspondente b. Adicionalmente, o algoritmo garante que qualquer outra palavra que


no esteja na forma anbn rejeitada.

Mquina de Turing Determinstica e NoDeterminstica

Existem mquinas de Turing determinsticas e no-determinsticas. As


determinsticas so aquelas que quando esto em um certo estado, lendo um certo dado,
podem se movimentar de um nico modo rumo prxima configurao; j as no-
determinsticas podem se mover para diversas configuraes, a partir do dado lido e da
configurao interna atual. Evidentemente as mquinas determinsticas formam uma
subclasse das no-determinsticas.

Componentes de uma Mquina de Turing Determinstica

Fita de entrada/trabalho/sada

Subdividida em cdulas
Cada cdula contm um smbolo de um alfabeto
Por exemplo, { , 1 ,0 ,}
Primeira clula esquerda contm o smbolo
O smbolo representa o branco

Controle central

Possui uma cabea mvel de leitura e gravao


Em cada instante, a cabea encontra-se sobre uma clula da fita

Esquema de uma Mquina de Turing Determinstica

Funo de uma Mquina de Turing Determinstica

Reconhece um conjunto A de palavras de um certo alfabeto se, para toda


palavra de entrada x, pra e aceita x se, e somente se, x pertence a A.
Calcula uma funo que transforma uma palavra em outra, sobre um mesmo
alfabeto.

Estados de uma Mquina de Turing Determinstica

Em cada instante, o controle central est em um estado q, de um conjunto


finito de estados Q
O estado inicial chamado de q0:

Cabea sobre a clula mais esquerda, a qual contm o smbolo

As n clulas seguintes contm uma palavra x, chamada de entrada

Uma palavra uma seqncia finita de smbolos de , excluindo os


smbolos e

As demais clulas da fita contm o smbolo

Passo de uma Mquina de Turing Determinstica

1. Ler o smbolo sob a cabea;


2. Escrever o smbolo no lugar de ;

3. Reposicionar a cabea, que pode ser movida uma clula direita ou esquerda,
ou deixada no mesmo lugar;

4. Mudar o controle central para um novo estado q.

As operaes (2), (3) e (4) dependem apenas do smbolo , lido na operao


(1) e do estado q do controle central antes do passo corrente.

O smbolo necessariamente diferente de sempre que for diferente de .

A mquina pra aps uma seqncia de passos quando o controle central


alcana um dos seguintes estados finais:
8

o qA : a mquina aceita a entrada x

o qR : a mquina rejeita a entrada x

possvel que a mquina nunca pare.

A sada da mquina, definida apenas se a mquina parar, uma palavra


(nova ou idntica entrada x).

Exemplo de uma Mquina de Turing Determinstica

{, 1 ,0 ,, A, B}
Reconhece toda e qualquer palavra formada por n smbolos 0 seguidos por n
smbolos 1, tal que n 1

Substitui alternadamente um 0 por um A e um 1 por um B. Exemplo:

o entrada = 0011

o sada = AABB

o passos: A011, A0B1, AAB1, AABB

Q = { q0, q1, q2, q3, q4, qA, qR }

Funo de transferncia: tabela.

Funo de transferncia () para o exemplo: tabela

q q

q0 q0 +1

q0 0 q1 A +1

q1 0 q1 0 +1

q1 B q1 B +1

q1 1 q2 B -1
9

q2 B q2 B -1

q2 0 q3 0 -1

q2 A q4 A +1

q3 0 q3 0 -1

q3 A q0 A +1

q4 B q4 B +1

q4 qA 0

qA qA 0

qR qR 0

Funo de transferncia () para o exemplo: diagrama

Mquina de Turing No Determinstica

A mquina de Turing no determinstica, tem um nmero finito de escolhas para


o prximo movimento (estado, novo smbolo e movimento da cabea) para cada estado
e smbolo varrido. Ela aceita uma entrada se uma seqncia qualquer de escolhas a leva
10

a um estado de aceitao. Embora aparente ter maior poder computacional em relao a


verso determinstica no capaz de reconhecer nenhuma linguagem que no seja
Recursivamente Enumervel.
Elas podem ser vistas, com a adio de mdulo de adivinhao.
Antes da execuo normal, arbitrariamente este mdulo escreve a
soluo na fita;
Posteriormente, o cabeote original executa normalmente, verificando a
validade da soluo e aceitando-a.
O conceito da linguagem se mantm.

Contm uma fita adicional: fita de sugestes.


O controle central no pode escrever na fita de sugestes.

A funo de transferncia da mquina depende no s do estado q do


controle central e do smbolo lido da fita de entrada/sada/trabalho, mas
tambm do smbolo lido da fita de sugestes.

Procedimento Efetivo

1. A descrio do procedimento deve ser finita.


2. Deve partir de um certo nmero de dados e deve produzir um certo nmero de
resultados que mantm uma relao especfica com os dados.

3. Deve existir um agente computacional (humano, mecnico, eletrnico, etc) que


execute as instrues do procedimento.

4. Cada instruo especificada pelo procedimento deve estar bem definida, no


deixando dvidas quanto ao seu resultado.
11

5. As instrues do procedimento devem ser efetivas, isto , devem ser to simples


que poderiam ser executadas, em princpio, por uma pessoa usando lpis e papel,
num espao de tempo finito.

Diagrama de Estados No Determinstico

A representao por diagramas de estados de uma mquina de Turing no


determinstica semelhante anterior, porm pode existir mais de uma transio para o
mesmo smbolo a partir de um estado. Nesse caso, o adivinho diz qual das transies
para um determinado smbolo deve se utilizada.
A condio de aceitao a mesma.

Concluso

Dentre todos os modelos computacionais, o modelo da mquina de Turing sem


duvida um dos mais importantes. importante enfatizar que a mquina de Turing, no se
trata de uma mquina, no sentido dado a essa palavra, mas sim de um programa para uma
mquina universal.
Diversas variaes sobre a definio de Mquina de Turing so adotadas, mas estas no
alteram o poder computacional do formalismo da Mquina de Turing.
12
13

Bibliografia

CARVALHO, Marco Antonio Moreira de. Anlise de Complexidade de Algoritmos.


Disponvel em: http://www.decom.ufop.br/marco/folhetos/5.pdf. Acessado em
05/12/2010.

http://www.dm.ufscar.br/hp/hp501/hp501001/hp501001.html - Acessado em
05/12/2010

JUKEMURA1, Anibal S; NASCIMENTO, Hugo A. D. do; UCHOA, Joaquim Q. GAM


- Um Simulador para Auxiliar o Ensino de Linguagens Formais e de Autmatos.
Instituto de Informtica Universidade Federal de Gois.

LUCCHESI, Cludio L; SIMON, Imre; SIMON, Istvan; SIMON, Janos, &


KOWALTOWSKI, Tomasz. Aspectos Tericos da Computao. Rio de Janeiro:
Instituto de Matemtica Pura e Aplicada, 1979.

SAKATA, Tiemi Christine. Tpicos em Computao. FACENS - Faculdade de


Engenharia de Sorocaba. Disponvel em: http://www.li.facens.br/~tiemi/Tc1/turing.pdf.
Acessado em 05/12/2010