Download presentation

Presentation is loading. Please wait.

Published byDerick Halcomb Modified over 2 years ago

1
Prolog programming Introduction to Prolog (part4) CS 370 – CS461

2
How to solve this problem? Consider the following facts: parent(pam,bob). parent(tom,bob). parent(tom,liz). parent(bob,ann). parent(bob,pat). parent(pat,jim). If we want to describe a new relation called “ predecessor”, which checks if a specific node is a predecessor of another node or not. For example: ?- predecessor(tom, pat). How can this relation be described? pam tom bobliz annpat jim

3
Defining relations by Recursive Rule. To solve the previous predecessor(tom, pat) relation problem we have to defined a recursive rule. This relation will be defined in terms of the parent relation. The whole definition can be expressed with two rules: 1.First rule will define the direct predecessor. 2.Second rule will be the indirect predecessors.

4
Defining relations by Recursive Rule. 1.Direct Rule For all X and Z X is a predecessor of Z if X is a parent of Z. The rule will be: predecessor( X, Z ) :- parent( X, Z ). x z Predecessor parent

5
Defining relations by Recursive Rule. 2. Indirect Rule Y1 Y2 z Predecessor parent x Y1 z Y2 Predecessor parent Predecessor

6
Defining relations by Recursive Rule. 2. Indirect Rule For all X and Z there is a Y such that: X is a predecessor of Z if X is a parent of Y and Y is a predecessor of Z. The rule will be: predecessor( X, Z ) :- parent( X, Y), predecessor(Y,Z).

7
Defining relations by Recursive Rule. Thus,we have constructed a complete program for the predecessor relation, which consists of two rules: one for direct predecessors and one for indirect predecessors. Both rules must be rewritten together as : predecessor( X, Z ) :- parent( X, Z ). predecessor( X, Z ) :- parent( X, Y ), predecessor( Y, Z ).

8
Class exercise(1) Write a rule to describe the successor relation?

Similar presentations

OK

Introduction to C Programming CE00312-1 Lecture 21 Recursion and Linear Linked Lists.

Introduction to C Programming CE00312-1 Lecture 21 Recursion and Linear Linked Lists.

© 2018 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on fdi in indian economy Ppt on email etiquettes presentation topics Ppt on chromosomes and chromatin related Download ppt on 15 august Ppt on natural resources and conservation Ppt on fuel from plastic waste Ppt on project financing in india Ppt on vertically opposite angles are equal Ppt on group decision making Ppt on shell scripting definition