Algèbre de Boole

Auteur et date de la dernière mise à jour de la page. EC @ IV.2008
Lecture(s) conseillée(s) avant d'attaquer le présent chapitre. Aucune base requise
Liste des mots et notions définis tout au long de cette page.

Alors voilà...

"Une proposition peut être vraie OU fausse, mais ne peut pas être vraie ET fausse".

Non, non, et non, cette phrase n'est pas extraite des Mémoires du Seigneur de la PaliceMaréchal de France, moins connu sous le nom de Jacques de Chabannes [~1470-1525] qui, s'il avait su ce que l'Histoire ferait de son nom, ne se serait sûrement pas fendu la cuirasse à si vaillamment servir Charles VIII, Louis XII et François Ier !. Cette dépotante évidence est signée... Aristote [~384~322] !
Et oui ! Parfaitement, M'sieurs Dames ! De la Logique aristotélicienne ! De la Sagesse 100% grecque ! De la vraie Philosophie péripatéticienne et deux fois millénaire... Un minimum de respect, donc.

Comment ça, "vérité de comptoir" ? Douteriez-vous du très haut intérêt de ce genre de désarmante tautologie ? Et pourtant ! Avec sa jugeote pour seul diplôme, un certain George Boole a bâti sur ce truisme les axiomes d'une algèbre assez révolutionnaire dont les théories, lorsqu'elles se marieront aux technologies de l'électronique près d'un siècle plus tard, donneront naissance à une machine assez prometteuse appelée ordinateur.

Truisme, axiomes, tautologie... No panic ! L'algèbre de Boole, quand on sait laEt oui, "algèbre", comme tout ce qui est un peu mystérieux, est du genre féminin. prendre, est d'une logique déconcertante. Nul besoin, donc, à l'évocation de Boole, de flipperpfffff....

Arcana Percipio vous propose aujourd'hui un circuit touristique inédit, un voyage initiatique depuis les Mathématiques les plus abstraites jusqu'aux tripes électroniques de votre puce préférée.
Thermos de café recommandé...

L'algèbre booléenne

Boole, qui est-cePardon ? ?

George Boole. Ici sans son cocker...George Boole nait en 1815 à Lincoln, Angleterre.
A ses débuts, le petit Boole verse plutôt dans le LatinAujourd'hui, le Latin a été remplacé par Super Mario contre les Lapins Crétins.
Le progrès, sans doute...
, son premier amour, et c'est plus âgé qu'il se tourne vers les Mathématiques. Totalement autodidacte, son étude sur les équations différentielles lui vaut une chaire à l'université de Cork.

En 1854, sa publication "An investigation into the Laws of Thought, on Which are founded the Mathematical Theories of Logic and ProbabilitiesLe livre de Boole, in extenso." parvient à marier de manière éclatante les mathématiques à la logique, jusqu'alors considérée comme discipline philosophique.

Honoré à Oxford, Boole devient membre de la "Royal Society" la même année, mais meurt précocement, en 1864, des suites des théories de Madame Boole..qui n'était pas d'origine brésilienne, non. Juste une sommité de la médecine alternative.
Normal, pour une nièce de Sir Everest...
sur la meilleure manière de guérir une grippe.

Les lois de la pensée

Pour un non-cartésien comme l'auteur de cette page, le meilleur moyen d'approcher Boole, c'est encore de l'attaquer par derrière, l'air de rien, en faisant mine de s'amuser avec quelques dessins. Quels dessins ? Des dessins de partiesOui, tout cela est plutôt logique..., ou pour parler doctoralement, de sous-ensembles. Nous allons donc procéder de la sorte, entremêlant de façon pratique quoique fort peu scientifique algèbre de Boole et théorie des ensembles.
Normalement, ça ne fait pas malSi, néanmoins, un mathématicien devait se blesser en lisant ces lignes, il peut toujours (1) gentiment demander à l'auteur de cette page de cesser de martyriser ainsi les Saintes Mathématiques ou (2) charitablement lui indiquer comment adoucir les éventuelles aberrations de ce récit.
En tout cas, nous demanderons à ce maître en Boole de s'en abstenir, justement...
.

Les parties de Boole

A la source de l'inspiration de Boole, l'intime conviction que l'algèbre traditionnelle, celle qu'il baptise lui-même "l'algèbre d'école", n'est rien d'autre que l'application aux nombres de schémas de pensée plus fondamentaux par lesquels l'esprit humain manipule, combine et redéfinit ses concepts logiques (que Boole appelle classes) selon les lois immuables de la pensée ("the laws of thought").

De manière fort simple, nous pourrions définir une classe comme l'ensemble de tous les éléments partageant un même nom ou une même caractéristique, comme par exemple "les êtres humains", "les rivières"...exemples gracieusement apportés par Boole lui-même dans son ouvrage., "les cornets à piston", "les jours de grève à la SNCF"...ça, c'est une touche personnelle de l'auteur de cette page., etc.

Ceci convenu, en imaginant deux classes A et B quelconques, Boole définit trois opérations fondamentales de l'esprit susceptible de s'exercer sur elles:

Somme mais pas addition

Attention ! Bien que leur nom et leur symbole nous y poussent, ne confondons pas la somme et le produit logiques avec la somme et le produit arithmétiques, tels que nous les connaissons. Les premiers s'exercent sur des classes, les seconds sur des nombres.

  • Le produit logique, que nous noterions A x B (ou A . B, ou encore AB), définissant la classe des éléments obéissant simultanément aux définition des classes A et B;
  • Produit de première urgence

    En absence de toute parenthèses explicites, le produit logique est prioritaire sur la somme logique.
    Ainsi, (A.B)+C peut donc également s'écrire A.B+C.

  • La somme logique, que nous noterions A + B, définissant la classe des éléments obéissant à l'une ou l'autre des définitions des classes A et B;
  • La complémentation, que nous noterions A (ou B), définissant la classe des éléments n'obéissant pas à la définition de la classe A (ou B).

 

Mais ne nous emballons pas et appuyons-nous pour continuer sur l'exemple des deux classes suivantes:

  • La classe A définie comme "les chasseurs",
  • La classe B définie comme "les myopes".

Partant de ces deux simples définitions, nous pouvons très facilement, par le jeu de notre seule pensée, définir quatre autres classes:

Il existe un moyen très visuel de traduire ces concepts un peu abstraits: il consiste à considérer les classes de Boole comme des ensemblesL'idée n'est pas si niaise puisqu'un grand mathématicien anglais, John Venn [1834-1923] nous a d'ailleurs précédés.. Dès lors, les opérations fondamentales de Boole prennent des noms plus familiers à nos souvenirs scolaires:

  • La somme logique de deux classes se traduit par l'union (∪) entre les deux ensembles correspondants,
  • Le produit logique par l'intersection (∩),
  • La complémententation par... le complément.
     
