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

Illustration of a memory organization, Q. Illustration of a memory organiza...

Q. Illustration of a memory organization? Let's consider an illustration of a memory organization as displayed in Figure below in that main memory can store 32K words of 12 b

Existential elimination, Existential Elimination : Now we have a sente...

Existential Elimination : Now we have a sentence, A, is with an  existentially quantified variable, v, so then just for every constant symbol k, that it does not appear anywhe

Difference between the specparam and parameter constructs, What is the diff...

What is the difference between the specparam and parameter constructs? Specparam is a special kind of parameter which is intended to specify only timing and the delay values. K

.image forgery detection, what is the code to detect image forgery using Ma...

what is the code to detect image forgery using Matlab..??

What is hashing, What is Hashing? Hashing: Hashing gives the direct acc...

What is Hashing? Hashing: Hashing gives the direct access of record from the file no matter where the record is in the file. This is possible with the help of a hashing functio

How society is affected thorugh internet, How society is affected thorugh I...

How society is affected thorugh Internet Buying goods and services (for example banking) over the internet has both negative and positive aspects on society. These can be expl

Explain open-systems interconnections architecture model, Q. Explain Open-s...

Q. Explain Open-systems interconnections architecture model The most common network architecture model is the open-systems interconnections (OSI). Figure shows the ISO (Intern

Mode counter, desing mode level counter starting at 0011 using D flipflop

desing mode level counter starting at 0011 using D flipflop

Define the arithmetic micro-operations, Q. Define the Arithmetic Micro-oper...

Q. Define the Arithmetic Micro-operations? These micro-operations execute simple arithmetic operations on numeric data stored in registers. The fundamental arithmetic micro-ope

Explain csmsginterface() function with predefined protocol, Explain CSMsgIn...

Explain CSMsgInterface() Function with Predefined Protocol  A REQUEST structure is created for each message sent to the server. Messages passed to CSMsgInterface() as *dataMSG

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