Les booléens

Intégrammes : les techniques universelles pour les résoudre tous !

Présentation des booléens

Un booléen est une variable à deux états, à qui on attribue généralement les valeurs vrai ou faux. Dans un intégramme, l’utilisation des booléens permet de repérer des cases dont le comportement suit les mêmes règles : les cases repérées par un même booléen sont, soit toutes vraies, soit toutes fausses. Grâce à eux, un énoncé peut se coder directement dans les grilles. Une fois l’énoncé inscrit, il n’est plus nécessaire d’y revenir. La plupart des énoncés d’intégrammes peuvent se coder à l’aide des booléens : dès qu’un énoncé est précis, on peut le coder avec des booléens. Les énoncés imprécis ne permettent pas le codage immédiat. Dans la grille ci-dessous :

  • Enzo est arrivé 2 minutes avant Océane est un énoncé précis
  • Enzo est arrivé avant Océane est imprécis. Pour le coder il faut revenir plusieurs fois sur l’énoncé, à différentes étapes de la résolution.

Lorsque l’on résout  une énigme dans une revue, pour figurer un booléen, on peut écrire une lettre dans des cases. Il y a 26 lettres de l’alphabet, ce qui suffit largement. Voici par exemple, une façon de coder la proposition suivante dans l’énigme “Jogging à la plage” comme si elle figurait dans une revue :

Enzo est arrivé 2 minutes avant Océane.


Ce codage établit les relations d’ordre entre les cases de la ligne Enzo et de la ligne Océane. Si Enzo court pendant 51 minutes, alors Océane court pendant 53 minutes – c’est le booléen a. Il en va de même pour les autres booléens. Nous voyons aussi que certaines valeurs ne sont pas possibles et sont matérialisées par le signe faux (la croix).

Ce codage avec des lettres tirées de l’alphabet fonctionne bien sur le papier, car les cases étant souvent petites, la place manque pour en écrire davantage, surtout si on  a affaire à des booléens union, comme on va le voir ci-dessous.

Sur le site Actilud, cependant, j’ai choisi une autre représentation. Chaque booléen est formé par une lettre et un chiffre, et à chaque lettre est associée une couleur. Les booléens sont affichés sous forme de pastille colorée :

Le codage précédent avec les booléens {a, b, c, d} devient ici {a1, a2, a3, a4}.

L’avantage est d’augmenter la lisibilité générale de la grille. En effet, utiliser la même lettre associée à des chiffres différents pour une proposition donnée permet de repérer facilement les booléens qui relèvent de cette proposition, puisqu’à chaque lettre est associée une couleur donnée, ici le bleu foncé, ce qui la rend évidente d’un simple coup d’œil. Mais, d’un point de vue purement logique, les deux représentations sont strictement équivalentes.

Règles mathématiques de base

Nous aurons besoin de connaître les règles élémentaires de l’algèbre de Boole. Ces règles sont plutôt intuitives. Soit a et b deux booléens.

Règle du et

(a et b) est vrai seulement si a est vrai et b est vrai. Dans tous les autres cas (a et b) est faux.

 a→
b↓
faux vrai
faux faux faux
vrai faux vrai

Cette règle est citée pour mémoire. Nous l’utilisons implicitement dans les intégrammes. Prenons l’énigme “cerf-volants”. L’énoncé formé par la proposition composée Sandra joue pendant 30 minutes et a un cerf-volant bleu n’est vrai que si les deux éléments qui le constituent, Sandra joue pendant 30 minutes et Sandra a un cerf-volant bleu, sont vrais. Or, comme par principe les énoncés sont vrais, les éléments constitutifs sont donc toujours vrais.

Règle du ou inclusif

(a ou b) est toujours vrai, sauf dans le cas où a et b sont tous deux faux.

 a→
b↓
faux vrai
faux faux vrai
vrai vrai vrai

Cette règle est plus subtile mais apparaît dans certains énoncés qui font intervenir un écart. Reprenons l’énigme du cerf-volant et voyons comment traduire la proposition suivante :