Représentation graphique des opérateurs booléens de base (diagramme dit d'Euler-Venn).

Survolez les différentes classes ou expressions afin de visualiser leur équivalent graphique.

Comme nous manipulons ici des ensembles plutôt que des classes, nous prendrons la précaution préalable de définir E comme l'ensemble référentiel, celui contenant tous les autres.

Les évidences booléennes

Avec un poil de curiosité mathématique, nous pourrions facilement constater que ces opérations fondamentales obéissent à quelques propriétés plus ou moins classiques mais si foncièrement évidentes qu'indémontrables.
Ce sont les axiomes de l'algèbre booléenne.

L'ABC de la chasseAinsi, en reprenant nos deux classes exemples A ("les chasseurs") et B ("les myopes") et en y ajoutant pour l'occasion une troisième classe C définie comme "les buveurs excessifs", on ne peut nier que:

Avec un effort de curiosité supplémentaire, nous pourrions même sans trop de problème imaginer l'existence de deux classes "remarquables", notons les "0" et "1" qui, quelle que soit la classe A, vérifieraient toujours:

  • A + 0 = A
    Dans l'esprit de Boole, cet élément 0 correspondait à une sorte de classe impossible, mais sur nos petits dessins à nous, on l'assimilera à l'élément vide {Ø}.
  • A . 1 = A
    Pour Boole, cet élément 1 symbolisait la classe universelle, un espèce de grand Tout. Moins ambitieux, nous l'assimilerons sur nos dessins à E, la totalité du référentiel.

Un bon mathématicien dirait alors de 0 et 1 qu'ils sont éléments neutres: 0 à l'égard de la somme logique (+), et 1 à l'égard du produit logique (.).
Et le lascar en profiterait sans doute pour pour nous asséner un dernier axiome bien senti, tout aussi évident que les autres, qu'il appellerait axiome de la complémentation et qui dirait, de manière bien moins poétique qu'Aristote, que:

Comme pour nous rassurer, ces cinq axiomes fondamentaux de l'algèbre de Boole sont tous confirmés par nos modestes petits dessins. Nous verrons par la suite pourquoi ceci (nos dessins) explique si bien cela (l'algèbre de Boole).

Bon ! Maintenant, quelques minutes d'intense phosphorage neuronal...
Ça risque de secouer un brin...

Les théorèmes de l'algèbre booléenne

