Inteligenta Artificiala

Nu esti logat.

Munca individuala laborator 5 - Bagof, setof, findall

Punctaj: 100p

Nr. 1

%pisica(nume,lista_prinderi)
pisica(mitzisor, [prins(canari,5),prins(soareci,3), prins(vrabii,2)]).
pisica(bubuletz, [prins(soareci,10), prins(canari,1), prins(pestisori,2), prins(paianjeni,5)]).
pisica(fulgusor, [prins(vrabii,100)]).
pisica(pisiczaur, [prins(dulai,50),prins(soareci,10), prins(vrabii,1), prins(pestisori,7), prins(porumbei,10), prins(crocodil,1)]).
pisica(mimisor, [prins(soareci,3),prins(vrabii,10), prins(pestisori,4)]).
pisica(blegusor, [prins(soareci,1)]).
  1. Predicat care calculeaza lista pisicilor din baza de cunostinte
  2. Numele animalutului cel mai "prins" (adica specia cu cele mai multe exemplare vanate).
  3. Predicat care are pe rand ca solutii numele fiecarei specii de animalut si numele pisicilor care au vanat acea specie.
  4. Predicat care calculeaza lista numelor pisicilor, ordonata in mod crescator in functie de varietatea meniului (de la pisicul care a prins animalute din cele mai putine specii, pana la cel care a prins din cele mai multe).
  5. Predicat care calculeaza lista de specii existente (tipurile de animalute care au fost prinse). Speciile trebuie sa apara o singura data in lista
  6. Predicat care calculeaza cea mai frecventa specie din meniul pisicilor (nu ma refer la numarul de prinderi ci la faptul ca apare de cele mai multe ori in baza de cunostinte).

Sa se scrie in 2 moduri (recursiv si cu bagof/setof) un predicat care primeste o lista de atomi si calculeaza lista caracterelor distincte care se gaseau in atomii respectivi.

Nr. 2

extraterestru(mikibazz,[marte, pamant, saturn, venus, marte]).
extraterestru(gogubazz,[mercur,uranus,mercur, pamant]).
extraterestru(galactis,[saturn, jupiter, uranus, mercur, pamant]).
extraterestru(bazzbazz,[]).
extraterestru(astrolulu,[mercur,pamant,mercur,pamant,mercur,pamant,jupiter]).
extraterestru(bazz,[marte]).
  1. Predicat care calculeaza lista extraterestrilor din baza de cunostinte
  2. Un predicat care returneaza toate numele (extraterestrilor) care se termina cu bazz.
  3. Un predicat care returneaza o lista de structuri de forma vizitari(nume_extraterestru, numar_planete), ordonata crescator dupa numarul de planete vizitate.
  4. Un prdeicat care afla planeta cea mai vizitata.
  5. Predicat care calculeaza lista de planete vizitate de extraterestri (din baza de cunostinte). Planetele trebuie sa apara o singura data in lista.
  6. Predicat care calculeaza cea mai frecventa planeta revizitata.

Sa se scrie in 2 moduri (recursiv si cu bagof/setof) un predicat care primeste o lista de numere si calculeaza lista tuturor numerelor distincte care incep si se termina cu aceeasi cifra.