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

Explain standard set of procedure to complete a call process, Explain a s...

Explain a standard set of procedure for completing a local telephone call or call processing. Completing a local telephone call among two subscribers connected to the similar

What is persistence, What is Persistence When you make an object, it e...

What is Persistence When you make an object, it exists for so long as you need it, but under no circumstances object exist when program terminates. While this makes sense at s

How to detect overflow condition, How to detect overflow condition An o...

How to detect overflow condition An overflow condition can be notice by observing the carry into the sign bit position and the carry out of sign bit position. If this carries a

Comparator, 6 bit magnitude comparator

6 bit magnitude comparator

State the advantages of CMOS, State the advantages of CMOS. Ans. Su...

State the advantages of CMOS. Ans. Subsequent are the advantages of CMOS: Both n-channel and p-channel devices are fabricated on similar substrate. Low power di

Explain about the modules of magento, Magento supports installation of modu...

Magento supports installation of modules by a web-based interface accessible by the administration area of a Magento installation. Modules are hosted on the Magento eCommerce websi

Inheritance, what is Ambiguity in single inheritance

what is Ambiguity in single inheritance

Information systems development methodologies, Task 1:   Methodologies a...

Task 1:   Methodologies are 'regarded as a recommended series of steps and procedures to be followed in the course of developing an information system' and were introduced to im

Determine signed binary number, -8 is equal to which signed binary number ?...

-8 is equal to which signed binary number ? Ans. 10001000 is the signed binary number that equal to - 8.   To show negative numbers in the binary system, Digit 1 is utilized fo

Describe the contents of a process control block, Describe the contents of ...

Describe the contents of a Process Control Block (PCB). Process Control Block (PCB): All processes are represented in the operating system by a task control block or a proces

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