Sciences de l'Ingénieur · Bac Sciences Mathématiques B

Les Systèmes Combinatoires — Cours, Karnaugh et Exercices

L'algèbre de Boole, les tables de vérité et les tableaux de Karnaugh pour analyser et simplifier les fonctions logiques d'un système automatisé.

Objectifs d'apprentissage

  • Établir la table de vérité d'une fonction logique à partir d'un cahier des charges
  • Utiliser les opérateurs de base (ET, OU, NON) et universels (NAND, NOR) et tracer leurs symboles normalisés
  • Appliquer les théorèmes de l'algèbre de Boole (commutativité, associativité, distributivité, absorption, lois de De Morgan) pour transformer une expression logique
  • Construire un tableau de Karnaugh à 2, 3 ou 4 variables et y placer les valeurs d'une table de vérité
  • Simplifier une fonction logique par regroupement de cases adjacentes (1, 2, 4, 8 cases) dans un Karnaugh, y compris avec des cases indéterminées
  • Passer de l'équation logique simplifiée au logigramme (schéma à portes logiques)
  • Reconnaître les fonctions combinatoires usuelles : multiplexeur, décodeur, additionneur, comparateur

Formules et résultats clés

Opérateurs de base et universels

Un système combinatoire est un circuit dont chaque sortie ne dépend que des entrées présentes à l'instant considéré, sans aucune mémoire de l'état passé. Les trois opérateurs de base sont ET (produit logique, noté ·), OU (somme logique, noté +) et NON (complément, noté avec une barre au-dessus). Les opérateurs NAND (NON-ET) et NOR(NON-OU) sont dits universels : n'importe quelle fonction logique peut être réalisée en n'utilisant qu'un seul de ces deux opérateurs.

Théorèmes de l'algèbre de Boole

Commutativité : A·B = B·A, A+B = B+A.

Distributivité : A·(B+C) = A·B + A·C.

Absorption : A + A·B = A, et A·(A+B) = A.

Complémentarité : A + NON(A) = 1, et A·NON(A) = 0.

Lois de De Morgan : NON(A·B) = NON(A) + NON(B), et NON(A+B) = NON(A)·NON(B).

Tableau de Karnaugh

Le tableau de Karnaugh range les 2ⁿ combinaisons de n variables dans une grille où deux cases adjacentes (y compris sur les bords opposés, le tableau étant cyclique) ne diffèrent que par la valeur d'une seule variable — les entêtes de ligne et de colonne suivent l'ordre du code Gray (00, 01, 11, 10) et non l'ordre binaire naturel. On y reporte 1 dans chaque case où la fonction vaut 1, puis on regroupe les 1 adjacents par blocs de taille une puissance de 2 (1, 2, 4, 8 cases), en cherchant systématiquement les plus grandsgroupements possibles. Chaque groupement élimine la ou les variables qui changent de valeur à l'intérieur du bloc ; l'équation simplifiée est la somme des termes restants pour chaque groupement retenu.

Fonctions combinatoires usuelles

  • Multiplexeur : sélectionne une des 2ⁿ entrées de données vers une sortie unique, selon un code de sélection à n bits.
  • Décodeur : active une seule sortie parmi 2ⁿ selon un code d'entrée à n bits — fonction inverse du multiplexeur.
  • Additionneur : le demi-additionneur combine 2 bits (somme et retenue) ; l'additionneur complet ajoute en plus une retenue entrante.
  • Comparateur : compare deux nombres binaires et produit trois sorties possibles (égal, supérieur, inférieur).
AB=A+B;A+B=AB\overline{A \cdot B} = \overline{A} + \overline{B} \quad ; \quad \overline{A + B} = \overline{A} \cdot \overline{B}

Erreurs fréquentes

1

Oublier qu'un regroupement dans un Karnaugh doit toujours contenir une puissance de 2 cases (1, 2, 4, 8...) — un groupe de 3 cases n'a aucun sens et ne simplifie rien.

2

Mal appliquer les lois de De Morgan : NON(A·B) = NON(A) + NON(B), et NON(A+B) = NON(A)·NON(B) — inverser un produit donne une somme des compléments, pas un produit des compléments.

3

Oublier l'ordre du code Gray sur les bords d'un tableau de Karnaugh (00, 01, 11, 10, pas 00, 01, 10, 11) : sans cet ordre, les cases adjacentes physiquement ne correspondent plus à une seule variable qui change.

4

Ne pas vérifier le caractère cyclique du tableau : les cases des bords opposés (première et dernière colonne, première et dernière ligne) sont adjacentes et peuvent former un groupement.

5

Chercher le plus petit nombre de groupements plutôt que les plus grands groupements possibles : un Karnaugh minimal privilégie toujours les groupes les plus grands, quitte à ce qu'ils se chevauchent.

6

