You are on page 1of 26

Universidade Autnoma de Lisboa

Mquina de Turing

Universidade Autnoma de Lisboa


Curso de Engenharia Informtica 1ano Ps-Laboral

Estruturas Discretas de Computao 2009/2010

Mquina de Turing

Algoritmo de Euclides

20090117 Lus Tom 20090124 Marco Domingos 20090171 Umesh Mohanlal 08 de Janeiro de 2010

ENG.INF. PL1 2009/2010

Pgina 1

Universidade Autnoma de Lisboa

Mquina de Turing

ndice
1 Introduo ............................................................................................................................... 3 2 Pesquisa bibliogrfica sobre mquinas de Turing ................................................................... 4 2.1 Alan Turing....................................................................................................................... 4 2.2 Mquina de Turing .......................................................................................................... 7 3 Pesquisa bibliogrfica sobre o tema do trabalho .................................................................. 12 4 - Explicao de ndole tcnica .................................................................................................. 20 4.1 Sub-Mquina de comparar e ordenar ........................................................................... 21 4.1.1 Comparao (parte I) ............................................................................................. 21

4.1.2 Ordenao (parte II) ................................................................................................... 22 4.2 Subtraco ..................................................................................................................... 23 4.3 Teste de resultado final ................................................................................................. 24 5 Concluso .............................................................................................................................. 25 6 Bibliografia............................................................................................................................. 26

ENG.INF. PL1 2009/2010

Pgina 2

Universidade Autnoma de Lisboa

Mquina de Turing

1 Introduo
O trabalho proposto nesta cadeira foi fazer uma pesquisa bibliogrfica sobre a mquina de Turing e sobre o sobre o clculo do Mximo Divisor Comum (MDC) segundo o algoritmo de Euclides. Por fim pretendia-se que fosse aplicado o mesmo algoritmo utilizando a aplicao Visual Turing. Pretendemos com este relatrio apresentar o nosso trabalho desenvolvido de uma forma clara e sucinta. Para isso comearemos pela pesquisa bibliogrfica de Alan Turing e a sua mquina e em seguida sobre Euclides. Para finalizar faremos uma explicao de ndole tcnica acerca do trabalho desenvolvido em Visual Turing que elaboramos sobre o algoritmo de Euclides.

ENG.INF. PL1 2009/2010

Pgina 3

Universidade Autnoma de Lisboa

Mquina de Turing

2 Pesquisa bibliogrfica sobre mquinas de Turing


2.1 Alan Turing

O matemtico Alan Mathison Turing nasceu em 23 de Junho de 1912 em Londres. O seu interesse pela cincia comeou desde cedo. Em 1928, Alan comeou a estudar a Teoria da Relatividade e conheceu Christopher Morcom, que o influenciou profundamente. Morcom morreu em 1930 e Alan motivou-se a fazer o que o amigo no teve tempo. Assim, durante anos trocou correspondncias com a me de Morcom a respeito das ideias do amigo e ficou encantando com a possibilidade de resolver problemas com a Alan Turing teoria mecnica quntica.

Depois de concluir o mestrado em King's College (1935) e de receber o Smith's prize em 1936, com a idade de 24 anos, Alan Turing consagrou-se como um dos maiores matemticos do seu tempo quando fez antever aos seus colegas que era possvel executar operaes computacionais sobre a teoria dos nmeros por meio de uma mquina que tivessem 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. Em sua brilhante soluo para um dos problemas chaves discutidos pelos formalistas, Alan Turing descreveu em termos matematicamente precisos como um sistema formal automtico, com regras muito simples de operao, pode ser poderoso.
ENG.INF. PL1 2009/2010 Pgina 4

Universidade Autnoma de Lisboa

Mquina de Turing

