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 are different queues used, 1.Local queue -is a actual queue 2.Clus...

1.Local queue -is a actual queue 2.Cluster queue -is a local queue that is called as throughout a cluster of queue managers 3. Remote queue -structure explaining a queue

Computer networks, distributed & centralized system in computer network

distributed & centralized system in computer network

Super class and subclass in programming, What is the difference among super...

What is the difference among super class and subclass in programming? Ans) A super class is a class that is inherited in programming while the sub class is a class that does th

Convert the following binary numbers into octal, Q. Convert the following B...

Q. Convert the following BINARY numbers into OCTAL, double check by converting the result OCTAL to BINARY. a) 111.111 b) 10110111 c) 0.11111

Alpha-beta pruning, Alpha-beta pruning: Thus we can prune via the alph...

Alpha-beta pruning: Thus we can prune via the alpha-beta method, it makes means to perform a depth-first search requiring the minimax principle. Just compared to a breadth fir

Explain about aggregations, OLAP can process difficult queries and give the...

OLAP can process difficult queries and give the output in less than 0.1 seconds, for it to achieve like performance OLAP uses aggregations. Aggregations are built by aggregating an

Illustrate the ftp commands, Q. Illustrate the FTP commands? FTP includ...

Q. Illustrate the FTP commands? FTP includes many commands however only few are used to retrieve a file. A user is required to understand the three basic commands to connect to

What is a reference string, What is a reference string? An algorithm is...

What is a reference string? An algorithm is evaluated by running it on a exacting string of memory references and computing the number of page faults. The string of memory refe

How race around condition can be avoided, How Race Around Condition can...

How Race Around Condition can be avoided? Ans: The race around condition can be avoided if 1. Duration of clock pulse being high is small like comparative to the dela

What is scsi, What is SCSI? Ans: It is the acronym for small computer s...

What is SCSI? Ans: It is the acronym for small computer system interface. It refers to a standard bus explained ANSI. Devices such as disks are linked to a computer via 50-wire

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