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 a matchcode, What is a matchcode? A match code is an aid to fin...

What is a matchcode? A match code is an aid to finding records keeps in the system whenever an object key is needed in an input field but the user only knows other (non-key) in

Bit pair recoding and 2’s complement, Explain bit pair recoding with an exa...

Explain bit pair recoding with an example? Ans: Bit pair recoding halves the maximum number of summands. Group the Booth-recoded multiplier bits in pairs and see the following

Factors of information system which affect the business, Q. Factors of Info...

Q. Factors of Information system which affect the business? There are several factors which affect the business such as - a) Threats of fresh entrants. b) Rivalry surro

Decision tree learning for cancer diagnosis, Assignment 1: Decision tree le...

Assignment 1: Decision tree learning for cancer diagnosis In this mini-project, you will implement a decision-tree algorithm and apply it to breast cancer diagnosis. For each p

What is assembler, What is Assembler An assembler is a program which ta...

What is Assembler An assembler is a program which takes as input a symbolic language program and produces output as its binary machine language equivalent. The input is known a

Vector-memory instructions-vector processing, Vector-Memory Instructions : ...

Vector-Memory Instructions : When vector operations with memory M are executed then these are vector-memory instructions. These instructions are denoted with the many function mapp

Overflow condition in linked list, Overflow condition in linked list may ha...

Overflow condition in linked list may happen when attempting to Make a node when free space pool is empty.

Case x and z difference which is preferable and why, Case x, z difference, ...

Case x, z difference, which is preferable, why? CASEZ : Special version of case statement that uses a Z logic value to signify don't-care bits. CASEX : Special

How to export a dreamweaver document as xml file, Q. How to export a dreamw...

Q. How to export a dreamweaver document as xml file? Step 1: Choose File -> Open, Step 2: Select document which uses a template (and has editable regions) Step 3: Click O

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