Este sistema formal um dispositivo fsico que manipula automaticamente os smbolos de um sistema formal de acordo com as regras dele. A mquina terica de Turing era um exemplo da sua teoria da computao como uma prova de que certos tipos de mquinas computacionais poderiam, de facto, serem construdas. Quando ele uniu matemtica e lgica na forma de uma mquina, Turing tornou possveis sistemas processadores de smbolos. E, mais importante do que esta ligao entre as abstraces do sistema cognoscitivo e a realidade concreta dos nmeros trazida pelos pesquisadores do campo da inteligncia artificial -, foi a descoberta feita por Turing de que os nmeros eram elementos mais importantes como smbolos, neste caso, do que como elementos de clculo. Ele definiu que os clculo mentais consistem de operaes para transformar nmeros em uma srie de estados intermedirios que progridem de um para outro de acordo com um conjunto fixo de regras, at que uma resposta seja encontrada. As regras da matemtica exigem definies mais rgidas que aquelas descritas nas discusses metafsicas sobre os estados da mente humana, e Turing concentrou se na definio destes estados de tal maneira que fossem claros e sem ambiguidades, para que tais definies pudessem ser usadas para comandar as operaes da mquina. Turing comeou com uma descrio precisa de um sistema formal, na forma de tabela de instrues que descreviam quais movimentos a fazer para qualquer configurao possvel dos estados no sistema. Ele provou ento que a descrio destas informaes, que os passos de um sistema axiomtico formal semelhante lgica, e o estado da mquina que fazem os movimentos em um sistema formal automtico so equivalentes entre si. Estes conceitos esto todos subjacentes na tecnologia actual dos computadores digitais, foram possveis somente uma dcada depois da publicao de Turing. Quando a II Guerra Mundial eclodiu, Turing foi trabalhar no Departamento de Comunicaes da Gr-Bretanha (Government Code and Cypher School) em Buckinghamshire, sob a sua liderana foi projectado o Colossus, computador ingls que utilizava smbolos perfurados em fitas de papel que processava a uma velocidade
Pgina 5

ENG.INF. PL1 2009/2010

Universidade Autnoma de Lisboa

Mquina de Turing

de 25.000 caracteres por segundo. O Colossus tinha a misso de quebrar cdigos alemes ultra-secretos produzidos por um tipo de mquina de codificao chamada Enigma. Os cdigos mudavam frequentemente, obrigando a que o projecto do Colossus devesse tornar a descodificao bastante rpida com o intuito de quebrar o cdigo das comunicaes alems, Durante a guerra, Turing foi enviado aos EUA a fim de estabelecer cdigos seguros para comunicaes transatlnticas entre os aliados. Supe-se que foi em Princeton, NJ, que conheceu Von Neumann e da ter participado no projecto do ENIAC na universidade da Pensilvnia. Terminada a guerra, Alan juntou-se ao National Physical Laboratory para desenvolver um computador totalmente ingls que seria chamado de ACE (automatic computing engine). Decepcionado com a demora da construo, Turing mudou-se para Manchester. Alan, homossexual declarado, no incio dos anos 50 foi humilhado em pblico e impedido de acompanhar os estudos sobre computadores. Suicidou-se durante uma crise de depresso a 7 de Junho de 1954, com apenas 41 anos, ao comer uma ma envenenada com cianeto de potssio (a famosa maa da Apple). A 11 de Setembro de 2009, em nome do governo britnico, o primeiro-ministro Gordon Brown pediu desculpas formais pelo tratamento desumano e preconceituoso dado a Turing, que o levou ao suicdio.

ENG.INF. PL1 2009/2010

Pgina 6

Universidade Autnoma de Lisboa

Mquina de Turing

2.2 Mquina de Turing


O matemtico Alan Turing, construiu em 1936, um autmato imaginrio, a Mquina de Turing. Considerado como o fundador das cincias da computao, muitos anos antes de existirem os modernos computadores digitais. No seu estudo "Computing machinery and intelligence" (1950), Turing aborda a questo da inteligncia da mquina, avaliando os argumentos face possibilidade de criar uma mquina computacional inteligente e sugere respostas para estes argumentos, propondo o Teste de Turing como um teste emprico da inteligncia. A mquina de Turing um modelo abstracto de um computador, que se restringe apenas aos aspectos lgicos do seu funcionamento (memria, estados e transies) e no sua implementao fsica. Pode ser vista como um sofisticado leitor de fitas, com uma fita arbitrariamente extensvel. A fita marcada nas seces, cada seco contm um " 1 ", um " 0 " ou ser branca. Existe uma cabea que verifica uma seco de cada vez.

ENG.INF. PL1 2009/2010

Pgina 7

Universidade Autnoma de Lisboa

Mquina de Turing

