Você está na página 1de 8

Mquinas Universais Denomina-se mquina universal um formalismo capaz de representar qualquer funo que seja naturalmente computvel, segundo

a tese de Chuch-Turing. Pela prpria dificuldade de dizer o que uma funo naturalmente computvel difcil dizer o que uma mquina universal. Entretanto, aceita-se que a mquina de Turing, descrita pelo matemtico Alan Turing em 1936, universal, e consequentemente muitas outras que foram provadas equivalentes, como a mquina Norma e a mquina de Post. Existem muitos formalismo equivalentes a mquina de Turing, portanto consideradas mquinas universais, mas vamos nos ater em descrever a prpria mquina de Turing, a mais famosa na literatura e de simples compreenso. A mquina de Turing, assim como todas as mquinas universais, capaz de representar qualquer algortmo ou funo naturalmente computvel. No campo das linguagens formais, as mquinas de Turing geram ou reconhecem a classes das linguagens recursivas. Uma mquina de Turing composta por uma fita infinita, ou na prtica, to grande quanto precisarmos, composta por clulas que armazenam um smbolo do nosso alfabeto. A mquina possui uma cabea de leitura que num dado momento da computao encontra-se sobre uma clular, a mquina capaz de ler e escrever smbolos na fita e mover-se para direita ou esquerda de acordo com a regra de transio de um estado a outro, similar aos autmatos finitos determinsticos. Com essa construo uma mquina de Turing consegue, em teoria, computar qualquer coisa que um computador moderno consiga, pois no existe formalismo conhecido mais poderoso que a mquina de Turing.

Mquina de Turing A mquina de Turing um dispositivo terico conhecido como mquina

universal, que foi concebido pelo matemtico britnico Alan Turing (1912-

1954), muitos anos antes de existirem os modernos computadores digitais (o artigo de referncia foi publicado em 1936). Num sentido preciso, um modelo abstrato de um computador, que se restringe apenas aos aspectos lgicos do seu funcionamento (memria, estados e transies) e no sua implementao fsica. Numa mquina de Turing pode-se modelar qualquer computador digital. Turing tambm se envolveu na construo de mquinas fsicas para quebrar os cdigos secretos das comunicaes alems durante a II Guerra Mundial, tendo utilizado alguns dos conceitos tericos desenvolvidos para o seu modelo de computador universal. Uma mquina de Turing consiste em: 1. Uma fita que dividida em clulas, uma adjacente outra. Cada clula contm um smbolo de algum alfabeto finito. O alfabeto contm um smbolo especial branco (aqui escrito como ) e um ou mais smbolos adicionais. Assume-se que a fita arbitrariamente extensvel para a esquerda e para a direita, isto , a mquina de Turing possui tanta fita quanto necessrio para a computao. Assume-se tambm que clulas que ainda no foram escritas esto preenchidas com o smbolo branco. 2. Um cabeote, que pode ler e escrever smbolos na fita e mover-se para a esquerda e para a direita. 3. Um registrador de estados, que armazena o estado da mquina de Turing. O nmero de estados diferentes sempre finito e h um estado especial denominado estado inicial com o qual o registrador de estado inicializado. 4. Uma tabela de ao (ou funo de transio) que diz mquina que smbolo escrever, como mover o cabeote (para esquerda e para direita) e qual ser seu novo estado, dados o smbolo que ele acabou de ler na fita e o estado em que se encontra. Se no houver entrada alguma na tabela para a combinao atual de smbolo e estado ento a mquina pra. Note que cada parte da mquina finita; sua quantidade de fita potencialmente ilimitada que d uma quantidade ilimitada de espao de armazenamento.

Mquina de Registradores - Norma A Mquina Universal Norma (Number TheOretic Register MAchine) possui como memria um conjunto infinito de registradores naturais e trs instrues sobre cada registrador: adio e subtrao do valor um e teste se o valor armazenado zero. Ndenota o conjunto de todas as uplas com infinitos (mas contveis) componentes sobre o conjunto dos nmeros naturais . Para evitar subscritos, as componentes das uplas so denotadas por letras maisculas como A, B, X, Y, ..., as quais denotam os registradores na Mquina Norma. Definio Mquina Norma. A Mquina Norma uma sete-upla (suponha que K seja um registrador, K { A, B, X, Y,... }): Norma = (N, N, N, ent, sai, { adK, subK }, { zeroK }) a) Cada elemento do conjunto de valores de memria N denota uma configurao de seus infinitos registradores, os quais so denotados por: A, B, X, Y, ... b) A funo de entrada: ent: N N tal que carrega no registrador denotado por X o valor de entrada, inicializando todos os demais registradores com zero; c) A funo de sada: sai: N N tal que retorna o valor corrente do registrador denotado por Y; d) O conjunto de interpretaes de operaes uma famlia de operaes indexada pelos registradores, na qual, para cada registrador K { A, B, X, Y,... }, tem-se que: adK: N N adiciona um componente correspondente ao registrador K, deixando as demais com seus valores inalterados. K:=K+1 subK: N N subtrai um da componente correspondente ao registrador K, se o seu valor for maior que zero (caso contrrio, mantm o valor zero), deixando as demais com seus valores inalterados. K:=K-1 e) O conjunto de interpretaes de testes uma famlia de testes indexada pelos registradores na qual, para cada registrador K, tem-se que: zeroK: N {

verdadeiro, falso } resulta em verdadeiro, se a componente correspondente ao registrador K for zero e em falso, caso contrrio. K=0? Mquina Norma como Mquina Universal uma mquina extremamente simples, de tal forma que parece difcil acreditar que o seu poder computacional , no mnimo, o de qualquer computador moderno. Caractersticas de mquinas reais so simuladas usando a Mquina Norma, reforando as evidncias de que se trata de uma mquina universal. As caractersticas so as seguintes: a) Operaes e Testes. Definio de operaes e testes mais complexos como adio, subtrao, multiplicao e diviso de dois valores e tratamento de valores diversos como os nmeros primos; b) Valores Numricos. Armazenamento de tratamento de valores numricos de diversos tipos como inteiros (negativos e nonegativos) e racionais; c) Dados Estruturados. Armazenamento de tratamento de dados estruturados como em arranjos (vetores uni e multidimensionais), pilhas, etc; d) Endereamento Indireto e recurso. Desvio para uma instruo determinada pelo contedo de um registrador; e) Cadeia de Caracteres. Definio e manipulao de cadeias de caracteres.

