LACAM Logo  INTHELEX 

[ Overview ] [ Download ] [ Documentation ] [ Datasets ] [ Example ] [ References ] [ Contact ]

Overview

INTHELEX (INcremental THEory Learner from EXamples) is a learning system for the induction of hierarchical logic theories from examples: it is fully incremental (in addition to the possibility of refining a previously generated version of the theory, learning can also start from an empty theory); it is based on the Object Identity assumption (terms, even variables, denoted by different names within a formula must refer to different objects); it learns theories expressed as sets of Datalog clauses under Object Identity from positive and negative examples; it can learn simultaneously multiple concepts, possibly related to each other according to a given hierarchy recursion is not allowed); it retains all the processed examples, so to guarantee validity of the learned theories on all of them; it is a closed loop learning system (i.e.a system in which feedback on performance is used to activate the theory revision phase).

Another peculiarity in INTHELEX is the integration of multistrategy operators that may help in the solution of the theory revision problem by pre-processing the incoming information. Namely, deduction is exploited to fill observations with information that is not explicitly stated, but is implicit in their description, and hence refers to the possibility of better representing the examples and, consequently, the inferred theories. Conversely, abduction aims at completing possibly partial information in the examples (adding more details), whereas abstraction removes superfluous details from the description of both the examples and the theory. Thus, even if with opposite perspectives, both aim at reducing the computational effort required to learn a correct theory with respect to the incoming examples.

[ Top of this page ]

Obtaining INTHELEX

INTHELEX system is free to use for academic purposes (for commercial use of the system, please see Contact Information). INTHELEX has been implemented in SICStus Prolog and is distributed in i586 binary format.
INTHELEX (Induction + Deduction only release).
INTHELEX.zip for MS/DOS (461 KB) (containing the executable and the input parameters file)
README

To run the system it suffices to type 'inthelex' at the command prompt (under Windows just double click on the icon).
Please consult the README file (included in the distibution).

For other versions or source code, please see Contact Information.

Documentation

README

Datasets

archdata (4+,4-): Patrick Winston's arch problem.
Document Dataset

[ Top of this page ]

Running INTHELEX: an example

This domain was taken from the PROGOL library and adapted for INTHELEX

Patrick Winston's arch problem. Learns a definition for an arch in terms of support and touching relationships.

                                           / \
______ _______ / \
| 11 | | 31 | / 41 \
~~~~~~ ~~~~~~~ ~~~~~~~
|~| |~| |~| |~| | | | |~| |~|
12| |13 22| |23 32|33 42| |43
| | | | |_|___|_| | | | | | | |
| | | | | 21 | | | | | | | |
~ ~ ~~~~~~~ ~ ~ ~ ~

/ \
______ _______ _______ / \
| 51 | | 61 | | 71 | / 81 \
~~~~~~ ~~~~~~~ ~~~~~~~ ~~~~~~~
|~| |~| |~| |~| |~| |~| |~| |~|
52| |53 62| |63 72| |73 82| |83
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
~ ~ ~ ~ ~ ~ ~ ~


