Question: Prolog 1- 2- Question 4 (25 pts) Using Prolog for a Search Problem Assume, you are working with the following knowledge base: family(person( john, cohen,
Prolog

1-

2-

Question 4 (25 pts) Using Prolog for a Search Problem Assume, you are working with the following knowledge base: family(person( john, cohen, date(17,may,1990), unemployed), person lily, cohen, date(9,may,1990), unemployed), (1). family(person john, armstrong, date(7,may,1988), unemployed), person lily, armstrong, date(29,may,1961), unemployed), []). family(person(eric, baily, date(7,may,1963), works bbc, 2200)), person( grace, baily, date(9,may,1965), works( ntu, 1000)), [person louie, baily, date(25.may,1983), unemployed)]). family(persona cric, baily, date(7.may, 1963), works acc, 21200)), person( grace, baily, date(9.may,1965), works( ntnu, 12000)), [person( louie, baily, date(25. may,1983), unemployed)]). family(person(eric, fox, date(27 may, 1970), works bbc, 25200)), person( grace, fox, date(9,may,1971), works( ntbu, 13000)), [person( louie, fox, date(5,may,1993), unemployed)]). family(person( tom, cohen, date(7.may,1960), works bed, 15200)), person ann, cohen, date(29.may,1961), unemployed), [person pat, cohen, date(5,may,1983), works bed, 15200)), person jim, cohen, date(5,may,1983), works bed, 15200))]). family(person( bob, armstrong, date(12,oct,1977), works( ntnu, 12000)), person( liz,armstrong, date(6,oct,1975), unemployed), [person( bob, armstrong, date(6,oct, 1999), unemployed), person sam,armstrong, date(8,oct,1998), unemployed)]). family(person( tony, oliver, date(7.may,1960), works bbc, 35200)), person( anny, oliver, date(9.may, 1961), unemployed), (person( patty, oliver, date(8. may,1984), unemployed), person( jimey, oliver, date(5.may,1983), unemployed)]). family(person( jack, fox, date(27.may,1940), unemployed), person( jane, fox, date(9,aug, 1941), works( ntu, 13050)), [person andy, fox, date(5.aug, 1967), works com, 12000)), person kai, fox, date(5.jul,1969), unemployed)]). husband(X) - family( X ). wife(X):- family(_X_). child(X):- family, Children), member(X, Children). exists(Persons) :- husband Persons); wife( Persons), child Persons). dateofbirth(person(_, Date, _), Date). salary(person works, S)), S). salary(person unemployed), 0). Write the details of steps of search (unification, resolutions, and back tracking) and also the answer for cach of the following queries. (You can show the details of your search process by drawing search trees for each of the following queries) ? exists(P), dateofbirth(P, date(__.Y), Y
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
