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
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started