--------------------------------------------------------------------
> Theory file does not exist. Creating and initializing it! > > THEORY TUNING --------------------------------------------------------------------
Arch 1 arch(b11,b12,b13) :-
______ brick(b11),
| 11 | brick(b12),
~~~~~~ brick(b13),
|~| |~| left_of(b12,b13),
12| |13 supports(b12,b11),
| | | | supports(b13,b11).
| | | |
~ ~
--------------------------------------------------------------------
> Processing Example No. 1 arch(b11,b12,b13): generalizing theory > Theory generalized (added new clause) > > arch(X,Y,Z) :- > brick(X), > brick(Y), > left_of(Y,Z), > brick(Z), > supports(Y,X), > supports(Z,X). --------------------------------------------------------------------
Arch 2
not(arch(b22,b23,b24)) :-
|~| |~| brick(b22),
22| |23 brick(b23),
|_|___|_| brick(b24),
| 21 | left_of(b23,b24).
~~~~~~~
--------------------------------------------------------------------
> Processing Example No. 2 not(arch(b22,b23,b24)): Theory is correct ! ------------------------------------------------------------------
Arch 3 not(arch(b31,b32,b33)):-
_______ brick(b31),
| 31 | brick(b32),
~~~~~~~ brick(b33),
| | | left_of(b32,b33),
32|33 supports(b32,b31),
| | | supports(b33,b31),
| | | touches(b32,b33),
~ ~ touches(b33,b32).
--------------------------------------------------------------------
> Processing Example No. 3 not(arch(b31,b32,b33)): specializing theory > > Top-concept clause specialized (added negative literal) > > > arch(X,Y,Z) :- > brick(X), > brick(Y), > left_of(Y,Z), > brick(Z), > supports(Y,X), > supports(Z,X). > not(touches(Y,Z)). --------------------------------------------------------------------
Arch 4 arch(b41,b42,b43):-
/ \ brick(b42),
/ \ brick(b43),
/ 41 \ left_of(b42,b43),
~~~~~~~ supports(b42,b41),
|~| |~| supports(b43,b41),
42| |43 wedge(b41).
| | | |
| | | |
~ ~
--------------------------------------------------------------------
> Processing Example No. 4 arch(b41,b42,b43): generalizing theory . > CLAUSE LENGTH: 7 > BOUNDS: 1.0e-003---1.0 > LGG_LITS: 0.0---7.0 > > Theory generalized (lgg of a clause) > > arch(A, B, C) :- > brick(B), > left_of(B, C), > brick(C), > supports(B, A), > supports(C, A), > not(touches(B,C)). --------------------------------------------------------------------
Arch 5 arch(b51,b52,b53):-
______ brick(b51),
| 51 | brick(b52),
~~~~~~ brick(b53),
|~| |~| left_of(b52,b53),
52| |53 supports(b52,b51),
| | | | supports(b53,b51).
| | | |
~ ~
--------------------------------------------------------------------
> Processing Example No. 5 arch(b51,b52,b53): Theory is correct ! --------------------------------------------------------------------
Arch 6 not(arch(b61,b62,b63)):-
_______ brick(b61),
| 61 | brick(b62),
~~~~~~~ brick(b63),
|~| |~| left_of(b62,b63),
62| |63 supports(b63,b61).
| | | |
| | | |
~ ~
--------------------------------------------------------------------
> Processing Example No. 6 not(arch(b61,b62,b63)): Theory is correct ! --------------------------------------------------------------------
Arch 7 not(arch(b71,b72,b73)):-
_______ brick(b71),
| 71 | brick(b72),
~~~~~~~ brick(b73),
| | |~| left_of(b72,b73),
72| |73 supports(b72,b71).
| | | |
| | | |
~ ~
--------------------------------------------------------------------
> Processing Example No. 7 not(arch(b71,b72,b73)): Theory is correct ! --------------------------------------------------------------------
Arch 8 arch(b81,b82,b83):-
/ \ brick(b82),
/ \ brick(b83),
/ 81 \ left_of(b82,b83),
~~~~~~~ supports(b82,b81),
|~| |~| supports(b83,b81),
82| |83 wedge(b81).
| | | |
| | | |
~ ~
--------------------------------------------------------------------
> Processing Example No. 8 arch(b81,b82,b83): Theory is correct ! > End of processing

[ Top of this page ]

Realated Publications

Papers related to INTHELEX include the following:

  1. F. Esposito, G. Semeraro, N. Fanizzi & S. Ferilli.
    Multistrategy Theory Revision: Induction and Abduction in INTHELEX.
    Machine Learning Journal, 38(1/2):133-156, Kluwer Academic Publisher, Boston, 2000.
  2. S. Ferilli, N. Fanizzi & G. Semeraro
    Learning Logic Models for Automated Text Categorization.
    In F. Esposito (Ed.), AI*IA 2001: Advances in Artificial Intelligence, Lecture Notes in Artificial Intelligence 2175, 81-86, Springer:Berlin, 2001.
  3. G. Semeraro, N. Fanizzi, S. Ferilli & F. Esposito.
    Document Classification and Interpretation through the Inference of Logic-Based Models.
    In P. Constantopoulos and I.T. Sølvberg (Eds.), Research and Advanced Technology for Digital Libraries, Lecture Notes in Computer Science 2163, 59-70, Springer:Berlin, 2001.
  4. F. Esposito, G. Semeraro, N. Fanizzi & S. Ferilli.
    Conceptual Change in Learning Naive Physics: The Computational Model as a Theory Revision Process.
    In E. Lamma and P. Mello (Eds.), AI*IA99: Advances in Artificial Intelligence, Lecture Notes in Artificial Intelligence 1792, 214-225, Springer:Berlin, 2000.
  5. S. Vosniadou, C. Ioannides, A. Dimitracopoulou, D. Kayser, M. Champesme, F. Esposito, G. Semeraro, D. Malerba & S. Ferilli.
    Modelling Conceptual Changes in Mechanics: An Interdisciplinary Perspective.
    In F.E. Ritter and R.M. Young (Eds.), Proceedings of the Second European Conference on Cognitive Modelling (ECCM-98), 175-182, Nottingham University Press, Nottingham, United Kingdom, April 1-4, 1998.

[ Top of this page ]

Contact Information

Project Leader
Stefano Ferilli
Staff
Teresa M.A. Basile, Nicola Di Mauro

Contact Persons
Stefano Ferilli, Nicola Fanizzi, Teresa M.A. Basile, Nicola Di Mauro
Address
   Dipartimento di Informatica
Università degli studi di Bari
Via Orabona,4
70126 Bari
ITALIA
Tel
+39 080 5442293 (Stefano Ferilli, Nicola Fanizzi)
+39 080 5442297 (Teresa M.A. Basile, Nicola Di Mauro)
Fax
+39 080 5443196
E-mail
ferilli@di.uniba.it
fanizzi@di.uniba.it
basile@di.uniba.it
ndm@di.uniba.it

[ Top of this page ]