Você está na página 1de 8

MQUINA DE TURING Centro Federal de Educao Tecnolgica de Minas Gerais

Leonardo Dias

RESUMO Este trabalho prope um material de apoio para estudo de mquina de turing na rea de Engenharia de Computao. Dado o carter terico da disciplina de Linguagens Formais e Aut matos, existe, na maioria dos casos, dificuldade em abstrair os conceitos para compreender o mecanismo de funcionamento dos formalismos. Uma forma de auxiliar nesse processo utilizar exemplos e exerccios resolvidos para um melhor entendimento do contedo. Dessa maneira, este trabalho tem como objetivo explicar de uma forma mais direta a definio e a representao da mquina de turing. ABSTRAT This work proposes a study material for T u r i n g M a c h i n e in the field of Computer Engineering. Given the theoretical nature of the discipline of Formal Languages and Automata, there is, in most cases, difficulty with abstract concepts to understand the mechanism of operation of the formalisms. One way to assist in this process is solved using examples and exercises for a better understanding of the content. Thus, this paper aims to explain in a more direct definition and representation of turing machine.

Palavras-chaves: mquina de turing, linguagens enumerveis recursivas, formalismo.

Graduando em Engenharia da Computaao (CEFET/MG). Email: darops@gmail.com

1-Introduo A Mquina de turing para ser considerada como um modelo formal de procedimento efetivo, algoritmo ou funo computvel deve satisfazer s seguintes propriedades, entre outras: a) A descrio do algoritmo deve ser finita; b) Deve consistir de passos: discretos executveis mecanicamente; em um tempo finito O modelo proposto por Alan Turing em 1936, conhecido como Mquina de Turing consiste basicamente de 3 partes: Fita: usada simultaneamente como dispositivo de entrada, sada e memria de trabalho; Unidade de Controle: reflete o estado corrente da mquina. Possui uma unidade de leitura e gravao (cabea da fita) a qual acessa uma clula da fita de cada vez e movimenta-se para a esquerda ou direita; Funo de Transio: funo que comanda as leituras e gravaes, o sentido de movimente da cabea e define o estado da mquina.

Figura 1: Exemplo da fita e unidade de controle.

2-Funcionamento da Mquina de Turing A Mquina de Turing deve assumir empre em um estado, pertencente um conjunto finito de estados; O processamente de uma Mquina de Turing comea sempre em um estado especial, chamado estado inicial; Inicialmente a primeira clula da fita preenchida com <, que indica o incio da mesma; A cabea de leitura posicionada inicialmente na segunda clula da fita, a clula seguinte a < As clulas em branco, que no fazem parte da palavra a ser processada, so preenchidas com o simbolo B; O processo em uma Mquina de Turing consiste em uma sequncia de passos que consistem em: a) Observar o estado e o smbolo corrente da fita (aquele que o cabeote est posicionado); b) Escrever um smbolo nesta clula da fita;

c) Mover o cabeote para a esquerda ou direita; d) Mudar estado corrente. A ao a ser executada determinada por um programa que comunica unidade de controle o que deve ser feito com base na configurao em que a Mquian de Turing se encontra O processamente cessa quando a mquina atinge uma configurao para a qual no existe funo prevista, neste caso: a) Se a mquina estiver com um estado final ativo, a palavra de entrada aceita; b) Se o estado ativo no for final, a palavra de entrada no aceita; c) Se a mquina no parar (looping), a palavra de entrada no aceita. 2.1-Definio Formal Mais formalmente, uma mquina de Turing (com uma fita) usualmente definida como uma Tupla M= (Q,,,s,b,F,), onde Q um conjunto finito de estados um alfabeto finito de smbolos o alfabeto da fita (conjunto finito de smbolos) o estado inicial

o smbolo branco (o nico smbolo que se permite ocorrer na fita infinitamente em qualquer passo durante a computao) o conjunto dos estados finais uma funo parcial chamada o movimento para a esquerda e o

funo de transio, onde movimento para a direita.

Definies na literatura s vezes diferem um pouco, para tornar argumentos ou provas mais fceis ou mais claras, mas isto sempre feito de maneira que a mquina resultante tem o mesmo poder computacional. Por exemplo, mudar o conjunto para , onde P permite ao cabeote permanecer na mesma clula da fita em vez de mover-se para a esquerda ou direita, no aumenta o poder computacional da mquina (Fonte - Michael Sipser - Int Teoria da Computao). A Mquina de Turing pode ser empregada como modelo de natureza reconhecedora ou transdutora: Reconhecedora: processa a palavra de entrada aceitando-a ou rejeitando-a. Neste caso, o conjunto de palavras aceitas corresponde linguagem descrita pela Mquina de turing;

Transdutora: mquina para computar uma funo. Aplica uma funo e o resultado produzido lanado na prpria fita. A funo programa, considera o estado corrente e o smbolo lido da fita para determinar o novo estado, o smbolo a ser gravado e sentido de movimento da cabea onde esquerda e direita so representados por E e D, respectivamente. A funo programa pode ser interpretada como um grafo finito direto, como ilustrado na Figura 2. Neste caso, os estados inicial e finais so representados como nos Autmatos Finitos.

