Robotique: Simplification d'équations logiques par tableau de Karnaugh - Concepts - Tutoriels - Robotique

Aller au contenu

L'utilisateur est hors-ligne Auteur

Chercher ses messages Information tutoriel

  • Ajouté le: oct. 13 2009 06:39
  • Date mise à jour: juil. 06 2011 09:33
  • Lectures: 14751

Collaboration


  Like

Simplification d'équations logiques par tableau de Karnaugh * * * * *

Dans ce tutoriel, je vais vous expliquer une méthode alternative pour simplifier vos équations logiques.
Si vous avez du mal avec les simplifications faites "à la main", alors ce tutoriel est fait pour vous car la méthode est assez simple et efficace à 100%.

La table de vérité


Tout d'abord sachez que le plus couramment vous rencontrerez des tables de vérité avec 4 entrées ; les tables avec plus d'entrées sont plus rares, en général.
Je vais donc ici vous exposer une table de vérité avec 4 variables d'entrées et 2 sorties ; je vous montrerez quand même, par la suite, un tableau de Karnaugh avec 5 variables d'entrées.
Soit la table de vérité suivante, avec a, b, c et d comme variables d'entrée et S1 et H1 comme variables de sortie. Comme il y a 4 variables d'entrée, il faut 2^4 (16) lignes, allant du 0 binaire, au 15 binaire ; en sachant que les 0 ou les 1 veulent dire "ouvert" ou "fermé".

Les "X" sont les impossibilités technologiques, c'est à dire que c'est un état impossible à réaliser dans la réalité ; comme par exemple un capteur qui détecte une pièce trop grande et un capteur qui détecte une pièce trop petite activés en même temps. Ces impossibilités nous seront quand même utiles plus tard.



Vous pouvez déjà observer que j'ai placé une impossibilité technologique à la 8ième ligne.
Il faut maintenant établir les équations de nos sorties, c'est à dire, écrire la valeur de a, b, c et d quand la sortie vaut 1. Si la sortie vaut 1 et que a vaut 0 par exemple, on notera alors .

S1 =
S2 =

Rappel : le symbole '.' signifie "et" et le symbole '+' signifie "ou".

Vous pouvez aussi constater que les impossibilités technologiques ne sont pas représentées dans l'équation.

Le tableau de Karnaugh

Voici à quoi doit ressembler le tableau de Karnaugh vide pour S1 dans notre cas :



Nous pouvons constater que :
- Le tableau contient 16 cases, 4 colonnes (variables a et B) * 4 lignes (variables c et d).
- Les cases sont "numérotées" en ne faisant changer qu'une seule variable à la fois => 00, 01, 11, 10 ; une seule variable est modifiée à chaque fois.
- Dans les colonnes, 00 signifie , 01 signifie , 11 signifie a.b et 10 signifie .
- Dans les lignes, c'est pareil, 00 => , 01 => , 11 => c.d et 10 => .

Maintenant, nous pouvons remplir notre tableau ; je vous met l'exemple tout de suite pour mieux comprendre.



Comment l'ais-je rempli ? C'est simple, la première expression est : /a./b./c.d, j'ai donc pris dans le tableau la colonne 00 (/a./B) et la ligne du 01 () et j'y est mis un 1 dedans. Il faut répéter cette action pour tous les morceaux de l'équation.
Vous avez aussi pu remarquer que maintenant j'ai placé l'impossibilité technologique (le "X") dans le tableau ; il va nous servir pour la simplification.
Venons en à la simplification :
S1 (non simplifié) = .
S1 (simplifié) = .
Mais comment ais-je trouvé cela ? C'est très simple, regardez :



La méthode et les règles :

