Bonjour à vous, internautes. Ce chapitre suit le précédent sur les équations ainsi que les portes logiques, et marque aussi notre première étude de système, ce qui signifie que l’on va s’occuper à faire de la redstone, youpi !

Dans ce chapitre, nous allons voir comment sont faites nos portes logiques ainsi que comment bien utiliser nos équations logiques… Avant de, justement, les utiliser :

  1. Décomposition des portes logiques
  2. Simplification d’équations logiques
  3. Première étude de système

 

Nous avons précédemment vu ce qu’étaient des portes logiques, avec leur utilité théorique et leurs construction dans Minecraft. Mais au niveau de leur construction, nous ne les avons pas si bien étudiées. Et pourtant, il est assez intéressant d’observer que chaque porte logique peut contenir d’autres portes logiques dans sa construction.

 

1 – Décomposition des portes logiques

Parmi toutes les portes logiques que je vous ai présentées, la plus complexe était bien sûr la petite XOR. Essayons donc de décortiquer chaque élément la constituant pour comprendre comment elle marche.
Notre but sera de séparer chaque pièce et lui assigner une porte logique pour que, après l’assemblage de ces dernières, on puisse retrouver notre XOR. Ready ?

Porte XOR

Revoici une des architectures possibles de notre XOR :
Porte XOR

Voyez-vous le système se dévoiler ?
Il est à présent bien plus lisible. Maintenant, si vous connaissez bien vos portes logiques, on peut lire que :
chaque entrée est connectée à une NO, et à une même AND;
chaque NO est connectée à une NOR, elle même également connectée à la AND;
et enfin, les NOR ce connectent en une OR et délivrent le courant de sortie.

On peut donc en tirer l’équation suivante :
Avec avant le signe égal l’équation que je tire du schéma ci-dessus, et après le signe égal se trouve l’équation simplifiée de la porte XOR, que nous avons vu dans le précédent chapitre. Cependant, pour expliquer rapidement comment je trouve la première équation logique, je dois vous reparler des inversions.
Il y a deux façons de lire un système. Premièrement, comme ne le faisons depuis le début, en disant que, pour chaque possibilité de mon équation, je met ma sortie à 1, et secondement en disant que, pour chaque possibilité de mon équation, je met ma sortie à 0. Quand l’équation est inversée quoi. Mais il n’y a pas que cela qui s’inverse, les priorités aussi.
Prenons un exemple pour l’illustrer :

D’abord, une inversion porte sur un seul élément : cela peut être un argument, comme une entrée, une sortie ou une porte logique. On voit donc ici que l’inversion est sur la porte OR(+), car les portes OR sont celles avec la plus basse priorité, mais puisque l’équation est inversée, elle prend l’inversion. On a donc : a NOR (b AND c).

Mais si l’inversion est sur la porte OR, pourquoi ne pas mettre la barre de l’inversion seulement sur le « + » plutôt que sur l’ensemble de l’équation ?

C’est une question de syntaxe. Si je modifie un chouïa mon équation, je peux avoir :

Ici, il faut avoir une tout autre lecture, qui nous donne : (a NOR b) AND c.
La barre d’inversion permet donc de savoir la portée qu’aura l’inversion dans l’équation.

Et dernier point avant de fermer ma parenthèse. Sachez que si on inverse une inversion, tout s’annule et on retourne à une équation sans l’inversion. Donc si on inverse une porte NOR on retrouve une porte OR.

Gardez tout cela à l’esprit, on réutilisera l’équation de notre XOR plus tard.

Porte AND

Modèle disséqué d’une de ces reproduction sur Minecraft :
Porte AND

Bon ici, rien d’extraordinaire, c’est assez simple. On note que l’on inverse chaque entrée avec une NO qui se relient en une NOR. Ce qui nous donne: .

Et on pourra constater de la même manière que : c’est la règle de De Morgan. Oui, il y a deux « de » et oui, on s’en fout de son nom, oubliez-le.
On a donc déjà un début de simplification pour notre équation. Cependant, on peut faire vraiment mieux.

 

2 – Simplification d’équations logiques

L’algèbre utilisée pour nos équations logiques ressemble pas mal à celle qu’on utilise pour faire des calculs. On a des priorités de lecture, déjà énoncées dans le précédent article les concernant, et des propriétés pour manipuler nos équations afin de les simplifier.

Propriétés univariables

Ces propriétés servent énormément pour simplifier les équations en supprimant des variables qui s’annulent, etc :

