Algèbre de Boole (logique)Lalgèbre de Boole, ou calcul booléen, est la partie des mathématiques qui s'intéresse à une approche algébrique de la logique, vue en termes de variables, d'opérateurs et de fonctions sur les variables logiques, ce qui permet d'utiliser des techniques algébriques pour traiter les expressions à deux valeurs du calcul des propositions. Elle fut lancée en 1854 par le mathématicien britannique George Boole. L'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.
Fonction booléennevignette|Arbre de décision binaire Une fonction booléenne est une fonction prenant en entrée une liste de bits et donnant en sortie un unique bit. Les fonctions booléennes sont très utilisées en informatique théorique, notamment en théorie de la complexité et en cryptologie (par exemple dans les boîtes-S et les chiffrements par flot -- fonction de filtrage ou de combinaison de registres à décalage à rétroaction linéaire). Une fonction booléenne est une fonction de dans où désigne le corps fini à 2 éléments.
Table de véritéUne table de vérité (parfois appelée fonction de vérité) est une table mathématique utilisée en logique classique — en particulier le calcul propositionnel classique et l'algèbre de Boole — pour représenter de manière sémantique des expressions logiques et calculer la valeur de leur fonction relativement à chacun de leurs arguments fonctionnels (chaque combinaison de valeur assumée par leurs variables logiques).
Table de KarnaughUne table de Karnaugh (prononcé ) est une méthode graphique et simple pour trouver ou simplifier une fonction logique à partir de sa table de vérité. Elle utilise le code de Gray (aussi appelé binaire réfléchi), qui a comme propriété principale de ne faire varier qu'un seul bit entre deux mots successifs (la distance de Hamming de deux mots successifs du code de Gray est égale à 1). Cette méthode a été développée par Maurice Karnaugh en 1953, en perfectionnant un diagramme similaire introduit en 1952 par .
Forme normale disjonctiveEn logique booléenne ou en calcul des propositions, une forme normale disjonctive ou FND (en anglais, disjunctive normal form ou DNF) est une normalisation d'une expression logique qui est une disjonction de clauses conjonctives. Elle est utilisée dans la démonstration automatique de théorèmes. Une expression logique est en FND si et seulement si elle est une disjonction d'une ou plusieurs conjonctions d'un ou plusieurs littéraux. Tout comme dans une forme normale conjonctive (FNC), les seuls opérateurs dans une FND sont le et logique, le ou logique et la négation.
Forme normale conjonctiveEn logique booléenne et en calcul des propositions, une formule en forme normale conjonctive ou FNC (en anglais, Conjunctive Normal Form, Clausal Normal Form ou CNF) est une conjonction de clauses, où une clause est une disjonction de littéraux. Les formules en FNC sont utilisées dans le cadre de la démonstration automatique de théorèmes ou encore dans la résolution du problème SAT (en particulier dans l'algorithme DPLL). Une expression logique est en FNC si et seulement si elle est une conjonction d'une ou plusieurs disjonction(s) d'un ou plusieurs littéraux.
TautologieLa tautologie (du grec ancien ταὐτολογία, composé de ταὐτό, « la même chose », et λέγω, « dire » : le fait de redire la même chose) est une phrase ou un effet de style ainsi tourné que sa formulation ne puisse être que vraie. La tautologie est apparentée au truisme (ou lapalissade) et au pléonasme. En logique mathématique, le mot « tautologie » désigne une proposition toujours vraie selon les règles du calcul propositionnel. On utilise aussi l'adjectif tautologique en mathématiques pour désigner des structures qui émergent naturellement de la définition de certains objets.
Circuit booléenvignette|Exemple circuit booléen à deux entrées et une sortie. Le circuit contient 3 portes logique. En théorie de la complexité, un circuit booléen est un modèle de calcul constitué de portes logiques (fonctions logiques) reliées entre elles. C'est une façon de représenter une fonction booléenne. Un circuit booléen peut être utilisé pour reconnaître un langage formel, c'est-à-dire décider si un mot appartient ou non à un langage particulier. Les caractéristiques des circuits qui reconnaissent un langage permettent de définir (ou redéfinir) des classes de complexité.
Système binaireLe système binaire (du latin binārĭus, « double ») est le système de numération utilisant la base 2. On nomme couramment bit (de l'anglais binary digit, soit « chiffre binaire ») les chiffres de la numération binaire positionnelle. Un bit peut prendre deux valeurs, notées par convention 0 et 1. Le système binaire est utile pour représenter le fonctionnement de l'électronique numérique utilisée dans les ordinateurs. Il est donc utilisé par les langages de programmation de bas niveau.
Forme normale algébriqueEn logique mathématique, la forme normale algébrique d'une fonction booléenne est une formule qui est un ou exclusif de conjonctions de variables propositionnelles ; par exemple 1 ⊕ a ⊕ b ⊕ ab ⊕ abc (1 correspond à la conjonction vide). Toute fonction booléenne admet une unique forme normale algébrique de taille minimale. Pour construire une formule normale algébrique, on part d'une forme normale disjonctive. On remplace ensuite la négation de a par (1 ⊕ a). On applique ensuite les règles de distributivité et d'absorption (a ⊕ a) = 0.
Numérotation des bitsEn informatique, la numérotation des bits est la convention utilisée pour identifier les positions des bits dans un nombre binaire. droite|vignette|280x280px| La représentation binaire de la décimale 149, avec le LSB en surbrillance. Le LSB représente une valeur de 1. droite|vignette|280x280px| La représentation binaire non signée de la décimale 149, avec le MSB en surbrillance. Le MSB représente une valeur de 128. En informatique, le bit le moins significatif ( LSB ) est la position du bit dans un entier binaire représentant la place binaire 1 de l'entier.
Logical shiftIn computer science, a logical shift is a bitwise operation that shifts all the bits of its operand. The two base variants are the logical left shift and the logical right shift. This is further modulated by the number of bit positions a given value shall be shifted, such as shift left by 1 or shift right by n. Unlike an arithmetic shift, a logical shift does not preserve a number's sign bit or distinguish a number's exponent from its significand (mantissa); every bit in the operand is simply moved a given number of bit positions, and the vacant bit-positions are filled, usually with zeros, and possibly ones (contrast with a circular shift).
Code binairevignette| Le mot "Wikipedia" représenté en code binaire ASCII , composé de 9 octets (72 bits). Un code binaire représente un texte, des instructions de processeur ou toute autre donnée utilisant un système à deux symboles. Le système à deux symboles utilise souvent des "0" et "1" dans le système de numération binaire. Le code binaire assigne une combinaison de chiffres binaires, également appelé bits, à chaque caractère, instruction, etc.
Fonction paritéLa fonction parité est une fonction booléenne. La sortie vaut 1, si et seulement si, le nombre de 1 dans l'entrée est impaire. Un cas particulier est la fonction parité avec deux entrées, qui est connue sous le nom de XOR. Cette fonction est centrale dans l'étude des circuits booléens. Le résultat est parfois appelé bit de parité. La fonction parité un exemple de fonction qui n'est pas dans la classe de complexité nommée AC0. Ceci a été démontré par Furst, Saxe et Sipser, et indépendamment à Miklós Ajtai. C
OpérandeEn mathématiques, dans une expression décrivant une opération, chacun des éléments sur lesquels s'applique l’opération est appelé un opérande. Selon l'arité de l'opérateur utilisé, il peut y avoir ainsi zéro, un ou plusieurs opérandes. En langage de programmation, l'arité de l'opérateur peut dépendre du jeu d'instructions. Un opérande peut être une constante, une simple variable ou une expression faisant intervenir d'autres opérations. Deux opérandes distincts peuvent avoir la même expression et a fortiori la même valeur.
Diagramme d'Eulerdroite|vignette|upright=1.5|lang=fr|Un diagramme d'Euler illustrant que l'ensemble des « animaux à quatre pattes » est un sous-ensemble des « animaux », mais l'ensemble des « minéraux » est disjoint (il n'a pas de membres en commun) avec « animaux ».|lien=Fichier:EulerDiagram.svg%3Flang=fr Un diagramme d'Euler est un moyen de représentation diagrammatique des ensembles et des relations en leur sein. La première utilisation des « cercles Eulériens » est communément attribuée au mathématicien suisse Leonhard Euler (1707-1783).
Expression booléenne (programmation informatique)In computer science, a Boolean expression is an expression used in programming languages that produces a Boolean value when evaluated. A Boolean value is either true or false. A Boolean expression may be composed of a combination of the Boolean constants true or false, Boolean-typed variables, Boolean-valued operators, and Boolean-valued functions. Boolean expressions correspond to propositional formulas in logic and are a special case of Boolean circuits.
Forme normale négativeEn logique mathématique, une formule est dite être en forme normale négative (abrégé FNN) si l'opérateur de la négation (, non) est appliqué uniquement aux variables, et les seuls opérateurs booléens autorisés sont la conjonction (, et) et la disjonction (, ou). La forme normale négative n'est pas une forme canonique, par exemple, et sont équivalentes, et sont toutes deux en forme normale négative.
Canonical normal formIn Boolean algebra, any Boolean function can be expressed in the canonical disjunctive normal form (CDNF) or minterm canonical form, and its dual, the canonical conjunctive normal form (CCNF) or maxterm canonical form. Other canonical forms include the complete sum of prime implicants or Blake canonical form (and its dual), and the algebraic normal form (also called Zhegalkin or Reed–Muller). Minterms are called products because they are the logical AND of a set of variables, and maxterms are called sums because they are the logical OR of a set of variables.
Fonction NON-OULa fonction OU-NON (NOR en anglais) est un opérateur logique de l'algèbre de Boole. À deux opérandes, qui peuvent avoir chacun la valeur VRAI ou FAUX, il associe un résultat qui a lui-même la valeur VRAI seulement si les deux opérandes ont la valeur FAUX. Cette fonction logique correspond aux mots français ni... ni, car la phrase ni A ni B est vraie si et seulement si les phrases A et B sont toutes les deux fausses ! On peut utiliser les symboles d'après les Lois de De Morgan Une lampe s'allume, sauf si l'on appuie sur « a » ou « b » ou « a » et « b » et seulement dans ces cas-là.