Question: PROLOGs assert and retract clauses are unique features that allow dynamic (during execution) program modification. They can be used to simulate the human learning (and

PROLOGs assert and retract clauses are unique features that allow dynamic (during execution) program modification. They can be used to simulate the human learning (and un-learning) process, as well as making creative (not necessarily correct) deductions. An example for creative deduction is to assert that all animals with feathers can fly, if we already know that an animal a has feathers and can fly, and an animal b has feathers and can fly. In other words, if during the execution of a PROLOG program, A and B are provable, then C is asserted in the program, where A, B, and C are as follows:

flies(a) :- has_feathers(a). // clause A

flies(b) :- has_feathers(b). // clause B

flies(X) :- has_feathers(X). // clause C

The above conclusion is not correct for the pair of predicates animal and feathers (e.g., penguins). However, if it turns out to be indeed correct for a different pair of predicates, some might call it a creative conclusion and even praise the inventor. This type of deduction is referred to as induction, and the logic behind it is referred to as inductive (as opposed to deductive) logic. There are many ways to think inductively, and virtually everyone does it all the time, which leads to filling our brains with contradictory knowledge. We rarely realize the presence of contradictions in our personal knowledge base, and most of the time we dont even remember as to how exactly we arrive at that state.

Give more examples of inductive thinking, and suggest how we can use PROLOG to do it.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Accounting Questions!