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

Discuss on wbmp, Question 1 How to call a WML Script from a WML page Q...

Question 1 How to call a WML Script from a WML page Question 2 Discuss on the following WML Script data type Question 3 Discuss on the following WML script statements

Explain assembly language, Explain Assembly Language This is a family o...

Explain Assembly Language This is a family of low-level language for programming computers, microprocessors, microcontrollers etc. They implement a symbolic sign of the numeric

What is artificial intelligence neural networks, For the sake of trying to ...

For the sake of trying to make intelligent behavior though really all that's being done is work with artificial neural networks where every cell is a very easy processor and the go

Difference between char a[] = "string", What is the difference between char...

What is the difference between char a[] = "string"; and char *p = "string";? Ans) In the first case 6 bytes are assigned to the variable a which is fixed, where as in the secon

Posix threads and mutex, The objective of this practical assignment is to u...

The objective of this practical assignment is to use the POSIX environment to write a program that simulates the supply and demand between three processes: warehouse, factory and r

Data structures.., in asingle function declaration what is maximum no of st...

in asingle function declaration what is maximum no of statements that may be recursive calls

Non repudiation, What is non-repudiation? how can it be achieved in designi...

What is non-repudiation? how can it be achieved in designing e-cash based system?

Error handling in hard disk, Error handling in Hard disk in computer archit...

Error handling in Hard disk in computer architecture : Modern drives also make widespread use of Error Correcting Codes (ECCs), specifically Reed-Solomon error correction.

Depth first search - artificial intelligence, Depth First Search - artifici...

Depth First Search - artificial intelligence: Depth first search is very similar to breadth first, except for that the things are added to the top of this agenda rather than o

SIDE EFFECT , EXPLAIN SIDE EFFECT OF SCAN CONVERSION WITH DIGRAM

EXPLAIN SIDE EFFECT OF SCAN CONVERSION WITH DIGRAM

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