Search mechanisms in prolog, Computer Engineering

Assignment Help:

Search mechanisms in Prolog:

Here we can needs this simple Prolog program to describe how Prolog searches as:president(X) :- first_name(X, georgedubya), second_name(X, bush).

prime_minister(X) :- first_name(X, maggie), second_name(X, thatcher).

prime_minister(X) :- first_name(X, tony), second_name(X, blair).

first_name(tonyblair, tony).
first_name(georgebush, georgedubya).

second_name(tonyblair, blair).
second_name(georgebush, bush).

If there we loaded this in a Prolog implementation into as Sicstus, or queried the database as:

?- prime_minister(P).

In fact then Sicstus would search in the following manner as: it would run through it is database when pending for it came across a Horn clause or fact for that the head was prime_minister and the arity of the predicate was 1. Than there It would first look at the president clause, so after that reject this to see the name of the head doesn't match with the head in the query. moreover, next it would find the clause as:

prime_minister(X) :- first_name(X, maggie), second_name(X, thatcher).

There fits the bill. After than it would look at the predicates in the body of the clause or see if it could satisfy them. In fact in this case, we see that it would try to find a match for first_name(X, maggie). But, it would fail, it means that there no such information can be found in the database. Because it means that the entire clause fails Sicstus would backtrack, thai is., so it would go back just to looking for a clause with the same head as the query. But it would next find this clause such as:

prime_minister(X) :- first_name(X, tony), second_name(X, blair).

So there then it would look at the body again, than try to find a match for first_name(X, tony). According to that it would look through the datatabase and find X=tonyblair a good assignment hence it means the fact first_name(tonyblair, tony) is found towards the end of the database. as well having assigned X=tonyblair, so it would then look for a match to: second_name(tonyblair, blair), and would succeed. Likewise, the answer tonyblair would make the query succeed, for this would be reported back to us.


Related Discussions:- Search mechanisms in prolog

Printers, Printers are devices which put ink on paper in a controlled manne...

Printers are devices which put ink on paper in a controlled manner. They manually produce photographic images orreadable text. Printers have gone through a large transition in tech

Why we need number systems, Q. Why we need number systems? Number syste...

Q. Why we need number systems? Number system is used to signify information in quantitative form. Some of the general number systems are octal, decimal, hexadecimal and binary.

DBMS SQL Queries, How to fetch random ID from table by SQL query Select ...

How to fetch random ID from table by SQL query Select * from Table_Name order by NewID()

How control functions help in signalling and control, How different control...

How different control function categories help in signalling and control. Events happening outside the exchange on the line units, trunk junctions and inter exchange signalin

Show the classification of printers, Q. Show the Classification of Printers...

Q. Show the Classification of Printers? Printers can be classified on following bases: a) Impact: Impact printers print by impact of hammers on ribbon (for example Dot-Matri

display the contents of the file grade, a) Input names of students from th...

a) Input names of students from the user, terminated by "ZZZ", 0, 0, 0 and create a data file grades with records of the following form: Student (string), test1 (integer), test2 (i

Illustrate what is pascal''s principle, Illustrate what is pascal's princip...

Illustrate what is pascal's principle? Answer:- Pascal's Principle declares that the pressure is transmitted evenly through a liquid. That's why when you pump up a balloon

What is a accepting computation history, What is a accepting computation hi...

What is a accepting computation history?  An accepting computation history is explained as , Let M be a Turing machine and w be a input string,  for M on w is a sequence of con

Compact disk read only memory, Q. What is Compact Disk Read Only Memory? ...

Q. What is Compact Disk Read Only Memory? This technology has evolved out of entertainment electronics market where cassette tapes and long playing records are being replaced b

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd