Redstone Explication sur les portes logiques.

Kothar

Just a redstonner
24 Septembre 2011
133
14
13
34
Bonjour à tous,​

J'ouvre ce sujet suite à une discussion sur les portes logiques car, nous sommes beaucoup avoir des notions différentes par rapport à celles-ci voir même, pour les débutants, ne pas bien comprendre ce que c'est réellement.
Faisons donc le point sur ces petits "engins" super utiles (ou pas :rolleyes: )!

Attention, dans tout ce dont je vais parler ici, j'ai essayé d'être le plus simple possible et donc je ne parle pas de beaucoup de choses mais les choses mises de coté ne sont que très très peu importantes dans minecraft.

Commençons de suite! :p

* Porte logique: Une porte logique est une implémentation (création, construction permettant l'utilisation) "matérielle" de fonctions logiques.​
* Fonction logique: Une fonction logique est une fonction mathématique. Oui oui, comme les fonctions que l'on apprend à l'école. Vous savez là f(x) = x² par exemple. Hé! Ne partez pas déjà! :eek: Il ne faut pas avoir peur!​
C'est donc une fonction, avec une ou plusieurs entrées et une ou plusieurs sorties où l'/les entrée(s) et la/les sortie(s) peuvent avoir certaines valeurs.​
Les fonctions vue en math fonctionnent de la même manière, par rapport à l'exemple donné plus haut, x est l'entrée (notez que "x" est juste un nom que l'on a donné à l'entrée, on aurait très bien pu l'appeler "m" ou même "ξ" (prononcer: "xi") ) et elle peut prendre plusieurs valeurs, souvent x appartient aux réels (les nombres avec lesquels on joue depuis tout petit) et la sortie est x² qui a aussi une valeur réelle.​
C'est là que les fonctions logiques sont un peu différentes, les valeurs ne sont plus des nombres réels mais elles appartiennent à un ensemble qui a une structure dite d'algèbre de Boole (si vous voulez en savoir plus là-dessus allez voir ici ou alors demandez dans ce post, je ferais un petit résumé simplifié là-dessus) plus simplement et en pratique, les valeurs peuvent être en gros: "allumé"/"éteint" ou "du courant"/"pas de courant" ou "activé"/"désactivé" mais l'on parlera souvent de valeur à "1"/"0".​
Comme pour les fonctions vues à l'école, les fonctions logiques peuvent elles aussi être représentées "graphiquement" (je rappelle que graphiquement ne veut pas dire sous forme d'un graphique avec deux axes gradués mais veut dire que l'on peut le représenter par un écrit, un dessin), au lieu des graphiques bien connus, on utilise en logique des tableaux appelés tables de vérité qui permettent de représenter les valeurs des sorties selon toutes les valeurs d'entrées possible.​
Ce qui nous donne:​
tabexq.png
Où E est l'entrée, 0 et 1 les valeurs de cette entrée,​
F la fonction logique et ? une valeur quelconque ( 0 ou 1) que pourrait prendre F.​
Un exemple concret de table logique d'une fonction à une entrée et une sortie est:​
tabexnon.png
Soit A l'entrée, vous avez certainement reconnu la table de la fonction "complément" (la négation) souvent notée aussi A' ou
50059271.png
qui est la fonction de l'inverseur.​
Avec l'opérateur NON (complément, l'inverse), on a aussi deux autres opérateurs élémentaires qui sont le OU (disjonction, addition logique) et le ET (conjonction, multiplication logique).​
Ces trois opérateurs sont en fait ceux qui sont définis par l'algèbre de Boole et de là peut être formée n'importe quelle autre fonction logique.​
Il est aussi intéressant de noter que lorsque l'on a une seule valeur d'entrée pour une fonction, on peut définir quatre fonctions différentes en sorties (appelons F1, F2, F3 et F4 ces fonctions et A l'entrée). On a donc:​
tab1entre.png
Vu avez reconnu F2 à qui on a donné le nom de fonction NON (également porte NON) et peut-être F3 qui est la fonction OUI.​
On peut bien sûr appliquer cela pour les fonctions à deux entrées et on remarque que l'on peut définir jusqu'à 16 fonctions différentes (Soit A et B les entrées et F1 jusqu'à F16 les sorties):​
tab2entres.png
On peut aussi reconnaitre ici F15 qui est la fonction OU (porte OU), F9 qui est la fonction ET (porte ET), également F2 (NON-OU), F8 (NON-ET), F7 (OU-exclusif),...​
Il est important de dire que toutes ces fonctions n'ont pas chacune leur nom :confused:, je ne saurais pas vous en dire beaucoup plus là dessus car ce n'est pas moi qui ai choisi de nommer telle ou telle autre fonction mais je suppose que des noms ont été donnés aux fonctions les plus communes, les plus utilisées ou du moins aux fonctions où il était facile de trouver un nom simple sur base des opérateurs définis pas l'algèbre de Boole (je précise bien sûr "simple" car on peut remarquer que l'on pourrait nommer toutes les fonctions en utilisant les trois opérateurs de base).​
Après, on peut généraliser tout ça pour les fonctions à "n" entrées :eek: , on peut savoir le nombre de fonctions à n entrées et une sortie qu'il est possible de construire en utilisant la formule 2^(2^n)​
on a donc avec une entrée, une sortie 2^(2^1) ce qui fait 4 (ce que l'on avait plus haut) pour deux entrées, une sortie 2^(2^2) qui nous donne 16 fonctions possible.​
On peut terminer par un exemple de fonction logique nommée demi-additionneur qui est une fonction à deux entrées (A et B) et deux sorties (S et R appelée aussi Cout qui est un report) :​
tabadd.png
Pfiou ça commence à faire long tout ça, il y a encore quelqu'un qui lit?​
Allez un minuscule résumé avant de terminer cette partie, et puis on ajoute quelques trucs mais promis ça sera plus très long (ou pas :rolleyes:).​
Donc ce qu'il faut retenir sur les fonctions logiques, c'est:​
-Que l'on peut créer autant de fonctions que l'on veut selon bien sûr le nombre d'entrées et de sorties que l'on considère.​
-Qu'il y a trois opérateurs basique (NON, OU, ET) qui définissent d'ailleurs eux-même des fonctions et à partir de ces opérateurs on peut construire des fonctions, à partir de ces fonctions on peut les combiner pour encore en inventer d'autres toujours plus complexes, c'est en fait cela que l'on fait dans minecraft!!!​
* Porte logique (le retour):
Il faut encore savoir quelques petites choses au sujet des portes logiques.​
D'abord, il existe des portes logiques appelées portes universelles. (Wahou! C'est quoi encore ce machin? :eek:) En fait c'est assez simple et très utile, on l'utilise d'ailleurs tout le temps dans minecraft​
Une porte logique universelle c'est une porte qui en l'utilisant seule ou en en combinant plusieurs permet de recréer n'importe quelle fonction logique! Les deux portes logiques universelles sont la portes NON-OU et la porte NON-ET.​
Rappelez-vous, dans minecraft, on n'utilise des blocs, de la redstone et des torches et quelle porte peut-on construire avec un bloc, et une torche? :D Un inverseur!!! Oui mais non, c'est surtout une porte NON-OU! (Allez voir toutes vos portes logiques sans pistons et regardez comme vous pouvez toutes les décomposer en portes NON-OU.)​
Il est aussi important de savoir que dans la réalité, il y a plusieurs façon de créer les portes logiques (circuits intégrés, relais, transistors et j'en passe...) qui peuvent définir par exemple la fonction ET mais, qui ne sont pas formées avec des portes NON-OU contrairement à minecraft où tout part de cette porte (sauf pour le cas des pistons, on peut d'ailleurs voir les pistons comme des relais ou transistors).​
Pfiou!!! C'est super long tout ça! Mais j'espère que tout ceci contient assez d'informations, est lisible et assez simple et surtout n'a pas été trop lourd à lire. J'arrête donc ici pour l'instant, je modifierai des choses par la suite s'il faut.​
J'espère que tout ceci vous aidera à mieux comprendre ce monde et surtout, hésitez pas à poser vos questions!​
Un plaisir!​
:cool:
 

atomisator

Atomiseur de cubes !
1 Septembre 2011
1 020
234
182
30
mwahahahah excellent , ça bourre un peu le crâne mais c'est très instructif ! Il faut avoir du courage pour tout lire , on n'est pas mécontent de l'avoir fini :D :D

Merci pour ces explications :)
 

Nairolf

If in doubt, flat out.
26 Avril 2011
2 849
220
212
31
C'est toujours utiles ce genre de tuto, il manque un sur le Binaire en informatique, et on comprend la redstone en général.
 

atomisator

Atomiseur de cubes !
1 Septembre 2011
1 020
234
182
30
boh le binaire c'est pas bien compliqué , si vous voulez un tuto , je peut en faire un ! :)
 

Kothar

Just a redstonner
24 Septembre 2011
133
14
13
34
Bon ben, pour les courageux qui ont lu jusqu'au bout, déjà merci, car j'y ai passé pas mal de la journée lol
J'espère que ça sera utile à beaucoup de gens. :)

@atomisator :J'espère que ça t'as aidé par rapport aux questions que tu te posais dans ton topic? ^^

@Nairolf : Que veux-tu dire par tutoriel sur le binaire? Juste voir en gros comment ça fonctionne, comment compter en binaire et convertir dans une autre base? Ou alors un truc plus poussé sur les calculs binaires, avec tous les trucs plus complexes qu'il y a autour?

Et sinon, pour tous ceux qui ont pris la peine de lire ces explications, qu'avez-vous pensé?
Trop long? A chier? Pas assez compréhensible? Des choses à modifier, à proposer?

Bon amusement à tous!
:cool:
 

Nairolf

If in doubt, flat out.
26 Avril 2011
2 849
220
212
31
La première solution, enfin il y en a sur le forum, mais chacun exploite qu'une partie.
 

atomisator

Atomiseur de cubes !
1 Septembre 2011
1 020
234
182
30
non il est bien ! Il faut avoir quelques connaissances en math ( je parle pour le nombre assez consécant des internautes qui ont moins de 15 ans et qui ne connaîtraient pas encore les fonctions ) et ne pas être trop con :D

Sinon pour le binaire , il y a quand même pas mal à dire , j'ai un livre de cryptographie qui en parle pas mal , si vous êtes interressés je peut vous faire un tuto dessus , en parlant du binaire on peut aussi aller sur le code ASCII ( évidement :D ) , le code hexadécimal , et autres ..
 

Pachyderme

Pachy
25 Octobre 2011
164
53
135
J'ai trouvé ton post vraiment intéressant !
T'a du courage pour écrire un long truc comme ça !
Bravo !
Mais, si je devais faire une petite remarque, je trouve que tu reste trop dans l'aspect théorique de la chose. Ça peut être un peut barbant (comme ton truc de 4^n) pour les gents qui sont un peut démunis devant la redstone.

EDIT : Ça serais super cool que tu nous fasse un tuto comme ça sur le binaire !
 

Kothar

Just a redstonner
24 Septembre 2011
133
14
13
34
@atomisator : C'est vrai qu'il faut avoir quelques connaissances en math mais bon, je pense que 15 ans c'est assez accessible pour un sujet parlant de portes logiques et un tout petit peu d'algèbre de Boole. Et vas y, moi ton sujet m'intéresse en tout cas. :D

@Pachyderme : Oui, j'avoue que c'était très théorique mais ce n'était pas mon but de voir toute la pratique ici, c'était plutôt pour avoir une base sur ce sujet et quel que soit le sujet abordé, les bases c'est toujours de la théorie. :oops: Je ne savais pas trop comment faire autrement. =s Par contre tu m'as fait remarquer une erreur de parenthère que j'ai comise, Ce n'est pas (2²)^n qui revient comme tu l'as mis à 4^n mais bien 2^(2^n), je viens de le corriger. Merci bien. :)

Et tu as raison aussi que ça peut être un peu difficile de comprendre tout ça pour des gens démunis devant la redstone mais alors il faudrait faire plusieurs tutoriels de "niveaux" différents traitant d'un même sujet et ça devient compliqué. Mais ta remarque est très intéressante et j'en tiendrai compte pour de futurs projets!:cool:
 

atomisator

Atomiseur de cubes !
1 Septembre 2011
1 020
234
182
30
Ok , à l'occasion je ferai ce tuto sur le binaire , je pense demain , car c'est plus ou moins long et je dois compacter tout ça :D