Inductive Logic Programming
   HOME



picture info

Inductive Logic Programming
Inductive logic programming (ILP) is a subfield of symbolic artificial intelligence which uses logic programming as a uniform representation for examples, background knowledge and hypotheses. The term "''inductive''" here refers to philosophical (i.e. suggesting a theory to explain observed facts) rather than mathematical (i.e. proving a property for all members of a well-ordered set) induction. Given an encoding of the known background knowledge and a set of examples represented as a logical database of facts, an ILP system will derive a hypothesised logic program which entails all the positive and none of the negative examples. * Schema: ''positive examples'' + ''negative examples'' + ''background knowledge'' ⇒ ''hypothesis''. Inductive logic programming is particularly useful in bioinformatics and natural language processing. History Building on earlier work on Inductive inference, Gordon Plotkin was the first to formalise induction in a clausal setting around 1970, ad ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Relational Data Mining
Relational data mining is the data mining technique for relational databases.Dzeroski, Saso, Nada Lavrač, Lavrač, Nada (Eds.), Relational Data Mining, Springer 200/ref> Unlike traditional data mining algorithms, which look for patterns in a single table (propositional patterns), relational data mining algorithms look for patterns among multiple tables (relational patterns). For most types of propositional patterns, there are corresponding relational patterns. For example, there are relational classification rules (relational classification), relational Decision tree learning, regression tree, and relational association rules. There are several approaches to relational data mining: # Inductive_logic_programming, Inductive Logic Programming (ILP) # Statistical_relational_learning, Statistical Relational Learning (SRL) # Structure mining, Graph Mining # Propositionalization # Multi-view learning Algorithms Multi-Relation Association Rules: Multi-Relation Association Rules (MRAR) is ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


ILP Family2
ILP can refer to: Computer science * Inductive logic programming * Information Leak Prevention * Instruction-level parallelism * Integer linear programming Other * '' ilp.'', a 2013 album by Kwes * Independent Labour Party, United Kingdom * Independent Living Program, a US Veteran Affairs program aimed at making sure that each eligible veteran is able to live independently * ''Index Librorum Prohibitorum'', the list of publications banned by the Catholic Church between 1559 and 1966. * Individual Learning Plan, a teaching methodology * Inner Line Permit, a permission required for mainland Indian citizens to be able to travel into a restricted/protected state of North-East India * Institution of Lighting Professionals, a professional lighting association based in the UK and Ireland. * Intelligence-led policing * Isolated Limb Perfusion Limb perfusion is a medical technique that is used to deliver drugs locally directly to a site of interest. It is commonly used in human medicin ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


