LINGUAGENS FORMAIS Noções de Máquinas Universais e...

78
85 LINGUAGENS FORMAIS Noções de Máquinas Universais e Computabilidade O material abaixo foi baseado nas consultas bibliográficas das seguintes referências: Tenório, Robinson Moreira. Computadores de Papel: máquinas abstratas para um ensino concreto. São Paulo, Ed. Cortez: autores associados, 1991 (Coleção polêmicas do nosso tempo; v.42). Hopcroft, John E.; Ullman, Jeffrey D.; Motwani, R. Introdução à teoria de autômatos, linguagens e computação. Rio de Janeiro, Ed. Campus, 2002. Meneses, Paulo Blauth. Linguagens Formais e Autômatos. Porto Alegre: Instituto de Informática da UFRGS, Ed. Sagra Luzatto, 2000 (Série livros didáticos, número 3).

Transcript of LINGUAGENS FORMAIS Noções de Máquinas Universais e...

Page 1: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

85

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

• O material abaixo foi baseado nas consultas bibliográficasdas seguintes referências:

� Tenório, Robinson Moreira. Computadores de Papel:máquinas abstratas para um ensino concreto. São Paulo,Ed. Cortez: autores associados, 1991 (Coleção polêmicasdo nosso tempo; v.42).

� Hopcroft, John E.; Ullman, Jeffrey D.; Motwani, R.Introdução à teoria de autômatos, linguagens ecomputação. Rio de Janeiro, Ed. Campus, 2002.

� Meneses, Paulo Blauth. Linguagens Formais eAutômatos. Porto Alegre: Instituto de Informática daUFRGS, Ed. Sagra Luzatto, 2000 (Série livros didáticos,número 3).

Page 2: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

86

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

• A presença maciça dos computadores na automatização davida social, cultural, política e econômica é uma realidadeno mundo todo.

• Um estudo mais aprofundado a respeito da origem edesenvolvimento das “máquinas computacionais” mostraráque sua existência está visceralmente ligada aodesenvolvimento de um modo de produção voltado para orendimento industrial e bélico.

• Dada a importância do computador no mundo atual, éimportante ter alguma compreensão não só do seu usotécnico, mas principalmente da sua concepção e estruturateórica, o que é necessário para a correta compreensão desuas limitações e potencialidades, sempre tão mistificadas.

Limitações e Potencialidades do Computador

� Afinal, o que pode e o que não pode o computador fazerpor si só enquanto potencialidade lógica ?

Obs.: “O que pode o computador fazer ?”. Esta perguntarefere-se aos processos chamados computáveis, ou seja,aqueles passíveis de mecanização. Tais processos podem serdescritos algoritmicamente, ou seja, passo a passo de formasequencial e precisa.

Page 3: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

87

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

• A respeito da computabilidade, merecem destaque ostrabalhos dos matemáticos Emil Post e Alan Turing que, aotratarem de computadores fizeram-no de formasuficientemente genérica e simplificada de modo a torná-los inteligíveis por todos.

• Post e Turing, trabalhando independentemente“construíram” máquinas virtuais extremamente simples,que simulam perfeitamente o funcionamento doscomputadores já existentes ou que venham a existir,estabelecendo, em 1936, um resultado matemáticoverdadeiramente impressionante: tudo o que pode sercalculado em um computador, pode ser calculado na“máquina” de Post ou na “máquina” de Turing.

... Trocando em miúdos...

Post e Turing (trabalhando independentemente) procuraramresponder a pergunta:

� “O que pode ser calculado em um computador e o quenão pode ser ?”

ou seja:

� “Quais são as tarefas algoritimizáveis e quais não são ?”

Page 4: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

88

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquinas e o modo de produção

• Um dos fundamentos do modo de produção capitalista é oconhecimento científico.

• A tecnologia é desenvolvida como forma de aumentar aprodutividade e reduzir o tempo de trabalho incorporadonos produtos.

• Nas palavras de Karl Marx, o emprego da máquina naindústria moderna,

“como qualquer outro desenvolvimento da força produtivado trabalho, tem por fim baratear as mercadorias, encurtara parte do dia de trabalho da qual precisa o trabalhadorpara si mesmo, para ampliar a outra parte que ele dágratuitamente ao capitalista. A maquinaria é meio paraproduzir mais-valia”

• A divisão do trabalho, que começa na Revolução Industrial,possibilita a especialização de cada tarefa, de tal forma queos movimentos de cada trabalhador se transformam emrotina, aproximando-os de movimentos puramentemecânicos. Os movimentos se tornam a tal pontoplanejados que, no lugar da energia humana que move aferramenta, é possível substituí-la por algum outro tipo deenergia para alimentar a máquina.

Page 5: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

89

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquinas e o modo de produção

• A máquina-ferramenta revoluciona a produção. Karl Marxvislumbra, ainda no século XIX, a possibilidade, hojeconcretizada, da combinação de máquinas em um processode cooperação na produção, ou seja, automação daprodução:

“A produção mecanizada encontra sua forma maisdesenvolvida no sistema orgânico de máquinas-ferramentacombinadas que recebem todos os seus movimentos de umautômato central e que lhes são transmitidos por meio domecanismo de transmissão”

• O processo de produção vai adquirindo um caráter cada vezmais científico e técnico, associando, de forma cada vezmais direta e profunda, a atividade produtiva e a elaboraçãode conhecimentos científicos e técnicos.

• Em síntese, o objetivo sempre perseguido deracionalização e controle do processo produtivo, no modode produção capitalista, conduz, a partir da divisão dotrabalho em tarefas cada vez mais simples, à introdução daferramenta máquina-ferramenta, de conjuntos associados demáquinas e, no momento atual, das máquinas-computadores que controlam o conjunto do sistemaprodutivo.

Page 6: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

90

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas

• No final do século XIX e início do século XX, a ciência doOcidente estava passando por um período bastante fértil nodesenvolvimento da lógica simbólica e esta eraconsiderada, muito além de qualquer base física ou moral, asólida sustentação das “leis do pensamento”.

• O matemático David Hilbert (1862-1943) representa muitobem esta crença na lógica quando, em 1900, afirma que:

“Todo problema matemático definido é necessariamentesuscetível de uma resolução exata, ou na forma de suaresposta verdadeira, ou pela prova da impossibilidade desua solução, e com isso a necessária falha de todas astentativas neste sentido. Por mais inacessíveis que estesproblemas possam parecer, e por mais impotentes quepermaneçamos frente a eles, temos, não obstante, a firmeconvicão que suas soluções devem surgir de um númerofinito de processos puramente lógicos (...) Ouvimos dentrode nós a chamada perpétua: este é o problema. Procure suasolução. Você pode encontrá-la pela razão pura.”

Page 7: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

91

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas

• De modo resumido, o que se acreditava e se desejavaprovar era que:

Todo pensamento pode ser reduzido à métodos lógicos

• Esta crença é bastante antiga, remontando aos gregos nafilosofia ocidental. Contudo, tal crença passa a dominar opensamento ocidental a partir da revolução burguesa, comos seus ideais de universalização e a sua base de produçãomecanizada e mecanizável, tornada possível com a divisãosocial do trabalho.

• Consideremos o ano de 1600, pois é aproximadamentenesse momento da História que se dá a mudança do caráterda produção material (feudal para capitalista) e de formaarticulada ocorre também a mudança do caráter daprodução de conhecimento.

� Por exemplo, o desenvolvimento da astronomia ebalística é consequência do processo de expansãomercantilista (navegação e comércio).

