:- module(logicmoo_iec,[test_logicmoo_iec/0]). /* An Event Calculus program is used to control the navigation of a real robot was generated using Theory Completion techniques. This is an application of ILP in the observational predicate learning setting. This work utilized 1) extraction-case abduction; Logicmoo Abductive Event Calculus 2) the simultaneous completion of two, mutually related predicates; and 3) positive/negative "observations-only" learning using ALEPH Given time-trace observations of a robot successfully navigating a model office and other background information, Theory Completion was used to induce navigation control programs in the event calculus. Such programs consisted of many clauses (up to 15) in two mutually related predicates. This application demonstrates that abduction and induction can be combined to effect nonobservational multi-predicate learning. Action: goto(robot,room2). State: - located(robot,room1). State: +located(robot,room2). The system can induce that the action of goto/2 can change located/2 such as ... It uses ALEPH with input: goto(robot,room2). not_located(robot,room1). located(robot,room2). to deduce: not_located(X,_):- goto(X,Y). located(X,Y):- goto(X,Y). which is then translated into: terminates(goto(X,Y),located(X,_)). initiates(goto(X,Y),located(X,Y)). This is fed back into the simulator and ran again to verify that it was able to replace the rules actually used by Logicmoo's Abduction system. Sometimes the rules will be simpler... other times the rules are more complex. */ % [Required] Load the Logicmoo Library Utils :- ensure_loaded(library(logicmoo_common)). :- reexport(logicmoo_planner). test_logicmoo_iec:- test_logicmoo_iec_sanity. test_logicmoo_iec_sanity.