Gistrec

ИИ 1ая лаба

Sep 10th, 2018
809
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 1.91 KB | None | 0 0
  1. predicates
  2.       % First and Second - function params
  3.       % First - child Second
  4.       nondeterm parent(symbol,symbol).
  5.       % When First have parent - return "yes"
  6.       nondeterm islucky(symbol).
  7.       % When First have two children - return "yes"
  8.       nondeterm twochildren(symbol).
  9.       % When First gave
  10.       nondeterm sister(symbol, symbol).
  11.       nondeterm aunt(symbol, symbol).
  12.       nondeterm grandson(symbol, symbol).
  13. clauses
  14.      islucky(Name):- parent(Name,_).
  15.      twochildren(Name):- parent(Name, Child1), parent(Name, Child2), Child1 <> Child2.
  16.      grandson(Child, Adult):- parent(Adult,X), parent(X, Child).
  17.      sister(Sis, Bro):- parent(X, Sis), parent(X, Bro).
  18.      aunt(Adult, Child):- sister(Adult, X), parent(X, Child).
  19.      parent(pam, bob).
  20.      parent(tom, bob).
  21.      parent(tom, liz).
  22.      parent(bob, ann).
  23.      parent(bob, pat).
  24.      parent(pam, jim).
  25. %
  26. % +---+   +---+
  27. % |jim|   |pat|
  28. % +-+-+   +-+-+
  29. %   ^       ^
  30. %   |       |
  31. % +-+-+   +-+-+   +---+
  32. % |pam+-->+bob+-->+ann|
  33. % +---+   +-+-+   +---+
  34. %           ^
  35. %           |
  36. %         +-+-+   +---+
  37. %         |tom+-->+liz|
  38. %         +---+   +---+
  39. %
  40. GOAL
  41.     % 4.1
  42.     % parent(pam, bob). % YES
  43.     % parent(tom, bob). % YES
  44.     % parent(tom, liz). % YES
  45.     % parent(ann, bob). % NO
  46.        
  47.     % 4.2
  48.     % parent(X,pat). % bob
  49.     % parent(liz,X). % tom
  50.     % parent(Y,X), parent(X, pat). % pam, tom
  51.    
  52.    
  53.     % 4.last.1
  54.     % islucky(pat). % NO
  55.     % islucky(bob). % YES
  56.    
  57.     % 4.last.2
  58.     % twochildren(pam). % YES
  59.     % twochildren(tom). % YES
  60.     % twochildren(pat). % NO
  61.    
  62.     % 4.last.3
  63.     % grandson(pat,pam). % YES
  64.     % grandson(pam,pat). % NO
  65.    
  66.     % 4.last.4
  67.     % sister(bob, jim). % YES
  68.     % sister(pat, ann). % YES
  69.     %sister(bob, tom). % NO
  70.     %
  71.     % aunt(jim, pat). % YES
  72.     % aunt(jim, ann). % YES
  73.     % aunt(ann, jim). % NO
  74.     % aunt(jim, bob). % NO
Advertisement