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 are the different tones used in strowger telephony, What are the diffe...

What are the different tones used in strowger telephony? Explain with the help of waveforms and the timings. Dial Tone: it is used to indicate that the exchange is ready to r

State and prove any one of the demorgen''s laws, Q. F(x,y,z) = ∑m (4,6,7,8...

Q. F(x,y,z) = ∑m (4,6,7,8)+ ∑d (2,5,11,12) Using K-Map. Q. State and prove any one of the DeMorgen's Laws. Show that these theorems can be extended up to any number of variabl

Develop a program octal to hexadecimal, Q.  Develop a Menu driven program w...

Q.  Develop a Menu driven program with following menu: 1.  Octal to Decimal 2.  Octal to Hexadecimal 3.  Octal to Binary

Explain bernstein conditions for detection of parallelism, Bernstein Condit...

Bernstein Conditions for Detection of Parallelism For execution of a number of instructions or a block of instructions in parallel, it must be made certain that instructions ar

Define digital computers system, Q. Define Digital computers system? Di...

Q. Define Digital computers system? Digital computers, in general, are automatic machines that accept data and instructions, perform predefined operations very quickly on the d

Associative array processing, Consider that a list of record or a table is ...

Consider that a list of record or a table is stored in the memory and you wish to find some information in that particular list. E.g. the list comprises three fields as displayed b

Explain the type of micro-operations, Q. Explain the type of micro-operatio...

Q. Explain the type of micro-operations? Let's first discuss type of micro-operations. Most common micro-operations performed in a digital computer can be categorized into 4 ca

Define the abstraction of OOA, Define the Abstraction of OOA Now, let ...

Define the Abstraction of OOA Now, let us see how objects can be seen as a problem, and find their associated data and their behaviour. You will notice that an object is an ab

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