We have seen simple example of reasoning or drawing inferences already. For example if we know: Robins are birds.
All birds have wings. Then if we ask: Do robins have wings?
Some reasoning (albeit very simple) has to go on answer the question.
To a certain extent this will depend on the knowledge representation chosen. Although a good knowledge representation scheme has to allow easy, natural and plausible reasoning. Listed below are very broad methods of how we may reason. We will study specific instances of some of these methods in the next few lectures.
Formal reasoning
-- Basic rules of inference with logic knowledge representations.
Procedural reasoning
-- Uses procedures that specify how to perhaps solve (sub) problems.
Reasoning by analogy
-- Humans are good at this, more difficult for AI systems. E.g. If we are asked Can robins fly?. The system might reason that robins are like sparrows and it knows sparrows can fly so ...
Generalisation and abstraction
-- Again humans effective at this. This is basically getting towards learning and understanding methods.
Meta-level reasoning
-- Once again uses knowledge about about what you know and perhaps ordering it in some kind of importance.
Unfortunately the world is an uncertain place.
Any AI system that seeks to model and reasoning in such a world must be able to deal with this.
In particular it must be able to deal with:
Clearly in order to deal with this some decision that a made are more likely to be true (or false) than others and we must introduce methods that can cope with this uncertainty.
There are three basic methods that can do this: