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

Linux, Explain about unix file system architecture

Explain about unix file system architecture

Show types under which networks will be divided, What are the two broad typ...

What are the two broad types under which Networks will be divided? Ans: All computer networks fit in one of the two dimensions specifically: a)  Transmission Technology, thi

What are the external storage systems, External storage systems A numb...

External storage systems A number of different types of external memory devices are available now. Some of these are considered below (hard drives haven't been mentioned as th

Functionality of hypethread processor, Hyper-threading works by duplicating...

Hyper-threading works by duplicating those parts of processor which store architectural state but not duplicating main execution resources. This permits a Hyper-threading equipped

What are the principles of transport layer, Q. What are the principles of t...

Q. What are the principles of transport layer? Transport layer: This layer is the first end-to-end layer. Header of transport layer includes information which helps send the

Data can be moved using a ''write:'' statement, Data can be moved from one ...

Data can be moved from one field to another using a 'Write:' Statement and stored in the desired format.  Write: Date_1 to Date_2 format DD/MM/YY.

Draw the logic diagram of 4-bit odd parity checkers, Normal 0 f...

Normal 0 false false false EN-IN X-NONE X-NONE

What is full trust, What is Full Trust? Your code is permitted to do an...

What is Full Trust? Your code is permitted to do anything in the framework, meaning that all (.Net) permissions are granted. The GAC has Full Trust because it's on the local HD

Exponential search, Exponential Search Another alternative to variable ...

Exponential Search Another alternative to variable size decrease-and-conquer search is known as exponential search. This algorithm begins searching at the beginning of the list

Explain bitwise operator, Bitwise Operators Like  other  operators  bit...

Bitwise Operators Like  other  operators  bitwise  operators  have  rules  of  precedence  and  associativity  that determine how expressions involved them are evaluated.

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