Gistrec icon

ИИ 1ая лаба

Gistrec | PRO | 09/10/18 10:09:27 AM UTC | 0 ⭐ | 7156 👁️ | Never ⏰ | []
Prolog |

1.91 KB

|

None

|

0 👍

/

0 👎

predicates
      % First and Second - function params
      % First - child Second
      nondeterm parent(symbol,symbol).
      % When First have parent - return "yes"
      nondeterm islucky(symbol).
      % When First have two children - return "yes"
      nondeterm twochildren(symbol).
      % When First gave 
      nondeterm sister(symbol, symbol).
      nondeterm aunt(symbol, symbol).
      nondeterm grandson(symbol, symbol).
clauses
     islucky(Name):- parent(Name,_).
     twochildren(Name):- parent(Name, Child1), parent(Name, Child2), Child1 <> Child2.
     grandson(Child, Adult):- parent(Adult,X), parent(X, Child).
     sister(Sis, Bro):- parent(X, Sis), parent(X, Bro).
     aunt(Adult, Child):- sister(Adult, X), parent(X, Child).
     parent(pam, bob).
     parent(tom, bob).
     parent(tom, liz).
     parent(bob, ann).
     parent(bob, pat).
     parent(pam, jim).
%
% +---+   +---+
% |jim|   |pat|
% +-+-+   +-+-+
%   ^       ^
%   |       |
% +-+-+   +-+-+   +---+
% |pam+-->+bob+-->+ann|
% +---+   +-+-+   +---+
%           ^
%           |
%         +-+-+   +---+
%         |tom+-->+liz|
%         +---+   +---+
%
GOAL
    % 4.1
    % parent(pam, bob). % YES
    % parent(tom, bob). % YES
    % parent(tom, liz). % YES
    % parent(ann, bob). % NO
        
    % 4.2
    % parent(X,pat). % bob 
    % parent(liz,X). % tom
    % parent(Y,X), parent(X, pat). % pam, tom
    
    
    % 4.last.1
    % islucky(pat). % NO
    % islucky(bob). % YES
    
    % 4.last.2
    % twochildren(pam). % YES
    % twochildren(tom). % YES
    % twochildren(pat). % NO
    
    % 4.last.3
    % grandson(pat,pam). % YES
    % grandson(pam,pat). % NO
    
    % 4.last.4
    % sister(bob, jim). % YES
    % sister(pat, ann). % YES
    %sister(bob, tom). % NO
    %
    % aunt(jim, pat). % YES
    % aunt(jim, ann). % YES
    % aunt(ann, jim). % NO
    % aunt(jim, bob). % NO

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