Un peu de logique
Êtes-vous logique ?
Êtes-vous logique ? Question surprenante, mais qui a son importance. Le mot ’’logique’’ vient d’un mot grec qui signifie à la fois ’’raison’’, ’’langage’’ et ’’raisonnement’’. Il s’agit de l’étude ’’des règles formelles que doit respecter’’ un raisonnement rationnel correct. En ce sens, la rationalité est à la logique ce que le ciel est à l’oiseau, c’est-à-dire son domaine d’expression.
Dans cet ouvrage, vous allez partir à la découverte d’un jeu de logique : l’algorithmique. Contrairement à une idée reçue, programmer nécessite avant tout de bonnes bases en logique, et non pas en mathématiques. On peut évidemment exercer sa logique en faisant des mathématiques, qui sont peut-être le domaine par excellence pour l’améliorer. Néanmoins, il ne s’agit évidemment pas du seul domaine. La logique se construit et se travaille dans de nombreuses activités, et cela tout au long de la vie, comme l’a démontré la science au travers du phénomène de plasticité cérébrale. Muscler votre logique fera de vous un meilleur programmeur et vous sera très utile pour...
Les biais cognitifs
Être logique ne doit pas être considéré comme une capacité innée, mais acquise. De nombreux travaux en psychologie cognitive, en psychologie sociale et plus globalement en sciences cognitives ont démontré le caractère inné des biais cognitifs chez l’humain. Un biais cognitif est une distorsion de la pensée logique et rationnelle par rapport à la réalité. Il s’apparente à un effet d’optique (un peu comme celui qui nous fait croire qu’une branche est brisée quand elle est plongée en partie dans de l’eau), mais en rapport avec le cerveau et la pensée.
L’article de Wikipédia sur les biais cognitifs explique ceci : "[Des] travaux ont identifié de nombreux biais cognitifs propres à l’esprit humain à travers de multiples domaines : perception, statistiques, logique, causalité, relations sociales, etc. Du point de vue de leurs domaines, on peut distinguer entre autres des erreurs de perception, d’évaluation, d’interprétation logique. Ces biais cognitifs ne sont généralement pas conscients. Leur caractérisation est importante aussi bien dans les domaines judiciaire que scientifique puisqu’ils sont néfastes dans un processus logique. La publicité exploite souvent des biais cognitifs pour faire passer ses messages (raisonnement fallacieux, oubli de la fréquence de base)."
Tout ceci...
Quelques définitions importantes
En logique, on parle souvent de propositions. Une proposition, ou encore assertion, est un énoncé qui a un seul résultat possible, vrai ou faux. On pourrait dire qu’une proposition a comme résultat une valeur booléenne. D’ailleurs, pratiquer l’algorithmique implique de penser booléen, ou binaire.
Une proposition peut en impliquer...
Les types de raisonnements
Tous les raisonnements ne se valent pas. Certains sont tout sauf logiques, mais ont l’apparence de l’être : il s’agit des sophismes dont nous avons parlé précédemment. Voici l’un de nos préférés : "Dans l’emmental, il y a des trous. Plus il y a d’emmental, plus il y a de trous. Plus il y a de trous, moins il y a d’emmental. Donc, plus il y a d’emmental, moins il y a d’emmental." Cherchez l’erreur !
Dans la vie de tous les jours, nous raisonnons et tirons des conclusions. Comment s’assurer qu’un raisonnement est robuste ? On peut le faire en utilisant des types de raisonnements connus tels que :
-
L’implication et l’équivalence : on doit être en mesure de prouver de manière claire et sûre qu’une proposition en implique une autre. Attention aux caractéristiques que l’on met en avant pour cela, sinon on risque d’être taxé de sophiste. Par exemple, en disant "plus une entité va vite, plus elle consomme d’énergie", on établit une relation d’implication ou d’équivalence entre la vitesse et la consommation d’énergie (quelle qu’en soit la nature).
-
Contre-exemple : il suffit de trouver un contre-exemple à un couple de propositions liées...
Les quantificateurs
Dans des ouvrages qui traitent de logique, vous rencontrerez parfois des symboles mathématiques appelés quantificateurs. Les quantificateurs permettent de donner des précisions sur le cadre d’application d’un raisonnement logique. Ils permettent également de raccourcir un énoncé grâce à l’utilisation desdits symboles. Il existe trois quantificateurs :
-
: se lit ’’quel que soit ’’ ou ’’pour tout x’’.
-
: signifie qu’il existe au moins un élément x.
-
: signifie qu’il existe un seul élément x.
Grâce à ces quantificateurs, on peut formuler des propositions de cette manière :
-
: signifie que pour toute valeur x appartenant à l’ensemble de nombre E, la proposition P(x) est vraie.
-
: signifie qu’il existe au moins une valeur de x appartenant à l’ensemble E pour laquelle la proposition P(x) est vraie.
Même si ces quantificateurs sont essentiellement utilisés dans les mathématiques, rappelez-vous que les concepteurs des langages informatiques ont dû les utiliser pour garantir le caractère logique de leurs créations.
La programmation se fonde sur des règles de logique mathématiques. Ces règles permettent au domaine de l’informatique d’être une science...
Résoudre les bogues de façon logique
Un programmeur est régulièrement confronté à des bogues. C’est normal. Ne dit-on pas que l’erreur est humaine ? Il y a trois types d’erreurs fondamentales :
-
Erreurs de syntaxe : un langage de programmation a sa propre "grammaire" et son propre "vocabulaire". Par exemple, on utilise le mot print pour afficher un message dans le langage Python, mais console.log en JavaScript. On termine chaque instruction JavaScript par un point-virgule (;), alors que ce n’est pas le cas en Python. Si on écrit printe au lieu de print, Python affiche une erreur. Certains langages sont également sensibles à la case (case sensitive), ce qui signifie qu’un mot en minuscules n’a pas le même sens qu’un mot en majuscules. C’est le cas de JavaScript : il comprend l’instruction console.log, mais pas CONSOLE.LOG.
-
Erreurs d’exécution : certaines erreurs n’apparaissent que lors de l’exécution du programme. Par exemple, quand on essaie d’afficher une variable que l’on n’a pas encore créée.
-
Erreurs logiques : si l’on fait une division par 0 en utilisant un langage de programmation, on obtient une erreur puisque cette opération est impossible, elle n’est pas logique.
Le processus qui permet d’identifier et de solutionner...
Exercices
Voici trois exercices de logique pour vous entraîner. Le premier est un calcul, le deuxième un paradoxe et le troisième une énigme.
Exercice 1
Le calcul a un résultat surprenant : 1 = 2. Vous n’êtes pas d’accord ? Dans ce cas, cherchez l’erreur. Voici le calcul :
Soit a et b, deux nombres non nuls et égaux, alors on a :
a = b
Multiplions par b :
a * b = b * b
ab = b²
Soustrayons par a² :
ab - a2 = b2 - a2
Factorisons :
a(b - a) = (b + a)(b - a)
Simplifions par b - a :
a = b + a
a = a + a, car a = b
a = 2a
Simplifions par a :
1 = 2
Exercice 2
Cet exercice s’intéresse à un paradoxe très simple appelé le paradoxe des deux enfants. Un homme a deux enfants, l’un des deux est une fille. Quelle est la probabilité que l’autre le soit aussi ? La plupart des personnes répondent ½, ce qui n’est pas faux. Mais si nous prenons le problème dans son ensemble et décrivonts les différents couples d’enfants possibles, nous trouvons ceci :
Configuration possible |
Respect de la règle |
Fille et Fille |
Oui |
Fille et Garçon |
Non |
Garçon et Garçon |
Non |
Garçon et Fille |
Non |
Il y a donc trois cas sur quatre dans lesquels on trouve au moins une fille, ce qui nous laisse trois solutions possibles, mais il y a un seul cas de figure dans lequel un enfant...