Inductive logic programming

The Inductive logic programming (ILP ) is an area of machine learning, are analyzed in the method for the automatic generation of logic programs from examples. Thus, similar to the ILP setting the general induction in thinking. The term has been introduced in an article by Stephen Muggleton 1991.

In contrast to other symbolic learning methods such as ID3 and C4.5, whose representation format is limited to propositional logic, using ILP restricted forms of predicate logic as a representation format for examples, background knowledge and hypotheses.

Problem

In the normal problem for ILP systems examples and background knowledge are given, and the system tries to find a theory that derives correctly with the background knowledge the examples. The background knowledge B is generally represented as a set of clauses; Examples are e variable free atoms. It can be distinguished positive, that is true, and negative, ie false, examples. The theory to be created S is a set of clauses, the derived combined correctly with the B examples:

For all positive examples e

For all negative examples e

Besides there are the so-called non- monotone problem that corresponds to the problem of data mining. Here, a set of interpretations is given and the learning goal is to find a set of clauses which is true in every interpretation.

Methods

Most ILP algorithms induce the desired theory by adding a, possibly empty, theory begin and iteratively new clauses. Positive examples, which are derived from a newly added clause can then be removed. The algorithm terminates when all positive examples have been removed or if another criterion is met, such as when the examples can not be further compressed by new clauses. This greedy algorithm is known as Cover Set or Sequential Covering algorithm.

There are various algorithms which are good clauses that can be added to the theory find. This is roughly top-down and bottom- up approaches can be distinguished. In the former, the amount of clauses, starting searched by a very general clause in the second clauses are generated directly from examples. A well-known top-down system is FOIL; a prominent example of bottom-up systems is Golem. Systems such as PROGOL, CHILLIN ProGolem and combine both approaches.

Conferences

Since 1991, every year there will be a conference on the subject.

Implementations

  • PROGOL ( http://www.doc.ic.ac.uk/ ~ shm/Software/progol5.0 )
  • Golem (ILP ) ( http://www.doc.ic.ac.uk/ ~ shm / Software / golem )
  • Aleph ( http://web.comlab.ox.ac.uk/oucl/research/areas/machlearn/Aleph/ )
  • ProGolem
  • Foil ( ftp://ftp.cs.su.oz.au/pub/foil6.sh )
  • Claudien ( http://www.cs.kuleuven.ac.be/ ~ ml / CWIS / claudien - E.shtml )
  • Lime ( http://cs.anu.edu.au/people/Eric.McCreath/lime.html )
  • ACE ( http://www.cs.kuleuven.ac.be/ ~ DTAI / ACE / )
  • DMax ( http://www.pharmadm.com/dmax.asp )
  • Warmr ( http://www.cs.kuleuven.ac.be/ ~ ml / Doc / TW_User / )
  • RSD ( ~ http://labe.felk.cvut.cz/ zelezny / rsd / )
  • Million ( http://kd.cs.uni-magdeburg.de/ pena ~ / )
  • DL- Learner ( http://dl-learner.org )
  • Kepler ( https://www.aaai.org/Papers/KDD/1996/KDD96-035.pdf )
  • Chillin ( http://www.cs.utexas.edu/users/ml/chillin.html )
411846
de