A cabea capaz de efectuar apenas trs aces: Escrever na fita (ou apagar da fita), mas apenas na seco que est a ser verificada. Alterar o estado interno. Mover a fita 0 ou 1 espaos, para a esquerda ou direita.

Quanto sua definio informal 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 0) 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. Uma cabea, que pode ler e escrever smbolos na fita e mover-se para a esquerda e para a direita. 3. Um registador de estados, que armazena o estado da mquina de Turing. O nmero de estados diferentes sempre finito e um estado inicial com o qual o registador de estado inicializado. 4. Uma tabela de aco (ou funo de transio) que diz mquina que smbolo escrever, como mover a cabea ('E' para esquerda e 'D' 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 tiver entrado alguma na tabela para a combinao actual de smbolo e estado ento a mquina pra. Cada parte da mquina finita; sua quantidade de fita potencialmente ilimitada que d uma quantidade ilimitada de espao de armazenamento. As mquinas de turing desenvolveram-se desde 1934.

ENG.INF. PL1 2009/2010

Pgina 8

Universidade Autnoma de Lisboa

Mquina de Turing

Quanto a sua definio formal uma mquina de Turing (com uma fita) pode ser definida como uma 7-tupla ou septeto M = <Q, , ,q0, b, F, >, onde:

Q o estados. o alfabeto de entrada. {b} o alfabeto da fita. q0 Q, o estado inicial. b , o espao em branco. F Q, o conjunto de estados finais. QQ{L,R} a funo de transio onde L um movimento para a esquerda e R um movimento para a direita. O comportamento da mquina de turing determinado pela sua funo de

transio . A cada passo a cabea l um smbolo e dependendo de seu estado ela grava outro smbolo, muda de estado e vai para esquerda ou direita.

As suas caractersticas e comportamento qualificam a Mquina de Turing como uma mquina de estado finito (MEF), ou um autmato finito. Em qualquer momento, a mquina est num estado descritvel. e, entre este momento e a prxima etapa discreta, a mquina l a sua entrada da fita, consulta as regras que controlam o seu comportamento, e considerando o input e o estado actual, determina qual o comportamento que deve efectuar (isto apagar, escrever ou mover a fita) e que estado interno deve ser assumido. A Mquina de Turing pode ser descrita como um mapa, descrevendo um conjunto de aces para cada estado, ou um diagrama de transio de estado, representando a mesma informao na forma de diagrama. A potncia da Mquina de Turing reside na potencialidade de armazenando da sua fita. A sua extenso infinita significa que o dispositivo pode recorrer a um espao de armazenamento externo ilimitado para os seus clculos, produzindo tambm um
ENG.INF. PL1 2009/2010 Pgina 9

Universidade Autnoma de Lisboa

Mquina de Turing

output de tamanho ilimitado. Assim, a fita guarda o input para a mquina, age como armazenamento temporrio para os resultados parciais durante a execuo do algoritmo, e o meio de output da Mquina de Turing. A mquina final de Turing poderia ler qualquer conjunto de regras da sua fita. Turing provou que tal mquina, seria tambm um computador universal. Alm disso, a Physical Church-Turing Hypothesis indicava que tal mquina poderia duplicar no s as funes de mquinas matemticas, mas tambm as funes da natureza. No entanto, h uma distino a fazer entre a parte estrutural de um computador e os dados sobre os quais o computador opera. O computador no pode operar a partir da sua prpria iniciativa; no pode alargar-se ou modificar-se, ou construir outros computadores, assim, no pode exibir os comportamentos do crescimento, ou auto-reparao, reproduo, metabolismo que so caractersticas tpicas da vida. Se a tabela de aco tem no mximo uma entrada para cada combinao de smbolo e estado ento a mquina uma mquina de Turing determinstica (MTD). Se a tabela de aco contm mltiplas entradas para uma combinao de smbolo e estado ento a mquina uma mquina de Turing no determinstica (MTND ou MTN). A Mquina de Turing pode ter mltiplas fitas cada uma com sua cabea com permisso para leitura e escrita. Consideremos o caso onde h duas fitas, a que chamaremos de MT. A cada passo a mquina l, os smbolos lidos por suas cabeas e dependendo desses resultados e do estado da unidade central, cada cabea move ou escreve e o estado central muda. A funo de transio da MT da forma: Q Q{L,R}x{L,R} Os movimentos das cabeas so independentes. possvel que em cada passo uma cabea ande para a esquerda e a outra para a direita.

ENG.INF. PL1 2009/2010

Pgina 10

Universidade Autnoma de Lisboa

Mquina de Turing

A MT equivalente a uma MT. Embora ela traga alguma facilidade e eficincia ela no traz nenhum poder computacional adicional. Desta forma, podemos simular uma MT usando uma MT. Podemos mostrar isso usando um raciocnio que converte MT em MT.

Intercalamos as duas fitas em uma s fita. Criamos smbolos adicionais para guardar a posio das duas cabeas. Quando andamos para a direita em MT andamos para a direita duas vezes em MT, e guardamos a posio da cabea em questo de uma forma apropriada.

Quando andamos para a esquerda em MT andamos para a esquerda duas vezes em MT, e guardamos a posio da cabea em questo de uma forma apropriada. Primeiro vamos converter as duas fitas em uma s, intercalando seus estados.

Porm s isso no chega, pois perdemos a informao de onde estavam as cabeas na mquina. Para resolver esse problema estendemos o alfabeto com o alfabeto que formado pelos smbolos de acrescidos de e . Por exemplo, se tnhamos um alfabeto {a,b} teremos um novo alfabeto {a,b,a,b,a,b}. Usaremos isso para simular a posio das cabeas na fita. Se temos as fitas {a,b,a,a,a,b,a} e {a,a,b,a,a} com a primeira cabea apontada para o primeiro smbolo da primeira fita e a segunda cabea apontada para o quarto smbolo da segunda fita construiremos uma fita {a,b,a,a,a,b,a,a,a,b,a,a}.

ENG.INF. PL1 2009/2010

Pgina 11

Universidade Autnoma de Lisboa

Mquina de Turing

3 Pesquisa bibliogrfica sobre o tema do trabalho


Euclides (c. 330 a. C. - 260 a. C.) nasceu na Sria e estudou em Atenas. Foi um dos primeiros gemetras e reconhecido como um dos

matemticos mais importantes da Grcia Clssica e de todos os tempos. A ele se devem inmeras conquistas no domnio da Matemtica. Trabalhou em Alexandria, sendo o primeiro director da escola de Alexandria. Onde alcanou grande prestgio pela forma brilhante como ensinava Geometria e lgebra, conseguindo atrair para as suas lies um grande nmero de discpulos. descrito como homem afvel e modesto, cheio de benevolncia para todos os que

prometessem fomentar a matemtica, cheio de admirao para com os seus antecessores. Euclides considerado "Puro Homem da Cincia", visto que se dedica especulao pelo gosto do saber, independentemente das suas aplicaes materiais. As matemticas gregas tiveram o seu apogeu durante o perodo helenstico (nome que dado poca que se seguiu morte de Alexandre), mas as suas origens remontam a alguns anos antes. Um dos mais importantes e difceis problemas que pesam sobre os historiadores das matemticas gregas estabelecer o que ocorreu antes de Euclides, porque excepo de um insignificante trabalho sobre astronomia de um certo autor nenhum texto completo das matemticas desse perodo chegou at ns. O trabalho de Euclides to vasto que alguns historiadores no acreditavam que fosse obra de um s homem. Os trabalhos matemticos que chegaram at ns foram inicialmente traduzidos para rabe, depois para latim, e a partir destes dois idiomas para outras lnguas europeias.
ENG.INF. PL1 2009/2010 Pgina 12

Universidade Autnoma de Lisboa

Mquina de Turing

Embora alguns conceitos j fossem conhecidos anteriormente sua poca, o que impossibilita uma anlise completa da sua originalidade, pode-se considerar o seu trabalho genial. Ao recolher tudo o que ento se conhecia, sistematiza os dados da intuio e substitui imagens concretas por noes abstractas, para poder raciocinar sem qualquer apoio intuitivo.

Muitos outros textos lhe so atribudos, dos quais se conhecem alguns ttulos: Divises de superfcies, Data (continha aplicaes da lgebra geometria numa linguagem estritamente geomtrica), Pseudaria, Tratado sobre Harmonia, A Diviso (continha muito provavelmente 36 proposies relativas diviso de configuraes planas), Os Dados (formavam um manual de tabelas, servindo como guia de resoluo de problemas, com relao entre medidas lineares e angulares num crculo dado), ptica (seria um estudo da perspectiva e desenvolveria uma teoria contrria de Aristteles, segundo a qual o olho que envia os raios que vo at ao objecto que vemos e no o inverso). Os fenmenos (celestes) (pensa-se que Euclides discorreria sobre Geometria esfrica para utilizao dos astrnomos), Porismos (um dos mais lamentveis desaparecimentos, este livro poderia conter aproximaes Geometria Analtica).

ENG.INF. PL1 2009/2010

Pgina 13

Universidade Autnoma de Lisboa

Mquina de Turing

Tambm foi o autor de uma obra notvel, intitulada "Os Elementos de Euclides", o mais antigo manuscrito conhecido na sua totalidade, e mesmo a natureza deste admirvel trabalho, que nos aclarar o que possa ter sucedido nesse perodo de tempo. Conseguiu incorporar nesta obra toda a sua bagagem de conhecimentos matemticos acumulados por todos os seus predecessores, com o mrito de uma boa preparao e apresentao. So raros os livros que tm sido to editados, traduzidos e comentados como os Elementos de Euclides. Na antiga Grcia, esta obra foi comentada por Proclo (410 - 485), Hero (c. 10 - 75) e Simplcio (490 - 560); na Idade-Mdia foi traduzida em latim e rabe; aps a descoberta da imprensa, fizeramse dela numerosas edies em todas as lnguas europeias. A primeira destas edies foi a de Campano (1220 - 1296), em latim, publicada em 1482, edio usada por Pedro Nunes (1502 - 1578), que a citou numerosas vezes nas suas obras. Em Portugal, publicou Angelo Brunelli em 1768 uma traduo em portugus dos seis primeiros livros, do undcimo e do duodcimo. Para esta traduo serviu-se da verso latina de Frederico Comandino e f-la seguir de algumas notas com que Roberto Sinson (1687 - 1768) tinha ilustrado esta verso. Este livro, foi outrora muito usado nas escolas portuguesas razo pela qual se fizeram novas edies da traduo de Brunelli em 1790, 1792, 1824, 1835, 1839, 1852, 1855 e 1862. Os Elementos de Euclides tm uma importncia excepcional na histria das matemticas. Com efeito, no apresentam a geometria como um mero agrupamento de dados desconexos, mas antes como um sistema lgico. As definies, os axiomas ou postulados (conceitos e proposies admitidos sem demonstrao que constituem os fundamentos especificamente geomtricos e fixam a existncia dos entes fundamentais: ponto, recta e plano) e os teoremas no aparecem agrupados ao acaso, mas antes expostos numa ordem perfeita. Cada teorema resulta das definies, dos axiomas e dos teoremas anteriores, de acordo com uma demonstrao rigorosa.
ENG.INF. PL1 2009/2010 Pgina 14

Universidade Autnoma de Lisboa

Mquina de Turing

Euclides foi o primeiro a utilizar este mtodo, chamado axiomtico. Desta maneira, os seus Elementos constituem o primeiro e mais nobre exemplo de um sistema lgico, ideal que muitas outras cincias imitaram e continuam a imitar. No entanto, no nos podemos esquecer de que Euclides se esforou por axiomatizar a geometria com os meios de que dispunha na poca. pois, fcil compreender que o sistema que escolheu apresente algumas deficincias. Involuntariamente, em algumas das suas demonstraes admitiu resultados, muitas vezes intuitivos, sem demonstrao. A partir do dia do seu aparecimento, "Os Elementos" tornaram-se o manual clssico da geometria. Gerao sobre gerao estudou neste livro. Sbios como Newton, Pascal, Decartes, Lagrange designaram-no como o melhor livro. Os elementos de Euclides esto divididos em 13 livros. Euclides lana uma srie de 23 definies, 5 postulados e 9 axiomas que so aceites como vlidos. Os livros I-IV tratam de geometria plana elementar. Partindo das mais elementares propriedades de rectas e ngulos conduzem congruncia de tringulos, igualdade de reas, ao teorema de Pitgoras (livro I, proposio 47) e ao seu recproco (livro I, proposio 48), construo de um quadrado de rea igual de um rectngulo dado, seco de ouro, ao crculo e aos polgonos regulares. O teorema de Pitgoras e a seco de ouro so introduzidos como propriedades de reas.

ENG.INF. PL1 2009/2010

Pgina 15

Universidade Autnoma de Lisboa

Mquina de Turing

Como

maioria dos treze livros, o livro I

comea com uma lista de Definies (23, ao todo) sem qualquer comentrio como, por exemplo, as de ponto, crculo, ngulo, paralelismo e perpendicularidade. A seguir s definies, aparecem os Postulados e as Noes Comuns ou Axiomas, por esta ordem. Os Postulados so proposies geomtricas especficas. "Postular" significa "pedir para aceitar". Assim, Euclides pede ao leitor para aceitar as cinco proposies geomtricas que formula nos Postulados: recta, tringulo,

1. Dados dois pontos, h um segmento de recta que os une; 2. Um segmento de recta pode ser prolongado indefinidamente para construir uma recta; 3. Dados um ponto qualquer e uma distncia qualquer pode-se construir um crculo 4. de centro Todos naquele os ponto e com raio igual distncia so dada; iguais;

ngulos

rectos

5. Se uma linha recta cortar duas outras rectas de modo que a soma dos dois ngulos internos de um mesmo lado seja menor do que dois rectos, ento essas duas rectas, quando suficientemente prolongadas, cruzam-se do mesmo lado em que esto esses dois ngulos. ( este o clebre 5 Postulado de Euclides). Assim, trs conceitos fundamentais - o de ponto, o de recta e o de crculo - e cinco postulados a eles referentes, servem de base para toda a geometria euclidiana.
ENG.INF. PL1 2009/2010 Pgina 16

Universidade Autnoma de Lisboa

Mquina de Turing

* O livro V apresenta a teoria das propores de Eudoxo (408 a. C. - 355 a. C.) na sua forma puramente geomtrica e * O livro VI aplica-a semelhana de figuras planas. Aqui voltamos ao teorema de Pitgoras e seco de ouro (livro VI, proposies 31 e 30), mas agora como teoremas respeitantes a razes de grandezas. de particular interesse o teorema (livro VI, proposio 27) que contm o primeiro problema de mxima que chegou at ns, com a prova de que o quadrado , de todos os rectngulos de um dado permetro, o que tem rea mxima. * Os livros VII-IX so dedicados teoria dos nmeros tais como a divisibilidade de inteiros, a adio de sries geomtricas, algumas propriedades dos nmeros primos e a prova da irracionalidade do nmero . A encontramos tanto

o o teorema de Euclides, segundo o qual existe uma infinidade de nmeros primos como algoritmo de Euclides (livro VII), para calcular o mximo divisor comum (m.d.c.) entre dois nmeros. Divide-se o maior nmero pelo outro. Caso o resto no ser zero, o divisor passa a dividendo, o resto passa a divisor e divide-se de novo. Repete-se este processo enquanto o resto no ser zero, mas caso a diviso no deixar o resto; o ltimo resto diferente de 0 o mximo divisor comum. Caso esse resto no surja, os nmeros so primos entre si. Este mtodo em muitas situaes mais prtico de utilizar do que o mtodo da interseco dos conjuntos de divisores e do mtodo da decomposio em factores primos. Alm disso, muito mais simples de traduzir por um programa de computador. * O livro X, o mais extenso de todos e muitas vezes considerado o mais difcil, contm a classificao geomtrica de irracionais quadrticos e as suas razes quadrticas. * Os livros XI-XIII ocupam-se com a geometria slida e conduzem, pela via dos ngulos slidos, aos volumes dos paraleleppedos, do prisma e da pirmide, esfera e

ENG.INF. PL1 2009/2010

Pgina 17

Universidade Autnoma de Lisboa

Mquina de Turing

quilo que parece ter sido considerado o clmax - a discusso dos cinco poliedros regulares (platnicos) e a prova de que existem somente estes cinco poliedros regulares. Ao escrever os Elementos, Euclides pretendia reunir trs grandes descobertas do seu passado recente: a teoria das propores de Eudoxo, a teoria dos irracionais de Teeteto (417 a. C. - 369 a. C.) e a teoria dos cinco slidos regulares, que ocupava um lugar importante na cosmologia de Plato. Euclides compilou nos Elementos toda a geometria conhecida na sua poca. Mas, no se limitou a reunir todo o conhecimento geomtrico, ordenou-o e estruturou-o como cincia. Isto , a partir de uns axiomas desenvolveu e demonstrou os teoremas e proposies geomtricas, dando novas demonstraes quando as antigas no se adaptavam nova ordem que havia dado s proposies. Alm disso, esmiuou a fundo as propriedades das figuras geomtricas, das reas e dos volumes e estabeleceu o conceito de lugar geomtrico. O quinto postulado do livro I, mais famoso dos postulados de Euclides e aquele que tem dado mais dores de cabea aos matemticos. Equivalente ao axioma das paralelas, de acordo com o qual, por um ponto exterior a uma recta, apenas passa uma outra recta paralela dada, desde cedo que este postulado foi objecto de polmica por no possuir o mesmo grau de "evidncia" que os restantes.

ENG.INF. PL1 2009/2010

Pgina 18

Universidade Autnoma de Lisboa

Mquina de Turing

Algoritmo de Euclides em pseudocdigo AlgoritmoDeEuclides(a: inteiro; b: inteiro): inteiro variveis divisor: inteiro dividendo: inteiro c: inteiro incio dividendo a divisor b enquanto resto(dividendo/divisor) 0 incio c resto(dividendo/divisor) dividendo divisor divisor c fim-enquanto AlgoritmoDeEuclides divisor fim-funo

Ele tambm pode ser expresso recursivamente: AlgoritmoDeEuclides(a: inteiro; b: inteiro): inteiro incio se b = 0 ento AlgoritmoDeEuclides a seno AlgoritmoDeEuclides AlgoritmoDeEuclides(b,resto(a,b)) fim-se fim-funo
ENG.INF. PL1 2009/2010 Pgina 19

Universidade Autnoma de Lisboa

Mquina de Turing

4 - Explicao de ndole tcnica

Para a resoluo do problema apresentado usara-me duas sub-mquinas: a mquina de comparar e ordenar e a mquina de subtrair. O programa inicia-se na sub-mquina comparar, onde os dois nmeros dados entrada so comparados. Caso o segundo nmero seja maior que o primeiro, estes so ordenados, ou seja, so trocados de posio. O resultado obtido d entrada na mquina subtraco. Nesta mquina os dois nmeros so subtrados, resultando dai o resultado da subtraco e o divisor. Por fim criou-se um algoritmo para saber se o resultado da subtraco diferente ou igual a zero. Se o resultado for diferente de zero volta-se a introduzir o resultado obtido (o resultado da subtraco e o segunda termo da subtraco) na mquina de comparar e ordenar. Se o resultado for zero ento a mquina pra apresentando o resultado final, ou seja, o divisor da ltima operao. Para uma melhor compreenso do trabalho de seguida apresenta-se a explicao detalhada da mquina de comparar e ordenar, da mquina de subtrair e ainda do algoritmo usado na mquina principal para testar se o resultado da ltima subtraco zero.

ENG.INF. PL1 2009/2010

Pgina 20

Universidade Autnoma de Lisboa

Mquina de Turing

4.1 Sub-Mquina de comparar e ordenar

4.1.1 Comparao (parte I)

a)

