Logo 
Search:

Artificial Intelligence Articles

Submit Article
Home » Articles » Artificial Intelligence » ProLogRSS Feeds

ProLog Program to generate facts of the family and take different relations

Posted By: Milind Mishra     Category: Artificial Intelligence     Views: 3640

Program to generate facts of the family and take different relations......

Code for ProLog Program to generate facts of the family and take different relations in Artificial Intelligence

domains
 person=symbol
predicates
 male(person)
 female(person)
 mother(person,person)
 father(person,person)
 marryto(person,person)
 sister(person,person)
 uncle(person,person)
 cousin(person,person)
 grandfather(person,person)
 fai(person,person)
 motherinlow(person,person)
 brotherinlow(person,person)
 sisterinlow(person,person)
 uncle1(person)
 cousin1(person)
clauses
 male(jayanti).
 male(pravin).
 male(prakash).
 male(ravi).
 male(kamalesh).
 male(bharat).
 
 female(champa).
 female(geeta).
 female(hiral).
 female(hemina).
 female(bina).
 
 father(jayanti,pravin).
 father(jayanti,prakash).
 father(jayanti,kamalesh).
 father(jayanti,bharat).
 father(jayanti,bina).
 father(pravin,hemina).
 father(pravin,hiral).
 father(pravin,ravi).
 father(prakash,sani).
 father(kamalesh,margi).
 father(bharat,meshwa).
 
 
 mother(geeta,hemina).
 mother(geeta,hiral).
 mother(geeta,ravi).
 mother(champa,pravin). 
 mother(champa,prakash).
 mother(champa,bina).
 
 marryto(jayanti,champa).
 marryto(pravin,geeta).
 
 sister(X,Y):-
  female(X),
  father(Z,X),
  father(Z,Y),
  mother(M,X),
  mother(M,Y),
  marryto(Z,M),
  X<>Y.
 uncle(X,Y):-
  male(X),
  father(P,Y),
  father(Z,P),
  father(Z,X).
 uncle1(X):-
     father(J,P),
     father(P,X),
     father(J,K),
     P<>K,
     male(K),
     write(K),nl,
     fail.
     
     
 cousin(X,Y):-
  father(P,X),
  father(Z,Y),
  father(J,P),
  father(J,Z),
  marryto(J,C),
  mother(C,P),
  mother(C,Z),
  X<>Y.
 cousin1(X):-
     father(P,X),
     father(J,P),
     father(J,K),
     father(K,S),
     X<>S,            %will not display own name
     P<>K,            %will not display name of real brother,sister
     write(S),nl,
     fail.
 grandfather(X,Y):-
  male(X),
  father(P,Y),
  mother(G,Y),
  marryto(P,G),
  father(Z,P),
  mother(M,P),
  marryto(Z,M).
 fai(X,Y):-
  female(X),
  father(J,X),
  father(P,Y),
  father(J,P),
  marryto(J,C),
  mother(C,X),
  mother(C,P).
 motherinlow(X,Y):-
  female(X),
  mother(X,P),
  marryto(P,Y).
 brotherinlow(X,Y):-
  male(X),
  marryto(P,Y),
  father(J,P),
  father(J,X).
 sisterinlow(X,Y):-
  female(X),
  marryto(P,Y),
  mother(C,P),
  mother(C,X).

Output
  
       Goal: cousin1(hiral)
       sani
       margi
       meshwa
       No
       Goal: uncle1(hiral)
       prakash
       kamalesh
       bharat
       No
       Goal: 

  
  
Share: 



Milind Mishra
Milind Mishra author of ProLog Program to generate facts of the family and take different relations is from India.
 
View All Articles

Related Articles and Code:


 
Please enter your Comment

  • Comment should be atleast 30 Characters.
  • Please put code inside [Code] your code [/Code].

 
No Comment Found, Be the First to post comment!