# Logique combinatoire

* Cette page est une ébauche. Avant de recréer une ressource du même type, essayez d'abord de compléter celle-ci ; si c'est impossible, remplacez son contenu par le vôtre. Si vous êtes l'auteur(e) de cette page et que vous souhaitez la continuer, retirez ce bandeau.

## Objectifs

Approfondir la logique combinatoire notamment d'un point de vue automatisme.

## Niveau et prérequis conseillés

Leçon de niveau 14.
Les prérequis conseillés sont :
Portes logiques
Algèbre de Boole

## Introduction

D’un point de vue automatisme, la logique combinatoire est illustrée par une situation où toutes les combinaisons des variables d’entrée sont associées à un seul état logique des variables de sortie. Les sorties sont uniquement fonction des entrées.
Pour décrire des systèmes combinatoires, on utilise l’algèbre de Boole, ce qui signifie que nos entrées et nos sorties sont binaires. Elles auront donc la valeur 1 (vrai) ou la valeur 0 (faux). Quand un système est décrit par la logique combinatoire, on peut utiliser une table de vérité pour connaitre l’état des sorties en fonction de celui des différentes entrées.

## Les tables de vérité

Cet outil permet de lister l’intégralité des combinaisons d’entrées et leur sortie associée. Pour chaque système, il existe 2 puissances n combinaisons, où n représente le nombre d’entrées du système. Pour un système à 3 entrées, on aura donc la table de vérité suivante :
| a | b | c | S |
| 0 | 0 | 0 | X |
| 0 | 0 | 1 | X |
| 0 | 1 | 0 | X |
| 0 | 1 | 1 | X |
| 1 | 0 | 0 | X |
| 1 | 0 | 1 | X |
| 1 | 1 | 0 | X |
| 1 | 1 | 1 | X |
Les valeurs de sorties dépendront des différentes fonctions nécessaires pour décrire le système. Elles seront détaillées ci-dessous. Une fois les valeurs de sortie connues, une équation logique du système pourra être obtenue.

## Les opérations logiques

Ces opérations de base permettent de décrire n’importe quelle fonction logique
| Désignation | Opération logique | Symbole |
| Somme logique | OU logique | + |
| Produit logique | ET logique | . |
| Complément logique | NON logique | / |

## Les fonctions

Pour décrire, illustrer voire même automatiser un système, il existe plusieurs fonctions logiques . Elles vont être décrites ci-dessous. Pour chacune d’elles, on donnera aussi un schéma électrique, une table de vérité, un logigramme (symbole) et une équation logique.
| Fonction | Equation |
| ET (AND) | S = a . b |
| OU (OR) | S = a + b |
| NON (NO) | S = /a |
| OU exclusif (XOR) | S = a + b S = /a . b + a . /b |
| NON ET (NAND) | S = /a + /b |
| NON OU (NOR) | S = /a . /b |

## Une fois l’équation logique du système obtenue, il existe plusieurs règles pour simplifier son écriture.
### Théorèmes de De Morgan

“Le complément d’un produit logique est égal à la somme des compléments de chacun des membres du produit” :
/(a . b) = /a + /b
“Le complément d’une somme logique est égal au produit des compléments de chacun des membres de la somme” :
/(a + b) = /a . /b

## Exercice

Simplifier l’équation suivante :
/(a . b . c .d) =

### Réponse :

/a + /b + /c + /d
Identités remarquables
| a . 0 = 0 | a + 1 = 1 | a + a = a | a + /a = 1 |
| a + 0 = a | a . 1 = a | a . a = a | a . /a = 0 |
| //a = a | a + a . b = a | a + /a . b = a + b | a . ( a + b) = a |

## Simplification avec le tableau de Karnaugh