� Outro exemplo, é citar a sistematização dos problemasfísicos de então, quase todos de mecânica, por IsaacNewton (1642-1727) e que de uma forma ou de outraculmina com o cálculo diferencial e integral no séculoXVIII.

Page 8: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

92

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas

• Diversos “pensamentos” nos permitem indicar a crença napossibilidade de formalização do pensamento que domina aciência ocidental:

� Thomas Hobbes (1588-1679) expressa claramente aconcepção de pensamento como cálculo:

“Quando alguém raciocina, nada mais faz do queconceber uma soma total, a partir da adição de parcelas,ou conceber um resto a partir da subtração de uma somapor outra (...) Em suma, seja em que matéria for quehouver lugar para a adição e para subtração, há tambémlugar para a razão, e, onde aquelas não tiverem o seulugar, também a razão nada tem a fazer”.

� Para Hobbes, o processo de raciocínio é “um método bome ordenado” que permite passar das unidades maissimples – os nomes – para asserções e silogismos, osquais constituem todas as consequências de um assuntoem estudo – a ciência.

Page 9: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

93

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas

� Renée Descartes (1596-1650) pretendeu pela dúvidasistemática chegar às idéias simples, precisas e claras, apartir das quais se deduziriam quaisquer conclusõesválidas. Seu trabalho objetivava formular “um métodopara raciocinar bem”.

� John Locke (1623-1704) afirmou que as idéias podem serdivididas em duas categorias: as simples e as complexas.As simples formam as complexas.

� Na obra de Gottfried Wilhelm Leibniz (1646-1716)vamos encontrar de maneira inequívoca a materializaçãoda concepção mecanicista e determinista doconhecimento e pensamento.

� Leibniz pensou ter encontrado uma notação exata euniversal, formando uma lógica simbólica pela qual sepoderia atribuir a todos os objetos seu númerocaracterístico determinado.

Page 10: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

94

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas

� Leibniz chega a afirmar que:

“Se alguém duvidasse de meus resultados (...) eu lhediria: vamos calcular, meu caro, e assim, com a pena e atinta liquidaríamos a questão”

� Leibniz confirma sua fé na possibilidade e na força de seuprograma:

“Uma vez que se estabeleçam números característicospara a maioria dos conceitos, a humanidade passará apossuir um novo instrumento, que ampliará a capacidadeda mente a um grau muito maior que o conseguido pelosinstrumentos óticos no fortalecimento dos olhos esuperará o microscópio e o telescópio na mesma extensãoem que a razão é superior à visão.”

� O “projeto” de Leibniz, assim como a suposição deTomas Hobbes de que pensar é calcular encontraram econos trabalhos do matemático e lógico George Boole(1815-1864).

Page 11: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

95

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas

� Boole algebrizou a lógica, empregando efetivamenteletras ou variáveis para representar classes de objetos deum certo universo de discurso.

Exemplo “booleano”: Sejam

X a classe (conjunto) de todos os homensY a classe (conjunto) de todos os brasileirosZ a classe (conjunto) de todos os argentinosO número 1 é o universo de discursoO número 0 é uma classe (conjunto) sem objetos+ é a operação de união (soma) entre conjuntos* é a operação de interseção (multiplicação) entre

conjuntos

Então as seguintes “operações” lógicas sãorepresentadas matematicamente:

X – Y : “homens não brasileiros”Y * Z = 0 : “nenhum brasileiro é argentino”1 – Y : “tudo que não seja homem brasileiro”Etc etc ...

Page 12: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

96

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas

� Uma obra marcante de Boole, datada de 1854, é intituladaAn Investigation of the Laws of Thought. O que pretendiaBoole com esta obra, ele mesmo responde no seu primeirocapítulo:

“O intento do seguinte tratado é investigar as leisfundamentais daquelas operações da mente pelas quais oraciocínio é desenvolvido: para lhes dar expressão nalinguagem simbólica do cálculo, e sobre sua baseestabelecer a ciência da lógica e ensinar seus métodos; (...)e finalmente coletar dos vários elementos de verdadetrazidos à tona no curso destes exames algumas prováveisindicações concernentes à natureza e constituição damente humana(...) Há não somente uma analogia íntimaentre as operações da mente no raciocínio geral e asoperações da mente na particular ciência da Álgebra, mashá em considerável extensão uma concordância exataentre as leis pelas quais as duas classes de operações sãoconduzidas...”

Page 13: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

97

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas

• Resumindo os “pensamentos” acima considerados,podemos dizer que não havia dúvida alguma quanto àcrença que a lógica modelaria o pensamento e, porextensão, modelaria também a realidade.

A inviabilidade do reducionismo da realidade à lógica

• No início do século XX, David Hilbert (1862-1943)formula o problema de fundamentar o conhecimento nalógica formal e propõe resolve-lo.

• Hilbert formula o problema da seguinte forma: tentardescobrir um método (algoritmo) para estabelecer averdade ou falsidade de qualquer sentença na linguagem dalógica formal chamada cálculo de predicado.

• Este problema marca um momento culminante na tentativade afirmar a identificação entre lógica e realidade, mas, aomesmo tempo significa o marco inicial de sua próprianegação.

Page 14: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

98

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas

A inviabilidade do reducionismo da realidade à lógica

• Relembrando conceitos básicos do cálculo de predicados:

• Lógica de predicados (1a ordem)Conectivos: ∧ , ∨ , ¬ , → , ↔

Quantificadores: ∀ - “Para todo” ∃ - “Existe ao menos um”

Exemplo: PredicadosH - (...) ser humano M - (...) ser mortalV - (...) ser vegetal G - (...) gosta de (...)

Objeto: s – Sócrates

Exemplos de sentenças no cálculo de predicados

∀x(Hx → Mx) “Todo humano é mortal”Hs “Sócrates é humano”∀x∀y (Hx ∧ Vy→ Gxy) “Todo humano gosta de vegetal”Hs → ∃xMx “Se Sócrates é humano, então

existe ao menos um objeto que émortal”

Page 15: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

99

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas

A inviabilidade do reducionismo da realidade à lógica

• No final do século XIX e início do século XX oconhecimento matemático se organizava em três grandesescolas:

� Logicismo� Formalismo� Intuicionismo

O Logicismo

• Esta corrente acreditava se possível reduzir a matemática àlógica.

• A obra fundamental dessa corrente foi o PrincípiaMathemática de Bertrand Russel (1872-1970) e AlfredWhitehead (1861-1947). Esses autores pretendiam mostrarque é possivel expressar em termos lógicos todas asproposições matemáticas, e que todas as proposiçõesmatemáticas verdadeiras são verdades lógicas.

• Problema: diversos paradoxos no cerne da propostalogicista, por exemplo, o paradoxo de Russel.

Page 16: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

100

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas

A inviabilidade do reducionismo da realidade à lógica

O Logicismo - O Paradoxo de Russel (uma “versão”)

� Suponha que desejamos organizar um catálogo de livros deuma biblioteca.

� Designemos de ordinário qualquer catálogo que não seinclua entre os livros citados por ele mesmo.

� Designemos por extraordinário qualquer catálogo que seinclua entre os livros citados por ele mesmo.

� Se fizermos um catálogo α que contenha todos esomente todos os catálogos ordinários existentes, α seráordinário ou extraordinário ???

� Paradoxo: se α é ordinário, então ele não contém a simesmo !!! Mas como α deve conter todos os catálogosordinários, deveria se conter !!! E se α contém a simesmo é extraordinário !!! Mas se é extraordinário, αnão deveria estar contido em si próprio, pois α sócontém catálogos ordinários !!!

Page 17: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

101

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas

A inviabilidade do reducionismo da realidade à lógica