Maquina de Post Em 1936, antes do aparecimento dos computadores, os eminentes matemticos Alan Turing e Emil Post publicaram, respectivamente, os artigos Sobre os nmeros computveis com a aplicao ao problema da solucionabilidade. Estes dois trabalhos propem um conceito rigoroso (matemtico) de algoritmo. O computador abstrato (ou matemtico) proposto por Post, mais simples, que o de Turing no que respeita s instrues elementares. Esta simplicidade tem um custo: os algoritmos do computador

matemtico de Post exigem, em geral, mais memria e maior quantidade de passos do que os correspondentes algoritmos de Turing. Uma Mquina de Post uma tripla: M = (, D, #) onde:

alfabeto de smbolos de entrada;

D programa ou diagrama de fluxos construdo a partir de componentes elementares denominados partida, parada, desvio e atribuio; # smbolo auxiliar. Uma Mquina de Post consiste de duas partes: Varivel X. Trata-se de uma varivel do tipo fila e utilizada como entrada, sada e memria de trabalho. A varivel X no possui tamanho nem limite fixos. Seu comprimento igual ao comprimento da palavra corrente armazenada. Os smbolos podem pertencer ao alfabeto de entrada ou a { # }, nico smbolo auxiliar. Inicialmente, o valor de X a palavra de entrada. Caso X no contenha smbolos, a entrada vazia, representada por . Programa. uma seqncia finita de instrues, representado como um diagrama de fluxos (espcie de fluxograma), no qual cada vrtice uma instruo. As instrues podem ser de quatro tipos: partida, parada, desvio (leitura com teste) e atribuio.

Computabilidade Uma linguagem dita decidvel, recursiva ou computvel se existe um algoritmo, desde modo pode-se dizer uma mquina de Turing, ou mquina

universal, capaz de dizer aps uma quantidade de tempo - ou passos de computao - finito se uma palavra arbitrria ou no pertinente a esta linguagem. O conjunto das linguagens indecidveis, ou no computveis, infinito e nele esto contidos os problemas insolveis da cincia da computao. Entretanto, tal separao no suficiente para expressar toda gama de possibilidades computacionais. Existem problemas que so parcialmente solveis de diferentes formas, como veremos na descrio das classes de solucionabilidade. Classes de Solucionabilidade Problema Solucionvel Os problemas solucionveis, ou decidveis, so uma subclasse das linguagens recursivas enumerveis (tipo 0 na hierarquia de Chomsky), de forma que, para um problema ser solucionvel deve existir uma mquina de Turing que sempre par, respondendo positivamente ou negativamente, ou seja, no existem loops infinitos. Problema no Solucionvel Os problemas no solucionveis podem ser completamente ou apenas parcialmente solucionveis, mas de forma geral um problema no solucionvel se no existe uma mquina de Turing que sempre pare para qualquer entrada, ou seja, existe uma ou mais entradas que produzem loop infinito na mquina. Problema Parcialmente Solvel Os problemas parcialmente solveis so um subconjunto dos problemas insolveis, de forma que para eles existe uma mquina de Turing que sempre para quando aceita, entretanto no existe uma mquina que pare para todas

entradas, de forma que se a entrada no pertence a linguagem a mquina pode entrar em loop infinito. Problema Completamente Insolvel Um problema dito completamente insolvel se no existe maquina de Turing que sempre para quando deveria aceitar, de forma que mesmo para entrada que sejam pertinentes a linguagem a mquina pode entrar em loop infinito. Problemas Indecidveis Um problema de deciso, na teoria de computao, uma proposio formal cuja resposta pode ser sim ou no, de forma que todos estes problemas podem ser reduzidos a questo de pertinencia ou no de uma dada palavra a uma linguagem formal. Existem certos problemas entretanto, o qual no possvel dar uma resposta para qualquer entrada, so os problemas indecidveis.

Bibliografia
HOPCROFT, John E;MOTWANI, Rajeev; ULLMAN, Jefrey D. Introduo teoria de autmatos, linguagens e computao. Rio de Janeiro: Elsevier, 2002. DIVERIO, Tiaraju Asmuz; MENEZES, Paulo Blauth. Teoria da Computao: Mquinas Universais e Computabilidade. Sagra Luzzatto, 2003.

Você também pode gostar