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

String, super string checker

super string checker

What do you mean by synchronization principles, In multiprocessing several ...

In multiprocessing several processors require to communicate with one another. So synchronisation is needed between them. The correctness and performance of parallel execution reli

Speed up factor, Remember, the value of α is between 0 and 1. Now, let us p...

Remember, the value of α is between 0 and 1. Now, let us put some values of α and compute the speed up factor for increasing values of number of processors.  We get that the S(N) k

CPE, WHAT IS CPE

WHAT IS CPE

How the simulation is done - Weather simulation, How the simulation is done...

How the simulation is done -  Information from the satellites/sensors sent to computer -  This data is compared to information stored on files ..... -  ..... Which contain kno

What is schedulers, What is schedulers?  A process migrates between the...

What is schedulers?  A process migrates between the various scheduling queues throughout its life time. The OS must select processes from these queues in some fashion. This sel

What is compact disk recordable, Q. What is Compact Disk Recordable? To...

Q. What is Compact Disk Recordable? To accommodate applications in which just one or a small number of copies of a set data is required write-once read-many CD called as CD Rec

Explain difference between macro call and macro expansion, Explain differen...

Explain difference between macro call and macro expansion. Macro expansion: While a macro name is used along with a set of actual parameters this is replaced through a code g

Definition of decision support system, Q. Definition of Decision support sy...

Q. Definition of Decision support system? Definition of DSS: A decision support system is a specific kind of information system which is an interactive system that supports in

What is meant by "method-wars" in programming, Before 1994 there were dissi...

Before 1994 there were dissimilar methodologies like Rumbaugh, Booch, Jacobson, and Meyer etc who followed their own notations to mould the systems. The developers were in a di

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