Logic programming: Difference between revisions

Content deleted Content added
m link
Glenn6502 (talk | contribs)
No edit summary
Line 1:
[[pl:Programowanie logiczne]]
 
'''Logical programming''' or(and the closely related '''constraint 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 logical [[programming language]] is [[Prolog]]. Another, more commercial language is [[Mercury programming language| Mercury]].
 
Schematically, the process is ''facts'' + ''rules'' = ''results''. For a different approach, see [[Inductive logic programming]].
 
The point of logical 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 logical programming.
 
The [[monkey and banana problem]] is a famous problem studied in the community of logical programming. 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.