Opérateur OR Opérateur AND

Si vous avez compris chaque point de ce tableau, alors vous avez assimilé l’algèbre. Sinon, vous devez prendre votre temps pour les comprendre avant de passer à la suite, car on va maintenant jongler avec plusieurs variables.

Propriétés multivariables

Comme dit précédemment, toutes les règles que je vais vous présenter sont identiques à celles pour calculer avec des nombres, donc si vous êtes fort en math ça passera tout seul, même si ce n’est pas très compliqué en soi :

Règle Opérateur OR Opérateur AND
Commutativité
Associativité
Distributivité
Absorption
Absorption
(avec une variable inversée)

M’voyez ?

Mais pour assimiler tout ça, il faut pratiquer, alors reprenons l’exemple du précédent chapitre.
De « Je veux que quand j’appuie sur un bouton() ET [que je suis sur ma plaque de pression() OU que mon levier() est activé] ma porte() s’ouvre », on avait trouvé l’équation :
Après simplification :
/!\NE PARTEZ PAS ENCORE/!\

Je vais tout vous expliquer point par point. On procède donc de cette manière :
=> État initial :
=> Règle de distributivité AND :
=> Propriétés univariables :
=> Règle de distributivité AND : 
=> Règle d’absorption OR(avec variable inversée) :
=> Règle de commutativité OR : (Pour y voir plus clair)

On se retrouve au final avec une équation avec seulement deux portes logiques, donc bien plus simple à réaliser en redstone. Mais on peut prendre des exemples bien plus complexes, comme notre porte XOR. Rappelez-vous de son équation :
Après simplification :
=> Règle de Morgan sur les NOR :
=> Règle de Morgan sur les NAND :
=> Règle de d’absorption OR :
=> Règle de commutativité OR :

Et là, miracle ! On retrouve notre équation de notre porte XOR, la boucle est bouclée !
Donc, si on avait à la base un système où il nous fallait faire pleins de portes logiques, on commence par simplifier notre équation puis l’interpréter. Par exemple, ici, mes trois portes AND, OR et AND, deviendront une seule porte XOR par interprétation.

Mais ce n’est pas en vous faisant lire ces quelques lignes que j’arriverai à faire de vous des bons en redstone, alors étudions ensemble un système afin de nous entraîner.

 

3 – Étude système

Le principe d’une étude est simple: je vous propose un exercice, tout bonnement, et vous devez le faire seul avant de regarder ma correction.
Puisque l’on a vu dans le précédent chapitre comment utiliser un tableau comme table de vérité (petit rappel ?), vous devrez premièrement me trouver une équation à partir de l’un d’eux (trois… d’accord je sors), puis me simplifier l’équation que vous trouverez.
Attention, c’est parti !

0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 0
Voir la solution:

Je vous prie de bien vouloir essayer de vous même de faire cette exercice. La pratique est importante pour assimiler cet algèbre, donc même si vous pensez faire nawak, faite moi quelque chose.
Mais sinon, voyons comment procéder.

Premièrement, récupérer une équation à partir de notre tableau en isolant les solutions à « 1 » :

0 0 1 1
0 1 1 1
1 0 0 1
1 1 0 1

On obtient donc :

Secondement, on simplifie :


=> Règle de distributivité  :
=> Propriétés univariables :
=> Règle de commutativité :

Voilà, aucun problème, notre équation est simplifiée. Cependant, si vous avez exactement fait comme moi à l’instant, je vous mets 19/20.
Effectivement, dans l’énoncé, je vous demandais juste de trouver puis simplifier l’équation, mais si vous avez bien suivi depuis le début, vous aurez remarqué que l’on peut interpréter ce système… Eh oui, une XOR, ENCORE UNE. Mais elle était justement d’autant plus visible, puisqu’elle était le fil rouge durant ce chapitre !
Néanmoins, on voit qu’avec la simplification, on a même réussis à éjecter une variable de notre équation, ici pas besoin de b en fin de compte. Comme quoi, la simplification d’équations logiques c’est cool pour la redstone !

Ce charmant petit article touche donc à sa fin. On a appris des choses intéressantes, on a tous un peu bossé et on va surtout pouvoir lâcher toutes ces équations pour un temps.
Si vous avez des interrogations, essayez d’abord de relire cet article ainsi que le précédent, mais si ils persistent toujours je suis présent dans les commentaires pour vous aider.
Je vous donne donc rendez-vous la fois prochaine pour la suite de notre encyclopédie sur la redstone !