O Logicismo - O Paradoxo de Russel (outra “versão”)

� Suponha que numa cidade, todos os homens que não fazema própria barba fazem-na somente com o único barbeiro dacidade.

� Pergunta: o barbeiro faz a barba de si próprio ou com obarbeiro ?

O Logicismo - O Paradoxo de Epiménedes, o cretense

� Epiménedes, o cretense, afirma que todo cretense sempremente quando fala alguma coisa.

� Pergunta: É verdade o que Epiménedes afirma ?

O Logicismo

O projeto logicista se configura, portanto, inviável: amatemática (e, por extensão, a realidade) não se reduz àlógica formal porquê esta fere o princípio da não-contradição.

Page 18: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

102

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas

A inviabilidade do reducionismo da realidade à lógica

Relembrando os 3 princípios da lógica formal “clássica”:

1) Princípio da identidade: todo objeto x é igual a si mesmo.

2) Princípio da não-contradição: Dados uma proposição (de umasentença) e sua negação, não é o caso que ambas sejam ao mesmotempo verdadeiras ou que ambas sejam ao mesmo tempo falsas.

3) Princípio do terceiro excluído (“Tertium non datur”): Dadas umaproposição (de uma sentença) e sua negação, então uma delas temvalor de verdade verdadeiro, e a outra tem valor de verdade falso(e nada além disso !).

Exemplo: Seja a proposição (sentença): “Sócrates é humano”

Pelo princípio da não contradiçao se a sentença “Sócrates éhumano” é verdadeira, então sua negação “Sócrates não éhumano” é falsa, e vice-versa.

Pelo princípio do terceiro excluído se a sentença “Sócrates éhumano” é verdadeira, então sua negação “Sócrates não éhumano” é falsa, não existindo a possibilidade de existir umterceiro valor, além do valor verdadeiro e valor falso.

Page 19: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

103

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas

A inviabilidade do reducionismo da realidade à lógica

O Formalismo

• Base kantiana (E. Kant – 1724-1804): A lógica, tanto namatemática quanto em qualquer outra área doconhecimento desempenha o mesmo papel de descrição dasestruturas dos dados da percepção.

• A proposta formalista não é reduzir a matemática à lógica,mas fazer da lógica o método de obter todas as conclusõesválidas em qualquer argumentação sobre qualquer assuntoque fosse.

• David Hilbert propunha um programa formalista de baseskantianas onde:

1) A matemática é descritiva dos objetos.

2) A lógica é o instrumento articulador das teoriasformais construídas com os objetos matemáticos.

3) O trabalho do matemático é elaborar teorias formaisconsistentes, cada vez mais abrangentes, até seconseguir sua formalização completa.

Page 20: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

104

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas

A inviabilidade do reducionismo da realidade à lógica

O Formalismo

• Uma teoria formal é construída a partir de termosprimitivos (objetos empíricos) e regras de formulação defórmulas (os axiomas), além das regras de inferência(lógica), necessárias para a formação dos teoremas.

• Uma teoria formal é dita consistente se dentro dela éimpossível demonstrar uma proposição e, ao mesmo tempo,a negação de tal proposição. Obs.: consistência se refere aoprincípio da não-contradição da lógica formal.

• Uma teoria formal é dita completa se toda fórmula(proposição) construída de acordo com as regras deformação da teoria é decidível, ou seja, passível de serassinalada como verdadeira ou falsa, a partir dos axiomasdesta teoria. Obs.: completude se refere ao princípio doterceiro excluído da lógica formal.

• Os formalistas, em resumo, desejavam que os sistemasformais fossem consistentes, completos e decidíveis.

Page 21: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

105

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas

A inviabilidade do reducionismo da realidade à lógica

O Formalismo - a inviabilidade do programa hilbertiano

• Em 1931, Kurt Godel, em um pequeno artigo “Uber formalunentscheidbare Satze der Principia Mathematica undverwandter Systeme” estabeleceu dois resultadosfulminantes para a proposta hilbertiana:

1) Uma prova absoluta de consistência para sistemasabrangentes (por exemplo, que contenham a aritmética) éaltamente improvável e, dentro do próprio sistemaimpossível.

2) É sempre possível construir enunciados, a partir dasregras de uma teoria formal, que são não dedutíveis doconjunto de axiomas de tal teoria e, mais ainda, comqualquer conjunto aumentado finito de axiomas, ésempre possível construir, dentro dessa teoria formal,uma nova proposição indecidível.

• O primeiro resultado põe em xeque o princípio da nãocontradição enquanto que o segundo resultado joga porterra o princípio do terceiro excluído.

Page 22: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

106

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas

A inviabilidade do reducionismo da realidade à lógica

O Intuicionismo

• De raízes kantianas, foi fundado por Brower (1881-1966).

• A matemática, para os intuicionistas, consiste na construçãode entidades abstratas, através da intuição dos matemáticos,não necessariamente através do reducionismo à lógica.

• Os matemáticos aparecem, então, como seres mágicos,capazes de criar um mundo diferente, matemético, apartadoda realidade.

• Para os intuicionistas, é possível a contrução deproposições com sentido, mas ... nem verdadeiras ... nemfalsas. Ou seja os intuicionistas rejeitam claramente oprincípio do terceiro excluído.

Page 23: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

107

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas

A inviabilidade do reducionismo da realidade à lógica

Síntese

• Na tentativa de buscar os fundamentos da matemática,

� Os logicistas tropeçaram nos paradoxos,

� Os formalistas demonstraram que é impossível nãotropeçar nos paradoxos, e

� Os intuicionistas distanciaram-se da realidade apesar derejeitarem o princípio do terceiro excluído.

Conclusão

• Não podemos portanto identificar os raciocínios rigorosos,matemáticos, com o raciocínio formal. A natureza, queinclui o homem, tem a contradição como qualidade, acontradição que origina o seu movimento e produzHistória.

Page 24: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

108

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas – consistência, completude e decidibilidade

• Pela proposta de David Hilbert, se a matemática fosseredutível à lógica e se se pudesse encontrar o tal métodopara determinar a verdade ou falsidade de qualquersentença da lógica formal (isto é se o tal métodoapresentasse a propriedade de ser decidível), entãoqualquer sentença matemática, ou, mais forte ainda,qualquer afirmação sobre a realidade formulada emlinguagem matemática, poderia ser provada verdadeira oufalsa (isto é, todas as afirmações sobre a realidade sereduziriam a mera computação mecânica, segundo regrasbem definidas).

• Em 1931 Kurt Godel apresentou formulações quedestruíram tais pretensões (teorema da incompletude).

• As atenções se voltam então do conceito de verdade parao conceito de provabilidade (decidibilidade): haveria ummétodo (algoritmo) único com o qual todas as sentençasmatemáticas demonstráveis poderiam ser provadas a partirde um conjunto de axiomas lógicos ?

Page 25: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

109

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas – consistência, completude e decidibilidade

• Nos anos seguintes ao teorema da incompletude de Godel(1931), Alonzo Church, Stephen Kleene e Barkley Rosserdesenvolveram uma linguagem formal consistente, à qualderam o nome de cálculo lambda.

• Kleene demonstrou que uma extensa classe de funções eraexpressável no cálculo lambda.

• Alonso Church argumentou então que, se uma funçãomatemática pode ser totalmente computável, então elapode ser definida no cálculo lambda. Por outro lado, seexistir uma função matemática expressável no cálculolambda que não é computável (decidível), então nãoexistirá método para decidir se uma sentença matemática édemonstrável ou não.

