Scopul laboratorului:
Problemele de logică pot fi reprezentate, cât și rezolvate cu mare ușurință în Prolog. Să luăm un exemplu de problemă de logică - Problema lui Einstein.
Se poate observa ușurința cu care se pot adăuga noi interogări, cât și modul în care au fost reprezentate informațiile din baza de cunoștințe.
Albert și Bernard trebuie să afle ziua și luna în care s-a născut Cheryl. Albert cunoaște luna de naștere, iar Bernard ziua. Aceștia mai cunosc posibilele zile de naștere:
Discuția dintre cei 2 este următoarea:
Albert: Nu știu când s-a născut Cheryl, însă știu că nici Bernard nu știe.
Bernard: La început nu știam ziua de naștere, însă acum știu.
Albert: Acum știu și eu ziua de naștere.
Încercați pe cont propriu să raționalizați cum și-au dat seama cei doi de ziua de naștere, iar după realizați în Prolog
Un țăran trebuie să treacă un lup, o capră și o varză pe malul opus al unui râu, într-un timp cât mai scurt. Acesta are o barcă și poate traversa râul doar cu lupul, cu capra sau cu varza. Se știe că:
Țăranul dorește să ajungă pe celălalt mal cu ambele animale, cât și cu varza. Care ar fi drumurile pe care ar trebui să le facă țăranul cu barca? (și ce ar trebui să care cu el la fiecare drum).
Albert și Bernard doresc să știe vârsta prietenei lor, Cheryl. Aceștia primesc următoarele informații (exact în această ordine) pentru a-și putea da seama de vârstă:
Încercați să vă dați seama câți ani are Cheryl și prind Albert și Bernard de ziua.
Patru persoane trebuie să ajungă pe partea cealaltă a unui pod. Fiecare persoana traversează podul la o viteza diferită. Vitezele celor 4 persoane sunt:
Constrângeri:
Cerința este să se găsească timpul minim necesar astfel încât toate persoanele să fi trecut podul.