Search mechanisms in prolog, Computer Engineering

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.

Posted Date: 1/10/2013 5:56:32 AM | Location : United States







Related Discussions:- Search mechanisms in prolog, Assignment Help, Ask Question on Search mechanisms in prolog, Get Answer, Expert's Help, Search mechanisms in prolog Discussions

Write discussion on Search mechanisms in prolog
Your posts are moderated
Related Questions
Important part of Process - canonical genetic algorithm: In such a scenario evolution or random mutations are often highly deleterious or can say harmful to the organism it me

Example of Structural hazards - computer architecture: A machine has shared a single-memory pipeline for instructions and data. As a consequence, when an instruction which con

Explain Hybrid Network in Standard Telephone hand set. Hybrid network: The hybrid network (sometimes termed as a duplex coil or hybrid coil) in a telephone set is a particula

Discuss program testing and debugging in detail. In program debugging and testing significant steps are as follows: a. For the program, construction of test data b. Analy

The device is packaged in a 80 pin PLCC device as shown.The main groupings of the pins are as follows Port A PA0 - PA7 Parallel Port or Timer Port B PB0 - PB7 Parallel Port or High

It is desirable that operating speed of primary storage of a computer system be as fast as possible since most of the data transfer to and from processing unit is via main memory.

Take the last two digits of your UTCID. This is your duty cycle in percent. If your duty cycle is less than 10%, add 30 to your number. Create an assembly program that runs on t

Define Process. Process: It is a program in execution; process execution should progress into sequential fashion. Process contains: program counter stack dat

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

Instruction Pipelines As discussed previous, the stream of instructions in the instruction implementation cycle, can be realized through a pipeline where overlapped implementat