• Em 1936, o próprio Church publicou uma fórmula lógicanão computável no cálculo lambda. Com isso, ficoudefinitivamente provado que jamais se encontraria ummétodo (algoritmo) único com o qual todas as sentençasmatemáticas demonstráveis poderiam ser provadas a partirde um conjunto de axiomas lógicos.

• É exatamente neste ponto, lógica, cronológica ehistoricamente falando, que entram os trabalhos de Turinge Post.

Page 26: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

110

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas – consistência, completude e decidibilidade

• Vamos agora analisar de forma mais sintética, “sistemas”(teorias formais) no tocante aos quesitos de seremconsistentes, completos e decidíveis, como o fizeramKurt Godel, Alonso Church, Stephen Kleene,

Formalmente falando...

• Podemos dizer que qualquer problema pode serrepresentado por uma linguagem. Ou seja, formalmentepodemos dizer que problema = linguagem !!!

• Uma linguagem nada mais é do que um conjunto destrings formadas a partir de um alfabeto Σ.

• Na teoria de autômatos, um problema é a questão dedecidir se um dado string pertence ou não a umadeterminada linguagem em questão.

� Questão: queremos saber quais linguagens (problemas)podem ser definidas por algum dispositivo computacional(que pode decidir sobre as strings das linguagens emanálise). Isto equivale a perguntar: “o que oscomputadores podem fazer ?”

Page 27: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

111

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas – consistência, completude e decidibilidade

O que os computadores podem fazer ?

• Consideremos um programa de computador escrito emalguma linguagem de programação (C por exemplo) evamos tentar descobrir qual a saída que ele “imprime”.

main(){

printf(“hello world \n”);}

• Para este problema, podemos descobrir facilmente o quevai ser impresso e, principalmente, saber que de fato vai serimpresso hello world.

• Mas existem programas construídos para imprimir helloworld cujo tempo de processamento é inimaginavelmentelongo a ponto de não sabermos se ocorrerá ou não aimpressão de hello world.

Page 28: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

112

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas – consistência, completude e decidibilidade

• Outro programa para imprimir hello world. Nesteprograma:

� O usuário digita um valor inteiro n tal que n > 2.

� O programa procura então por soluções inteiras positivasda equação xn + yn = zn.

� Se encontrar uma solução (valores para x, y e z) oprograma imprime hello world.

� Se nunca encontrar uma solução, o programa continuaráa procurar para sempre e nunca imprime hello world.

• Obs. 1: O objetivo é analisar o problema de quando algoocorrerá, se é que ocorrerá. (no exemplo, o “algo” é helloworld).

• Obs. 2: Este programa é uma “versão” do último teoremade Fermat (expresso em termos de hello world).

Page 29: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

113

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas – consistência, completude e decidibilidade

• O último teorema de Fermat expresso como um programa do tipohello world.

int exp(int i, n)/* calcula i elevado à potência n */{

int ans, j;ans = 1;for (j = 1; j <= n; j++) ans * = i;return(ans);

}

main( ){

int n, total, x, y, z;scanf(“%d”, &n);total = 3;while (1) {

for (x = 1; x <= total-2; x++)for (y = 1; y <= total-x-1; y++) {

z = total - x - y;if ( exp(x,n) + exp(y,n) = = exp(z,n) ) printf(“hello world /n”);

}total++;

}}

Page 30: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

114

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas – consistência, completude e decidibilidade

• O problema do hello world via teorema de Fermat temsolução para n = 2, porém não tem solução para n ≥ 3.

• A afirmação de que xn + yn = zn não tinha soluçãopara n ≥ 3 foi feita por Fermat há 300 anos, mas não foiencontrada nenhuma prova até uma época bem recente.

• Ou seja, até recentemente, não se sabia se o programa em Cdo hello world para o teorema de Fermat pararia em algummomento imprimindo hello world.

Definindo o problema de hello world

• Vamos, formalmente, definir o problema de hello worldcomo:

� descobrir se um dado programa em C, com umadeterminada entrada, imprime hello world como os 12primeiros caracteres que ele imprime.

Page 31: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

115

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas – consistência, completude e decidibilidade

• Para pensar: parece aceitável dizer que, se os matemáticosdemoraram 300 anos para resolver uma questão sobre umúnico programa de 22 linhas, então o problema geral desaber se um dado programa, sobre uma dada entradaimprime hello world deve ser mesmo muito difícil.

• De fato, alguns dos problemas que os matemáticos aindanão foram capazes de resolver podem ser convertidos emuma pergunta da forma:

“esse programa, com essa entrada imprime hello world ?”

• Seria bom se pudéssemos escrever um programa H quefosse capaz de examinar qualquer programa P e cadaentrada I para P, e informasse se P, executado com I comosua entrada iria ou não imprimir hello world.

• Vamos tentar construir o tal programa H.

Page 32: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

116

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas – consistência, completude e decidibilidade

• Supomos então que H existe e recebe como entrada umprograma P e uma entrada I para P. H analisa P e I eimprime yes se P combinado com I imprime hello world,ou então H imprime no se P combinado com I não imprimehello world.

• Note que H (em nossa suposição !!!), sempre imprime umasaída, ou yes, ou no.

• Se o programa H de fato existe, dizemos que H é decidível,pois para qualquer P e I que sejam entradas de H, Hconseguirá imprimir yes ou no.

• Mas, se existir ao menos um par de P e I que sejam entradade H e H não consiga imprimir yes ou no, então dizemosque H é indecidível (o que nos levaria a concluir que Hnão existe pois supomos que H sempre informava yes ouno).

Page 33: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

117

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas – consistência, completude e decidibilidade

• Vamos provar que H não existe, ou seja, H é indecidível.

� Para provar a não existência de H, vamos alterá-lo, paramelhor apresentar nossa prova. As mudanças, contudo,manterão a essência de H.

• Primeira alteração em H: onde H imprime no, vamosmandar imprimir hello world. Vamos então chamar o“novo” programa de H1.

• A segunda alteração de H (via alteração em H1) é umpouco mais complicada; é essencialmente a idéia quepermitiu a Alan Turing provar o seu resultado deindecidibilidade sobre máquinas de Turing.

Page 34: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

118

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas – consistência, completude e decidibilidade

• Segunda alteração em H (em H1):� H1 recebe somente a entrada P, e não mais P e I.

• Vamos provar agora que H2 não existe. Assim provamosque H1 não existe e, consequentemente H não existe.

� O que H2 deve imprimir se ele receber a si mesmo comoentrada (ou seja o programa P de entrada é P = H2) ?

Page 35: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

119

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas – consistência, completude e decidibilidade

• Lembre-se de que: (1) H2 imprime yes se para qualquer programaP de entrada, P imprime (como os 12 primeiros caracteres) helloworld quando recebe alguma entrada I (no caso I = P). (2) H2

imprime hello world se para qualquer programa P de entrada, Pnão imprime (como os 12 primeiros caracteres) hello worldquando recebe alguma entrada I (no caso I = P).

• Suponha que o bloco H2 imprime yes quando recebe H2

como P ⇒ Isto quer dizer que H2 como P imprimiu helloworld ⇒ É contradição (paradoxo) !!!!

• Suponha que o bloco H2 imprime hello world quandorecebe H2 como P ⇒ Isto quer dizer que H2 como Pimprimiu yes ⇒ É contradição (paradoxo) !!!!

• Conclusão : H2 não existe ⇒ H1 não existe ⇒ H não existe

H é indecidível : Não existe programa que possa saber se umdado programa P com uma determinada entrada I imprime ounão hello world.

Page 36: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

120

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas – consistência, completude e decidibilidade

• Relembrando: Na teoria de autômatos, um problema é aquestão de decidir se um dado string pertence ou não a umadeterminada linguagem em questão (ou seja problema =linguagem).

