Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

pl:prolog:pllib:family_2 [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
 +====== Family 2 ======
 +{{tag>​family}}
 +===== Description =====
 +Example how in Prolog implement family relations
 +
 +**Source**: ​ PROLOG programming for artificial intelligence,​ 3rd Edition, Harlow, 2001, ISBN 0-201-40375-7.
 +===== Download =====
 +Program source code: {{family_2.pl}}
 +===== Listing =====
 +<code prolog>
 +% Figure 1.8   The family program.
 +
 +
 +parent( pam, bob).       % Pam is a parent of Bob
 +parent( tom, bob).
 +parent( tom, liz).
 +parent( bob, ann).
 +parent( bob, pat).
 +parent( pat, jim).
 +
 +female( pam).            % Pam is female
 +male( tom).              % Tom is male
 +male( bob).
 +female( liz).
 +female( ann).
 +female( pat).
 +male( jim).
 +
 +offspring( Y, X)  :-     % Y is an offspring of X if
 +   ​parent( X, Y).        % X is a parent of Y
 +
 +mother( X, Y)  :-        % X is the mother of Y if
 +   ​parent( X, Y),        % X is a parent of Y and
 +   ​female( X).           % X is female
 +
 +grandparent( X, Z)  :-   % X is a grandparent of Z if
 +   ​parent( X, Y),        % X is a parent of Y and
 +   ​parent( Y, Z).        % Y is a parent of Z
 +
 +sister( X, Y)  :-        % X is a sister of Y if
 +   ​parent( Z, X),
 +   ​parent( Z, Y),        % X and Y have the same parent and
 +   ​female( X).          % X is female and
 +%   ​different( X, Y).     % X and Y are different
 +
 +predecessor( X, Z)  :-   % Rule prl: X is a predecessor of Z
 +   ​parent( X, Z).
 +
 +predecessor( X, Z)  :-   % Rule pr2: X is a predecessor of Z
 +   ​parent( X, Y),
 +   ​predecessor( Y, Z).
 +
 +</​code>​
 +===== Comments =====
  
pl/prolog/pllib/family_2.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0