Boîte à outils |
Algèbre de Boole (logique)L'algèbre de Boole est la partie des mathématiques, de la logique et de l'électronique qui s'intéresse aux opérations et aux fonctions sur les variables logiques. Le nom provient de George Boole, un mathématicien britannique qui, durant le milieu du XIXe siècle, restructura complètement la logique en un système formel. Plus spécifiquement, l'algèbre booléenne permet d'utiliser des techniques algébriques pour traiter les expressions à deux valeurs de la logique des propositions. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques. Elle fut utilisée la première fois pour les circuits de commutation téléphoniques par Claude Shannon. L'algèbre de Boole des fonctions logiques permet de modéliser des raisonnements logiques, en exprimant un « état » en fonction de conditions. Par exemple :
L'algèbre de Boole étant un domaine commun à trois disciplines, on rencontre des notations différentes pour désigner un même objet. Dans le reste de l'article, on indiquera les diverses notations, mais on en privilégiera une pour conserver une certaine homogénéité.
[modifier] Algèbre de Boole des valeurs de véritéOn appelle B l'ensemble constitué de deux éléments appelés valeurs de vérité {VRAI, FAUX}. Cet ensemble est aussi noté
On priviligiera dans la suite la notation B = {1, 0}. Sur cet ensemble on peut définir deux lois (ou opérations ou foncteurs), les lois ET et OU et une transformation appelée le complémentaire, l'inversion ou le contraire. [modifier] La loi ET, dite conjonctionElle est définie de la manière suivante : a ET b est VRAI si et seulement si a est VRAI et b est VRAI. Cette loi est aussi notée
On privilégiera dans la suite la notation On peut construire la table de cette loi (comme une table d'addition ou de multiplication de notre enfance) mais on ne la confondra pas avec une table de vérité.
[modifier] La loi OU, dite disjonction ou disjonction inclusiveElle est définie de la manière suivante : a OU b est VRAI si et seulement si a est VRAI ou b est VRAI. (si a est vrai et que b est vrai aussi, alors a OU b est vrai.) Cette loi est aussi notée
On privilégiera dans la suite la notation
[modifier] Le contraire, dite négationLe contraire de "a" est VRAI si et seulement si a est FAUX. Le contraire de a est noté
On privilégiera dans la suite la notation On obtient alors [modifier] Propriétés[modifier] AssociativitéComme avec les opérations habituelles, certaines parenthèses sont inutiles: [modifier] CommutativitéL'ordre est sans importance. [modifier] DistributivitéComme avec les opérations habituelles, il est possible de distribuer : [modifier] Idempotencea + a + a + [...] + a = a [modifier] Élément Neutrea + 0 = a [modifier] Élément Nullité0.a = 0 [modifier] Absorptiona + a.b = a [modifier] Simplification
[modifier] Redondance
[modifier] Complémentarité
[modifier] StructureOn retrouve alors toutes les propriétés qui confèrent à B une structure d'algèbre de Boole [modifier] PrioritéPour faciliter leur compréhension, il a été décidé que ces opérations seraient soumises aux mêmes règles que les opérations « de tous les jours », la fonction ET (multiplication logique) est ainsi prioritaire par rapport à la fonction OU (somme logique) ; on peut, pour s'aider, placer des parenthèses dans les opérations.
[modifier] Théorème de De Morgan
[modifier] Fonctions logiquesMathématiquement, une fonction logique ou opérateur logique est une application de Bn dans B. En électronique, une fonction logique est une boîte noire qui reçoit en entrée un certain nombre de variables logiques et qui rend en sortie une variable logique dépendant des variables d'entrée. L'article fonction logique précise comment construire les boîtes noires de quelques fonctions fondamentales. Une table de vérité permet de préciser l'état de la sortie en fonction des états des entrées. On démontre que toute fonction logique peut se décrire à l'aide des trois opérations de base. [modifier] Fonctions logiques fondamentalesElles sont issues des trois opérations de base et définissent alors
[modifier] Fonctions logiques composéesCe sont les fonctions logiques à deux variables. Parmi celles-ci, on en dénombre certaines suffisamment intéressantes pour qu'on leur donne un nom. [modifier] OU exclusif, dit disjonction exclusiveLe OU étudié jusqu'à présent doit se comprendre de la manière suivante : « l'un ou l'autre ou les deux ». Il est également appelé « OU inclusif ». Le OU exclusif (ou XOR pour ' eXclusive OR') s'entend comme : « l'un ou l'autre mais pas les deux ». Il se compose de la manière suivante :
Le « ou exclusif » est parfois noté par le signe arithmétique [modifier] ÉquivalenceL'équivalence (notée EQV) est vraie si les deux entrées ont la même valeur et fausse sinon. Elle est appelée aussi «non-ou exclusif » Elle se compose comme suit : On peut aussi dire que :
Il arrive que l'équivalence soit notée par le signe [modifier] ImplicationL'implication (notée IMP) s'écrit de la manière suivante :
Cette opération n'est pas commutative. a est une condition suffisante pour b, qui, elle, est une condition nécessaire pour a. Mais Illustration : de l'affirmation
on peut conclure
mais on ne peut pas en déduire
car on ne sait pas si je n'aime pas me promener aussi sous la pluie.
[modifier] InhibitionL'inhibition (notée INH) se compose comme suit : Cette opération n'est pas commutative.
[modifier] Exemple de fonctions logiques à trois ou quatre variables[modifier] Fonction logique à trois variablesSi on reprend l'exemple du téléphone, on se trouve en présence de 3 variables :
la variable d = "on décroche" est fonction logique des 3 précédentes. On écrira que
car on décroche quand ça sonne et qu'on a envie de répondre ou quand on a envie d'appeler quelqu'un. La table de vérité de cette fonction d est alors la suivante :
L'observation de la table montre que notre analyse première comportait une situation absurde: le téléphone sonne, on a envie d'appeler quelqu'un, mais on n'a pas envie de répondre et on décroche quand même. Cela n'est certainement pas le comportement souhaité, il est donc préférable de modifier la fonction décrocher de façon à ce qu'on obtienne le tableau suivant:
En lisant le procédé de la simplification des expressions ci-dessous, vous verrez que la formule de décrocher2 correspond à [modifier] Fonction logique à quatre variablesUn bon élève s'interroge s'il est sage de sortir un soir. Il doit décider en fonction de quatre propositions :
Cet élève pourra sortir si :
Donc l'expression logique de sortir en fonction de l'état des variables a, b, c et d ; et elle peut s'écrire ainsi :
[modifier] Minimisation d'une expressionUne fonction logique peut être déterminée
Exemple: Dans l'exemple de "téléphoner2", on s'aperçoit que le résultat est à 1 quand (a, b, c) = (0, 0, 1) ou (0, 1, 1) ou (1, 1, 0) ou (1, 1, 1).
Il est alors intéressant de trouver une expression minimisant le nombre de termes et le nombre de lettres dans chaque terme. C'est l'objectif de certaines techniques comme la méthode de Quine-Mc Cluskey, les diagrammes de Karnaugh… Exemple (suite) : la somme précédente peut être réduite en par factorisation des deux premiers termes par [modifier] Arbre d'expressionLes expressions logiques sont souvent représentées en informatique sous forme d'arborescence. Cette dernière comporte un sommet (la racine en fait) auquel sont rattachés différents sous arbres (ou branches). Les bifurcations sont des sommets internes. Le nombre de sous-arbres reliés à un même sommet est appelé arité. Les sommets sans issue sont appelés feuilles. Chaque sommet interne est identifié par un opérateur booléen alors que les feuilles représentent les variables qui subissent ces opérations. [modifier] Voir aussi
[modifier] Lien externe |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||