• Assim, o problema do hello world, por exemplo, é umalinguagem !!!

• Queremos agora saber se algum outro problema, digamos,P2, pode ou não ser resolvido por computador:

(1) inicialmente tentaremos escrever um programa pararesolvê-lo, mas, se não conseguirmos escrever o talprograma,

(1.1) tentaremos provar que P2 é indecidível.

(1.1.1) Poderíamos proceder de modo semelhante aoproblema do hello world, criando o testador H2,mas, como já provamos a existência de ao menosum problema indecidível (o hello world) ésuficiente provar que se pudéssemos resolver P2

poderíamos resolver o hello world que já sabemosser indecidível.

Page 37: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

121

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas – consistência, completude e decidibilidade

• Chamemos o problema hello world, que sabemos serindecidível, de P1. Tentemos “reduzir” (“mapear”) P1 emP2, com o objetivo de provar assim que P2 é indecidível.

• O “mapeamento” de P1 em P2 ocorre da seguinte forma:(1) qualquer string x que exista em P1 será “mapeada”

(“traduzida”) pelo bloco construir para uma string ycorrespondente que exista em P2.

(2) qualquer string w que não exista em P1 será “mapeada”(“traduzida”) pelo bloco construir para uma string zcorrespondente que não exista em P2.

• Uma vez que o bloco construir estivesse emfuncionamento, então sempre ocorreria um mapeamento destrings x de P1 para strings y de P2 e strings w para stringsz, e o losango decidir estaria sempre decidindo (imprimindoyes ou no). Mas, se isso funcionasse, P1 seria decidível !!!Sabemos de antemão porém, que P1 é indecidível ⇒⇒⇒⇒ P2 éindecidível.

Page 38: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

122

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas – consistência, completude e decidibilidade

Exemplo de “redução” de P1 em P2

• Suponha um programa Q (escrito em linguagem C porexemplo) ⇒ Problema: o Programa Q, dada a entrada ychamará a função func1 ?

� Se o programa Q não apresenta em seu corpo a funçãofunc1, o problema é fácil: respondemos certamente que“não, o Programa Q, dada a entrada y não chamará afunção func1”

� Se o programa Q apresenta em seu corpo a funçãofunc1, o problema é difícil.

� Como só conhecemos um problema indecidível (oproblema hello world), o mesmo fará o papel de P1.

� P2 será o problema do programa Q chamar ou nãofunc1.

Page 39: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

123

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas – consistência, completude e decidibilidade

Exemplo de “redução” de P1 em P2

� Suponha que P1 com a entrada x imprima hello world comosua primeira saída. Então Q (instância de P2) chamaráfunc1.

� Suponha que P1 com a entrada x não imprima hello worldcomo sua primeira saída. Então Q (instância de P2) nãochamará func1.

� Mas se soubermos sempre se Q chama ou não func1 viaentrada y, então estaremos implícitamente sabendo tambémsempre se P1 imprime ou não hello world via entrada x(Note aqui que a chave é que x = y devido a “tradução”). Eisso é contradição, pois sabemos que P1 é indecidível !!!

Page 40: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

124

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Bases teóricas – consistência, completude e decidibilidade

• Trilhamos portanto, de forma bem mais “suave”, ocaminho que Kurt Godel, Alonso Church, StephenKleene, e outros matemáticos trilharam, para demonstrara existência de problemas indecidíveis : assim o projetohilbertiano de encontrar um método único de decidir sobrea verdade/falsidade de sentenças foi definitivamentedescartado.

• Voltemos à nossa questão básica:

� “o que os computadores podem fazer ?”

• Já sabemos que existem problemas indecidíveis, entãoexitem “coisas” (problemas) que não serão tratados peloscomputadores.

• Alan Turing e Emil Post , trabalhando independentementeapresentaram, em 1936, “dispositvos” que respondem àpergunta acima. Construíram estes matemáticos aMáquina de Turing e a Máquina de Post respectivamente.

Page 41: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

125

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Post - Estrutura básica – apresentação informal

• A Máquina de Post é uma estrutura conceitual e, por isso,também denominada máquina abstrata. Poderia serconstruída com algum material apropriado, mas, não osendo necessariamente, é uma máquina virtual, e não real.

Estrutura básica da Máquina de Post

� Possui uma fita infinita dividida em células

� Possui um cursor para apontar para as células da fita

� Cada célula da fita, num dado instante, pode estar vazia oumarcada (com um “X”)

� A disposição total das marcas (“X”) constitui o estado damáquina.

� O cursor pode mover-se para uma célula por vez, sendo acélula destino a que está imediatamente à esquerda ou àdireita da célula atual apontada pelo cursor

� O cursor pode imprimir (marcar com “X”) a célula atual oumesmo apagar uma marca que aí eventualmente seencontre.

Page 42: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

126

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Post - Estrutura básica – apresentação informal

Estrutura básica da Máquina de Post

� O funcionamento da Máquina de Post consiste nomovimento do cursor (para a esquerda ou direita) e naimpressão ou eliminação de marcas “X” nas células da fita

� Este funcionamento ocorre de acordo com um conjunto deinstruções que constituem o programa da Máquina de Post.As instruções são somente seis, abaixo apresentadas:

Page 43: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

127

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Post - Estrutura básica – apresentação informal

Exemplo para a Máquina de Post

� Seja o problema de somar dois números inteiros quesabemos estar armazenados na fita.

� Os números são representados na fita por uma quantidadecontígua de “X”.

� Supomos também que o cursor aponta para uma célulaantes do primeiro destes dois números.

� Para simplificação didática da apresentação da Máquina dePost, suponha que dois números inteiros na fita estãosempre separados por exatamente uma célula em branco !!!

� Seja o exemplo de somar 4 + 3:

Page 44: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

128

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Post - Estrutura básica – apresentação informal

Exemplo para a Máquina de Post

Page 45: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

129

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Turing - Estrutura básica – apresentação informal

• A Máquina de Turing, a exemplo da Máquina de Post, éuma estrutura conceitual e, por isso, também denominadamáquina abstrata. Poderia ser construída com algummaterial apropriado, mas, não o sendo necessariamente, éuma máquina virtual, e não real.

Estrutura básica da Máquina de Turing

� Possui uma fita infinita dividida em células

� Possui um cursor para apontar para as células da fita

� Cada célula da fita, num dado instante, pode estar vazia oumarcada com um elemento pertencente a um conjuntofinito de símbolos previamente determinados (correspondeà noção de alfabeto de linguagem !!!)

� O cursor pode assumir uma configuração Ck dentre umconjunto {C1, C2, ... CN} finito de configurações possíveis,previamente determinadas (corresponde ao estado de umautômato !!!)

Page 46: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

130

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Turing - Estrutura básica – apresentação informal

Estrutura básica da Máquina de Turing

� O cursor da Máquina de Turing pode:

� Mover-se para a esquerda ou direita, uma célula de cadavez

� Ler o símbolo marcado na célula em que estiverapontando

� Imprimir ou apagar símbolos na célula em que estiverapontando

� O funcionamento da Máquina de Turing consiste nomovimento do cursor (para a esquerda ou direita) e naimpressão ou eliminação de símbolos nas células da fita

� Este funcionamento ocorre de acordo com um conjunto deinstruções que constituem o programa da Máquina deTring. Aqui, a movimentação do cursor depende de doisfatores: (1) a configuração atual do cursor (estado) e (2) osímbolo atual da célula em que se encontra o cursor

Page 47: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

131

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Turing - Estrutura básica – apresentação informal

Máquina de Turing X Máquina de Post