Figura 2: Representao da fun o pr ograma como um grafo.

Exemplo 1 Uma Mquina de Turing com alfabeto de entrada {a} que pra se, e somente se, a palavra de entrada for da forma a2n , para n>=0:

Processamento de aaa = cadeia rejeitada Processamento de aaaa = cadeia reconhecida

3- Hiptese de Church

A. M. Turing props, em 1936, um modelo abstrato de computao, conhecido como Mquina de Turing, com o objetivo de explorar os limites da capacidade de expressar solues de problemas. Trata-se, portanto, de uma proposta de definio formal da noo intuitiva do algoritmo. Diversos outros trabalhos, resultaram em conceitos equivalentes ao de Turing. O fato de todos estes trabalhos independentes gerarem o mesmo resultado em termos de capacidade de expressar computabilidade um forte reforo no que conhecido como Hpotese de Church ou Hiptese de Turing-Church: A capacidade de computao representada pela Mquina de Turing o limite mximo que pode ser atingido por qualquer dispositivo de computao Em outras palavras, a Hiptese de Church afirma que qualquer outra forma de expressar algoritmos ter no mximo a mesma capacidade computacional da Mquina de Turing. Como noo de algoritmo ou Funo Computvel intuitiva, a Hiptese de Church no demonstrvel. 4- Mquina de Turing como reconhecedor de linguagem Uma linguagem aceita por uma Mquina de Turing dita Enumervel Recursivamente. Historicamente, o termo enumervel deriva do fato de que as palavras de qualquer Linguagem Enumervel Recursivamente podem ser enumeradas por uma Mquina de Turing; e recursivamente um termo matemtico anterior ao computador, com significado similar ao de recurso, usado em informtica. A Classe das Linguagens Enumervel Recursivamente inclui algumas para as quais impossvel determinar mecanicamente se uma palavra no pertence linguagem. Se L uma destas linguagens, ento para qualquer mquina M que aceita L, existe pelo menos uma palavra w nao pertencente a L que, ao ser processada por M, a mquina emtra em loop infinito. Assim, podemos afirmar que: se w pertence a L, M pra e aceita a entrada se w no pertence a L, M pode parar, rejeitando a palavra ou permanecer processando indefinidamente Portanto, conveniente definir uma subclasse da Classe das Linguagens Enumervel Recursivamente, denominada Classe das Linguagens Recursivas, composta pelas linguagens para as quais existe pelo menos uma Mquina de Turing que pra para qualquer entrada, aceitando ou rejeitando.

4.1- Linguagem Recursivo Uma lingaguem dita recursiva se existe uma Mquina de Turing tal que: ACEITA(M) = L REJEITA(M) = * - L

LOOP(M) = vazio Pode-se afirmar que a classe das Linguagens Recursivas representa todas as linguagens que podem ser reconhecidas mecanicamente Existem conjuntos que no so Enumerveis Recursivamente, ou seja, linguagens para as quais no possvel desenvolver uma Mquina de Turing que as reconhea. Se uma linguagem L sobre um alfabeto qualquer recursiva, ento seu complemento, ou seja, * - L, recursivo. Uma linguagem L sobre um alfabeto qualquer recursiva se, e somente se, L e seu complemento so enumerveis recursivamente.

Figura 4: Representao do conjunto de Linguagens Enumerveis Recursivamente.

4.2- Decidvel x Reconhecvel

Figura 5: Linguagem Enumervel Recursivamente.

Figura 6: Linguagens Recursivas param para toda entrada.

As linguagens decidveis so fechadas sob as operaes a) Unio b) Concatenao c) Complemento d) Kleene e) Interseo

As linguagens RECURSIVAS ENUMERVEIS so fechadas sob as operaoes a) Unio b) Concatenao c) Kleene d)Interseo

Toda linguagem decidvel turing reconhecvel. Nem toda linguagem turing reconhecvel turing decidvel

5- Decidibilidade Na teoria da computao e na teoria da complexidade computacional um problema de deciso uma questo sobre um sistema formal com uma

resposta do tipo: Sim ou No Um problema de deciso tambm pode ser formalizado como o problema de verificar se determinada cadeia de caracteres pertence ou no a uma linguagem formal. Um problema de deciso chamado decidvel ou efetivamente solvel se tem uma representaao na qual o conjunto de strings aceito uma linguagem recursiva. Um problema de deciso chamado semi-decidvel ou solvel ou provvel se tem uma representao na qual um conjunto de strings aceito uma linguagem recursivamente enumervel Um problema de deciso chamado indecidvel ou insolvel ou improvvel se no h uma mquina de turing que o solucione

6-Referncias MENEZES, PAULO BLAUTH. Linguagens Formais e Autmatos, Porto Alegre, 3. Edio, Editora Sagra Luzzato, 2000. MALDONADO, YANDRE. Autmato com P ilha. RANGEL, JOS LUC AS. Linguagens Livres de Contexto e Autmatos de Pilha, 1999. DELAMARO, MRCIO EDUARDO. Linguagens Formais e Autmatos. UEM, 1998.

Você também pode gostar