A partir des lois booléennes fondamentales et évidentes que nous venons de détailler, il est tout à fait possible, à l'aide de raisonnements logiques appelés démonstrations, d'établir quelques autres propositions utiles que nous appellerons théorèmes de l'algèbre de Boole:

  • Théorème de l'unicité du complément: pour toute classe A, il existe une et une seule classe A telle que:
    A + A = 1 et A . A = 0
  • Démonstration

    Postulons qu'il existe une autre classe A' que A vérifiant à la fois A + A' = 1 et A . A' = 0.

    Si A + A' = 1, on a aussi A .(A + A') = A . 1 (en faisant apparaître le terme A de part et d'autre de l'égalité)

    1 étant élément neutre pour le produit logique, on a bien A . (A + A') = A . 1 = A

    et, en distribuant: A . (A + A') = A . A + A . A' = A

    Or, d'après l'axiome de la complémentation, on a A . A = 0

    d'où, 0 étant élément neutre pour la somme logique: A . A' = A, qu'on garde bien au chaud (*)... 
     

    D'autre part, l'axiome de la complémentation nous dit que A + A = 1.

    En ajoutant le terme A' de part et d'autre de l' égalité, on obtient: (A + A) . A' = 1 . A'

    1 étant élément neutre pour le produit logique, on a: (A + A) . A' = 1 . A' = A',

    il vient, en distribuant: (A + A) . A' = A . A' + A . A' = A'

    Comme, selon notre postulat, A . A' = 0

    0 étant élément neutre pour la somme logique, on obtient A . A' = A'

    d'où, en nous rappelant à point nommé l'égalité (*), il vient: A = A'
    CQFD !

    Boirais bien un truc, moi...

  • Théorème de l'idempotence: pour toute classe A, on a A + A = ALa classe des chasseurs et des chasseurs est la classe des chasseurs. et A . A = ALa classe des chasseurs chasseurs est la classe des chasseurs..
    Boole appelait "loi fondamentale de la pensée" cette déstabilisante égalité A² = A.
  • Démonstration

    Vérifions d'abord que A + A = A.
    Nous savons que A = 0 + A puisque 0 est élément neutre pour la somme logique.

    Selon l'axiome de la complémentation A . A = 0, on a donc aussi A = A . A + A

    En distribuant, on obtient: A = (A + A) . (A + A)

    Or, selon l'axiome de la complémentation A + A = 1, il vient donc A = (A + A) . 1

    Et comme 1 est élément neutre pour le produit logique, on trouve bien: A = A + A

    Vérifions ensuite que A . A = A
    1 étant élément neutre pour le produit logique, on a A = 1 . A

    Or, selon l'axiome de la complémentation, 1 = A + A, et donc A = (A + A) . A

    En distribuant, il vient: A = (A . A) + (A . A)

    Or, d'après l'axiome de la complémentation, A . A = 0, d'où A = (A . A) + 0

    Et 0 étant élément neutre pour la somme logique, on retrouve bien A = A . A

  • Unicité des compléments des constantes 0 et 1: 0 = 1 et 1 = 0
  • Théorèmes des éléments absorbants: A + 1 = 1La classe des chasseurs et de tout le reste est la classe de tout. et A . 0 = 0La classe des chasseurs parmi rien est rien.
  • Démonstration

    Selon l'axiome de la complémentation, A + A = 1

    En ajoutant le terme A de part et d'autre de l'égalité, on a donc A + (A + A) = 1 + A

    Ce qui peut également s'écrire, selon l'axiome de l'associativité: (A + A) + A = 1 + A

    Or, A + A = A nous dit le théorème de l'idempotence, on a donc A + A = 1 + A

    Et puisque l'axiome de la complémentation nous dit que A + A = 1, on retrouve bien 1 + A = 1.

  • Théorèmes de l'involution: A = ALa classe des non-non-chasseurs est la classe des chasseurs.
  • Théorèmes d'absorption: A + A . B = ALa classe des chasseurs et des chasseurs myopes est la classe des chasseurs. et A .(A + B) = ALa classe des chasseurs parmi les chasseurs et les myopes est la classe des chasseurs.
  • Démonstration

    D'après l'axiome de l'élément neutre: A = A . 1
    En faisant apparaître le terme A . B de part et d'autre de l'égalité, on trouve A + A . B = A . 1 + A . B
    Ce que l'axiome de la distributivité nous permet d'écrire A + A . B = A . (1 + B)
    Or, 1 est élément absorbant pour la somme logique, d'où 1 + B = 1, et élément neutre pour le produit logique, d'où A . 1 = A
    On retrouve donc bien A + A . B = A

  • Théorème de la redondance: A . B + A . C = A . B + A . C + B . CBon ! On va vous demander de nous croire sur ce coup là...
  • Démonstration

    Sachant que X + X . Y = X (théorème d'absorption), en posant X = A . B et Y = C, on trouve A . B + A . B . C = A . B

    et en posant X = A . C et Y = B, on trouve A . C + A . C . B = A . C

    D'où, en ajoutant les deux égalités: A . B + A . C = (A . B + A . B . C) + (A . C + A . C . B)

    Soit, conformément à l'axiome de la distributivité: A . B + A . C = A . B + A . C + (A + A) . B . C

    Or, selon l'axiome de la complémentation: A + A = 1

    1 étant élément neutre pour le produit logique, on retrouve bien A . B + A . C = A . B + A . C + B . C

Ajoutons à cette liste deux théorèmes importants, dits théorèmes de Morgan, fruits des travaux du mathématicien anglais Augustus de MorganAuteur du désopilant Formal Logic (1847). [1806-1871], qui annoncent que:

  • le complément d'une somme logique est égal au produit logique des compléments: A + B = A . BLa classe de tous ceux qui ne sont ni chasseurs ni myopes est la classe des non-chasseurs parmi les non-myopes.
  • le complément d'un produit logique est égal à la somme logique des compléments: A . B = A + BLa classe de tous ceux qui ne sont pas chasseurs myopes est la classe des non-chasseurs auxquels s'ajoutent les non-myopes.
  • Attention ! Purs littéraires s'abstenir...

    Démonstration

    Si A . B est bien le complément de A + B, nous devrions retrouver nos axiomes de la complémentation: A + A = 1 et A . A = 0.

    Commençons par démontrer que A + B + A . B = 1

    Utilisons pour cela le théorème de redondance X . Y + X . Z = X . Y + X . Z + Y . Z

    En posant X = A, Y = B et Z = 1, on retrouve A . B + A . 1 = A . B + A . 1 + B . 1

    soit, puisque 1 est élément neutre pour le produit logique: A . B + A = A . B + A + B

    Et en ajoutant le terme B à de part et d'autre de l'égalité: A . B + A + B = A . B + A + B + B

    Sachant que B + B = 1, il vient: A . B + A + B = A . B + A + 1

    Or, 1 étant élément absorbant pour la somme logique A on a: A . B + A + 1 = 1

    et, donc, bien: A . B + A + B = 1

    Et d'une !

    Démontrons maintenant que A + B . (A . B) = 0

    L'axiome de la distributivité nous permet d'écrire: (A + B) . A . B = A . B . A + A . B . B

    Et celui de la commutativité: (A + B) . A . B = (A . A) . B + A . (B . B)

    Or, on sait grâce à l'axiome de la complémentation que A . A = B . B = 0, on a donc (A + B) . A . B = 0 . B + 0 . A

    Et, grâce au théorème des éléments absorbants, que 0 . A = 0

    D'où (A + B) . A . B = 0 (et de deux !)

    Pffff... Décidément, je ne suis vraiment pas fait pour ce genre de trucs...

Ces théorèmes de Morgan illustrent une particularité fascinante de l'algèbre booléenne: le principe de dualité. Selon ce principe, pour toute égalité E vérifiée dans l'algèbre de Boole, il existe une égalité E*, appelée duale, qui se trouve également vérifiée. Celle-ci, qui plus est, se retrouve quasi immédiatement à partir de E puisqu'il suffit en effet:

  • de permuter les opérateurs (+) et (.)
  • de permuter les constantes 0 et 1

La confiance règne...

Vérification
  • Axiome des élément neutres: A + 0 = A (E) et A . 1 = A (E*)
  • Axiome de la complémentation: A + A = 1 (E) et A . A = 0 (E*)
  • Théorème de l'idempotence: A + A = A (E) et A . A = A (E*)
  • Théorème des éléments absorbants: A + 1 = 1 (E) et A . 0 = 0 (E*)
  • Théorème d'absorption: A + A . B = A (E) et A .(A + B) = A (E*)

Incroyable, ça marche !

L'algèbre de Boole à facettes

Avouons-le bien volontiers: George Boole ne nous a pas légué "clef en main" cette théorie toute en formules simples et définitives. D'autres esprits illustres ont repris, approfondi et mis en ordre ces idées novatrices dont il eût néanmoins l'intuition géniale de jeter les premiers fondements. Citons, entre autres, l'anglais Augustus De Morgan [1806-1871], et les américains Charles Peirce [1839-1914] et Edward Huntington [1874-1952].

Aujourd'hui, en termes très mathématiques...et donc totalement abscons pour l'auteur de cette page..., on appelle algèbre de Boole (E, +, .,  , 0, 1) la donnée d'un ensemble E non vide, muni de deux lois de composition interne (+ et .) commutatives et associatives, d'une application unaire (  ) et de deux éléments privilégiés (0 et 1), toutes ces données vérifiant les différents axiomes vus plus haut.
Soupir...

Pour 90% de la population, cette très jolie phrase provoquera nausées, maux de tête voire un petit raffermissement du quadriceps. Les initiés y verront au contraire le formidable canevas à une foule d'applications plus ou moins évidentes: théorie des ensemblesEt voilà pourquoi nos ridicules petits dessins faisaient si bien merveille: la théorie des ensembles n'est en fait qu'une des applications de l'algèbre de Boole., logique des prédicats, calcul des aléas technologiques et, ce qui nous intéressera plus particulièrement, technologie des composants électroniques.

Partis très loin dans des sphères très abstraites, tentons de revenir à très petits pas vers notre pécé préféré...

L'algèbre du tout ou rien

De manière quelque peu curieuse, entrevoir l'immense intérêt de l'algèbre de Boole pour nos petites machines réclamera un petit effort préalable de... simplification. Et imaginer pour cela un univers booléen minimaliste, c'est-à-dire réduit à ses deux seuls éléments remarquables: "0" et "1".

Et là, miracle ! Ce cas très particulier de l'algèbre de Boole ouvre grand les portes sur d'inattendus horizons: à savoir, tous les domaines où règne la loi du tout ou rien, tous ces univers où toute variable ne peut prendre que deux états différents et complémentaires. Bref, les univers chamarrés de l'algèbre binaire.

Si, pour vous aussi, la théorie est un tunnel, il semble bien que nous en voyons le bout...

Boole, au coeur de nos vies

Vrai / Faux

Dans cette algèbre booléenne que nous venons de décrire, avoir dénommé "0" et "1" nos deux éléments remarquables était pure convention d'écriture. D'ailleurs, appliqués à la théorie des ensemble, nous avons vu que ces derniers avaient pris des noms autrement plus explicites: ensemble vide (pour "0") et référentiel complet (pour "1").

Ramenés à un univers booléen minimaliste où seules ces deux valeurs complémentaires seraient possibles, pourquoi ne pas envisager de les rebaptiser "vrai" et "faux" ? Bien qu'affublés de ces nouveaux noms, nos deux éléments continueraient de parfaitement obéir aux lois fondamentales de l'algèbre de Boole.

Par ailleurs, l'algèbre binaire mettant en jeu des variable ne pouvant prendre que l'une ou l'autre de ces deux valeurs, il devient réalisable, pour chacun de nos trois opérateurs fondamentaux, de consigner en trois petits tableaux l'ensemble de tous les résultats possibles mettant en jeu deux variables...chose inconcevable en arithmétique "classique", toute variable pouvant prendre une infinité de valeurs...:
 

Somme logique
A B A+B
faux faux faux
faux vrai vrai
vrai faux vrai
vrai vrai vrai
Produit logique
A B A.B
faux faux faux
faux vrai faux
vrai faux faux
vrai vrai vrai
Complémentation
A A
faux vrai
vrai faux
Les trois opérateurs booléens appliqués aux éléments "vrai" et "faux".

Pas vraiment normande, notre nouvelle algèbre booléenne...

Dans ce nouveau contexte très manichéen, les résultats produits par chacun de nos opérateurs de base peuvent se résumer à trois phrases désarmantes de bon sens:

Avouez que nous avons trouvé là des noms beaucoup plus familiers pour nos trois opérateurs booléens fondamentaux. Nous les utiliserons donc dorénavant pour désigner ces derniers, mais plutôt dans leur version anglaiseOui... Autant vous le dire tout de suite: le Français n'a pas vraiment percé dans le domaine de l'informatique moderne...:

Quand et est ou

Méfions-nous quand même des subtilités de la langue; ainsi, par exemple, lorsque nous évoquons "les Hommes et les Femmes", nous ne faisons généralement pas référence aux hermaphrodites, mais bel et bien à toute personne, qu'elle soit homme ou femme. Bref, derrière nos "et" se cachent parfois de parfaits "ou".

  • Pour la somme logique: OR,
  • Pour le produit logique: AND,
  • Pour la complémentation: NOT.

Et maintenant, si je vous dis: "je sortirai s'il fait beau ou s'il pleut et que j'ai mon parapluie", et que j'appelle (A) la proposition "il fait beau" et (B) la proposition "j'ai mon parapluie", alors je peux très simplement exprimer mes chances de sortie par la délicieuse expression: A + A.B, digne des plus belles pages de la littérature française.
Tout cela pour vous montrer à quel point, nous, créatures pourtant si subtiles, ne cessons de jongler, sans nous en rendre compte...un truc à achever Monsieur Jourdain !, avec des concepts parfaitement booléens.

Sans surprise, nous appellerons variable booléenne, ou encore variable logique, toute variable obéissant à cette algèbre binaire pour laquelle seules deux valeurs différentes et complémentaires sont possibles.
Celles-ci, comme nous l'avons vu, seront généralement notées "1" et "0", mais parfois aussi "vrai" (true) et "faux" (false).

Boole, détecteur de mensonge

L'algèbre de la Vérité.

S'il y a effectivement un domaine où la dualité des variable est évidente, c'est celui de la logique. En logique, comme le disait si bien Aristote, toute proposition est soit vraie, soit fausse, et ce qui n'est pas vrai est alors nécessairement faux. Vous ne serez donc pas surpris(e) d'apprendre que la logique est un parfait domaine d'application de l'algèbre de Boole. Tout juste celle-ci change-t-elle de nom pour s'appeler, de manière peut-être plus évocatrice, logique propositionnelle.

En logique propositionnelle, toute proposition "bien forméeEt il existe des règles strictes pour attester de cette "bonne formation"." est soit vraie, soit fausse: c'est le principe du tiers exclu. Ainsi, "Il pleut" est une proposition parfaitement bien formée, et ce, même s'il fait grand soleil.

Plusieurs propositions peuvent être assemblées entre elles à l'aide de connecteurs, c'est-à-dire, en langage normal, de petits mots très pratiques comme "et", "ou", "alors"... pour former des propositions plus complexes.
Les connecteurs qui nous intéressent, à ce stade, sont:

...Il en existe d'autres, telles l'implication (notée ⇒) ou l'équivalence logique (notée ⇔), et d'autres encore, moins facilement traduisibles en langage courant, que nous reverrons un peu plus tard.

Cette formalisation de la logique permet de manipuler des propositions complexes comme s'il s'agissait de données algébriques, et, ainsi, évaluer leurs possibles valeurs, éventuellement démontrer qu'elles seront toujours vraies (ce sont les tautologies) ou toujours fausses (les antilogies).
Bref, un formalisme dément qui vous permet d'assurer mordicus que ((p⇒(q∧r∧s))∧¬s)⇒¬p...le genre de mystère que Boole dégomme... sera toujours vrai !
Des trucs à vous persuader que vous ne mangez des frites que quand il pleut...

On / Off

Bon, bon, bon... Nous en voyons que le précédent chapitre n'a pas du tout convaincus du très haut intérêt de l'algèbre de Boole. Pour ceux-là, nous allons donc sortir la très grosse artillerie, à savoir: une simple pile, quelques fils conducteurs et une ampoule en état de marche.
Tout va bientôt s'éclairer...

En un point donné de tout circuit électrique, deux situations très simples peuvent se produire: soit le courant "passe", soit il ne "passe pas": une simple ampouleEn fait, un simple doigt peut même suffire, mais une seule fois... nous l'apprendra brillamment.
Afin de symboliser ces deux états très différents, nous pourrions utiliser les termes très suggestifs de "lumière/obscurité", "on/off" ou, pourquoi pas, "1/0"Tiens, tiens.......

Etudions maintenant quelques montages électriques de niveau cours élémentaire:
 

Application des opérateurs booléens OR et AND aux montages électriques de base.

Cliquez sur les différents interrupteurs du montage afin de voir la conséquence sur l'ampoule.

Pense-bête: contacter Varta, Duracel et toute l'industrie de la pile pour leur proposer un espace d'affichage sur le générateur de cette spectaculaire animation.

Et là, divine suprise, nous remarquons ébahis que:

  • Pour le montage en parallèle: l'ampoule brille si l'interrupteur A OU l'interrupteur B est en position fermée. Ce que pourrions exprimer par: Lumière = Interrupteur A + interrupteur B,
  • Pour le montage en série: l'ampoule brille si l'interrupteur A ET l'interrupteur B sont en position fermée, soit: Lumière = Interrupteur A . Interrupteur B.

Juste le temps de nous remettre de la vive émotion causée par cette révélation et profitons encore un instant du matériel grâcieusement prêté par le club des électriciens amateurs pour vérifier que nos axiomes booléens se vérifient parfaitement dans ce petit monde conducteur:

Vérification de la validité des axiomes booléens dans le domaine des montages électriques de base.

Cliquez sur les différents interrupteurs du montage afin de vérifier la lumineuse pertinence des axiomes booléens.

Vous voila rassuré(e): tout ce que nous avons appris sur l'algèbre booléenne n'est donc pas complètement vain puisqu'elle semble, en effet, trouver certaines applications très lumineuses et très concrètes.
Bon, il est vrai que le rapport est encore ténu entre ces montages pour grands débutants en génie électrique et le concentré de technologie que constitue une puce savante.
Le chemin est encore long, mais il est désormais un poil éclairé !

Heu, à ce propos... Nous allons entrer dans un nouveau tunnel de théorie... Mais promis, la lumière sera encore plus vive de l'autre côté.

Fonctions booléennes

Prenez un mathématicien normalement constitué, donnez lui pour s'amuser quelques variables usagées et attendez. Tôt ou tard, la créature toute excitée viendra vous embrumer l'esprit avec des fonctions !

Et oui. Tout comme en algèbre "classique", il est tout à fait envisageable de combiner entre elles plusieurs variables booléennes à l'aide de nos opérateurs fondamentaux (OR, AND, NOT) pour former des fonctions.
Sans surprise, une telle fonction sera baptisée fonction booléenne, ou encore, fonction logique.

Fonctions logiques à deux variables:
OR, NOR, XOR et consorts...

Binaire²

L'épithète "binaire" doit être ici compris comme qualifiant une opération mettant en jeu deux variables, tout comme notre opérateur NOT est un opérateur unaire.
Tous ces opérateurs sont néanmoins des opérateurs de l'algèbre binaire (dans le sens où toute variable ne peut prendre que deux valeurs), ce qui n'arrange rien à la lisibilité de cette note...

A ce stade, nous avons déjà repéré deux opérateurs binaires fondamentaux: le "OR" et le "AND", de par le fait qu'ils correspondaient à des raisonnements logiques très familiers à notre esprit humain et, cadeau bonus, qu'ils décrivaient parfaitement les montages parallèle et série d'un circuit électrique.
Mais ce ne sont pas les seuls !

Pour nous en persuader, nous allons construire un petit tableau original - comme seule l'algèbre binaire peut nous permettre d'en concevoir - afin de lister toutes les fonctions possibles pouvant mettre en jeu deux variables booléennes.

Evidemment, ça va être pénible... mais on y a mis un peu de couleur...
 

Fonctions booléennes à deux variables
AB F(A,B)
000
010
10 0
110
Quelles que soient les valeurs de A et B, cette fonction renvoie toujours la valeur 0. Il s'agit donc de la fonction constante: F(A, B) = 0
Intérêt discutable...
AB F(A,B)
000
010
10 0
111
Cette fonction, qui ne renvoie 1 que si A et B sont égaux à 1, nous la connaissons fort bien: il s'agit de notre produit logique, alias AND:
F(A, B) = A . B = A AND B
AB F(A,B)
000
010
101
110
Fonction sans grande correspondance dans le langage parlé, mais que les spécialistes appellent inhibition:
F(A, B) = A . B
AB F(A,B)
000
010
101
111
Fonction pour laquelle la variable B ne sert pas à grand chose... Bref, la fonction unaire:
F(A, B) = A
AB F(A,B)
000
011
10 0
110
Fonction inhibition comparable à la fonction ci-dessus
F(A, B) = A . B
AB F(A,B)
000
011
10 0
111
Fonction qui ressemble fort à la fonction ci-dessus, A endossant cette fois le rôle de la variable croupion.
F(A, B) = B
AB F(A,B)
000
011
101
110
Fonction très intéressante, qui ne donne 1 que si les variables A et B sont de valeur différente. Nous l'appellerons fonction d'anticoïncidence, ou XORRien à voir avec un type dansant la tektonik déguisé en Albal.:

F(A, B) = A . B + A . B = A XOR B
AB F(A,B)
000
011
101
111
Cette fonction là aussi, nous la connaissons déjà fort bien; c'est notre fonction OR, alias somme logique:
F(A, B) = A + B = A OR B
AB F(A,B)
001
010
10 0
110
AB F(A,B)
001
010
10 0
111
AB F(A,B)
001
010
101
110
Fonction pour laquelle A ne sert pas à grand chose puisque ne renvoie de fait que le complément de B. Il s'agit donc de notre fonction NOT:
F(A, B) = B
AB F(A,B)
001
010
101
111
AB F(A,B)
001
011
10 0
110
Ici aussi, c'est notre fonction NOT qui se cache derrière une façade binaire, la variable B ne servant strictement à rien:
F(A, B) = A
AB F(A,B)
001
011
10 0
111
Autre fonction sans grand intérêt pour nous, mais beaucoup plus utile aux logiciens...pour lesquels elle prend le nom d'"implication".:

F(A, B) = A + B
AB F(A,B)
001
011
101
110
Fonction complémentaire de notre opérateur AND, et qu'il serait donc logique d'appeler NAND:

F(A, B) = A . B = A + B...de Morgan, toujours... = A NAND B
AB F(A,B)
001
011
101
111
Fonction somme toute optimiste, donnant 1 quels que soient A et B. Bref, la fonction constante:
F(A, B) = 1

 

Parfait ! Nous n'allons pas revenir sur la beauté parfaite de notre "OR" et de notre "AND", mais attardons-nous quelques instants sur certains de ces autres opérateurs aux noms étranges...

XOR (eXclusive OR)

Le XOR, alias "ou exclusif", qui correspond à la fonction booléenne F(A, B) = A.B + A.B s'apparente à un "ou" version "fromage ou dessert", dans le sens où c'est soit l'un, soit l'autre, mais pas les deux ! Cela lui vaut ses noms, sans doute plus parlants, d'opérateur d'anticoïncidence, voire, également, de comparateur de différence.
Son symbole est ⊕ et ses caractéristiques principales sont:

  • Commutativité: A ⊕ B = B ⊕ A,
  • Associativité: (A ⊕ B) ⊕ C = A ⊕ (B ⊕ C),
  • Comportement vis-à-vis des éléments neutres: A ⊕ 0 = A et A ⊕ 1 = A,
  • A ⊕ A = 0 (pas d'idempotence) et A ⊕ A = 1.

NOR (Not OR)

Comme son nom l'indique assez bien, l'opérateur NOR, noté ↓, est le complément de l'opérateur OR, c'est-à-dire A + B.
Même si cet opérateur n'a pas d'équivalent simple dans le langage parlé, son intérêt en électronique est un tout petit peu essentiel...comme nous le verrons plus tard, si vous survivez à cette page... et nous allons donc expliciter quelques unes de ses propriétés:

  • Commutativité: A ↓ B = B ↓ A,
  • Pas d'associativité: (A ↓ B) ↓ C ≠ A ↓ (B ↓ C),
  • Inversion: A ↓ 0 = A.

XNOR (eXclusive Not OR)

Booléennement parlant, XNOR est le complément de l'opérateur XOR que nous venons de voir. Vous ne serez donc pas étonné(e) d'apprendre que son petit nom soit opérateur de coïncidence, ou encore, comparateur d'identité puisque A XNOR B ne sera "vrai" que si A et B ont même valeur.
Ses principales propriétés sont:

  • Commutativité: A XNOR B = B XNOR A,
  • Associativité: (A XNOR B) XNOR C = A XNOR (B XNOR C),
  • Comportement vis-à-vis des éléments neutres: A XNOR 0 = A et A XNOR 1 = A,
  • A XNOR A = 1 (pas d'idempotence) et A XNOR A = 0.

NAND (Not AND)

L'opérateur NAND ("ET-NON"), noté ↑, est simple à assimiler puisqu'il agit comme le complément de l'opérateur AND. En clair, A ↑ B ne donnera "faux" que si A et B sont simultanément "vrai".
A l'image du NOR, le NAND n'a pas d'équivalent direct dans le langage parlé, mais son importance est tout aussi fondamentale en électronique et voici pourquoi nous allons nous intéresser à ses passionnantes propriétés:

  • Commutativité: A ↑ B = B ↑ A,
  • Pas d'associativité: (A ↑ B) ↑ C ≠ A ↑ (B ↑ C),
  • Inversion: A ↑ 1 = A.
Nous venons de lister les 16 fonctions booléennes possibles mettant en jeu deux variables logiques. Mais combien y en aurait-il mettant en jeu trois variables ?
64
Une belle puissance de 2, en effet... Mais non.
256
Effectivement. Trois variables booléennes A, B et C peuvent se combiner de 2x2x2 manières différentes. Et pour chacune de ces 8 combinaisons, la fonction logique F(A, B, C) peut prendre deux valeurs distinctes: 0 ou 1. Il y a donc 28 configurations possibles, soit 256 fonctions.
65.536
C'est un poil trop. En fait, 65.5356 est le nombre de fonctions différentes mettant en jeu quatre variables booléennes.

Fonctions booléennes à N variables

Nous venons d'étudier le cas très particulier et très simple des fonctions booléennes à deux variables. Bien évidemment, vous vous doutez qu'une fonction logique peut mettre en jeu un nombre quelconque de variables booléennes.
Ainsi, la fonction F(A, B, C) = A.B + A.C est un exemple pris tout à fait au hasard de fonction logique à trois variables.

Quelle sera la valeur de la fonction booléenne F(A, B, C) = A.B + A.C ?
Impossible à déterminer
Vous n'avez pas vraiment tort, puisque l'énoncé ne donne pas les valeurs de A, B et C. Mais vous auriez quand même pu vous mouiller un peu plus...
0
Ah bon ? Et pourtant, si A = 0 et C = 1, on a: A . C = 1. Et, dans ce cas, quelle que soit la valeur de B, la fonction sera égale à 1.
1
Tiens donc. Et pourtant, si A = B = C = 0, on trouve F(0, 0, 0) = 0 . 0 + 0 . 0 = 0.
0 ou 1
C'est exact. Quelles que seront les valeurs de A, B et C, le résultat de la fonction logique sera également une valeur booléenne, et, par conséquent, égal à 0 ou 1.

Cartes sur table

Comme nous l'avons déjà mis en pratique, la grande particularité des fonctions booléennes est qu'elles peuvent être explorées de manière exhaustive. En effet, chaque variable de ces fonctions ne pouvant prendre que deux valeurs différentes, il devient tout à fait faisable...du moins tant que le nombre de variables mises en jeu par la fonction reste raisonnable... de récapituler tous les cas possibles dans un tableau que l'on appelle alors table de vérité.

Ainsi, si nous reprenons notre fonction booléenne définie par F(A, B, C) = A.B + A.C, nous pouvons sans trop de problème mettre au point sa table de vérité:

A B C F(A, B, C)
0000
0011
0100
0111
1001
1011
1100
111?
Table de vérité de la fonction F(A, B, C) = A.B + A.C.

Cette table comporte une colonne par variable mise en jeu par la fonction, plus une colonne terminale où l'on consigne, pour chaque combinaison des variables, la valeur prise alors par la fonction.

L'auteur de cette page, sans doute encore abruti par les démonstrations booléennes vues plus haut, a bêtement oublié d'indiquer la dernière valeur dans la dernière colonne de la précédente table. Quelle est cette valeur ?
0
Evidemment ! Puisque si A = B = C = 1, on a F(A, B, C) = F(1, 1, 1) = 1 . 1 + 1 . 1 = 0 + 0 = 0
1
Cruel manque de Boole...
2
Franchement, vous dites ça pour me faire de le peine ou quoi ?
L'algèbre binaire ne met en jeu que des variables binaires, notées 1/0 ou encore vrai/faux. Autant dire que la valeur 2 est un alien sur cette page !
Combien de lignes comporterait la table de vérité d'une fonction mettant en jeu six variables logiques ?
32
Et non. Il y a deux possibilités de valeurs pour la variable A, puis, pour chacune de ces 2 possibilités, deux possibilités de valeurs pour la variable B, puis, pour chacune de ces 2x2 possibilités de valeurs pour A et B, deux valeurs possibles pour la variable C, etc...
Il y a donc, au total, 2x2x2x2x2x2 combinaisons possibles pour les six variables mises en jeu par F, c'est-à-dire 26...
64
Bien sûr. Soit 26. Inutile de vous préciser que le remplissage de table de vérité devient déjà pénible au delà de quatre variables booléennes...

Canon Boole

Supposons un instant que nous ayons sous les yeux une table de vérité toute faite, sans aucune définition algébrique de la fonction associée, un peu comme ici:
 

A B C F(A, B, C)
0000
0011
0101
0110
1001
1011
1101
1110

Et bien figurez-vous que cette table de vérité peut nous suffire à retrouver une définition algébrique de la fonction F.

En effet, nous savons qu'en algèbre binaire, si nous avons une expression: X + Y + Z + .... = 1, alors on peut dire que
      X = 1 OU Y = 1 OU Z = 1...

Il est par conséquent tout à fait envisageable de définir notre fonction F comme la somme logique des différentes lignes pour lesquelles F = 1.

Ainsi, on peut écrire: F(A, B, C) = A.B.C...qui correspond à la deuxième ligne de notre table de vérité: A=0, B=0 et C=1. + A.B.C...qui correspond à la troisième ligne de notre table de vérité: A=0, B=1 et C=0. + A.B.C...qui correspond à la cinquième ligne de notre table de vérité: A=1, B=0 et C=0. + A.B.C...qui correspond à la sixième ligne de notre table de vérité: A=1, B=0 et C=1. + A.B.C...qui correspond à la septième ligne de notre table de vérité: A=1, B=1 et C=0.

Aucune absence tolérée

Pour qu'un produit logique de N variables mérite le qualificatif de minterme, chacune de ses N variables ou son complément doit apparaître dans le produit.
Ainsi, A.C ou B.C ne sont pas des mintermes des variables A, B, C.

En groscursussien, les différents termes de la fonction (c'est-à-dire les produits logiques A.B.C, A.B.C, A.B.C, A.B.C et A.B.C) sont appelés des mintermes, et la fonction F, qui se trouve alors exprimée sous la forme d'une somme logique de mintermes est dite se trouver sous sa forme canonique disjonctive, ou également première forme canonique.

Par ailleurs, dans notre univers booléen, nous pouvons également définir le complément de F comme la somme des mintermes égaux à 0. Nous avons donc aussi:

     F(A, B, C) = A.B.C + A.B.C + A.B.C

Et puisque nous savons parfaitement que A = A et que, grâce à ce qu'a fait MorganAh c'est Merlin ça..., A+B = A.B, nous pouvons donc également écrire F sous la forme:

F(A, B, C) = A.B.C + A.B.C + A.B.C = (A + B + C) . (A + B + C) . (A + B + C)

De la même manière que pour le minterme, pour qu'une somme logique de N variables mérite le qualificatif de maxterme, chacune de ces N variables ou son complément doit apparaître dans la somme.

Les termes A+B+C, A+B+C et A+B+C, sommes logiques de toutes les variables de F (ou de leur complément) sont appelés maxtermes de la fonction, et cette écriture de F sous la forme de produits de maxtermes est appelée forme canonique conjonctive, ou aussi parfois deuxième forme canonique.

Que vous ayez ou non compris cette histoire de canon, vous aurez de toute façon noté qu'une fonction logique peut être exprimée algébriquement de différentes façons.
Et ceci n'est pas une bonne nouvelle pour nos neurones...

L'art de faire simple

La plupart du temps, une fonction logique nous sera proposée sous une forme développée plus ou moins alambiquée qu'il sera très souvent possible de fortement simplifier.
Pour ce faire, trois pistes à explorer:

Méthode algébrique

Génération spontanée

En algèbre booléenne, rien de plus simple que de faire apparaître le terme C dans le produit A.B puisque, sachant que C+C=1, on peut écrire:

     A.B = A.B.(C+C) = A.B.C + A.B.C

Ceci est une règle de l'algèbre binaire: Il faut parfois savoir complexifier une expression pour mieux la simplifier ensuite.

L'algèbre booléenne dispose d'un véritable arsenal d'axiomes et théorèmes bien définitifs qui peuvent nous permettre de simplifier une fonction logique.
Bien souvent, la solution passe par de judicieux développements afin de faire apparaître des termes qui, par factorisations non moins habiles, vont s'annuler sur le principe que A + 1 = A ou A . 0 = 0.

Attention toutefois: la simplification algébrique demande un minimum de rigueur et de zénitude. Si vous êtes du genre à facilement oublier un A en route ou prêt(e) à tout abandonner quand retentit le jingle annonçant l'arrivée d'un pote sur MSN, envisagez peut-être directement le plan B...

Commençons piano, histoire de ne pas vous dégoûter trop vite...
Comment simplifiez-vous la fonction logique F(A, B) = (A + B) . (A + B) ?
A
Et... non.
B
Cor-rect ! En distribuant l'expression, on obtient:

F = A.A + A.B + A.B + B.B

Sachant que B.B = B (idempotence), puis en factorisant, on obtient:

F = B.(A + A) + B

Sachant aussi que A + A = 1, on retrouve bien F = B + B = B
A.B + A.B
Et vous appelez ça simplifier, vous ?
Même question, même casse-tête, avec F(A, B, C) = A.B + A.B.C + A.B.C + A.B.C ?
0
Visiblement, vous avez un don pour la simplification...
A.B
Un pote vient d'arriver sur MSN peut-être ?
B.(A+C)
En effet ! Sachant que A + A = A, nous pouvons ajouter le terme A.B.C à notre expression sans en changer le sens, et obtenir donc:

F = A.B + A.B.C + A.B.C + A.B.C + A.B.C
C'est-à-dire, en factorisant:

F = A.B + A.B.(C+C) + B.C.(A+A)

Sachant que A+A=1 et, bien sûr, que C+C=1, on a:
F = A.B + A.B + B.C
Pour la même raison que plus haut, nous pouvons supprimer une occurrence du terme A.B qui apparaît deux fois dans l'expression pour obtenir:
F = A.B + B.C = B.(A+C)
Même punition avec F(A, B, C) = A.B + C + C.A + C.B ?
1
Bingo ! En factorisant le terme C, notre fonction devient:

F = A.B + C + C.(A+B)

Or, ce cher vieux Morgan nous assure que la somme A+B est égale à A.B. On obtient donc:

F = A.B + C + C.A.B

Par ailleurs, puisque C+C=1, on a aussi A.B = A.B.(C+C), et par conséquent:

F = A.B.C + A.B.C + C + C.(A.B). Soit, en factorisant:

F = C.(A.B + A.B) + C.(1 + A.B)

Puisque A.B + A.B = 1 et 1 + AB = 1, on retrouve F = C + C = 1
Quand on vous dit que ça peut aller loin, la simplification algébrique...
A+B
J'aimerais tellement vous dire oui...
A+B+C
Surtout, on ne désespère pas ! La simplification algébrique de fonction boooléenne, comme le macramé ou la pêche à l'asticot, ça s'apprend peu à peu, à force de pratique.
Formes canoniques

L'annonce ne vous surprendra pas deux fois: la table de vérité d'une fonction logique à N variables comportera 2N lignes.
Dès lors, trois scénarii possibles:

Ce n'est pas parce que vous aurez exprimé votre fonction sous une forme canonique plutôt simple que celle-ci sera obligatoirement l'expression la plus simplifiée de la fonction. Très souvent, une phase de simplification algébrique permettra d'achever complètement la simplification.

  • Ou la table de vérité révèle un petit nombre de cas pour lesquels la fonction est égale à 1. Dans ce cas, il sera sensé d'exprimer la fonction dans sa forme canonique disjonctive;
  • Ou la table de vérité révèle un petit nombre de cas pour lesquels la fonction est égale à 0, et il sera alors pertinent d'exprimer la fonction dans sa forme canonique conjonctive, en complémentant la somme des mintermes égaux à 1;
  • Ou la table de vérité ne révèle aucune prépondérance nette de résultats égaux à 0 ou 1, et on devra se résoudre à faire appel à Maurice...
Diagramme de Karnaugh

Le diagramme de Karnaugh est une méthode simple et ingénieuse afin de trouver à coup sûr la forme la plus simple d'une fonction logique donnée, à partir de sa table de vérité.

A vrai dire, le diagramme de KarnaughMaurice Karnaugh (né en 1952), est un mathématicien américain plutôt pas mauvais non plus en physique. Le genre de gars à donner son nom à des tableaux remplis de 1 et de 0...
Un génie, quoi.
d'une fonction n'est même ni plus ni moins que la table de vérité de celle-ci, mais mise en forme de telle manière que soient géographiquement proches les mintermes logiquement proches.

Comme le fait d'expliquer textuellement le principe de ce diagramme conduirait à une somme faramineuse de lignes totalement imbitables, nous allons plutôt illustrer nos dires par un exemple bien senti.

Soit l'anodine fonction logique F telle que F(A, B, C, D) = A + A.B + A.B.C + A.B.C.D.
Amusons-nousC'est une expression, bien sûr... à développer sa table de vérité.
 

A B C D F(A, B, C, D)
00001
00011
00101
00111
01001
01011
01101
01111
10000
10010
10101
10111
11001
11011
11101
11111

Voilà ! On s'est bien poilé et nous avons, conformément à nos attentes, obtenu une table de vérité à 16 lignes.

Nous allons maintenant transformer ce tableau à seize lignes en un tableau à seize cases. Pour ce faire, nous allons répartir tous les mintermes de nos variables groupées deux à deux, mais en prenant soin de scrupuleusement respecter cette règle: il faut impérativement que le passage d'une case à une case adjacente ne traduise le changement d'état que d'une seule variable.

Normalement, nous devrions obtenir quelque chose qui ressemble à ça:
 

C.D C.DSeule la variable C change d'état entre la colonne 1 et la colonne 2 C.DSeule la variable D change d'état entre la colonne 2 et la colonne 3 C.DSeule la variable C change d'état entre la colonne 3 et la colonne 4
A.B 1 1 1 1
A.BSeule la variable A change d'état entre la ligne 1 et la ligne 2 1 1 1 1
A.BSeule la variable B change d'état entre la ligne 2 et la ligne 3 1 1 1 1
A.BSeule la variable A change d'état entre la ligne 3 et la ligne 4 1 0 0 1

 
A chaque case de notre nouveau tableau correspond un minterme de la table de vérité; il est donc normal de retrouver dans notre table de Karnaugh tous les résultats possibles pour la fonction F, et donc, le même nombre de "1" et de "0".

Nous allons dès lors pouvoir procéder aux simplifications.
Pour ce faire, nous allons localiser les cases adjacentes marquées à "1" en nombre égal à une puissance de deux, c'est-à-dire les groupes de 1, 2, 4, 8, 16.... cases "1" adjacentes, en recherchant bien sûr les regroupements les plus importants. On ne garde ensuite, parmi les mintermes concernés par le regroupement, que la ou les variable(s) logique(s) commune(s) à toutes les cases.
 

C.D C.D C.D C.D
A.B 1 1 1 1
A.B 1 1 1 1
A.B 1 1 1 1
A.B 1 0 0 1

Premier regroupement: parmi les huit cases formées par les deux premières lignes, seule la variable B est commune aux mintermes.
Notez qu'on ne peut inclure la troisième ligne dans notre premier regroupement, car nous aurions alors douze cases, douze n'étant pas une puissance de deux.

 

C.D C.D C.D C.D
A.B 1 1 1 1
A.B 1 1 1 1
A.B 1 1 1 1
A.B 1 0 0 1

Deuxième regroupement: parmi les huit cases formées par les deuxième et troisième lignes, seule la variable A est commune aux mintermes.
Comme vous le constatez pour notre deuxième ligne, une ou plusieurs case(s) peut(vent) tout à fait servir à plusieurs regroupements.

 

C.D C.D C.D C.D
A.B 1 1 1 1
A.B 1 1 1 1
A.B 1 1 1 1
A.B 1 0 0 1

Troisième regroupement: parmi les huit cases formées par la première et la dernière colonne, seule la variable C est commune aux mintermes.
Remarquez que les lignes / colonnes situées aux extrémités doivent être considérées comme adjacentes. Et cela est après tout fort logique, puisqu'une seule variable change d'état de l'une à l'autreEntre la première et la dernière lignes, seule la variable B change d'état - entre la première et la dernière colonne, seule la variable D change d'état..

 

Parfait ! Aucun autre regroupement n'étant possible, on recopie les mintermes n'ayant servi à aucun regroupement - ici, aucun - et on récupère les fruits de nos regroupements successifs, pour finalement obtenir:

F = B + A + C
...ce qui constitue quand même, vous êtes maintenant connaisseur(se), une fort belle simplification !

Evidemment, vous vous doutez que la méthode de Karnaugh devient franchement hostile dès lors que le nombre de variables logiques excède quatre ou cinq. Il faut alors se replier vers d'autres méthodes de simplification, telle la méthode de Quine-Mac Cluskey, que nous n'aborderons pas car nous ne voudrions pas abuser de votre gentille attention.

Enfin bref...

Oui, bon, d'accord, mais alors ?"

Bon, nous comprenons ta question, internaute fiévreux et haletant qui vient de terminer la lecture dense et interminable de cette page très binaire.
On nous promettait du concret, du terre-à-terre, du pragmatisme à électrons, et nous voilà étourdis et repus, la tête toute boursouflée de pleines caisses de uns et de zéros mais tout amers de ne pas avoir vu l'ombre d'une puce, ni même d'une souris à roulette.

Friserait-on l'arnaque ? L'abus de confiance ? Le e-dol ?
Non mes ami(e)s ! Ce fut long, ce fut difficile, ce fut terriblement chiant, mais vous êtes prêt(e)s, maintenant, à entrer dans la Matrice.

Bienvenue à toi, Némo.
Et n'oublie pas les patins.

Pour aller plus loin...

Feed-back: exprimez-vous !

Arcana est un site gratuitSa version payante ayant conduit trois comptables à la dépression.... De fait, vos messages chaleureux et enthousiastes constituent la principale motivation de son auteur à tenter de le faire vivre.
Néanmoins, toutes les vérités sont bonnes à dire et ce formulaire est donc également destiné à recevoir vos doléances et vos remarques, ainsi que vos questions, vos rapports de bugs, et, par dessus tout, vos précieux conseils et correctifs.

Merci.

Notes techniques

Ce site a été testé sous environnement Windows avec les deux navigateurs les plus populaires du moment, à savoir Internet Explorer 7 et Firefox 2.
Tout avait l'air de fonctionner à peu près.

Il est vrai qu'aucun effort supplémentaire de compatibilité avec d'autres navigateurs n'a été entrepris, le nirvana du cross-browsing réclamant tout à la fois une patience d'ange, une méticulosité d'horloger et, paramètre non négligeable, un certain bol de cocu, toutes qualités dont ne dispose pas l'auteur de ce site.

Afin que Arcana puisse à peu près correctement fonctionner sur votre machine, votre navigateur doit autoriser l'exécution des scripts JavaScript et également disposer du plugin Adobe FlashPlayer.

En effet, la plupart des somptueuses animations disséminées sur ce site ont été réalisées avec le logiciel Adobe Flash©. Télécharger FlashPlayer Si votre ordinateur ne dispose pas du petit programme permettant de lire ce format, vous ne pourrez visualiser ces animations.
Heureusement, il vous suffit pour remédier à cette terrible injustice de cliquer sur ce logo ci-contre afin de télécharger le "plugin" qui vous permettra de découvrir enfin ces petits chefs-d'oeuvre d'art naïf (ainsi que, par la suite, toute page Internet recourant à cette technologie).
La procédure est indolore, rapide et gratuite, alors pourquoi s'en priver, je vous le demande ?

Arcana recherche...

Quoique l'auteur de ce site dispose d'une petite expérience et d'un nanodiplôme en sciences informatiques, il n'est malheureusement titulaire d'aucun permis d'enseigner validé par l'Académie. Dès lors, et bien que tout ait été mis en oeuvre afin de ne pas propager de trop grossières erreurs sur ces pages, il manque à Arcana ce qui lui donnerait tout à la fois poids et respectabilité, à savoir une autorité scientifique, auréolée d'un cursus en règle et du crédit de l'Université.
Si une ou plusieurs sommités venant à croiser ce site acceptaient d'endosser cette écrasante responsabilité de caution intellectuelle pour une ou plusieurs leçons, elles seraient grandement remerciées et leur nom bien évidemment gravé en lettres d'or en tête de page, leur assurant par là même gloire et renommée quasi planétaires.

Un sens du dépouillement et d'humilité artistique qui confine au déprimant...Par ailleurs, les spécialistes l'auront remarqué, Arcana se pare d'un graphisme rococo et luxuriant directement inspiré par l'école est-allemande des années 70.
De fait, quiconque n'a jamais eu à concevoir ex nihilo un simple bouton d'interface ne peut comprendre à quel point l'infographie est un métier à part entière. L'auteur de ce site ayant, suite à un très long face-à-face avec Photoshop, découvert son absence totale de don dans ce domaine très artistique, toute aide serait la bienvenue pour offrir à Arcana une charte graphique digne de ce nom.

De la même manière, quelques laborieux petits dessins pseudo-humoristiques viennent ça et là agrémenter le contenu parfois franchement hostile de certaines leçons. Si, vous aussi, vous tenez à participer à cette courageuse entreprise de dépénibilisation de l'écrit pédagogique, vos bulles originales seront les bienvenues et, légitimement signées, contribueront au fantastique rayonnement humaniste et artistique d'Arcana.

D'avance, merci.

Plan de la leçon