• A principal diferença entre as Máquinas de Turing e Postreside no fato de que:

� na Máquina de Turing, a decisão da instrução dependede 2 fatores: (1) a configuração atual (estado) do cursore (2) o símbolo atual lido na célula

� na Máquina de Post, a decisão da instrução dependeapenas do valor da célula estar em branco ou marcada(com “X”).

• Note que basicamente, na Máquina de Post exitem apenasdois símbolos: branco e “X”. Na Máquina de Turing épossível ter um conjunto finito com mais de dois símbolos.

• Apesar disso, um resultado importante é que a Máquina deTuring e a Máquina de Post são equivalentes !!!!

Ou seja, tudo que é possível fazer na Máquina de Turing,também é possível fazer na Máquina de Post !!!

Page 48: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

132

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Turing - Estrutura básica – apresentação informal

Exemplo para a Máquina de Turing

� Seja o problema de somar dois números inteiros quesabemos estar armazenados na fita. Os símbolos que sãoarmazenados na fita são o “0” e “1”

� Os números são representados na fita por uma quantidadecontígua de “1”.

� Supomos também que o cursor aponta para uma célulaantes do primeiro destes dois números.

� Para simplificação didática da apresentação da Máquina dePost, suponha que dois números inteiros na fita estãosempre separados por exatamente uma célula contendo o“0”

� Seja o exemplo de somar 4 + 3:

Page 49: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

133

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Turing - Estrutura básica – apresentação informal

Exemplo para a Máquina de Turing

� Abaixo, uma possível tabela de instruções para efetuar asoma 4 + 3:

� Obs 1: Note que os símbolos (alfabeto) desta Máquinade Turing são: {0, 1}

� Obs. 2: Note que as configurações do cursor (estados)desta Máquina de Turing são: {C1, C2, C3}

Page 50: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

134

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Turing e Máquina de Post - Possibilidades

• Voltemos à nossa questão básica:

� “o que os computadores podem fazer ?”

• A Máquina de Post e Máquina de Turing nada mais é doque um modelo abstrato de computação, com o objetivo deexplorar os limites da capacidade de expressar soluções eproblemas.

• Ambas as máquinas são propostas de definição formal danoção intuitiva de algoritmo !!!

• Outros trabalhos (funções recursivas de Kleene, p. ex.) reresultaram em conceitos equivalentes ao de Turing. E comisso podemos responder : “o que os computadores podemfazer ?” . Respota: tudo o que pudermos fazer naMáquina de Turing. Esta é a chamada Hipótese de Churchou Hipótese de Turing-Church.

Hipótese de Turing Church

“A capacidade de computação representada pela Máquina deTuring é o limite máximo que pode ser atingido por qualquerdispositivo de computação”

Page 51: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

135

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Turing e Máquina de Post - Possibilidades

Hipótese de Turing Church

“A capacidade de computação representada pela Máquina deTuring é o limite máximo que pode ser atingido por qualquerdispositivo de computação”

• Em outras palavras, a Hipótese de Turing-Church afirmaque qualquer outra forma de expressar algoritmos terá, nomáximo, a mesma capacidade computacional da Máquinade Turing.

• Como a noção de algoritmo ou função computável éintuitiva (não é formal), a Hipótese de Turing-Church não édemonstrável.

• Vimos anteriormente que existem problemas indecidíveis(KurtGodel e Alonso Church “derrubaram” as pretensõeshilbertianas de se encontrar um método único que poderiadecidir sobre a verdade/falsidade de sentençasmatemáticas)

• “o que os computadores podem fazer ?” significa respondera conhecer um método único que resolva problemasdecidíveis. A Máquina de Turing é o tal método único.Vejamos um pouco mais...

Page 52: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

136

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Turing e Máquina de Post - Possibilidades

• Para entender as possibilidades da Máquina de Turingvamos inicialmente entender o conceito de conjuntoenumerável (ou conjunto contável)

• Conjunto enumerável - estabelecido por G. Cantor (1845-1918) - é todo conjunto, infinito ou não, em que é possívelpôr em correspondência um a um seus elementos com osnúmeros inteiros positivos.

� Exemplo: o conjunto (infinito) dos números inteirosímpares positivos é um conjunto enumerável, poispodemos associar a cada número ímpar do conjunto, umnúmero inteiro positivo (como se fosse um “número dematrícula” do número dentro do conjuntos dos inteirosímpares)

Page 53: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

137

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Turing e Máquina de Post - Possibilidades

• Cantor verificou que o conjunto (infinito) dos númerosRacionais (as frações ) é um conjunto enumerável.

• Ou seja, é possível “contar” todos os (infinitos) númerosRacionais. Veja abaixo como Cantor “contou” os númerosracionais:

Page 54: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

138

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Turing e Máquina de Post - Possibilidades

• A “contagem” do conjunto (infinito) dos númerosRacionais

• Cantor verificou também que o conjunto (infinito) dosnúmeros Reais (que contém números Racionais eIrracionais) não é um conjunto enumerável.

� Para mostrar isso vamos tomar apenas as fraçõesirredutíveis (com numerador e denominador sendonúmeros primos entre si) entre 0 e 1, uma vez quequalquer outra fração do intervalo considerado éequivalente a alguma fração irredutível (p. ex. a fração3/9 equivale à fração irredutível 1/3). Assim, ficamoscom as seguintes frações:

Page 55: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

139

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Turing e Máquina de Post - Possibilidades

� Tal conjunto também é infinito e enumerável:

� Consideremos então o número 0,53600006... construído apartir da diagonal dos números listados.

� Se modificarmos cada dígito decimal, por exemplo,somando + 1 a cada dígito diferente de 9 e mudando para 0caso o dígito seja 9, obteremos o número 0,64711117...

Page 56: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

140

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Turing e Máquina de Post - Possibilidades

� Ou seja, o número da diagonal

0,53600006....

transformou-se no número

0,64711117....

� Assumimos, por comodidade, que αααα = 0,64711117....

� αααα não está entre 0 e 1 !!!

� αααα difere do primeiro racional da lista (0,500000...) porquêcom certeza difere pelo menos da primeira casa decimal domesmo (note que o dígito 5 “virou” dígito 6 em αααα)

� αααα difere do segundo racional da lista (0,333333...) porquêcom certeza difere pelo menos da segunda casa decimal domesmo (note que o dígito 3 “virou” dígito 4 em αααα)

� αααα difere do terceiro racional da lista (0,666666...) porquêcom certeza difere pelo menos da terceira casa decimal domesmo (note que o dígito 6 “virou” dígito 7 em αααα)

Page 57: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

141

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Turing e Máquina de Post - Possibilidades

� αααα difere do quarto racional da lista (0,250000...) porquêcom certeza difere pelo menos da quarta casa decimal domesmo (note que o dígito 0 “virou” dígito 1 em αααα)

.

.

.� αααα difere do 1435o racional da lista porquê com certeza

difere pelo menos da 1435a casa decimal do mesmo....

� αααα difere do n-ésimo racional da lista porquê com certezadifere pelo menos da n-ésima casa decimal do mesmo.

� αααα é irracional pois a lista contém todos os (infinitos)números racionais e como αααα não está na lista, αααα éirracional.

� Conclusão: o conjunto dos números Reais, que contém osirracionais, não é contável (não é um conjuntoenumerável): nenhuma lista infinita pode conter todos osnúmeros Reais !!!

Page 58: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

142

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Turing e Máquina de Post - Possibilidades

• Turing percebeu a conexão entre o problema de Hilbert, asfunções computáveis (Alonso Church) e as idéias de Cantorao ponto de propor a Máquina de Turing, que é então ummodelo simples, porém preciso de computação.