First-order Inductive Learner
In machine learning, first-order inductive learner (FOIL) is a rule-based learning algorithm. Background Developed in 1990 by Ross Quinlan,J.R. Quinlan. Learning Logical Definitions from Relations. Machine Learning, Volume 5, Number 3, 1990/ref> FOIL learns function-free Horn clauses, a subset of first-order predicate calculus. Given positive and negative examples of some concept and a set of background-knowledge predicates, FOIL inductively generates a logical concept definition or rule for the concept. The induced rule must not involve any constants (''color(X,red)'' becomes ''color(X,Y), red(Y)'') or function symbols, but may allow negated predicates; recursive concepts are also learnable. Like the ID3 algorithm, FOIL hill climbs using a metric based on information theory to construct a rule that covers the data. Unlike ID3, however, FOIL uses a separate-and-conquer method rather than divide-and-conquer, focusing on creating one rule at a time and collecting uncovered exam ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Ground Expression
In mathematical logic, a ground term of a formal system is a term that does not contain any variables. Similarly, a ground formula is a formula that does not contain any variables. In first-order logic with identity with constant symbols a and b, the sentence Q(a) \lor P(b) is a ground formula. A ground expression is a ground term or ground formula. Examples Consider the following expressions in first order logic over a signature containing the constant symbols 0 and 1 for the numbers 0 and 1, respectively, a unary function symbol s for the successor function and a binary function symbol + for addition. * s(0), s(s(0)), s(s(s(0))), \ldots are ground terms; * 0 + 1, \; 0 + 1 + 1, \ldots are ground terms; * 0+s(0), \; s(0)+ s(0), \; s(0)+s(s(0))+0 are ground terms; * x + s(1) and s(x) are terms, but not ground terms; * s(0) = 1 and 0 + 0 = 0 are ground formulae. Formal definitions What follows is a formal definition for first-order languages. Let a first-order language be gi ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Clause (logic)
In logic, a clause is a propositional formula formed from a finite collection of literals (atoms or their negations) and logical connectives. A clause is true either whenever at least one of the literals that form it is true (a disjunctive clause, the most common use of the term), or when all of the literals that form it are true (a conjunctive clause, a less common use of the term). That is, it is a finite disjunction or conjunction of literals, depending on the context. Clauses are usually written as follows, where the symbols l_i are literals: :l_1 \vee \cdots \vee l_n Empty clauses A clause can be empty (defined from an empty set of literals). The empty clause is denoted by various symbols such as \empty, \bot, or \Box. The truth evaluation of an empty disjunctive clause is always false. This is justified by considering that false is the neutral element of the monoid (\, \vee). The truth evaluation of an empty conjunctive clause is always true. This is related to the conc ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Entailment
Logical consequence (also entailment or logical implication) is a fundamental concept in logic which describes the relationship between statements that hold true when one statement logically ''follows from'' one or more statements. A valid logical argument is one in which the conclusion is entailed by the premises, because the conclusion is the consequence of the premises. The philosophical analysis of logical consequence involves the questions: In what sense does a conclusion follow from its premises? and What does it mean for a conclusion to be a consequence of premises?Beall, JC and Restall, Greg, Logical Consequence' The Stanford Encyclopedia of Philosophy (Fall 2009 Edition), Edward N. Zalta (ed.). All of philosophical logic is meant to provide accounts of the nature of logical consequence and the nature of logical truth. Logical consequence is necessary and formal, by way of examples that explain with formal proof and models of interpretation. A sentence is said to b ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Automatic Programming
In computer science, automatic programming is a type of computer programming in which some mechanism generates a computer program, to allow human programmers to write the code at a higher abstraction level. There has been little agreement on the precise definition of automatic programming, mostly because its meaning has changed over time. David Parnas, tracing the history of "automatic programming" in published research, noted that in the 1940s it described automation of the manual process of punching paper tape. Later it referred to translation of high-level programming languages like Fortran and ALGOL. In fact, one of the earliest programs identifiable as a compiler was called Autocode. David Parnas, Parnas concluded that "automatic programming has always been a euphemism for programming in a higher-level language than was then available to the programmer." Program synthesis is one type of automatic programming where a procedure is created from scratch, based on mathematical req ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Aleph (ILP)
Aleph (A Learning Engine for Proposing Hypotheses) is an inductive logic programming system introduced by Ashwin Srinivasan in 2001. it is still one of the most widely used inductive logic programming systems. It is based on the earlier system Progol. Learning task The input to Aleph is background knowledge, specified as a logic program, a language bias in the form of mode declarations, as well as positive and negative examples specified as ground facts. As output it returns a logic program which, together with the background knowledge, entails all of the positive examples and none of the negative examples. Basic algorithm Starting with an empty hypothesis, Aleph proceeds as follows: * It chooses a positive example to generalise; if none are left, it aborts and outputs the current hypothesis. * Then it constructs the bottom clause, that is, the most specific clause that is allowed by the mode declarations and covers the example. * It then searches for a generali ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Progol
Progol is an implementation of inductive logic programming that combines inverse entailment with general-to-specific search through a refinement graph. Features Inverse entailment is used with mode declarations to derive the bottom clause, the most-specific clause within the mode language which subsume a given example. This clause is used to guide a refinement-graph search. Unlike the searches of Ehud Shapiro's model inference system (MIS) and J. Ross Quinlan's FOIL, Progol's search has a provable guarantee of returning a solution having the maximum compression in the search-space. To do so it performs an admissible A*-like search, guided by compression, over clauses which subsume the most specific clause. Progol deals with noisy data by using a compression measure to trade off the description of errors against the hypothesis description length. Progol allows arbitrary Prolog programs as background knowledge and arbitrary definite clauses as examples. History Progo ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Golem (ILP)
Golem is an inductive logic programming algorithm developed by Stephen Muggleton and Cao Feng in 1990. It uses the technique of Inductive logic programming#Least general generalisation, relative least general generalisation proposed by Gordon Plotkin, leading to a bottom-up search through the theta-subsumption, subsumption lattice. In 1992, shortly after its introduction, Golem was considered the only inductive logic programming system capable of scaling to tens of thousands of examples. Description Golem takes as input a Definite clause, definite program as background knowledge together with sets of positive and negative examples, denoted E^ and E^ respectively. The overall idea is to construct the least general generalisation of E^ with respect to the background knowledge. However, if is not merely a finite set of Ground expression, ground Atomic formula, atoms, then this relative least general generalisation may not exist. Therefore, rather than using directly, Golem uses t ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

ID3 Algorithm
In decision tree learning, ID3 (Iterative Dichotomiser 3) is an algorithm invented by Ross QuinlanQuinlan, J. R. 1986. Induction of Decision Trees. Mach. Learn. 1, 1 (Mar. 1986), 81–106 used to generate a decision tree from a dataset. ID3 is the precursor to the C4.5 algorithm, and is typically used in the machine learning and natural language processing domains. Algorithm The ID3 algorithm begins with the original set S as the root node. On each iteration of the algorithm, it iterates through every unused attribute of the set S and calculates the entropy \Eta or the information gain IG(S) of that attribute. It then selects the attribute which has the smallest entropy (or largest information gain) value. The set S is then split or partitioned by the selected attribute to produce subsets of the data. (For example, a node can be split into child nodes based upon the subsets of the population whose ages are less than 50, between 50 and 100, and greater than 100.) The algorithm c ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]