L’utilisation des tableaux de Karnaugh permet de simplifier graphiquement des équations logiques ou trouver l’équation logique correspondant à une table de vérité.
À savoir qu’en dessous de 3 variables, il est préférable d’utiliser les simplifications par l’algèbre de Boole.
À partir de 6 variables, les tableaux deviennent de plus en plus imposants.
Dans ce cours nous nous concentrerons sur les tableaux à 4 variables.
Construire le tableau :
4 variables (A, B, C, D)
Par exemple on a la table de vérité suivante :
Pour n variables il faut construire un tableau 2n (2, 4, 8, 16 cases...), soit dans notre exemple 24=16cases. A savoir qu’il faut utiliser le binaire réfléchi pour remplir le tableau :
Maintenant on remplit le tableau par l’état S à l’aide de la table de vérité :
-Exemple avec la 1ère ligne de la table de vérité :
-Tableau entièrement rempli :
Simplifier le tableau :
Pour simplifier le tableau il faut faire des regroupements de 2n cases. Les regroupements sont forcément des rectangles ou carrés.
Exemples de regroupements possibles :
Dans notre exemple nous avons donc les regroupements suivants :
L’équation logique est la somme de chaque regroupement.
S = Bleu + Rouge + Vert
Regroupement bleu :
B=0 ce qui donne /B
A=0 ou 1
D=0 ce qui donne /D
C=0 ou 1
Comme B et D sont toujours égale à 0 on a : /B./D
Regroupement rouge :
B=1 ce qui donne B
A=0 ou 1
D=1 ce qui donne D
C=0 ou 1
Comme B et D sont toujours égale à 1 on a : B.D
Regroupement vert :
A=0 ce qui donne /A
B=1 ce qui donne B
D=1 ce qui donne D
C=0 ou 1
Comme A, B et D sont toujours égale à 0 ou 1 on a : /A.B.D
Au final on a l’équation logique suivante : S = /B./D + B.D + /A.B.D =

## Obtention de l’équation logique d’un système

Pour obtenir l’équation logique d’un système, on applique la démarche suivante :
* Lister les entrées et les sorties
* Créer et remplir la table de vérité
* Celle-ci permet d’obtenir une équation non simplifiée
* À partir des théorèmes ou d’un tableau de Karnaugh, simplifier l’équation obtenue à l’étape précédente

## Exercice

Considérons un système combinatoire composé d’un voyant lumineux L, de deux interrupteurs x et y et d’un capteur de mouvement noté c. Le voyant ne s’allume que lorsque le capteur est activé et lorsque au moins un des deux interrupteurs est enclenché.
Construire la table de vérité du système.
Construire le tableau de Karnaugh et en déduire l’équation de fonctionnement associée.

### Solutions

Table de vérité :
Tableau de Karnaugh :
Equation : L = c . x + c . y --> c . (x + y)

## Liens utiles :

https://fr.wikiversity.org/wiki/Logique_combinatoire_et_algèbre_de_Boole
http://hebergement.u-psud.fr/villemejane/IOGS/EITI/S6-ETI/GEII_ElecNum/GEII_ElecNum_Combi_Diapo.pdf
https://electrotoile.eu/logique_combinatoire.php
http://cira-couffignal.fr/archives/archives2012-2013/fichiers-coursAutomTS1/AUTOMATISME%20COMBINATOIRE%20version%204.pdf
https://www.electronique-mixte.fr/wp-content/uploads/2018/07/Formation-GRAFCET-cours-13.pdf
https://fr.wikipedia.org/wiki/Fonction_logique#Repr.C3.A9sentation_graphique

### Algèbre de Boole :

https://fr.wikiversity.org/wiki/Logique_de_base/Algèbre_de_Boole
https://fr.wikiversity.org/wiki/Logique_de_base/Exercices/Algèbre_de_Boole

### Tableau de Karnaugh :

https://fr.wikibooks.org/wiki/Fonctionnement_d%27un_ordinateur/Les_circuits_combinatoires#Les_tableaux_de_Karnaugh
https://fr.wikiversity.org/wiki/Logique_de_base/Introduction#Le_tableau_de_Karnaugh
https://fr.wikiversity.org/wiki/Logique_de_base/Exercices/Tableau_de_Karnaugh_1