• Observando o exemplo anterior apresentado sobre Máquinade Turing, podemos dizer que qualquer Máquina de Turingé definida por uma tabela (ou programa) finita deinstruções, processando um conjunto finito de símbolos.

• Podemos dizer que o conjunto de todas as Máquinas deTuring é um conjunto enumerável (a exemplo doconjunto dos números ímpares positivos, do conjunto dosnúmeros racionais, etc...).

• Note que uma Máquina de Turing é um “programa” decomprimento 1 quando só tem uma instrução, decomprimento 2 quando só tem duas instruções, decomprimento 3 quando só tem três instruções, ...., decomprimento 3245 quando só tem 3245 instruções, decomprimento n quando só tem n instruções, .....

Page 59: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

143

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Turing e Máquina de Post - Possibilidades

• Vamos contar (enumerar) todas as infinitas Máquinas deTuring. Isto é possível fazer.

Page 60: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

144

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Turing e Máquina de Post - Possibilidades

• Suponha que desejamos construir uma Máquina de Turingpara resolver o seguinte problema: contar (enumerar) oconjunto dos números Reais.

• Ora, já vimos que o problema de contar os números reais éuma tarefa impossível !!! Ou seja, não existe Máquina deTuring alguma que consiga realizar tal proeza !!!

• Conclusão 1: existem, de fato, problemas indecidíveis,para os quais jamais existirá algum dispositivocomputacional que consiga resolvê-los.

• Conclusão 2: As Máquinas de Turing (e “similares” taiscomo Máquina de Post) definem as limitações dosprocedimentos mecânicos, bem como suas possibilidades,que se materializam na figura do computador digitaleletrônico.

• “o que os computadores podem fazer ?” : Podemosresponder que os computadores podem fazer tudo o quepuder ser feito numa Máquina de Turing, que é entãoconsiderada uma “Máquina Universal”, pois define o limitemáximo possível de computação.

Page 61: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

145

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Turing e Máquina de Post - Possibilidades

Problemas Indecidíveis – outra forma de “demonstração”

• Relembrando: Na teoria de autômatos, um problema é aquestão de decidir se um dado string pertence ou não a umadeterminada linguagem em questão (ou seja problema =linguagem).

• De forma resumida, podemos dizer Máquinas de Turing(e outras “similares” tais como Máquinas de Post) sãodispositivos construídos para resolver problemas (obs.:problema = linguagem).

Exemplo de problema (linguagem)

� Sobre o alfabeto Σ = { 0, 1 } construir todas as sentençasque possuem uma quantidade par de bits 0 e umaquantidade ímpar de bits 1.

� Então L = { w | w tem uma quantidade par de bits 0 e umaquantidade ímpar de bits 1 }

� É possível construir uma Máquina de Turing parareconhecer sentenças da linguagem L (note então que aMáquina de Turing é um reconhecedor de linguagem =“resolvedor de problema”).

Page 62: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

146

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Turing e Máquina de Post - Possibilidades

Problemas Indecidíveis – outra forma de “demonstração”

• Foi mostrado que o conjunto de todas as Máquinas deTuring existente é um conjunto infinito, porém enumerável!!! Ou seja, podemos enumerar todas as Máquinas deTuring (reconhecedores de linguagem – “resolvedores deproblema”) que exitem !!!

• Mas e os problemas (linguagens) que existem ? Será queeles são também enumeráveis ???

• Suponha, por exemplo, um alfabeto finito com, digamos, 3símbolos: Σ = { α, β, χ }. Vamos tentar enumerar todas aslinguagens que possam ser construídas sobre Σ. Vejaabaixo a citação de algumas:

L1 = { w | w tem quantidade par de símbolos α }L2 = { w | w tem quantidade par de símbolos β e

quantidade ímpar de símbolos χ }L3 = { w | w tem quantidade par de símbolos β ou

quantidade ímpar de símbolos χ }L4 = { w | w tem o símbolo α na 32a posição e β na 73a

posição}L5 = { w | w tem 3 símbolos β a mais que α }

. . .

Page 63: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

147

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Turing e Máquina de Post - Possibilidades

Problemas Indecidíveis – outra forma de “demonstração”

• Consideremos agora todas as (infinitas) sentenças w quepodem ser escritas usando o alfabeto Σ = { α, β, χ }.

� Por exemplo, seja a sentença w = βααχβββαββχαχβ.Neste caso, w ∈ L1, w ∈ L3, w ∈ L5, w ∉ L2, w ∉ L4.

• Vamos listar então, de forma matricial, todas as (infinitas)sentenças w e todas as (infinitas) linguagens (ou sejaproblemas) possíveis sobre o alfabeto Σ = { α, β, χ }.

Page 64: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

148

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Turing e Máquina de Post - Possibilidades

Problemas Indecidíveis – outra forma de “demonstração”

• Vamos agora convencionar 0 para indicar que a k-ésimasentença não pertence à i-ésima linguagem L e 1 paraindicar que a k-ésima sentença pertence à i-ésimalinguagem L: 0 = wk ∉ Li 1 = wk ∈ Li

• Desta forma poderíamos ter, por exemplo, a seguintesituação de relação de pertinência de sentença à linguagem:

• Na situação acima, temos que w1 ∉ L1, w2 ∈ L1, w3 ∈ L1,w2 ∉ L2, w3 ∈ L2, w6 ∉ L4, w3 ∈ L5, w4 ∈ L7, etc, etc...

Page 65: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

149

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Turing e Máquina de Post - Possibilidades

Problemas Indecidíveis – outra forma de “demonstração”

• Consideremos agora a “Linguagem da Diagonal” (Ld) databela acima. É de fato uma linguagem, pois “avalia” cadauma das infinitas sentenças (w1 ∉ Ld, w2 ∉ Ld, w3 ∈ Ld, ...)

• Ld também com certeza aparece em alguma linha da tabelae podemos visualizar Ld assim:

Ld = {0 0 1 0 1 0 1 ... }

Page 66: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

150

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Turing e Máquina de Post - Possibilidades

Problemas Indecidíveis – outra forma de “demonstração”

• Consideremos agora a linguagem L’d a linguagem“complementar” de Ld. Assim, cada sentença wk quepertença a Ld, temos que wk não pertence a L’d:

∀ wk, se wk ∈ Ld então wk ∉ L’ d

• Então temos:

Ld = {0 0 1 0 1 0 1 ... }L’ d = {1 1 0 1 0 1 0 ... }

Problema: Em qual linha da tabela se encontra L’d ?

L’ d não é L1 pois difere da mesma com relação a w1,L’ d não é L2 pois difere da mesma com relação a w2,L’ d não é L3 pois difere da mesma com relação a w3,L’ d não é L4 pois difere da mesma com relação a w4,. . .L’ d não é Ln pois difere da mesma com relação a wn,. . .

Resposta: L’ d não está listada !!!

Qual a conclusão que podemos inferir ?

Page 67: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

151

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

Máquina de Turing e Máquina de Post - Possibilidades

Problemas Indecidíveis – outra forma de “demonstração”

Conclusão

• O conjunto das linguagens (problemas) definidas sobre oalfabeto Σ = { α, β, χ } é um conjunto infinito nãoenumerável. !!! Este resultado vale também (por intuição epor indução) para as linguagens construídas sobre alfabetoscom 2, 4, 5, 6, 7, 8, ... símbolos.

• Como Problema = Linguagem, e Máquina de Turing é o“dispositivo universal” para resolução de problemas, entãoexistem problemas (linguagens) que não possuem nenhumaMáquina de Turing para resolvê-los.

• Existem, portanto, problemas indecidíveis !!!

Page 68: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

152

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

• Relembrando a Hipótese de Church-Turing:

“A capacidade de computação representada pela Máquina deTuring é o limite máximo que pode ser atingido por qualquerdispositivo de computação”

• Outros dispositivos (citados abaixo) possuirão, no máximo,o mesmo poder computacional da Máquina de Turing:

� Autômato com duas ou mais pilhas

� Máquinas de Turing não determinísticas

� Máquinas de Turing com fita infinita à esquerda e àdireita

� Máquinas de Turing com múltiplas fitas

� Máquinas de Turing multidimensionais (substituir a fitapor uma estrutura bidimensional, tridimensional,..........,k-dimensional...)

� Máquinas de Turing com múltiplas cabeças deleitura/gravação

� Combinações de diversas modificações sobre a Máquinade Turing.

Page 69: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

153

LINGUAGENS FORMAISNoções de Máquinas Universais e Computabilidade

• Resumindo a questão de linguagem, até aqui temos:

• As Máquinas de Turing são reconhecedores de linguagem.

• Que tipo de linguagem (problema) é reconhecida(resolvido) por uma Máquina de Turing ?

Page 70: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

154

LINGUAGENS FORMAISLinguagens reconhecidas por Máquina de Turing

• Do anteriormente exposto, podemos dizer que as Máquinasde Turing são reconhecedores de linguagens. Mas que tipode linguagem as Máquinas de Turing reconhecem ?

• Uma linguagem aceita por uma Máquina de Turing édenominada Linguagem Recursivamente Enumerávelou linguagem RE. As linguagens RE são linguagens tipo 0.

• O termo “recursivamente enumerável” vem deformalismos computacionais anteriores à Maquina deTuring: formalismos baseados em recursão (mas não emiterações ou loops) eram frequentemente utilizados comouma noção de computação. Ou seja, antes da Máquina deTuring poder-se-ia dizer, simplificadamente que “através deuma recursão é possível listar (enumerar), em algumaordem, os elementos (sentenças) de uma linguagem(problema)”.

Page 71: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

155

LINGUAGENS FORMAISLinguagens reconhecidas por Máquina de Turing

• A classe das Linguagens Recursivamente Enumeráveisinclui algumas linguagens L tais que a Máquina de TuringM que aceita L ao processar uma determinada sentença w:

Se a sentença w ∈ L , então M para e aceita w.

Se a sentença w ∉ L , então M pode parar rejeitando a palavra ouM pode permanece em loop,processando indefinidamente

• Ou seja, Linguagens RE são caracterizadas por umaMáquina de Turing que para alguma(s) sentença(s) w quenão pertençam à linguagem, a Máquina de Turing fica emloop indefinidamente processando tal sentença w.

Page 72: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

156

LINGUAGENS FORMAISLinguagens reconhecidas por Máquina de Turing

• Existem também linguagens L tais que as Máquinas deTuring M que aceitam L ao processar uma determinadasentença w:

Se a sentença w ∈ L , então M para e aceita w.

Se a sentença w ∉ L , então M para rejeitando a palavra

• Tais linguagens, cuja Máquina de Turing sempre para,aceitando ou rejeitando qualquer sentença w são ditasLinguagens Recursivas.

• Uma Máquina de Turing desse tipo (que sempre paraaceitando ou rejeitando w) corresponde à nossa noçãoinformal de algoritmo: uma sequência bem definida deetapas que sempre termina e produz uma resposta.

• Relembrando: Linguagem = “Problema”. Então:

Linguagem “Problema”

Recursiva Decidível (existe um algoritmo)

RecursivamenteEnumerável (RE)

Indecidível para alguns casos

Não-RE Indecidível (não existe um algoritmo)

Page 73: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

157

LINGUAGENS FORMAISLinguagens reconhecidas por Máquina de Turing

• Diagrama de classificação de Linguagens

Linguagem (L ) Máquina de Turing (M )Recursiva M sempre para, aceitando ou rejeitando w

RecursivamenteEnumerável (RE)

Se w ∈ L então M para e aceita w (problemadecidível)Se w ∉ L então M pode, eventualmente entrarem loop processando indefinidamente(problema indecidível)

Não RE Não existe M !!!!

Page 74: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

158

LINGUAGENS FORMAISLinguagens RE e Recursivas: propriedades

• Teorema 1: Seja L uma linguagem recursiva. Então ocomplemento de L – denominado L’ – é também umalinguagem recursiva.

� Se L é recursiva, então significa que a Máquina deTuring M que aceita L sempre para, aceitando ourejeitando a sentença w processada. Ou seja, existe umalgoritmo para a linguagem (problema) L .

� Relembrando Teoria Elementar de Conjuntos: ocomplementar de um conjunto:

Page 75: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

159

LINGUAGENS FORMAISLinguagens RE e Recursivas: propriedades

� Considere agora uma linguagem L , construída sobrealgum alfabeto ΣΣΣΣ com todas as suas (normalmente)infinitas sentenças w1, w2, w3, ... e as sentenças w’ 1, w’ 2,w’ 3, ... que não pertencem a L:

� Suponha que L é uma linguagem recursiva: então existeuma Máquina de Turing M (algoritmo) que aceita L , ouseja aceita todas as sentenças w1, w2, w3, ... que de fatopertencem a L e rejeita todas as sentenças w’ 1, w’ 2, w’ 3,... que não pertencem a L .

� Note então que se a linguagem “processada” por M fosseL’ , M “inverteria” suas repostas: rejeitaria w1, w2, w3, ...e aceitaria w’ 1, w’ 2, w’ 3, ... porém sempre irá decidirsobre todas as sentenças. Assim L’ , o complemento deL , é também recursiva.

Page 76: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

160

LINGUAGENS FORMAISLinguagens RE e Recursivas: propriedades

• Teorema 2: Se L é uma linguagem RE e seu complementoL’ também é RE então, necessariamente L é recursiva e,por conseguinte, L’ também é recursiva.

� Seja M 1 uma Máquina de Turing que aceite L : L = L(M1)e seja M 2 uma Máquina de Turing que aceite L’ : L’ =L(M 2).

� É possível construir uma Máquina de Turing M quesimula, em paralelo, M 1 e M 2 :

� Se a entrada w ∈ L , então M 1 aceita e para e assim Maceita e para. Se w ∉ L , então w ∈ L’ e assim M 2 aceita eM rejeita e para. Como M sempre para, concluímos queM é uma Máquina de Turing para L e L é recursiva.Sendo L recursiva, L’ também é recursiva (pelo Teorema1).

� Conclusão: não ocorre a situação de L ser RE e L’também ser RE.

Page 77: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

161

LINGUAGENS FORMAISLinguagens RE e Recursivas: propriedades

• Os Teoremas 1 e 2 acima enunciados nos levam a aceitarapenas quatro das nove possíveis combinações existenciaisde uma linguagem L e seu complemento L’ com relação àclassificação

Opção Recursiva RE Não-RE Situação1 L e L’ - - Possível2 - - L e L’ Possível3 - L L’ Possível4 - L’ L Possível5 L L’ - Impossível6 L - L’ Impossível7 L’ L - Impossível8 L’ - L Impossível9 - L e L’ - Impossível

Page 78: LINGUAGENS FORMAIS Noções de Máquinas Universais e ...palhares2.flu.angelfire.com/uniceub/tc/tct003.pdf · filosofia ocidental. Contudo, tal crença passa a dominar o pensamento

162

LINGUAGENS FORMAISLinguagens – Síntese 1

• Quadro sinóptico dos tipos de linguagens