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

Set up to use parallel virtual machine, Q. Set up to Use parallel virtual m...

Q. Set up to Use parallel virtual machine? PVM employs two environment variables when starting and running. Each and every PVM user needs to set these two variables to employ P

Determine the term queries-DBMS, Determine the term Queries-DBMS Querie...

Determine the term Queries-DBMS Queries most commonly allow information to be retrieved from tables. As the information is often spread across numerous tables, queries allow it

Bangla numeral recognition using multilayer feed forward, Assignment 4: Han...

Assignment 4: Handwritten Bangla Numeral Recognition using Multilayer Feed Forward Neural Network. In this assignment, you will design a multi layer feed forward neural network

Database, er table for hospital management system

er table for hospital management system

Computers and cntrol, Define open and closed loop cotrol systems.Explain di...

Define open and closed loop cotrol systems.Explain difference between time varying and time invariant control system wth suitable example

What is insertion point, A vertical flashing line that permits the user whe...

A vertical flashing line that permits the user where text will be inserted.

Interpolation algorithm, Design two matlab algorithms for enlarging the 256...

Design two matlab algorithms for enlarging the 256x256 images into 512x512 images by using bilinear and bicubic interpolations   a)  Evaluate the interpolated images with the

Characteristics of D/A converter, What are the specifications/characteristi...

What are the specifications/characteristics used by the manufacturers to describe a digital to analog converter? Explain each one briefly. Ans: D/A converter characteristics

Explain clr, What is CLR?  CLR(Common Language Runtime) is the major r...

What is CLR?  CLR(Common Language Runtime) is the major resource of .Net Framework. It is collection of services like garbage collector, exception handler, jit compilers etc. w

Make an instruction execution feasible, Q. Make an instruction execution fe...

Q. Make an instruction execution feasible? What are the functions that a control unit performs to make an instruction execution feasible? Instruction execution is achieved by e

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