b)

O objectivo desta sub-mquina comparar dois nmeros e troc-los de posio se o primeiro for menor que o segundo. Nesta Parte I da sub-mquina, e para se comparar os nmeros, a mquina vai marcando um a um, alternadamente, primeiro o nmero esquerda com x e depois o nmero da direita com y. Sabe-se que o nmero da esquerda maior que o da direita, quando a mquina vai para marcar o nmero direita e em vez de um i encontra um #. Ento s falta andar para a esquerda repondo a situao inicial, ou seja, os nmeros representados por i. Se pelo contrrio quando a mquina vai esquerda marcar um i mas encontra na sua vez um x ento sabe-se que o nmero da esquerda menor. Neste caso (b) vai at direita e marca possveis i como y e de seguida volta para a esquerda, repondo a situao inicial, ou seja, passado os x e os y a i. Por fim, caso (b), troca os dois nmeros (Parte II).
Pgina 21

ENG.INF. PL1 2009/2010

Universidade Autnoma de Lisboa

Mquina de Turing

4.1.2 Ordenao (parte II)

c)

d)

f)

e)

Nesta Parte II da sub-mquina (Ordenao), a mquina vai marcando alternadamente os nmeros com x (c), comeando no nmero esquerda e seguindo para o da direita. Na situao em que vai esquerda at encontrar x, anda para a direita para marcar outro x mas, se em vez de encontrar um i encontra um # (d), ento encontra-se o fim do primeiro nmero. Marca um x e anda at ao inicio dos x direita para lhe marcar um espao esquerda (e). Isto porque os x marcados direita indicam o nmero inicial que estava representado esquerda. Por fim, falta apenas deixar os nmeros simbolizados por i. Optou-se por marcar em primeira instncia os restantes i por x para depois todos nesta situao poderem ser trocados pelo i (f). Desta forma trocaram-se assim os dois nmeros, anteriormente desordenados.

