Skip to content

Instantly share code, notes, and snippets.

@KennethMurugu
Created January 18, 2018 12:23
Show Gist options
  • Save KennethMurugu/08b874fe054b81ed0333a8f6856c95e3 to your computer and use it in GitHub Desktop.
Save KennethMurugu/08b874fe054b81ed0333a8f6856c95e3 to your computer and use it in GitHub Desktop.
Prolog solution to monkey-banana problem
%Facts
is_at(monkey, door).
is_at(box, window).
is_at(banana, middle).
hungry(monkey).
%Rules
grasp(monkey, banana):- hungry(monkey), climb(monkey, box), is_at(banana, middle).
climb(monkey, box) :- is_at(monkey, box, middle).
is_at(monkey, box, middle) :- push(monkey, box, middle).
push(monkey, box, middle) :- is_at(box, window), is_at(monkey, window).
is_at(monkey, window) :- walk_to(monkey, window).
walk_to(monkey, window) :- is_at(monkey, L), L \= window.
@trilokjitdey13
Copy link

write consult code too

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment