inductive logic programming
In plain wordsA kind of machine learning that discovers general logical rules — such as 'X is a grandparent of Z if X is a parent of a parent of Z' — from examples and background knowledge.
A branch of machine learningmachine learning, n.: A way of building software that learns from examples instead of following rules written by a programmer. Shown thousands of labeled photos, for instance, a program can learn to recognize cats. whose hypotheses are logic programslogic programming, n.: A style of programming in which you write down facts and rules in logic and then ask questions; the computer works out the answers itself by logical deduction., typically sets of Horn clausesHorn clause, n.: A simple, restricted form of logical rule ('if these conditions all hold, then this one conclusion holds') that computers can reason with very efficiently.: given background knowledge written in logic and some positive and negative examples, it searches for rules that, added to that knowledge, imply each positive example while implying none of the negative ones. Systems search the space of clauses from general to specific (FOIL's top-down refinement) or from specific to general (Progol, guided by a most specific 'bottom clause'), or treat learning as constraint solving over hypotheses (Popper and learners based on answer set programminganswer set programming, n.: A way to solve hard puzzles and scheduling problems by describing in logical rules what a valid solution looks like; a solver then finds the arrangements that fit those rules.); some invent new predicates and learn recursive definitions (Metagol). Inductive logic programming learns from very few examples, yields human-readable rules and reuses prior knowledge naturally, but it struggles with noisy data and large hypothesis spaces. It has been applied to drug design, biology and learning game rules, and differentiable variants connect it to neuro-symbolic AIneuro-symbolic AI, n.: AI that combines neural networks, which learn patterns from data, with symbolic methods, which follow explicit rules and logic, aiming for systems that both learn flexibly and reason reliably..
Origin
Named by Stephen Muggleton in 1990; his 1991 paper in New Generation Computing set out the field, unifying earlier work on learning logic programs such as Gordon Plotkin's least general generalization (1970) and Ehud Shapiro's Model Inference System (1981). Ross Quinlan's FOIL (1990) and Muggleton's Progol (1995) were influential systems.
Related
- logic programminglogic programming, n.: A style of programming in which you write down facts and rules in logic and then ask questions; the computer works out the answers itself by logical deduction.
- Horn clauseHorn clause, n.: A simple, restricted form of logical rule ('if these conditions all hold, then this one conclusion holds') that computers can reason with very efficiently.
- program synthesisprogram synthesis, n.: Getting a computer to write a program automatically from a description of what the program should do — a logical specification, a few input–output examples or a request in plain language.
- neuro-symbolic AIneuro-symbolic AI, n.: AI that combines neural networks, which learn patterns from data, with symbolic methods, which follow explicit rules and logic, aiming for systems that both learn flexibly and reason reliably.
- Markov logic networkMarkov logic network, n.: A way of combining logical rules with probabilities, so that a rule like 'friends usually like the same music' can sometimes be broken, with each rule given a weight saying how strongly it holds.
- rule-based systemrule-based system, n.: A computer system that makes decisions by following a list of 'if… then…' rules written by people, rather than by learning from examples.
Sources
- Muggleton, S. (1991). Inductive Logic Programming. New Generation Computing 8(4), 295–318.
- Cropper, A. & Dumančić, S. (2022). Inductive Logic Programming at 30: A New Introduction. Journal of Artificial Intelligence Research 74, 765–850.
Mentioned in
inductive reasoninginductive reasoning, n.: Reasoning from particular examples to a general rule or prediction — every swan I have seen is white, so swans are probably white — which is useful but can always turn out wrong., logic programminglogic programming, n.: A style of programming in which you write down facts and rules in logic and then ask questions; the computer works out the answers itself by logical deduction., program synthesisprogram synthesis, n.: Getting a computer to write a program automatically from a description of what the program should do — a logical specification, a few input–output examples or a request in plain language., rule-based systemrule-based system, n.: A computer system that makes decisions by following a list of 'if… then…' rules written by people, rather than by learning from examples., integer programminginteger programming, n.: Finding the best plan when some decisions must be whole numbers or yes-or-no choices — you cannot open half a warehouse or send 2.7 trucks. That small change makes the best plan far harder to find., Markov logic networkMarkov logic network, n.: A way of combining logical rules with probabilities, so that a rule like 'friends usually like the same music' can sometimes be broken, with each rule given a weight saying how strongly it holds., Ross QuinlanRoss Quinlan, prop. n.: An Australian computer scientist who created ID3 and C4.5, influential programs that learn decision trees, flowchart-like rules for classifying examples.