ENG.INF. PL1 2009/2010

Pgina 22

Universidade Autnoma de Lisboa

Mquina de Turing

4.2 Subtraco

g)
h)

i) j)

Esta sub-mquina tem como objectivo dados dois nmeros, subtrair o segundo ao primeiro, dando o resultado do lado esquerdo e mantendo o nmero inicial que estava a subtrair ao esquerdo do lado direito. Caso os dois nmeros sejam iguais o resultado apenas o nmero que estava a subtrair ao primeiro. Para resolver este problema a mquina posiciona-se do lado direito (g) e vai marcando com x direita e # esquerda at que encontre direita na vez de um i um #(h). Assim encontra-se o resultado final, faltando apenas repor os x para i (i) e voltar esquerda para posicionar a mquina, confirmando apenas se o resultado final dois ou apenas um nmero (j), ou seja, se o resultado da subtraco zero ou no.

ENG.INF. PL1 2009/2010

Pgina 23

Universidade Autnoma de Lisboa

Mquina de Turing

4.3 Teste de resultado final

l) k)

Este algoritmo usado na mquina principal tem como objectivo testar se o resultado da ltima subtraco zero ou no. Se o resultado foi zero a sub-mquina Subtraco apenas retornou o nmero que estava a subtrair ao primeiro, ou seja, apenas retornou um nmero em vez de dois. Se for zero encontrou-se o resultado e mquina pra se no volta a introduzir o resultado no inicio da mquina. Para este teste a mquina vai at ao fim do primeiro (ou nico) nmero testa se tem outro direita. Se tem volta ao inicio da mquina (k) e o processo repete-se, se no, a mquina d o resultado final (l).

