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

Performance of computer system: Computer performance is frequently described in terms of clock speed (usually in MHz or GHz). It refers to the cycles per second of the main cl

What is a Development class? Related objects from the ABAP/4 repository are assigned to the similar development class.  This enables you to right and transport related objects

Clipboard is a temporary storage location in Windows. The clipart will kept one piece of information at a time when it is manually added to the clipart or is copied there.

Let's answer our second question first. All computers have a Unit which performs arithmetic and logical functions. This Unit is called as Arithmetic and Logic Unit (ALU). However h

You can search an updated README.mailif file in the contrib/ directory of your Bugzilla distribution that walks you by the setup.

Why the temporary registers W and Z are named so I mean we start from A,B,C,D,E then H and L coz H stands for higher bit nd L for lower bit of the address pointed by memory pointer

Q. LIFO under perpetual inventory procedure? LIFO under perpetual inventory procedure observes Exhibit to see the LIFO method using perpetual inventory procedure. In this proce

Why is XML superior to other forms of data exchange? The XML gives universal data format for integrated electronic business solutions. Other database systems and Relational dat

In MS-DOS device drivers are installed and loaded dynamically it implies that they are loaded into memory when computer is started or re-booted and accessed by operating system as