succ prec
indice
Esempio "Figlia/Genitore"
In questo esempio il predicato figlia viene espresso partendo dalle definizioni
di genitore, femmina, maschio.
*
foil_predicates([ figlia/2, genitore/2, femmina/1, maschio/1 ]).
foil_cwa(true).
foil_use_negations(false). % Don't use negations of foil_predicates
foil_det_lit_bound(0). % Don't add any determinate literals
% In general, this is a depth limit on
% the search for determinate literals
% Definitions of background predicates
figlia(maria,anna).
figlia(susanna,eva).
figlia(susanna,tommaso).
figlia(lucia,tommaso).
figlia(anna,lucia).
genitore(eva,susanna).
genitore(anna,maria).
genitore(lucia,anna).
genitore(eva,sandro).
genitore(anna,alberto).
genitore(lucia,claudio).
genitore(tommaso,susanna).
genitore(tommaso,lucia).
femmina(anna).
femmina(susanna).
femmina(eva).
femmina(lucia).
femmina(maria).
maschio(tommaso).
======================================================================
=== SWI-PROLOG
======================================================================
Load an example data file: [filename]
Start Foil : foil(Predicate/Arity)
Start Foil measure time : foil_time(Predicate/Arity)
/apl/misc/prolog/foil.pl compiled, 0.01 sec, 23,260 bytes.
Yes
2 ?- [foil_5].
foil_5 compiled, 0.00 sec, 2,216 bytes.
Yes
3 ?- make.
/apl/misc/prolog/foil_5.pl compiled, 0.00 sec, 92 bytes.
Yes
4 ?- foil(figlia/2).
Uncovered positives:
[figlia(maria, anna), figlia(susanna, eva), figlia(susanna, tommaso), figlia(lucia, tommaso), figlia(anna, lucia)]
Adding a clause ...
Specializing current clause:
figlia(A, B).
Covered negatives:
[figlia(alberto, alberto), figlia(alberto, anna), figlia(alberto, claudio), figlia(alberto, eva), figlia(alberto, lucia), figlia(alberto, maria), figlia(alberto, sandro), figlia(alberto, susanna), figlia(alberto, tommaso), figlia(anna, alberto), figlia(anna, anna), figlia(anna, claudio), figlia(anna, eva), figlia(anna, maria), figlia(anna, sandro), figlia(anna, susanna), figlia(anna, tommaso), figlia(claudio, alberto), figlia(claudio, anna), figlia(claudio, claudio), figlia(claudio, eva), figlia(claudio, lucia), figlia(claudio, maria), figlia(claudio, sandro), figlia(claudio, susanna), figlia(claudio, tommaso), figlia(eva, alberto), figlia(eva, anna), figlia(eva, claudio), figlia(eva, eva), figlia(eva, lucia), figlia(eva, maria), figlia(eva, sandro), figlia(eva, susanna), figlia(eva, tommaso), figlia(lucia, alberto), figlia(lucia, anna), figlia(lucia, claudio), figlia(lucia, eva), figlia(lucia, lucia), figlia(lucia, maria), figlia(lucia, sandro), figlia(lucia, susanna), figlia(maria, alberto), figlia(maria, claudio), figlia(maria, eva), figlia(maria, lucia), figlia(maria, maria), figlia(maria, sandro), figlia(maria, susanna), figlia(maria, tommaso), figlia(sandro, alberto), figlia(sandro, anna), figlia(sandro, claudio), figlia(sandro, eva), figlia(sandro, lucia), figlia(sandro, maria), figlia(sandro, sandro), figlia(sandro, susanna), figlia(sandro, tommaso), figlia(susanna, alberto), figlia(susanna, anna), figlia(susanna, claudio), figlia(susanna, lucia), figlia(susanna, maria), figlia(susanna, sandro), figlia(susanna, susanna), figlia(tommaso, alberto), figlia(tommaso, anna), figlia(tommaso, claudio), figlia(tommaso, eva), figlia(tommaso, lucia), figlia(tommaso, maria), figlia(tommaso, sandro), figlia(tommaso, susanna), figlia(tommaso, tommaso)]
Covered positives:
[figlia(maria, anna), figlia(susanna, eva), figlia(susanna, tommaso), figlia(lucia, tommaso), figlia(anna, lucia)]
Gain: 3.27676 Clause: figlia(A, B) :- genitore(C, A)
Gain: -0.304006 Clause: figlia(A, B) :- genitore(A, C)
Gain: -2.30401 Clause: figlia(A, B) :- genitore(C, B)
Gain: 5.84962 Clause: figlia(A, B) :- genitore(B, C)
Gain: 0 Clause: figlia(A, B) :- genitore(A, A)
Gain: 16.6992 Clause: figlia(A, B) :- genitore(B, A)
Gain: 0 Clause: figlia(A, B) :- genitore(A, B)
Gain: 0 Clause: figlia(A, B) :- genitore(B, B)
Gain: 4.23998 Clause: figlia(A, B) :- femmina(A)
Gain: 0.333094 Clause: figlia(A, B) :- femmina(B)
Gain: 0 Clause: figlia(A, B) :- maschio(A)
Gain: 3.69599 Clause: figlia(A, B) :- maschio(B)
Specializing current clause:
figlia(A, B) :-
genitore(B, A).
Covered negatives:
[figlia(alberto, anna), figlia(claudio, lucia), figlia(sandro, eva)]
Covered positives:
[figlia(maria, anna), figlia(susanna, eva), figlia(susanna, tommaso), figlia(lucia, tommaso), figlia(anna, lucia)]
Gain: 0.817494 Clause: figlia(A, B) :- genitore(B, A), genitore(C, A)
Gain: 1.35614 Clause: figlia(A, B) :- genitore(B, A), genitore(A, C)
Gain: -0.643856 Clause: figlia(A, B) :- genitore(B, A), genitore(C, B)
Gain: 0 Clause: figlia(A, B) :- genitore(B, A), genitore(B, C)
Gain: 0 Clause: figlia(A, B) :- genitore(B, A), genitore(A, A)
Gain: 0 Clause: figlia(A, B) :- genitore(B, A), genitore(B, A)
Gain: 0 Clause: figlia(A, B) :- genitore(B, A), genitore(A, B)
Gain: 0 Clause: figlia(A, B) :- genitore(B, A), genitore(B, B)
Gain: 3.39036 Clause: figlia(A, B) :- genitore(B, A), femmina(A)
Gain: -0.965784 Clause: figlia(A, B) :- genitore(B, A), femmina(B)
Gain: 0 Clause: figlia(A, B) :- genitore(B, A), maschio(A)
Gain: 1.35614 Clause: figlia(A, B) :- genitore(B, A), maschio(B)
Clause found:
figlia(A, B) :-
genitore(B, A),
femmina(A).
Found definition:
figlia(A, B) :-
genitore(B, A),
femmina(A).
Yes
5 ?-
*
succ prec
indice