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 do you mean by inline function, The idea behind inline functions is to...

The idea behind inline functions is to insert the code of a known function at the point where the function is called. If done carefully, this can improve the application's performa

Design a xnor gate and define its work, N number of XNOR gates is linked in...

N number of XNOR gates is linked in series that is the N inputs (A0, A1, A2......) are specified in the subsequently way: A0 and A1 to first XNOR gate and A2 and O/P of First XNOR

How non- textual information is contained in a web page, How non- textual i...

How non- textual information is contained in a web page? Non-textual information as digitized photo and a graphics image is not inserted directly into a HTML document. In place

Expalin the history of parallel computers, Expalin the History Of Parallel ...

Expalin the History Of Parallel Computers The researches with and implementations of use of the parallelism started long back in the 1950's by IBM Corporation. The IBM STRETCH

binary division program for signed integer, The program division.c is avai...

The program division.c is available for download as part of this assignment. It is a binary division program which works for signed integers. It contains a function, div32, which d

Explain pre-emptive scheduling, Explain Pre-emptive scheduling? Pre-em...

Explain Pre-emptive scheduling? Pre-emptive scheduling: in its approach, center processing unit can be taken away from a process if there is a require while in a non-pre-empt

Explain extended binary coded decimal interchange code, Q. Explain Extended...

Q. Explain Extended Binary Coded Decimal Interchange Code? Extended Binary Coded Decimal Interchange Code (EBCDIC) is a character-encoding format employed by IBM mainframes. It

Process of minimax algorithm, Process of Minimax algorithm: Our aim is...

Process of Minimax algorithm: Our aim is just to write the best of best score on the top branches of the tree that player one can guarantee to score if he chooses that move.

Explain busy tone in strowger telephony, Explain Busy tone in strowger tele...

Explain Busy tone in strowger telephony. Busy tone pattern is demonstrated in figure. This is a bursty 400 Hz signal with silence era in between. The burst and silence durati

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