- Cette méthode ne marche que si l'équation ne comporte pas de parenthèses ni de barre sur plusieurs variables ! Si vous avez des parenthèses, développez d'abord pour ne plus en avoir, et si vous avez une barre sur plusieurs éléments, utilisez le théorème de De Morgan.
- Regroupez les "1" par paquets de puissance de 2 (1,2,4,8,16...) ;
- Il faut vous imaginer le tableau comme une sphère, c'est à dire que un "1" étant placé tout en haut à droite pourra se regrouper avec un "1" placé tout en haut à gauche ou bien avec un "1" placé tout en bas à droite ;
- Il est interdit de faire des groupements en diagonale, donc il n'y a que des groupements carrés et rectangles ;
- Pour que l'équation soit simplifiée au maximum, il faut que tous les "1" soient englobés dans le plus grand groupement possible, vous pouvez "utiliser" plusieurs fois le même un si il permet de faire un plus grand groupement avec d'autres 1 (cf. le rose et le orange de S1 par exemple) ;
- Il faut séparer vos groupement d'équation par un "ou" (le symbole "+") ;
- Regardez si les impossibilités technologiques vous permettent de faire un plus grand paquet (dans notre cas il n'y avait qu'une seule impossibilité et elle ne nous permettait pas de faire un paquet plus grand), de plus, il ne faut pas faire de paquet avec les impossibilités technologiques ;
- Ne prenez que l'état des variables qui ne changent pas, par exemple, observons le groupement de couleur orange : comme le tableau est sphérique, le 1 en haut et le 1 en bas sont sensés se toucher, et comme il n'y a pas de 1 permettant de faire un groupement plus grand, le groupement sera de deux ; ensuite, nous pouvons que pour le groupement observé, sur les colonnes, le 1 est placé sur la 3ième colonne où a et b valent 1 et sur la première et dernière ligne où c et d valent respectivement 0 et 0 et 1 et 0. Pour a et b, pas de problème, les deux variables valent 1 tout le temps, le bout d'équation est donc a.b, mais pour c et d, seulement le c change, donc il faut l'ignorer, on ne garde que le d qui vaut toujours 0 ; le bout d'équation complet est donc .

Répétez cette action pour tous les groupements et vous aurez votre équation simplifiée au maximum ! Si vous avez des 1 avec lesquels il est impossible de faire un groupement, alors faite comme si il était dans un groupement, notez l'équation des valeurs des variables qui ne changent pas, pour un 1 seul, aucune variable ne changera donc. (Par exemple, avec le "1 rouge", a et b valent tous les deux 0 et c et d valent 0 et 1, le bout d'équation est donc : .
Il est parfois possible de faire des groupements différents mais les résultats seront simplifiés au mêmes degrés.

Maintenant, je vous laisse réfléchir pour H1 ! Je vous met la réponse ci dessous.
Surtout n'hésitez pas à relire, au début ça semble difficile alors que en fait, c'est très simple.
(De plus, je ne suis pas très bon pédagogue :| ).

Solution de H1 :



Autre exemple

Soit l'équation suivante :
S = .
On peut déjà constater qu'il y a cinq variables et non plus quatre !
Voici à quoi ressemble une table de Karnaugh avec cinq entrées :



Vous pouvez constater que j'ai mis a,b et c sur les colonnes et d et e sur les lignes.
Ensuite, on rempli le tableau :



Voici comment procéder morceau par morceau :
- Rappelons déjà l'équation entière : S =
-> Pour a.b.c, j'ai pris la colonne où a, b et c valent 1 et je l'ai entièrement remplie, en effet, comme on ne me donne aucune information sur d et e, on rempli !
-> Pour a.b.c.d, j'ai pris la colonne où a, b, c valent 1 et les lignes où d vaut 1. Rien à remplir comme il y avait déjà des 1 placés à cause du premier morceaux.
On ne place pas plusieurs 1 dans une case même si les morceaux d'équations "le veulent".

-> Pour , j'ai pris les colonnes où a vaut 1 et la ligne où d vaut 0 et e 1.
-> Pour , j'ai pris les lignes où a vaut 1 et b vaut 0, et où d vaut 0 et e vaut 1 ; il n'y a rien besoin de placer, il y avait déjà les 1 !
Conclusion : l'équation a été beaucoup simplifiée et simplement !

Voila, j'espère que ce tutoriel vous a plu et que vous avez compris malgré mes difficultés pour écrire clairement...
Si vous avez un problème, n'hésitez pas à m'envoyer un message privé, j'y répondrai avec grand plaisir !

(Ben oui, ça fait plaisir de se savoir lu :D )


Mises à jour : 13 octobre 2009 : Ajout de LaTeX pour une meilleure lisibilité.
0
Powered by Tutorials 1.2.2 © 2014, by Michael McCune