Confondre un multiplexeur (sélectionne une entrée parmi plusieurs vers une seule sortie) et un décodeur (active une seule sortie parmi plusieurs selon un code d'entrée) — ce sont des fonctions inverses l'une de l'autre.

Exemple corrigé — Détecteur de niveau

Énoncé

Un réservoir possède deux capteurs de niveau : a (capteur bas, actif si le niveau est au-dessus du bas) et b(capteur haut, actif si le niveau est au-dessus du haut). Une alarme S doit s'activer uniquement lorsque le niveau est entre les deux capteurs (a actif, b non actif) OU lorsque les deux capteurs sont défaillants et indiquent tous deux 0 alors que le réservoir est en fait plein (cas à traiter comme S=1 également, noté X car improbable en fonctionnement normal). Établir la table de vérité, le Karnaugh, et simplifier S.

Correction

Table de vérité sur (a, b) : (0,0)→X (cas indéterminé signalé dans l'énoncé), (0,1)→0 (impossible physiquement mais si câblé, pas d'alarme), (1,0)→1 (niveau intermédiaire, alarme), (1,1)→0 (réservoir plein, pas d'alarme).

Dans le Karnaugh à 2 variables, la case (a=1, b=0) contient 1, la case (a=0, b=0) contient X. Le X est adjacent à la case à 1 (elles ne diffèrent que par la variable a) : on peut regrouper ces deux cases pour éliminer a. Ce groupement donne S = NON(b).

Équation simplifiée : S = NON(b). Le circuit ne nécessite finalement qu'un inverseur sur le capteur haut — le capteur bas n'intervient plus dans le logigramme final.

3 exercices pour t'entraîner

Exercice 1

Facile

Écrire la table de vérité de la fonction S = A·B + NON(A)·C pour les entrées A, B, C, puis donner la valeur de S pour A=1, B=0, C=1.

Voir la correction

Pour A=1, B=0, C=1 : A·B = 1·0 = 0, et NON(A)·C = 0·1 = 0. Donc S = 0 + 0 = 0. La table complète comporte 8 lignes (2³ combinaisons) ; S vaut 1 chaque fois que A=1 ET B=1 (indépendamment de C), ou chaque fois que A=0 ET C=1 (indépendamment de B).

Exercice 2

Moyen

Simplifier l'expression S = A·B + A·NON(B) à l'aide des théorèmes de l'algèbre de Boole (sans Karnaugh).

Voir la correction

S = A·B + A·NON(B) = A·(B + NON(B)) [distributivité, mise en facteur de A] = A·1 [complémentarité : B + NON(B) = 1] = A. La fonction ne dépend en réalité que de A ; B n'a aucune influence sur la sortie.

Exercice 3

Difficile

Une fonction de 3 variables A, B, C vaut 1 pour les combinaisons suivantes (dans l'ordre ABC) : 001, 011, 101, 111, et vaut 0 partout ailleurs. Construire le tableau de Karnaugh et donner l'équation simplifiée.

Voir la correction

Les 4 combinaisons à 1 sont celles où C=1, quelles que soient A et B (001, 011, 101, 111 ont toutes C=1 ; les 4 autres combinaisons, où C=0, valent 0). Dans le Karnaugh (A en ligne sur {0,1}, BC en colonne sur {00,01,11,10}), les 4 cases où C=1 forment un unique groupement de 4 cases adjacentes (colonnes BC=01 et BC=11, pour A=0 et A=1). Ce groupement élimine A et B : l'équation simplifiée est S = C.

3 exercices, c'est un début.

Orka en génère autant que tu veux sur ce chapitre, à ton niveau, avec correction détaillée étape par étape.

Continue gratuitement sur Orka

Va plus loin sur ce chapitre

Questions fréquentes

Qu'est-ce qu'un système combinatoire, par opposition à un système séquentiel ?

Un système combinatoire est un circuit logique dont les sorties ne dépendent que des entrées présentes à un instant donné, sans aucune mémoire de l'état passé. Un système séquentiel, lui, possède une mémoire (bascules) et ses sorties dépendent aussi de son état interne — c'est l'objet du chapitre suivant.

Pourquoi utiliser un tableau de Karnaugh plutôt que l'algèbre de Boole directement ?

Le tableau de Karnaugh organise géométriquement les combinaisons d'entrées de sorte que les cases adjacentes ne diffèrent que d'une variable. Cela rend le regroupement des 1 (donc la simplification) visuel et systématique, alors que la simplification algébrique demande de deviner quelle identité de Boole appliquer à chaque étape.

Que faire des cases indéterminées (« don't care », notées X) dans un Karnaugh ?

Une case X correspond à une combinaison d'entrées qui ne se produit jamais en pratique (ou dont la valeur de sortie n'a pas d'importance). On peut l'inclure dans un groupement de 1 si cela l'agrandit et simplifie l'équation, ou l'ignorer si elle n'aide pas — le choix se fait au cas par cas pour obtenir le groupement le plus grand possible.