Si vous avez parfois l’impression que les développeurs informatiques réfléchissent différemment, c’est parce qu’ils ont appris à avoir une logique algorithmique. Cela demande d’être cartésien et d’identifier les zones de flou. Si vous travaillez avec des développeurs ce cours vous permettra d’améliorer vos communications. Vous pourrez également réaliser des programmes informatiques, l’occasion de se découvrir de nouvelles passions ou vocations !
Un algorithme, c’est une suite d’opérations définies qui permettent de résoudre un problème. Le mot « algorithme » revient souvent dans les actualités lorsque l’on parle d’Intelligence Artificielle, ou IA. En effet, pour que les machines puissent résoudre des problèmes à notre place, il leur faut des algorithmes pour déterminer quelle décision prendre et à quel moment. Plus les algorithmes d’une machine sont précis et plus elle nous paraîtra intelligente.
Les algorithmes n’ont rien de secret. Un humain peut aussi exécuter un algorithme s’il le souhaite. C’est ce que va faire, par exemple, une personne d’un SAV lorsqu’il va chercher à qualifier votre problème. Il ou elle va poser une suite de questions prédéfinies : « Quel est le modèle de votre appareil ? », « Vous l’avez acheté quand ? », « Vous avez essayé de changer les piles ? », etc. Les réponses que vous lui donnerez influenceront la question suivante et ainsi que son diagnostique final.
Ma solution préférée est d’utiliser des feuilles et un crayon pour dessiner des arbres de décisions. Cette représentation graphique d’un algorithme est souvent utilisé lors des phases de spécification d’une idée et de documentation de l’existant. C’est un excellent outil de communication entre les humains.
Les algorithmes peuvent aussi être directement écrits à l’aide d’un langage informatique. Cela permet de pouvoir le faire exécuter par les machines et de voir leur résultat.
Nous n’apprendrons pas à coder dans ce cours. Apprendre la syntaxe et la structure d’un code informatique prendrait trop de temps. En évitant d’utiliser une représentation complexe des algorithmes, nous pourrons nous concentrer sur leur logique. Une fois les mécanismes acquis, ce sera d’autant plus facile d’apprendre à programmer si vous le souhaitez.
Nous verrons quand même des exemples de codes. Vous serez invité à les lire, apprécier leur structure générale. Il ne vous sera pas demandé de savoir les reproduire.
Voici l’exemple d’un arbre de décision pour décider si je dois prendre mon parapluie :
Un arbre de décision est composé de quatre éléments :
Pour améliorer la lecture et limiter les erreurs, voici mes conseils :
Réussir un arbre de décision, c’est souvent bien plus compliqué que ce qu’on imagine. Il faut réussir à prévoir par avance, tous les cas particuliers qui peuvent se produire.
Reprenons l’exemple du parapluie, il y a de nombreux cas où l’on prend un parapluie alors qu’il ne pleut pas.
Vous pouvez faire chercher des idées collectivement à ce moment-là. Cela préparera les élèves à l’exercice suivant.
Une idée évidente :
Une idée plus avancée :
Le journal LA Times a créé un arbre de décision pour représenter comment les français choisissent d’utiliser le tutoiement ou le vouvoiement. Il est très intéressant car ils ont pensé à de nombreux cas particulier qui ne nous viennent pas à l’esprit directement.
Analysez comment une personne choisi de tutoyer ou vouvoyer quelqu’un. À combien de règles pensez-vous ?
Sans réaliser l’arbre de décision, essayer de noter sous forme la liste des cas particulier auxquels vous pensez.