The fantastic power of reasoning !

Human reasoning (alias syllogism): the foundation for a true artificial intelligence

I – « Simple » reasoning

  1. Reasoning with binary facts

Let’s take this simple knowledge: « every living being is mortal » and you’ll see what we can deduce:

  1. It is a knowledge, a truth that unites two facts: « living being » and « mortal ». Whether I understand these two facts or not this association allows me to automatically generate new knowledge that will serve to those who understand. Therefore the computer can manipulate information for its users. These facts can only be true or false unlike the other two types of facts that can take several states. Numerical facts – such as age, for example – and multivalued facts – like color – can take an infinite number of states.
  2. I know that a fact can not be both true and false. If it is true, it can not be wrong … And vice versa. So nothing can be both living and non-living, mortal and immortal. Otherwise there is a contradiction. In this case, three hypotheses: either my reasoning is wrong (if I’m tired for example), or my knowledge is false (for example I use the truth « when it is noon then it’s dark »), or a fact I’m using to reason is false (I reason on « it’s dark » while it is known to be noon). In the latter case I have to determine what fact is wrong (it is night? Or it is noon?).
  3. I call « rule » the knowledge « every living being is mortal », and in order to well separate the two facts that compose it and facilitate subsequent reasoning, I’ll write: « IF it is a living being THEN it is mortal ».
  4. With this rule I can produce other knowledge. For example, since a tree is a living being then it is mortal.
  5. I can also deduce that if I want to prove that something is mortal, it will suffice to establish that it is alive. To the question « Is it mortal? » I can answer « yes if it’s alive ».
  6. By cons I do not deduce if it is not alive then it is immortal: a corpse, stone, water, fire, the planets are not alive and yet we know they are mortal.
  7. Very interesting : from this rule – like any rule – I automatically infer another rule called « contraposition » : IF it is immortal THEN it is not a living being. I therefore conclude that God, for example, is not a living being … With the contraposition we double the power of reasoning.
  8. The contraposition allows to deduce this : if I’m asked « such a thing is immortal? » I can respond by asking « is this a living? « (Backward chaining). Because if the answer is « yes », I reply: No, this thing is not immortal. If the answer is « no », I would say I do not know.

You see, it’s amazing what can be inferred from … nothing! This is what can do most animals (without telling us because they do not speak). Here’s how, using reasoning, living beings are able to survive in a hostile world …

2. Reasoning with multi-valued facts

Let’s consider a slightly more complicated knowledge: « IF it is sunny AND the sky is cloudless THEN the sky is blue« .

  1. Here, « the sky is blue » is a fact different from the previous facts: it may take more than the usual two states TRUE or FALSE. It is « multi-valued ». Indeed, the sky can also be pink, gray, black, red, white. In each of these cases, I conclude that it can not be blue. A color can not have two states at once, it is the logic itself …
  2. Thanks to the contraposition, which applies to all rules regardless of their complexity, I deduce another rule: « IF the sky is not blue THEN it is not sunny OR the sky is not cloudless « .
  3. This leads me to infer, among others, this new rule: « If the sky is not blue AND it is sunny THEN the sky is cloudy« .
  4. And I deduce another rule: « IF the sky is not blue AND the sky is cloudless THEN it is not sunny« .
  5. So the more a rule contains facts, the more it allows to deduce new rules. The more a knowledge is complex the more it is possible to deduce new knowledge. Great, is not it?

Is your head hurt ?

With knowledge like below, imagine what can be deduced :

IF the collision occurs at an intersection 
AND one of two vehicles is traveling on a roundabout
AND this roundabout has a tag « Yield »
AND it is you who drive in this roundabout
THEN the other vehicle comes into the roundabout
AND you have priority
AND your responsibility = 0

3. Reasoning with numerical facts

Let’s consider this sentence: « IF you are 18 THEN you have the right to vote« . This is correct but in the case of numeric facts it is not complete. Indeed, the contraposition is false: IF you do not have the right to vote THEN you are not 18. We must therefore review again the rule for it to be fair in all cases: « IF you are 18 years or older THEN you have the right to vote« .

When a fact is digital it can take an infinite number of values. Our brains have little talent for mathematics and infinite prefer the logic. They will arrange to have no calculation to be done and will therefore create this truth: If your age is GREATER THAN or EQUAL TO 18 years THEN you have the right to vote. Under course, there is only another alternative : the case where it is less than 18 No need to make a calculation, a comparison is sufficient and comparison, we can do from our childhood. Although the age of an individual ranges between 0 and 120 years, making countless cases, my brain simplifes  the maximum and limits the number of opportunities to … two : <18 and> = 18. That’s to say a binary fact !

Fianlly we have : « IF you are at least 18 years old THEN you have the right to vote« .

II – « Complex » reasoning : production of knowledge

  1. Direct reasoning

Now let’s combine simple truths:

1st rule: IF it is a living thing THEN it is mortal
2nd rule: IF it is a man THEN hit is a living thing
3rd rule: IF its name = « Socrates » THEN it is a man

Each of these rules separately produces the 10 deductions previously defined. But, by linking them to each other (« intellegere »!) According to the virtues proper to the syllogism, I produce new knowledge. Example: if his name is Socrates, I automatically deduce 3 new knowledge: he is a man, he is a living being and he is mortal. Just as I deduce from the contradiction that if it is not mortal, then it is not a living being, it is not a man and it is not Socrates.

If one asks me: « What I have in front of me, is it deadly? « I know that I have three ways to find the solution. By asking first « it is a living being? « . If I am told I do not know, I ask: « Is it a man? « . If I am told I do not know, I ask, « Is he called Socrates? « . If, yes, I answer yes, I link the deductions and I can answer: yes, it’s deadly. By the same token, I provided my interlocutor with three new truths that he did not know since he answered I do not know twice.

What I have just described here is what I call a reasoning mechanism. It’s very easy to program. This is what is found in Pandora and that university researchers scornfully call the zero-order logic.

2. Ad absurdum Reasoning

Ad absurdum reasoning is a form of reasoning used when one cannot find a direct reasoning. It uses the contradiction. For example, with the 3 rules above, I am asked to establish whether God is a man or not, knowing that he is immortal. None of the 3 rules tells me that God is a man or not. « To see », I then assume that he is a man. With the help of the first two rules, I come to the conclusion that, in this case, it would be mortal. As I know God is immortal. So he can’t be a man. QED …

3. Demonstrations of automated reasoning

Want to see software driven by reasoning? Click here, you will see a list of small expert demonstration systems that you can test (sorry, in French !). To better understand the validity of a reasoning in real life, take the payroll : « Gestion du personnel –> mini-paye » and click on the arrow. You then have the choice between two attitudes: or fill in the input screen that appears, or not. Then you validate. If you have not completely completed the input screen, some information will be missed and the software will switch to Conversational to get them.

Attention, it’s an old software! It runs in Francs, with 169h / month the legal duration of work, a SMIC of 5 756,14 F  and the legislation of the time. If you indicate a salary lower than this SMIC, it will give an error and you will not arrive at the end. In any case, the software will show you the deductions (in white and underlined) as it produces them, until the end: « net salary to pay ».

 

Laisser un commentaire