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 is nv-ram, Nonvolatile Read Write Memory, also kown as Flash memory. I...

Nonvolatile Read Write Memory, also kown as Flash memory. It is also called as shadow RAM.

What are the basic components of an expert system, Q. What are the basic co...

Q. What are the basic components of an expert system? ANSWER: There are three components of components: Information, people, and IT components. Information kinds are domain exp

Command mode using vi editor, What does the c$ command do from command mode...

What does the c$ command do from command mode using Vi Editor? Ans) C$ will start from the character under the curser till the finish of line. So when you use this command it wi

Explain the architectural description languages, Explain the Architectural ...

Explain the Architectural description languages Architectural description languages (ACLs) have been developed for the architectural description in analysis and design process

Procedures relating to the deployment of the server, Edith & Associates is ...

Edith & Associates is a modern law firm. They have an Internet Link that is an ADSL 8MB links from JJNET. The server they are to deploy will the main service giving  server and wil

What data structure is used by an operating system, What data structure is ...

What data structure is used by an operating system to keep track of process information? Explain A data structure termed as process control block (PCB ) is used by an operat

What are the aspects of security policy, What are the aspects of security p...

What are the aspects of security policy The security policy should cover aspects such as network service access, physical access, limits of acceptable behaviour, company's pro

Determine the begin - end keywords, Determine the begin - end keywords ...

Determine the begin - end keywords Group several statements together. Cause the statements to be evaluated sequentially (one at a time) -> Any timing within sequential group

Deductive inferences - artificial intelligence, Deductive Inferences - Arti...

Deductive Inferences - Artificial intelligence: We have described how knowledge can be represented in first-order logic, and how in logic rule-based expert systems expressed ca

What is the session, What is the session.  Session is a collection of v...

What is the session.  Session is a collection of various groups of method. Every session is assigned to a single control terminal. This terminal is either a pseudo-device. or a

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