zadania z prologu

KAMENSHIK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

mam takie zadanie, prosze sprawdzic czy poprawne napisalem ?
(A)
Zapisz następującą sytuacje w języku rachunku predykat´ow.
Każdy kot ma wąsy.
Pewien kot ma wąsy
Jeśli ktoś jest lubiany przez wszystkich to każdy kogoś lubi.

odpowiedzi:

Kopiuj
wasy(kazdykot).
wasy(pewienkot).
kazdylubiany(X,Y):-lubi(Y,X).
kazdylubiany(X,Y):-lubi(X,Y).

(B)
Jan posiada złoto,
Jan daje Marii gazetę.
Złoto jest cenne
Jan jest ojcem Marii,
Anna jest kobietą,

odpowiedzi:

Kopiuj
posiada(jan,zloto).
dajegazete(jan,maria).
cenne(zloto).
ojciec(jan,maria).
kobieta(anna).
hauleth
  • Rejestracja: dni
  • Ostatnio: dni
1

Ja bym zapisał koty przy pomocy struktury:

Kopiuj
wąsy(kot(_)).
wąsy(kot(pewien)).
KAMENSHIK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0
hauleth napisał(a):

Ja bym zapisał koty przy pomocy struktury:

Kopiuj
wąsy(kot(_)).
wąsy(kot(pewien)).

a czy poprawne jest to?
Jeśli ktoś jest lubiany przez wszystkich to każdy kogoś lubi.

Kopiuj
kazdylubiany(X,Y):-lubi(Y,X).
kazdylubiany(X,Y):-lubi(X,Y).
stivens
  • Rejestracja: dni
  • Ostatnio: dni
0

Każdy kot ma wąsy.

To chyba powinno wygladac bardziej jako "ma_wasy(ktos) :- jest_kotem(ktos)." Albo tak jak wyzej

A to z lubieniem IMHO jest zle
Edit: Rachunek predykatow: istnieje taki x ze dla kazdej osoby zachodzi lubi(osoba, x) zatem dla kazdego o€Osoby istnieje takie x' ze lubi(o, x') (w szczegolnosci x' = x) (a x jest narcyzem)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.