Entre Sandra et l’enfant au cerf-volant bleu il y a un écart de 20 minutes de jeu.

Le solveur du site Actilud code cette proposition de cette manière :


Cet énoncé nous apprend tout d’abord que Sandra n’a pas de cerf-volant bleu – c’est la croix.

Pour coder l’écart nous utilisons les booléens. Mais nous avons un problème avec la durée de 40 minutes. En effet, si Sandra pilote pendant 40 minutes, alors le cerf-volant bleu vole pendant 20 minutes ou pendant 60 minutes. De même, si le cerf-volant bleu vole pendant 40 minutes, Sandra pilote pendant 20 minutes ou 1 heure.

Le booléen union

Pour coder ceci, nous avons besoin du booléen “union”. C’est le cas du booléen a16, qui est le résultat de l’union de a1 et a6, et du booléen a34, résultat de l’union de a3 et a4.

C’est là que nous comprenons l’intérêt de la table de vérité. En effet, si a1 est vrai, a16 est vrai aussi. Si a6 est vrai, alors a16 est vrai aussi.

Vérité de l’union

Dans le cas général, si a16 est vrai sans que l’on connaisse la valeur de a1 et a6, on a trois possibilités :

  • a1 est vrai et a6 est faux,
  • a1 est faux et a6 est vrai,
  • a1 et a6 sont vrais tous les deux.

Donc, on ne peut pas attribuer une valeur aux deux booléens qui composent l’union, tant que l’on ne dispose pas d’informations complémentaires. Tout ce que l’on sait c’est que a1 et a6 ne peuvent être faux tous les deux.

Mais, dans le cas qui nous préoccupe, a1 et a6 ne peuvent pas être vrais ensemble car ils font partie d’une alternative. Donc dans ce cas l’entrée (a vrai, b vrai) dans notre table de vérité n’est pas utilisée. Si on découvre que a16 est vrai, nous ne pourrons en déduire qu’une seule chose sur a1 et a6 : soit a1 est vrai, soit a6 est vrai.

Si a16 est vrai, même si on ne peut pas conclure sur la valeur de a1 et a6, on en déduit que les autres booléens a2, a3 et a4 sont faux, et par conséquent le booléen double a34 est faux aussi (puisque l’union de deux booléens faux donne un résultat faux).

Fausseté de l’union

Inversement, si on arrive à démontrer que a16 est faux, alors nous savons à coup sûr que a1 et a6 sont faux.

Sur le site, un booléen union peut être créé à partir de deux booléens simples que l’on dépose l’un après l’autre sur le collecteur d’union :

Le collecteur d’union.

Sur papier, avec des lettres a, b, c, d, e, nous coderions l’union avec deux lettres: ae représente l’union du booléen a et du booléen e.

Règle du ou exclusif (ou)

(a ou b) est vrai seulement si l’un des deux booléens est vrai. En particulier, (a ou b) est faux si a et b sont faux ou vrais tous deux.

Cette règle est très largement utilisée dans les intégrammes; elle fonde les alternatives.

 a→
b↓
faux vrai
faux faux vrai
vrai vrai faux

La différence avec la règle du ou inclusif est qu’ici, si a et b sont vrais tous deux, (a ou b) est faux. C’est tout à fait le cas dans les alternatives. Le chapitre sur les alternatives est entièrement consacré à cette règle, alors nous ne nous étendrons pas sur le sujet. Prenons un exemple simple pour comprendre :

Nelly pilote son cerf-volant pendant 30 minutes ou pendant 50 minutes.

Nous voyons bien que Nelly ne peut pas piloter à la fois pendant 30 et 50 minutes. Une seule de ces deux possibilités est la bonne. C’est un cas typique de ou exclusif. En Français, on peut traduire le ou exclusif par la locution : soit…, soit…, mais au prix d’une certaine lourdeur dans la phrase :

Nelly pilote un cerf-volant soit pendant 30 minutes, soit pendant 50 minutes.

Notons qu’en langue française, la locution ou prend souvent la signification mathématique du ou exclusif. 

Voici la vidéo associée; si elle ne s’affiche pas, actualisez la page.