ENG.INF. PL1 2009/2010

Pgina 24

Universidade Autnoma de Lisboa

Mquina de Turing

5 Concluso
Este trabalho permitiu-nos aplicar os conhecimentos adquiridos durante as aulas de Estruturas Discretas de Computao em relao a mquinas de turing. Permitiu-nos tambm conhecer um pouco melhor a origem dos computadores e de uma grande personalidade que at pouco tempo nos era totalmente desconhecida, Alan Turing. Como dificuldades tivemos a escolha do nosso algoritmo ideal em turing para a resoluo algoritmo de Euclides para o clculo do MDC. Esperamos que o nosso trabalho tenha sido de fcil compreenso, ou seja, que tenhamos conseguido explicar da mesma forma que o compreendemos.

ENG.INF. PL1 2009/2010

Pgina 25

Universidade Autnoma de Lisboa

Mquina de Turing

6 Bibliografia

http://pt.wikipedia.org/wiki/Alan_Turing http://pt.wikipedia.org/wiki/M%C3%A1quina_de_Turing http://super.abril.com.br/superarquivo/2000/conteudo_119009.shtml http://sites.google.com/site/gorgonsgate/tutoriais_exemplos/maquina-de-turing


http://pt.wikipedia.org/wiki/Euclides http://pt.wikipedia.org/wiki/Algoritmo_de_Euclides http://pt.wikipedia.org/wiki/Os_Elementos http://professored.wordpress.com/2009/05/15/algoritmo-de-euclides/

www2.dem.inpe.br/ijar/MaqTuring.doc

ENG.INF. PL1 2009/2010

Pgina 26

You might also like