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

Salient points about addressing mode, Salient points about addressing mode ...

Salient points about addressing mode are:  This addressing mode is employed to initialise value of a variable. Benefit of this mode is that no extra memory accesses are

What is the window of the working set of a process, What is the window of t...

What is the window of the working set of a process? The window of the working set of a method is the total number in which the method had referred the set of pages in the work

Example on passing parameters through stack, Q. Example on Passing Paramete...

Q. Example on Passing Parameters through Stack? PROGRAM: Version 3 DATA_SEG               SEGMENT                         BCD DB 25h; Storage for BCD test value BIN

What is digital switch, Digital switch It is a device that handles digi...

Digital switch It is a device that handles digital signals formed at or passed by a telephone company's central office and sends them across the company's backbone network.

Read after write and write after write - data hazards, RAW  and WAW - Data ...

RAW  and WAW - Data hazards: RAW (read after write) - j tries to read a source before i writes it, hence j wrongly gets the old value .This is the most usual type of

Attributes of a field can be activated during runtime, What are the attribu...

What are the attributes of a field that can be activated or deactivated during runtime? Input, Output, Mandatory, Active, Highlighted, Invisible.

What are called stalls, What are called stalls? An alternative represen...

What are called stalls? An alternative representation of the operation of a pipeline in the case of a cache miss gives the function performed by every pipeline stage in each cl

Predictive modelling power, Another useful feature of an experts system ...

Another useful feature of an experts system is its predicative modelling power. The system can act as an information processing theory or model of problem solving in th

What are the principal shortcomings of mpi, (a) What are the principal sho...

(a) What are the principal shortcomings of MPI with respect to the deployment between companies and institutions? (b) Propose a possible solution for the parallel computing in

A subroutine can be terminated unconditionally using exit, A subroutine can...

A subroutine can be terminated unconditionally using EXIT. True.

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