Logic programming

   

Logic programming is a programming paradigm in which a set of attributes that a solution should have are specified rather than set of steps to obtain such a solution. A widely used logic programming language is Prolog. Another example is Mercury. Schematically, the process is

facts + rules = results.

A related paradigm is inductive logic programming, which is concerned with finding general rules based on a sample of facts.

The point of logic programming is to bring the style of formal logic to computer programming. Mathematicians and philosophers find logic a successful tool for developing bodies of theory. Many problems are naturally expressed as a theory. To say a problem needs solving is often equivalent to asking if a new hypothesis is consistent with an existing theory. Logic provides a way to prove whether the question is true or false. The process of constructing a proof is well-known, so logic is thought to be a reliable way to answer questions. Logical programming systems automate this process. Artificial Intelligence was an important influence on the development of logic programming.

The monkey and banana problem is a famous problem studied in the logic programming community. Instead of the programmer explicitly specifying the path for the monkey to reach the banana, the computer actually reasons out a possible way that the monkey reaches the banana.

Logic programming creates logical models that describe the world in which a problem exists. The logic programming approach is to create new statements about its model. The knowledge of the state of the world is expanded each time. A problem is typically stated as a single hypothesis. The logic program solves the problem by attempting to prove whether the hypothesis is actually a theorem about the model.

Some popular application domains for logic programming are:

  • Expert systems, where the program generates a recommendation or answer from a large model of the application domain.
  • Automated theorem proving, where the program generates novel theorems to extend some existing body of theory.


Example languages

The canonical example of a logic programming language is Prolog. A more recent example is Mercury.

Category:Logic programming languages provides an exhaustive list.

See also




de:Logikprogrammierung fr:Programmation logique pl:Programowanie logiczne th:การเขียนโปรแกรมเชิงตรรกะ zh:邏輯編程

Retrieved from "http://www.centipedia.com/articles/Logic_programming"

This page has been accessed 1967 times. This page was last modified 23:11, 19 Nov 2004. All text is available under the terms of the GNU Free Documentation License (see Copyrights for details).