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

Illustrate associative memory, Q. Illustrate Associative Memory? The ti...

Q. Illustrate Associative Memory? The time required to find an item which is stored in memory can be decreased significantly if stored data can be identified for access by cont

Functions carried out by different operating systems, Functions carried out...

Functions carried out by different operating systems The below is a list of functions carried out by different operating systems: - Provides a user interface - Device man

Dfd, dfd for big bazaar

dfd for big bazaar

What is telex, Telex is a (A)  Telephone Service between various subsc...

Telex is a (A)  Telephone Service between various subscribers (B)  Tele printer Service between various subscribers (C)  Television Service between various subscri

What is system testing, What is system testing? The final step in testi...

What is system testing? The final step in testing is system testing, which means checking the whole application. System testing exercises the overall application and make sure

Why does microprocessor contain rom chips?, Microprocessor have ROM chip be...

Microprocessor have ROM chip because it have instructions to implement data. It have the monitor program which not only include implementation instruction but also interfacing

Determine the statement for array, Q. Determine the statement for array? ...

Q. Determine the statement for array? Determine the statement ALIGN A[i] WITH B[i] This statement aligns every A[i] with B[i] as displayed in Figure below. Figure

There no polymorphic-type response, Why is there no polymorphic-type respon...

Why is there no polymorphic-type response from a create() or find() method? Ans) The EJB Specification forbids this behavior, and the weblogic.ejbc compiler checks for this beha

I printout the formulas in an excel spreadsheet, How can I printout the for...

How can I printout the formulas in an Excel spreadsheet - rather than the results? Ans) The trick is to change the way Excel shows the worksheet before you choose to print. Ch

Explain problem-oriented and procedure-oriented language, Explain differenc...

Explain difference between Problem-oriented and procedure-oriented language. Problem-oriented and procedure-oriented language: The programming languages which can be utilized

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