Ͳ Dz
.
9.1. .
. , , . . not. :
goal: run.
Has it hair?
Yes
does it eat meat?
Yes
has it a fawn color?
Yes
has it dark spots?
Yes
Your animal may be a (an) cheetah!
. , - . 9.1.
Database
Xpositive(symbol, symbol)
Xnegative(symbol, symbol)
Predicates
Animal_is(symbol)
It_is(symbol)
Ask(symbol, symbol, symbol)
Remember(symbol, symbol, symbol)
Positive(symbol, symbol)
Negative(symbol, symbol)
Clear_facts
Run
Clauses
animal_is(cheetah):- it_is(mammal),
It_is(carnivore),
Positive(has, tawny_color),
Positive(has, dark_spots).
animal_is(tiger):- it_is(mammal),
It_is(carnivore),
Positive(has, tawny_color),
Positive(has, black_stripes).
animal_is(giraffe):- it_is(ungulate),
Positive(has, long_neck),
Positive(has, long_legs),
Positive(has, dark_spots).
animal_is(zebra):- it_is(ungulate),
Positive(has,black_stripes).
animal_is(ostrich):- it_is(bird),
Negative(does, fly),
Positive(has, long_neck),
Positive(has, long_legs),
Positive(has, black_and_white_color).
animal_is(penguin):- it_is(bird),
Negative(does, fly),
Positive(does, swim),
Positive(has, black_and_white_color).
animal_is(albatross):-
It_is(bird), positive(does, fly_well).
it_is(mammal):- positive(has, hair).
it_is(mammal):- positive(does, give_milk).
it_is(bird):- positive(has, feathers).
it_is(bird):- positive(does, fly),
Positive(does,lay_eggs).
it_is(carnivore):- positive(does, eat_meat).
it_is(carnivore):- positive(has, pointed_teeth),
Positive(has, claws),
Positive(has, forward_eyes).
it_is(ungulate):- it_is(mammal),
Positive(has, hooves).
it_is(ungulate):- it_is(mammal),
Positive(does, chew_cud).
positive(X, Y):- xpositive(X, Y),!.
positive(X, Y):- not(xnegative(X, Y)),
|
|
Ask(X, Y, yes).
negative(X, Y):- xnegative(X, Y),!.
negative(X, Y):- not(xpositive(X, Y)),
Ask(X, Y, no).
ask(X, Y, yes):-!,
write(X, " it ", Y, '\n'),
Readln(Reply),
frontchar(Reply, 'y', _),
Remember(X, Y, yes).
ask(X, Y, no):-!,
write(X, " it ", Y, '\n'),
Readln(Reply),
frontchar(Reply, 'n', _),