Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Logic in computer science

From Wikipedia, the free encyclopedia
Academic discipline
For theacademic conference LICS, seeSymposium on Logic in Computer Science.
Diagrammatic representation of computerlogic gates

Logic in computer science covers the overlap between the field oflogic and that ofcomputer science. The topic can essentially be divided into three main areas:

  • Theoretical foundations and analysis
  • Use of computer technology to aid logicians
  • Use of concepts from logic for computer applications

Theoretical foundations and analysis

[edit]

Logic plays a fundamental role in computer science. Some of the key areas of logic that are particularly significant arecomputability theory (formerly called recursion theory),modal logic andcategory theory. Thetheory of computation is based on concepts defined by logicians and mathematicians such asAlonzo Church andAlan Turing.[1][2] Church first showed the existence ofalgorithmically unsolvable problems using his notion of lambda-definability. Turing gave the first compelling analysis of what can be called a mechanical procedure andKurt Gödel asserted that he found Turing's analysis "perfect."[3] In addition some other major areas of theoretical overlap between logic and computer science are:

Computers to assist logicians

[edit]

One of the first applications to use the termartificial intelligence was theLogic Theorist system developed byAllen Newell,Cliff Shaw, andHerbert Simon in 1956. One of the things that a logician does is to take a set of statements in logic and deduce the conclusions (additional statements) that must be true by the laws of logic. For example, if given the statements "All humans are mortal" and "Socrates is human" a valid conclusion is "Socrates is mortal". Of course this is a trivial example. In actual logical systems the statements can be numerous and complex. It was realized early on that this kind of analysis could be significantly aided by the use of computers.Logic Theorist validated the theoretical work ofBertrand Russell andAlfred North Whitehead in their influential work on mathematical logic calledPrincipia Mathematica. In addition, subsequent systems have been utilized by logicians to validate and discover new mathematical theorems and proofs.[7]

Logic applications for computers

[edit]

There has always been a strong influence from mathematical logic on the field ofartificial intelligence (AI). From the beginning of the field it was realized that technology to automate logical inferences could have great potential to solve problems and draw conclusions from facts.Ron Brachman has describedfirst-order logic (FOL) as the metric by which all AIknowledge representation formalisms should be evaluated. First-order logic is a general and powerful method for describing and analyzing information. The reason FOL itself is simply not used as a computer language is that it is actually tooexpressive, in the sense that FOL can easily express statements that no computer, no matter how powerful, could ever solve. For this reason every form of knowledge representation is in some sense a trade off between expressivity andcomputability. A widely held belief maintains that the more expressive the language is (i.e. the closer it is to FOL), the more likely it is to be slower and prone to an infinite loop.[8] However, in a recent work[9] by Heng Zhang et al., this belief has been rigorously challenged. Their findings establish that all universal knowledge representation formalisms arerecursively isomorphic. Furthermore, their proof demonstrates that FOL can be translated into a pure procedural knowledge representation formalism defined by Turing machines with computationally feasible overhead, specifically within deterministic polynomial time or even at lower complexity.[9]

For example, IF–THEN rules used inexpert systems approximate to a very limited subset of FOL. Rather than arbitrary formulas with the full range of logical operators, the starting point is simply what logicians refer to asmodus ponens. As a result,rule-based systems can support high-performance computation, especially if they take advantage of optimization algorithms and compilation.[10]

On the other hand,logic programming, which combines theHorn clause subset of first-order logic with anon-monotonic form ofnegation, has both high expressive power and efficientimplementations. In particular, the logic programming languageProlog is aTuring complete programming language.Datalog extends therelational database model with recursive relations, whileanswer set programming is a form of logic programming oriented towards difficult (primarilyNP-hard)search problems.

Another major area of research for logical theory issoftware engineering. Research projects such as theKnowledge Based Software Assistant and Programmer's Apprentice programs have applied logical theory to validate the correctness ofsoftware specifications. They have also used logical tools to transform the specifications into efficient code on diverse platforms and to prove the equivalence between the implementation and the specification.[11] This formal transformation-driven approach is often far more effortful than traditional software development. However, in specific domains with appropriate formalisms and reusable templates the approach has proven viable for commercial products. The appropriate domains are usually those such as weapons systems, security systems, and real-time financial systems where failure of the system has excessively high human or financial cost. An example of such a domain isVery Large Scale Integrated (VLSI) design—the process for designing the chips used for the CPUs and other critical components of digital devices. An error in a chip can be catastrophic. Unlike software, chips can't be patched or updated. As a result, there is commercial justification for usingformal methods to prove that the implementation corresponds to the specification.[12]

