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

What is presentation layer, Q. What is Presentation layer? Presentatio...

Q. What is Presentation layer? Presentation layer: When two hosts are communicating with each other they might use different coding standards and character sets for represent

Relation ship, what is relationship among objects in software engineering??...

what is relationship among objects in software engineering??

Artificial neural networks - artificial intelligence, Artificial Neural Net...

Artificial Neural Networks - Artificial intelligence: Decision trees, while strong, are a easy representation method. While graphical on the surface, they may be seen as disjun

How can i delete a file, The Standard C Library function is removing. (This...

The Standard C Library function is removing. (This is thus one of the few questions in this section for which the answer is not ''It's system-dependent.'') On older, pre-ANSI Unix

Determine the applications of recursion theorem, Applications of recursion ...

Applications of recursion theorem?  1.  ATM is undecidble.  2.  Fixed point theorem.  3. MINTM is not Turing recognisable

Loosely coupled systems, Loosely Coupled Systems These systems do not d...

Loosely Coupled Systems These systems do not distribute the global memory because shared memory concept gives rise to the difficulty  of memory conflicts, which in turn slows d

How optimization is achieved in dns, How optimization is achieved in DNS? ...

How optimization is achieved in DNS? Two primary optimizations used in DNS and they are: replication and caching. All root servers is replicated; various copies of the server

How do you ensure that our records are scanned accurately, How do you ensur...

How do you ensure that our records are scanned accurately? Not only do we have a highly trained and capable staff, we also have quality controls in place to make sure your reco

What is called that switch if switch capacity is full, When a switch capaci...

When a switch capacity is full, calls coming into that switch are said to be                 . (A)  open                                            (B)  shorted (C) bloc

Determine the binary equivalent of hexadecimal FA, The binary equivalent of...

The binary equivalent of (FA) 16   is ? Ans. (FA) 16 = (11111010) 10

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