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

Inter suffer buffer and execute an instruction, What are the basic steps ne...

What are the basic steps needed to execute an instruction by the processor? Ans: The basic steps needed to execute an instruction by the processor are: A)    First fetch th

What are the features of the hardwired control, What are the features of th...

What are the features of the hardwired control? A controller that uses this approach can function at high speed. It has little flexibility and the complexity of the instruction

What is a deadlock, What is a Deadlock? Deadlock is a situation, in th...

What is a Deadlock? Deadlock is a situation, in that processes never complete executing and system resources are tied-up, preventing another job form starting. If the resou

Polishing game, Byteland county is very famous for luminous jewels. Luminou...

Byteland county is very famous for luminous jewels. Luminous jewels are used in making beautiful necklaces. A necklace consists of various luminous jewels of particular colour. Nec

What are the advantages of using structure in c program, What are the advan...

What are the advantages of using structure in C Program Declaring a struct is a two-stage process. The first stage defines a new data type that has the required structure which

What is frontpage, Front page is a software used to make a webpage.

Front page is a software used to make a webpage.

C program , minimum number of shelves

minimum number of shelves

Explain the working of broad band isdn, Explain the working of broad band I...

Explain the working of broad band ISDN. BISDN Configuration: Figure shows how access to the BISDN network is accomplished. All peripheral devices are interfaced to the acces

What is the significance timescale directive, What is the significance Time...

What is the significance Timescale directive? Defines time units and simulation precision (smallest increment). Syntax 'timescale TimeUnit / PrecisionUnit TimeUnit =

Explain the term granularity, Granularity Granularity refers to the qua...

Granularity Granularity refers to the quantity of computation done in concurrent relative to the size of whole program. In concurrent computing, granularity is a qualitative me

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