Bonjour,
Combinatoire ou séquentiel ?
Dans la discussion 3. Premiers pas de programmation avec Thymio de ce mooc, la question de l’état du robot revient à plusieurs reprises.
Cet état, ou plus ces états sont matérialisés par les arcs pouvant prendre différentes couleurs ou disons plutôt différentes valeurs (gris = inactif, blanc = état binaire 0, orange = état binaire 1).
Dans le monde des robots ou plus généralement dans celui des automatismes, il y a 2 types de problème avec 2 modèles de solution pour gérer un système comportant des entrées (capteurs, boutons poussoir, claviers, tous types de données exploitables, etc.) et des sorties (moteurs, vannes, voyants, écrans, imprimantes, alarmes, etc) : les problèmes à solution combinatoire et les problèmes à solution séquentielle.
1/ Combinatoire : Chaque combinaison de l’état des entrées ne peut donner qu’une seule solution de l’état des sorties. Cependant, différentes combinaisons de l’état des entrées peuvent donner le même état des sorties.
Exemple très simple : un distributeur de boisson qui propose du café, du thé et du chocolat, avec une quantité d’eau complète et fixe pour le thé et le chocolat et une possibilité de choix entre une 1/2 dose ou une dose complète d’eau pour le café.
Au départ vous faites le choix de votre boisson, vous sélectionnez votre quantité d’eau pour le café si c’est votre choix de départ et votre dose de sucre quelque soit votre choix de départ entre un mini = 0 et un maxi. A la fin de votre sélection vous appuyez sur OK, la boisson va être préparée et vous pourrez la déguster.
A chaque fois que vous faites la même sélection vous aurez le même résultat. Pour chaque combinaison de touches d’entrée vous aurez la même recette, sauf si un ou plusieurs ingrédients sont indisponible ou si un tuyau est bouché.
2/ Séquentiel : Le même état des variables d’entrées peut donner un résultat diffèrent sur l’état des sorties.
Exemple qui va disparaître bientôt grâce aux capteurs intelligents : Le télérupteur qui permet d’allumer et d’éteindre la lumière à partir de plusieurs endroits comme dans une cage d’escalier.
Supposons que personne n’appuie sur le bouton de commande de la lumière (le bouton au repos est dans l’état nr B1) et que la lumière soit éteinte (la lumière éteinte est dans l’état nr L1).
Vous appuyez une fois sur le bouton (le bouton actionné est dans l’état nr B2), la lumière s’allume (la lumière passe dans l’état nr L2). Vous relâchez le bouton (le bouton retourne dans l’état nr B1), la lumière reste allumée (la lumière reste dans l’état nr L2).
Pour le même état du bouton « pas appuyé » (le bouton au repos est dans l’état nr B1) , on a 2 états différents de la lumière, éteint (la lumière éteinte est dans l’état nr L1) et allumé (la lumière allumée est dans l’état nr L2) ou plutôt éteint ou allumé.
Pour réaliser cette fonction il faut que le système soit capable d’enregistrer les événements en entrée pour savoir comment faire évoluer le système ou le process lorsqu’un changement d’état des entrées se présente.
Dans le monde de l’électricité et de l’électronique on appelle cela une mémoire. Cette mémoire peut avoir 2 états : éteint ou allumé, ouvert ou fermé, blanc ou noir, au repos ou actif, haut ou bas, up or down ou dans le monde numérique les valeurs binaires 0 ou 1.
Le circuit mémoire est à la base du fonctionnement des automatismes, de l’informatique, des ordinateurs et autres processeurs qui commandent les machines dont les les robots en font partie.
Sans mémoire pas de possibilité de conserver l’information.
Cordialement