We, as humans, have always prided ourselves on our ability to think things through for this reason things are out and come to the only conclusion possible in a Sherlock Holmes kind of way. But what exactly we mean by "reasoning" and can we automate this process?
As a case study, we may take Sherlock Holmes for describing different types of reasoning. Imagine after solving another typical case, he says to Dr. Watson: "It was simple my dear Watson. The killer always left a silk glove at the scene of the murder. That was their calling card. Our investigations showed that only 3 people have purchased such type of gloves in the past year. Professor Reverend Doolally Fisheye have iron-clad alibis, so the murderer might have been Sergeant Heavyset. When he attempting to murder us with that umbrella, we knew we had our man."
At least 5 types of reasoning may be identified here.
- initially, how do we know that the killer always left silk glove at the murder scene? Because Holmes has observed a glove at each of the murders and mainly guessed that they have something to do with the murder by always being there simply. This type of reasoning is called inductive reasoning, where a assumption has been induced from some data.
- Secondly, Holmes used adductive reasoning to dredge from his past experience the description that the gloves are left by the murderer as a calling card. In general we do not really cover adductive reasoning on this course, unluckily.
Thirdly, Sherlock tracked down the just 3 people who bought the specific type of glove left at the scene. This may be seen - possibly quite loosely - as model generation, which plays a role in the reasoning process. Models are frequently generated to verify existence of them, or frequently to disprove a hypothesis, by providing a counterexample to it. In brief ,We cover model generation detail.
- Fourthly, Sherlock managed to gain alibis for 2 suspects, but not for the third. Hence, he ruled out 2 possibilities leaving only one. This may be seen as constraint-based reasoning.
- Finally, Sherlock had 2 pieces of knowledge regarding the world, which he assumed were true: (i) the killer leaves a silk glove at the murder scene (ii) the single person who could have left a glove was Sergeant Heavyset. By Using this knowledge, he used deductive reasoning to infer the fact that the killer might be Heavyset himself. It is so clear that we hardly see it as a reasoning step, but it is one: it is called using the Modus Ponens rule of inference, which we cover in the lectures on automated reasoning following this one.
As an aside, it is importance pointing out that - presumably for heightened tension - in most Sherlock Holmes books, the murderer confesses, either quietly by trying to kill Holmes, or by sobbing into a cup of tea and coming, Watson, the hapless inspector Lestrade or all 3. Its means that the case never really has to go to trial. Just once, I would like to see the lawyers get involved, and to observe the spectacle of Holmes trying to defend his reasoning. This could be terrible as all but his deductive reasoning was unsound. Suppose a good lawyer pointing out that all 5 victims happened - wholly coincidentally - to be members of the silk glove appreciation society.....
Automating Reasoning is a really importance topic in Artificial Intelligence, which has received enough attention, and has found applications in the verification of software and hardware configurations, amongst other areas. This topic is known as "Automated Reasoning" in Artificial Intelligence concentrates mostly on deductive reasoning, where new issue are logically deduced from previous ones. It is essential to remember that this is only 1 type of reasoning, and there are many others. In our lectures particularly on machine learning later, we cover the notion of inductive reasoning, where new facts are imagine at, using empirical proof.
At present, Automated Reasoning is mostly based on how we desired we reasoned: logically, following prescribed rules to began from a set of things we know are true (called axioms), and end with new knowledge regarding our world. The way we really reason is much sloppy: we use creativity, refer to earlier examples, perform analogies, and wait for divine inspiration & so on. To make this more valuable, in their reasoning we say that automated reasoning agents are more formal than humans.
The formal approach to reasoning has advantages and disadvantages. In general way , if a computer program has proved something fairly complicated (for instance that a circuit board functions as specified), then people are more glad to accept the evidence than one done by a human. Because there is much less chance for error in a well-written automated reasoning program. By being less formal , On the other hand, humans can often skip around the search space much more efficiently and prove more complex results. Humans are still much more gifted at deducing things than computers are likely to be any time soon.
In order to understand how Artificial Intelligence researchers gave agents the strength to reason, first we look at how information regarding the world is represented using first-order logic. This will lead us into the programming language Prolog, and we shall use Prolog to demonstrate a easy but effective type of Artificial Intelligence program known as an expert system.