Entscheidungsproblem
Este artigo ou secção contém uma lista de referências no fim do texto, mas as suas fontes não são claras porque não são citadas no corpo do artigo, o que compromete a confiabilidade das informações. (Outubro de 2016) |
Na área da matemática e na ciência da computação, o Entscheidungsproblem (alemão para "problema de decisão") é um desafio lógico colocado pelos matemáticos alemães David Hilbert e Wilhelm Ackermann em 1928.[1] Ele pede um algoritmo que considere uma declaração inserida e responda "sim" ou "não" de acordo com se ela é universalmente válida, ou seja, válida em todas as estruturas.
Teorema da completude
[editar | editar código-fonte]Pelo teorema da completude da lógica de primeira ordem, uma afirmação é universalmente válida se e somente se ela pode ser deduzida usando regras lógicas e axiomas, então o Entscheidungsproblem também pode ser visto como pedindo um algoritmo para decidir se uma determinada afirmação é demonstrável usando as regras da lógica.
Em 1936, Alonzo Church e Alan Turing publicaram artigos independentes mostrando que uma solução geral para o Entscheidungsproblem é impossível, assumindo que a noção intuitiva de "efetivamente calculável" é capturada pelas funções computáveis por uma máquina de Turing (ou equivalentemente, por aquelas expressáveis no cálculo lambda). Essa suposição é agora conhecida como tese de Church-Turing.
História
[editar | editar código-fonte]A origem do Entscheidungsproblem remonta a Gottfried Leibniz, que no século XVII, depois de ter construído uma máquina de calcular mecânica bem-sucedida, sonhou em construir uma máquina que pudesse manipular símbolos para determinar os valores de verdade das afirmações matemáticas.[2] Ele percebeu que o primeiro passo teria que ser uma linguagem formal limpa, e grande parte de seu trabalho subsequente foi direcionado para esse objetivo. Em 1928, David Hilbert e Wilhelm Ackermann colocaram a questão na forma descrita acima.
Na continuação de seu "programa", Hilbert fez três perguntas em uma conferência internacional em 1928, a terceira das quais ficou conhecida como "Entscheidungsproblem de Hilbert".[3] Em 1929, Moses Schönfinkel publicou um artigo sobre casos especiais do problema da decisão, que foi preparado por Paul Bernays.[4]
Ainda em 1930, Hilbert acreditava que não haveria um problema insolúvel.[3]
Resposta negativa
[editar | editar código-fonte]Antes que a pergunta pudesse ser respondida, a noção de "algoritmo" teve que ser formalmente definida. Isso foi feito por Alonzo Church em 1935 com o conceito de "calculabilidade efetiva" com base em seu cálculo λ, e por Alan Turing no ano seguinte com seu conceito de máquinas de Turing. Turing reconheceu imediatamente que esses são modelos equivalentes de computação.
Uma resposta negativa ao Entscheidungsproblem foi então dada por Alonzo Church em 1935-36 (teorema de Church) e independentemente logo depois por Alan Turing em 1936 (prova de Turing). Church provou que não existe uma função computável que decida, para duas expressões de cálculo λ dadas, se elas são equivalentes ou não. Ele se baseou fortemente em trabalhos anteriores de Stephen Kleene. Turing reduziu a questão da existência de um "algoritmo" ou "método geral" capaz de resolver o Entscheidungsproblem à questão da existência de um "método geral" que decide se uma dada máquina de Turing pára ou não (o problema da parada). Se 'algoritmo' é entendido como significando um método que pode ser representado como uma máquina de Turing, e com a resposta à última pergunta negativa (em geral), a questão sobre a existência de um algoritmo para o Entscheidungsproblem também deve ser negativa (em geral). Em seu artigo de 1936, Turing diz: "Correspondendo a cada máquina de computação 'it', construímos uma fórmula 'Un(it)' e mostramos que, se existe um método geral para determinar se 'Un(it)' é demonstrável, então existe um método geral para determinar se 'it' imprime 0".
O trabalho de Church e Turing foi fortemente influenciado pelo trabalho anterior de Kurt Gödel em seu teorema da incompletude, especialmente pelo método de atribuição de números (uma numeração de Gödel) a fórmulas lógicas, a fim de reduzir a lógica à aritmética.
O Entscheidungsproblem está relacionado ao décimo problema de Hilbert, que pede um algoritmo para decidir se as equações diofantinas têm uma solução. A inexistência de tal algoritmo, estabelecido pelo trabalho de Yuri Matiyasevich, Julia Robinson, Martin Davis e Hilary Putnam, com a peça final da prova em 1970, também implica uma resposta negativa ao Entscheidungsproblem.
Generalizações
[editar | editar código-fonte]Usando o teorema da dedução, o Entscheidungsproblem engloba o problema mais geral de decidir se uma dada sentença de primeira ordem é implicada por um dado conjunto finito de sentenças, mas a validade em teorias de primeira ordem com infinitos axiomas não pode ser diretamente reduzida ao Entscheidungsproblem. Esses problemas de decisão mais gerais são de interesse prático. Algumas teorias de primeira ordem são decidíveis algoritmicamente; exemplos disso incluem aritmética de Presburger, campos fechados reais e sistemas de tipos estáticos de muitas linguagens de programação. Por outro lado, a teoria de primeira ordem dos números naturais com adição e multiplicação expressa pelos axiomas de Peano não pode ser decidida com um algoritmo.
Fragmentos
[editar | editar código-fonte]Por padrão, as citações na seção são de Pratt-Hartmann (2023).[5]
O clássico Entscheidungsproblem pergunta que, dada uma fórmula de primeira ordem, se ela é verdadeira em todos os modelos. O problema finitário pergunta se é verdade em todos os modelos finitos. O teorema de Trakhtenbrot mostra que isso também é indecidível.[5][6]
Algumas anotações: significa o problema de decidir se existe um modelo para um conjunto de fórmulas lógicas . é o mesmo problema, mas para modelos finitos. O problema para um fragmento lógico é chamado decidível se existe um programa que pode decidir, para cada conjunto finito de fórmulas lógicas no fragmento, se ou não.
Aristotélico e relacional
[editar | editar código-fonte]A lógica aristotélica considera 4 tipos de sentenças: "Todos os p são q", "Todos os p não são q", "Alguns p são q", "Alguns p não são q". Podemos formalizar esses tipos de frases como um fragmento da lógica de primeira ordem[5]:Onde são predicados atômicos, e . Dado um conjunto finito de fórmulas lógicas aristotélicas, é NLOGSPACE-completo decidir seu . Também é NLOGSPACE-completo para decidir para uma ligeira extensão (Teorema 2:7):A lógica relacional estende a lógica aristotélica ao permitir um predicado relacional. Por exemplo, a frase em inglês "everybody loves somebody" (todo mundo ama alguém) pode ser escrito como . Geralmente, temos oito tipos de sentenças:É NLOGSPACE-completo para decidir seu (Teorema 2:15). A lógica relacional pode ser estendida para 32 tipos de sentenças, permitindo , mas esta extensão é EXPTIME-completa (Teorema 2.24).
Aridade
[editar | editar código-fonte]O fragmento lógico de primeira ordem em que os únicos nomes de variáveis são é NEXPTIME-completo (Teorema 3.18). Com , é RE-completo decidir sua , e co-RE-completar para decidir (Teorema 3:15), portanto, indecídivel.[5]
O cálculo de predicados monádicos é o fragmento em que cada fórmula contém apenas predicados 1-ários e nenhum símbolo de função. Seu é NEXPTIME-completo (Teorema 3.22).
Prefixo do quantificador
[editar | editar código-fonte]Qualquer fórmula de primeira ordem tem uma forma normal prenex. Para cada prefixo quantificador possível para a forma normal prenex, temos um fragmento de lógica de primeira ordem. Por exemplo, a classe Bernays-Schönfinkel, , é a classe de fórmulas de primeira ordem com prefixo quantificador , símbolos de igualdade e símbolos sem função.
Por exemplo, o artigo de Turing de 1936 (p. 263) observou que, uma vez que o problema da parada para cada máquina de Turing é equivalente a uma fórmula lógica de primeira ordem da forma , o problema é indecídivel.
Os limites precisos são conhecidos, nitidamente:
- and são co-RE-completos, e os problemas são RE-completos (Teorema 5:2)
- Mesmo para (Teorema 5:3).
- é decídivel, provado independentemente por Gödel, Schütte e Kalmár.
- é indecídivel.
- Para qualquer , tanto quanto são NEXPTIME-completos (Teorema 5.1).
- Isso implica que é decídivel, um resultado primeiramente publicado por Bernays e Schönfinkel.[7]
- Para qualquer , é EXPTIME-completo (Seção 5. 4. 1.).
- Para qualquer , é NEXPTIME-completo (Seção 5. 4. 2.).
- Isso implica que é decídivel, um resultado primeiramente publicado por Ackermann.[8]
- Para qualquer , e são PSPACE-completo (Seção 5. 4. 3.)
Börger et al. (2001)[9] descreve o nível de complexidade computacional para cada fragmento possível com todas as combinações possíveis de prefixo quantificador, aridade funcional, aridade de predicado e igualdade / não igualdade.
Procedimentos práticos de decisão
[editar | editar código-fonte]Ter procedimentos práticos de decisão para classes de fórmulas lógicas é de considerável interesse para verificação de programas e verificação de circuitos. Fórmulas lógicas booleanas puras são geralmente decididas usando técnicas de resolução de SAT baseadas no algoritmo DPLL.
Para problemas de decisão mais gerais de teorias de primeira ordem, fórmulas conjuntivas sobre aritmética linear real ou racional podem ser decididas usando o algoritmo simplex, fórmulas em aritmética inteira linear (aritmética de Presburger) podem ser decididas usando o algoritmo de Cooper ou o teste Omega de William Pugh. Fórmulas com negações, conjunções e disjunções combinam as dificuldades do teste de satisfatibilidade com a decisão de conjunções; eles são geralmente decididos hoje em dia usando técnicas de resolução SMT, que combinam a resolução de SAT com procedimentos de decisão para conjunções e técnicas de propagação. A aritmética polinomial real, também conhecida como teoria dos corpos fechados reais, é decidível; este é o teorema de Tarski-Seidenberg, que foi implementado em computadores usando a decomposição algébrica cilíndrica.
Referências
[editar | editar código-fonte]- Alonzo Church, "An unsolvable problem of elementary number theory", American Journal of Mathematics, 58 (1936), pp 345 - 363
- Alonzo Church, "A note on the Entscheidungsproblem", Journal of Symbolic Logic, 1 (1936), pp 40 - 41.
- Alan Turing, "On computable numbers, with an application to the Entscheidungsproblem", Proceedings of the London Mathematical Society, Series 2, 42 (1936), pp 230 - 265. Online version. Errata appeared in Series 2, 43 (1937), pp 544 - 546.
- Martin Davis, "The Undecidable, Basic Papers on Undecidable Propositions, Unsolvable Problems And Computable Functions", Raven Press, New York, 1965. Turing's paper is #3 in this volume. Papers include those by Godel, Church, Rosser, Kleene, and Post.
- Andrew Hodges, Alan Turing: The Enigma, Simon and Schuster, New York, 1983. Allen M. Turing's biography. Cf Chapter "The Spirit of Truth" for a history leading to, and a discussion of, his proof.
- Toulmin, Stephen, "Fall of a Genius", a book review of "Alan Turing: The Enigma by Andrew Hodges", in The New York Review of Books, January 19, 1984, p. 3ff.
- Alfred North Whitehead and Bertrand Russell, Principia Mathematica to *56, Cambridge at the University Press, 1962. Re: the problem of paradoxes, the authors discuss the problem of a set not be an object in any of its "determining functions", in particular "Introduction, Chap. 1 p. 24 "...difficulties which arise in formal logic", and Chap. 2.I. "The Vicious-Circle Principle" p.37ff, and Chap. 2.VIII. "The Contradictions" p.60 ff.
- ↑ Hilbert, David; Ackermann, Wilhelm (1928). Grundzüge der Theoretischen Logik. Berlim, Alemanha: Springer
- ↑ Martin, Davis (2001). «Engines of logic: mathematicians and the origin of the computer.». Norton. ISBN 978-0-393-32229-3. Verifique
|isbn=
(ajuda) - ↑ a b Hodges, Andrew (1965). Alan Turing: the enigma. Nova Iorque: Simon and Schuster. p. 92. ISBN 978-0-671-49207-6
- ↑ Kline, G. L.; Anovskaa, S. A. (1951). «"Review of Foundations of mathematics and mathematical logic by S. A. Yanovskaya"». Journal of Symbolic Logic. 16: 46-48. doi:10.2307/2268665
- ↑ a b c d Pratt-Hartmann, Ian (30 de março de 2023). Fragments of First-Order Logic. [S.l.]: Oxford University Press. ISBN 978-0-19-196006-2
- ↑ Trakhtenbrot, B. (1950). The impossibility of an algorithm for the decision problem for finite models. [S.l.]: Doklady Akademii Nauk. pp. 572–596
- ↑ Bernays, Paul; Schönfinkel, Moses (December 1928). «Zum Entscheidungsproblem der mathematischen Logik». Mathematische Annalen (em alemão). 99 (1): 342–372. ISSN 0025-5831. doi:10.1007/BF01459101 Verifique data em:
|data=
(ajuda) - ↑ Ackermann, Wilhelm (1 de dezembro de 1928). «Über die Erfüllbarkeit gewisser Zählausdrücke». Mathematische Annalen (em alemão). 100 (1): 638–649. ISSN 1432-1807. doi:10.1007/BF01448869
- ↑ Börger, Egon; Grädel, Erich; Gurevič, Jurij; Gurevich, Yuri (2001). «O problema clássico da decisão». Springer. Universitext. ISBN 978-3-540-42324-9