human
Expliquer comme imcinq Portes logiques et logique booléenne . Jamais pleinement saisi ce concept. Quelqu'un veut m'aider ? Explique comme si j'avais cinq ans.
gpt
----- # # # Introduction . ----- Dans la logique formelle, nous avons des * variables * et des * connecteurs * . * Les variables * agissent en logique de la même manière qu'elles agissent en algèbre ; ils peuvent être True ( * * T * * ) ou False ( * * F * * ) . * Les connecteurs * en logique prennent ces variables, et selon les valeurs de vérité des variables, ils produisent une autre valeur de vérité. ----- # # # Connecteurs de base . ----- Les trois connecteurs de base sont * * OR * * , * * AND * * et * * NOT * * . Commençons par * * OU * * . Nous avons la déclaration x * * OR * * y , où x et y sont les variables . x * * OR * * y est T lorsque soit * x * soit * y * est T ; sinon , c'est faux . |**x**|**y**|**x OU y**| |:------------ :| :------------ :| :------------ :| |T|T|T| |T|F|T| |F|T|T| |F|F|F| ( Ce qui précède est une table de vérité ; vous les verrez beaucoup dans la logique formelle . Ce sont essentiellement toutes les combinaisons possibles des valeurs de vérité des variables et les sorties dans chaque cas . ) x * * AND * * y est T si * x * et * y * sont T , et F sinon . |**x**|**y**|**x ET y**| |:------------ :| :------------ :| :------------ :| |T|T|T| |T|F|F| |F|T|F| |F|F|F| * * PAS * * est différent . * * AND * * et * * OR * * opèrent sur deux variables ; * * NOT * * fonctionne sur un . Il commute la valeur de vérité de la variable sur laquelle il travaille. Par exemple , si * x * est T , * * * NOT * * x * est F. |**x**|**NOT x**| |:------------ :| :------------ :| |T|F| |F|T| ----- # # # Connecteurs avancés . ----- Il existe d'autres connecteurs, tels que * * XOR * * , * * XNOR * * et * * NAND * * . L'opérateur * * OU * * utilise la définition * inclusive * de « ou », ce qui signifie qu'il ne s'agit pas d'un cas ou de l'autre. Si on vous demande si vous voulez des pépites ou de la crème de cerise sur votre glace, c'est inclus, ce qui signifie que vous pouvez avoir les deux. Mais dans * * XOR * * la définition * exclusive * de " ou " s'applique ; vous ne pouvez en avoir qu'un. Voici sa table de vérité : |**x**|**y**|**x XOR y**| |:------------ :| :------------ :| :------------ :| |T|T|F| |T|F|T| |F|T|T| |F|F|F| * * XNOR * * est l'opposé de * * XOR * * : Il sort T si les deux entrées ont la même valeur de vérité, et F sinon. |**x**|**y**|**x XNOR y**| |:------------ :| :------------ :| :------------ :| |T|T|T| |T|F|F| |F|T|F| |F|F|T| * * NAND * * produit F si ses deux entrées sont T , et T sinon . |**x**|**y**|**x NAND y**| |:------------ :| :------------ :| :------------ :| |T|T|F| |T|F|T| |F|T|T| |F|F|T| ----- # # # Équivalence et adéquation . ----- Vous pouvez voir pourquoi nous avons besoin des connecteurs de base pour les choses de base. Mais pourquoi avons-nous besoin de * * NAND * * ? Il y a quelque chose qui s'appelle *équivalence* : si deux déclarations ont la même table de vérité, elles sont *équivalentes*, ce qui signifie qu'elles sont identiques. Par exemple , x * * XNOR * * y est équivalent à * * NOT * * ( x * * XOR * * y ) parce que leurs tables de vérité sont opposées , et pour égaliser l'un à l'autre vous mettez * * NOT * * pour retourner la valeur de vérité de l'un d'entre eux. Un autre concept en logique est * l'adéquation *. Il existe une quantité infinie de tables de vérité à partir de différentes combinaisons de variables et de tables de vérité ; mais nous pouvons construire n'importe quelle table de vérité avec des déclarations et un nombre * fini * de connecteurs logiques . Les opérateurs de base ( * * NON * * , * * OU * * , et * * ET * * ) sont suffisants pour faire une déclaration pour chaque table de vérité existante . Ainsi sont * * PAS * * et soit * * OU * * ou * * ET * * . * x * * AND * * y * est identique à * * NOT * * ( ( * * NOT**x ) * * OR * * ( * * NOT**y ) ) — voyez-le en construisant les tables de vérité de les deux déclarations et en les comparant. Ensuite , pour prouver qu'un ensemble de connecteurs logiques est adéquat , nous devons prouver que les tables de vérité générées * juste * par ces connecteurs sont équivalentes à * * NOT * * x * et x * * AND * * y. * * NAND * * et * * XOR * * ont la particularité d'être suffisants seuls. Prenons * * NAND * * comme exemple . |**x**|**x NAND x**| |:------------ :| :------------ :| |T|F| |F|T| N'est-ce pas la même table de vérité que * * NOT * * ? Et si vous remarquez , si vous ajoutez un * * NOT * * à la déclaration finale dans la table de vérité de * * NAND * * , cela inverse les signes , et voilà ! C'est le même que celui de * * AND * * . Donc * * NOT * * ( x * * NAND * * y ) est équivalent à x * * AND * * x.