matematykaszkolna.pl
PROLOG informatyk: Witam, mam mały problem z Prologiem, mam zadanie określić pokrewieństwo dla drzewa genealogicznego, ale nie wiem jak zrobić teściową i szwagra drzewo genealogiczne: Maria−Piotr Ewa−Adam | | | | | | Robert−Agata | Jan−Anna | Krzysztof−Agnieszka | | Marek | | Joanna | | Radek Beata Darek Tomek Jacek Iwona nie wiem czy widać dobrze, krecha [ | ] oznacza dziecko, podkreślenie oznacza małżeństwo. Na początku została określona funkcja kobieta(X)., mezczyzna(X)., rodzic(X,Y) moja propozycja teściowej: tesciowa(X,Y) := kobieta(X), malzenstwo(Y,Z), matka(X,Z). dodałbym jeszcze X\=Y, X\=Z, Y\=Z ============================ matka(X,Y):−kobieta(X),rodzic(X,Y),X\=Y. ojciec(X,Y):−mezczyzna(X),rodzic(X,Y),X\=Y. dziecko(X,Y):−rodzic(Y,X),X\=Y. brat(X,Y):−rodzic(Z,X),rodzic(Z,Y),mezczyzna(X),X\=Y,X\=Z,Y\=Z. siostra(X,Y):−rodzic(Z,X),rodzic(Z,Y),kobieta(X),X\=Y,X\=Z,Y\=Z. syn(X,Y):−rodzic(X,Y),mezczyzna(Y),X\=Y. corka(X,Y):−rodzic(X,Y),kobieta(Y),X\=Y. rodzenstwo(X,Y):−rodzic(Z,X),rodzic(Z,Y),X\=Y,X\=Z,Y\=Z. wuj(X,Y):−matka(Z,Y),brat(X,Z),X\=Y,X\=Z,Y\=Z. //brat matki stryj(X,Y) :− ojciec(Z,Y),brat(X,Z),X\=Y,X\=Z,Y\=Z. //brat ojca ciotka(Y,X):−matka(Z,X),siostra(Y,Z),X\=Y,X\=Z,Y\=Z. //siostra matki stryjenka(Y,X) :− ojciec(Z,X),siostra(Y,Z),X\=Y,X\=Z,Y\=Z. //siostra ojca babcia(B,A):−rodzic(C,A),rodzic(B,C),kobieta(B),A\=B,A\=C,B\=C. dziadek(B,A):−rodzic(C,A),rodzic(B,C),mezczyzna(B),A\=B,A\=C,B\=C. malzenstwo(X,Y) :− dziecko(Z,X),dziecko(Z,Y),X\=Y,X\=Z,Y\=Z. ====================================== I jeszcze jakbym mógł prosić o sprawdzenie czy pokrewieństo np wuja itp. są poprawne, niektóre dobrze idą niektóre źle pokazują, chciałem tylko się zapytać emotka a na szwagra nie mam pomysłuemotka
21 lut 20:03
informatyk: tak, teściowa dobrze jest, a szwagier to mąż siostry szwagier(X,Y) :− siostra(Y,Z), maz(X,Z),X\=Y,X\=Z,Y\=Z.
21 lut 20:36
Pan lodu i śniegu: Jakie zastosowania ma Prolog?
21 lut 20:41
informatyk: jak nas uczą to chyba do czegoś on jest Programowanie Deklaratywne, tak sie nazywa przedmiot emotka
21 lut 21:18
Trivial: Aha. emotka
21 lut 21:18
informatyk: starsze roczniki mówią, żeby nie przywiązywać do niego większej wagi emotka
21 lut 21:34
Man in black: Sama nazwa dużo mówi − prolog...
21 lut 21:40