vignette|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. Un exemple de fonction booléenne est la fonction parité, dont la sortie dépend de la parité du nombre de 1 dans l'entrée. Une fonction booléenne peut être représentée par un circuit booléen.
Les corps finis et les polynômes interpolateurs de Lagrange conduisent rapidement à une propriété fondamentale des fonctions booléennes : la représentation dite « forme algébrique normale » (algebraic normal form ou ANF).
Toute fonction booléenne peut s'écrire comme un polynôme en variables à coefficients dans . Cependant, différents polynômes de donnent la même fonction. Par exemple, et donnent bien la même valeur lorsqu'ils sont évalués sur un élément de . Pour obtenir une représentation unique, il faut considérer les éléments de l'anneau quotient, soit :
Autrement dit, une fonction booléenne peut être représentée de manière unique par un polynôme de la forme :
( est une suite d'éléments de et ).
On pose fréquemment , et , permettant l'écriture compacte :
La notion de degré d'une fonction booléenne est alors évidente, il s'agit du degré maximal des monômes de son ANF.
Exemple de forme algébrique normale sur :
Les fonctions de degré 1 sont appelées les fonctions affines. En fait, ce sont des formes affines de l'espace vectoriel — vu comme espace sur le corps .
Ce sont les fonctions les plus simples, hormis les constantes. Il a fini par apparaître que « ressembler » à une fonction linéaire était une propriété pouvant être exploitée en cryptanalyse.
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
In computational complexity we study the computational resources needed to solve problems and understand the relation between different types of computation.This course advances the students knowle
We introduce formal verification as an approach for developing highly reliable systems. Formal verification finds proofs that computer systems work under all relevant scenarios. We will learn how to u
This course covers the statistical physics approach to computer science problems ranging from graph theory and constraint satisfaction to inference and machine learning. In particular the replica and
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.
En 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.
En informatique, un graphe de décision binaire ou diagramme de décision binaire (ou BDD pour Binary Decision Diagram en anglais) est une structure de données utilisée pour représenter des fonctions booléennes, ou des questionnaires binaires. On utilise les BDD pour représenter des ensembles ou des relations de manière compacte / compressée. Les diagrammes de décision binaires sont utilisés par les programmes de conception assistée par ordinateur (CAO / CAD) pour générer des circuits (synthèse logique), et dans la vérification formelle.
Introduit les bases de Python comme les types, les fonctions, les conditions, les boucles et les listes, avec des exemples de manipulation de chaîne et d'opérations de liste.
Technology mapping transforms a technology-independent representation into a technology-dependent one given a library of cells. This process is performed by means of local replacements that are extracted by matching sections of the subject graph to library ...
2024
,
Logic rewriting is a powerful optimization technique that replaces small sections of a Boolean network with better implementations. Typically, exact synthesis is used to compute optimum replacement on-the-fly, with possible support for Boolean don't cares. ...
We discuss two extensions to a recently introduced theory of arrays, which are based on considerations coming from the model theory of power structures. First, we discuss how the ordering relation on the index set can be expressed succinctly by referring t ...