Another important application of logic to computer technology has been in the area offrame languages and automatic classifiers.Frame languages such asKL-ONE can be directly mapped toset theory and first-order logic. This allows specializedtheorem provers called classifiers to analyze the various declarations betweensets,subsets, andrelations in a given model. In this way the model can be validated and any inconsistent definitions flagged. The classifier can also infer new information, for example define new sets based on existing information and change the definition of existing sets based on new data. The level of flexibility is ideal for handling the ever changing world of the Internet. Classifier technology is built on top of languages such as theWeb Ontology Language to allow a logical semantic level on top of the existing Internet. This layer is called theSemantic Web.[13][14]

Temporal logic is used for reasoning inconcurrent systems.[15]

See also

[edit]

References

[edit]
  1. ^Lewis, Harry R. (1981).Elements of the Theory of Computation.Prentice Hall.
  2. ^Davis, Martin (11 May 1995)."Influences of Mathematical Logic on Computer Science". In Rolf Herken (ed.).The Universal Turing Machine. Springer Verlag.ISBN 9783211826379. Retrieved26 December 2013.
  3. ^Kennedy, Juliette (2014-08-21).Interpreting Godel. Cambridge University Press.ISBN 9781107002661. Retrieved17 August 2015.
  4. ^Hofstadter, Douglas R. (1999-02-05).Gödel, Escher, Bach: An Eternal Golden Braid. Basic Books.ISBN 978-0465026562.
  5. ^McCarthy, John; P.J. Hayes (1969)."Some philosophical problems from the standpoint of artificial intelligence"(PDF).Machine Intelligence.4:463–502.
  6. ^Barr, Michael; Charles Wells (1998).Category Theory for Computing Science(PDF).Centre de Recherches Mathématiques.
  7. ^Newell, Allen; J.C. Shaw; H.C. Simon (1963)."Empirical explorations with the logic theory machine". In Ed Feigenbaum (ed.).Computers and Thought. McGraw Hill. pp. 109–133.ISBN 978-0262560924.{{cite book}}:ISBN / Date incompatibility (help)
  8. ^Levesque, Hector; Ronald Brachman (1985)."A Fundamental Tradeoff in Knowledge Representation and Reasoning". In Ronald Brachman and Hector J. Levesque (ed.).Reading in Knowledge Representation. Morgan Kaufmann. p. 49.ISBN 0-934613-01-X.The good news in reducing KR service to theorem proving is that we now have a very clear, very specific notion of what the KR system should do; the bad new is that it is also clear that the services can not be provided... deciding whether or not a sentence in FOL is a theorem... is unsolvable.
  9. ^abZhang, Heng; Jiang, Guifei; Quan, Donghui (2025-04-11)."A Theory of Formalisms for Representing Knowledge".Proceedings of the AAAI Conference on Artificial Intelligence.39 (14):15257–15264.arXiv:2412.11855.doi:10.1609/aaai.v39i14.33674.ISSN 2374-3468.
  10. ^Forgy, Charles (1982)."Rete: A Fast Algorithm for the Many Pattern/Many Object Pattern Match Problem*"(PDF).Artificial Intelligence.19:17–37.doi:10.1016/0004-3702(82)90020-0. Archived fromthe original(PDF) on 2013-12-27. Retrieved25 December 2013.
  11. ^Rich, Charles; Richard C. Waters (November 1987)."The Programmer's Apprentice Project: A Research Overview"(PDF).IEEE Expert. Archived fromthe original(PDF) on 2017-07-06. Retrieved26 December 2013.
  12. ^Stavridou, Victoria (1993).Formal Methods in Circuit Design. Press Syndicate of the University of Cambridge.ISBN 0-521-443369. Retrieved26 December 2013.
  13. ^MacGregor, Robert (June 1991). "Using a description classifier to enhance knowledge representation".IEEE Expert.6 (3):41–46.doi:10.1109/64.87683.S2CID 29575443.
  14. ^Berners-Lee, Tim; James Hendler; Ora Lassila (May 17, 2001)."The Semantic Web A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities".Scientific American.284:34–43.doi:10.1038/scientificamerican0501-34. Archived fromthe original on April 24, 2013.
  15. ^Colin Stirling (1992). "Modal and Temporal Logics". InS. Abramsky;D. M. Gabbay;T. S. E. Maibaum (eds.).Handbook of Logic in Computer Science. Vol. II. Oxford University Press. pp. 477–563.ISBN 0-19-853761-1.

Further reading

[edit]

External links

[edit]
Major fields
Logics
Theories
Foundations
Lists
Topics
Other
Components
Theory
Design
Applications
Design issues
Retrieved from "https://en.wikipedia.org/w/index.php?title=Logic_in_computer_science&oldid=1337315367"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp