CHAPITRE 2. INTRODUCTION AUX FONCTIONS BOOLÉENNES

Documents pareils
Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Cours d Analyse. Fonctions de plusieurs variables

Commun à tous les candidats

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Polynômes à plusieurs variables. Résultant

3 Approximation de solutions d équations

Développements limités. Notion de développement limité

Continuité en un point

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.


Image d un intervalle par une fonction continue

Calcul différentiel sur R n Première partie

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

I. Polynômes de Tchebychev

Différentiabilité ; Fonctions de plusieurs variables réelles

Leçon 01 Exercices d'entraînement

Système binaire. Algèbre booléenne

Algèbre binaire et Circuits logiques ( )

Fonctions de plusieurs variables et applications pour l ingénieur

Capes Première épreuve

Développements limités, équivalents et calculs de limites

Calcul fonctionnel holomorphe dans les algèbres de Banach

Théorie et codage de l information

Continuité et dérivabilité d une fonction

Théorème du point fixe - Théorème de l inversion locale

Planche n o 22. Fonctions de plusieurs variables. Corrigé

Université Paris-Dauphine DUMI2E 1ère année, Applications

Amphi 3: Espaces complets - Applications linéaires continues

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Calcul différentiel. Chapitre Différentiabilité

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

La fonction exponentielle

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Groupe symétrique. Chapitre II. 1 Définitions et généralités

Notes du cours MTH1101N Calcul I Partie II: fonctions de plusieurs variables

Taux d évolution moyen.

Structures algébriques

Licence Sciences et Technologies Examen janvier 2010

OM 1 Outils mathématiques : fonction de plusieurs variables

108y= 1 où x et y sont des entiers

EXERCICE 4 (7 points ) (Commun à tous les candidats)

Exercices sur les interfaces

Chapitre 2 Le problème de l unicité des solutions

Équations non linéaires

Cours de mathématiques

CCP PSI Mathématiques 1 : un corrigé

Intégration et probabilités TD1 Espaces mesurés Corrigé

Résolution d équations non linéaires

Problème 1 : applications du plan affine

Carl-Louis-Ferdinand von Lindemann ( )

C1 : Fonctions de plusieurs variables

Etude de fonctions: procédure et exemple

Chapitre 2. Eléments pour comprendre un énoncé

Texte Agrégation limitée par diffusion interne

Suites numériques 3. 1 Convergence et limite d une suite

EXERCICES - ANALYSE GÉNÉRALE

NOTATIONS PRÉLIMINAIRES

n N = u N u N+1 1 u pour u 1. f ( uv 1) v N+1 v N v t

Programmation linéaire

Triangle de Pascal dans Z/pZ avec p premier

Limites finies en un point

Fonctions de plusieurs variables et changements de variables

Comparaison de fonctions Développements limités. Chapitre 10

Plan du cours : électricité 1

Dérivation CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES

Développement décimal d un réel

Introduction à l étude des Corps Finis

Analyse en Composantes Principales

Nombre de marches Nombre de facons de les monter

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Optimisation des fonctions de plusieurs variables

INTRODUCTION. 1 k 2. k=1

Corrigé du baccalauréat S Asie 21 juin 2010

Exercices - Polynômes : corrigé. Opérations sur les polynômes

DÉRIVÉES. I Nombre dérivé - Tangente. Exercice 01 (voir réponses et correction) ( voir animation )

Fonctions homographiques

Chapitre VI Fonctions de plusieurs variables

Logique. Plan du chapitre

Intégration et probabilités TD1 Espaces mesurés

Continuité d une fonction de plusieurs variables

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point

Chapitre 1 : Évolution COURS

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Chapitre 7 : Intégration sur un intervalle quelconque

Exercice autour de densité, fonction de répatition, espérance et variance de variables quelconques.

COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE

Chapitre 3 : Fonctions d une variable réelle (1)

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

Chapitre VI - Méthodes de factorisation

aux différences est appelé équation aux différences d ordre n en forme normale.

C algèbre d un certain groupe de Lie nilpotent.

IV- Equations, inéquations dans R, Systèmes d équations

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

Géométrie dans l espace Produit scalaire et équations

Les devoirs en Première STMG

Transcription:

CHAPITRE 2. INTRODUCTION AUX FONCTIONS BOOLÉENNES http://math.univ-lyon1.fr/~roblot/masterpro.html

Fonctions booléennes Définition. Une fonction booléenne est une fonction f : {0, 1} n {0, 1} Exemple. La fonction suivante de {0, 1} 3 {0, 1} 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 0 C est la table de vérité de la fonction f. Théorème. Il y a 2 (2n) fonctions booléennes sur {0, 1} n. Exemple. Pour n = 5, il y a 4 294 967 296 fonctions. Pour n = 7, il y a 10 38 fonctions. (Soit 10 22 années à 1 milliard de fonctions/seconde.)

Fonctions booléennes et opérateurs logiques Fonctions booléennes et opérateurs logiques On rappelle les opérateurs logiques : non, et, ou, ou exclusif négation a a 0 1 1 0 ou a b 0 1 0 0 1 1 1 1 et a b 0 1 0 0 0 1 0 1 Ils permettent de construire des fonctions booléennes. Exercice. On considère la fonction sur {0, 1} 3 ou exclusif a b 0 1 0 0 1 1 1 0 Construire sa table de vérité. f(a, b, c) = ( a c) ( (b c (a b))) Attention à l ordre des opérateurs. a la plus forte priorité, mais il n y a pas d ordre entre et. L expression suivante est ambigüe a b a Exercice. Donner les deux écritures non ambigües de cette expression et démontrer qu elles ne sont pas égales.

Fonctions booléennes et opérateurs logiques Fonctions booléennes et opérateurs logiques Théorème de représentation normale logique Toute fonction booléenne peut s exprimer uniquement à l aide des opérateurs logiques, et, et même uniquement et (ou et ). Preuve. Pour chaque ligne de la table de vérité qui donne la valeur 1, on construit à l aide de et une expression qui vaut 1 uniquement pour les entrées correspondantes. Puis, on assemble ces expressions avec des. Pour le deuxième point, on utilise la loi de DeMorgan (a 1 a 2 a n ) = ( a 1 a 2 a n ) Exercice. Construire une représentation normale logique pour la fonction booléenne suivante 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 1

Fonctions booléennes et opérateurs logiques Règles de calcul logique Associativité (a b) c = a (b c) (a b) c = a (b c) Commutativité a b = b a a b = b a Distributivité a (b c) = (a b) (a c) a (b c) = (a b) (a c) Idempotent a a = a a a = a Double négation a = a Loi de DeMorgan (a b) = a b (a b) = a b Absorption a (a b) = a a (a b) = a Valeurs constantes a 0 = 0 a 1 = a a 1 = 1 a 0 = a Valeurs opposées a a = 0 a a = 1 Exercice. Démontrer ces formules.

Fonctions booléennes et opérateurs logiques Exercice. Utiliser les règles de calcul et la représentation trouvée précédemment pour démontrer que la fonction booléenne suivante 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 1 est en fait la fonction ( a b) (a c). Indication. Partager l expression en deux parties. Utiliser la distributivité, puis l absorption.

Fonctions booléennes et polynômes dans F 2 [X 1,..., Xn] Fonctions booléennes et polynômes dans F 2 [X 1,..., X n ] Définition. Un polynôme de F 2 [X 1,..., X n ] est une somme finie de termes monômiaux de la forme (où F 2 est le corps à deux éléments) X a1 1 Xa2 2 Xan n avec a 1,..., a n 0 Exemple. X 3 1 + X 2 1 X 2 + X 5 1 X 7 3 est un élément de F 2 [X 1, X 2, X 3 ] Degré. On définit le degré du terme monômial X a1 1 Xa2 2 Xan n par a 1 + + a n. Et le degré d un polynôme comme le maximum des degrés de ses termes monômiaux. Exercice. Déterminer le degré du polynôme X 3 1 + X 2 1 X 2 + X 5 1 X 7 3.

Fonctions booléennes et polynômes dans F 2 [X 1,..., Xn] Construction. Une polynôme dans F 2 [X 1,..., X n ] permet de construire une fonction booléenne de {0, 1} n en considérant 0 et 1 comme les éléments de F 2. Exercice. Construire la table de vérité de la fonction correspondant au polynôme X 3 1 + X 2 1 X 2 + X 5 1 X 7 3. Remarque. Puisque 1 n = 1 et 0 n = 0, pour tout n 1, on peut remplacer Xi n par X i sans changer les valeurs. Exemple. Le polynôme X 1 + X 1 X 2 + X 1 X 3 définit la même fonction booléenne que le polynôme X 3 1 + X 2 1 X 2 + X 5 1 X 7 3

Fonctions booléennes et polynômes dans F 2 [X 1,..., Xn] Polynômes réduits Définition. Un polynôme dont tous les termes monômiaux sont de la forme X a1 1 Xa2 2 Xan n avec a 1,..., a n = 0 ou 1 est un polynôme réduit. Exemple. Le polynôme suivant est réduit X 1 X 3 + X 2 X 3 + X 3 Théorème de représentation normale algébrique Toute fonction booléenne peut s exprimer de manière unique comme un polynôme réduit.

Fonctions booléennes et polynômes dans F 2 [X 1,..., Xn] Exercice. Preuve du théorème 1ère partie. Soit P un polynôme réduit dans F 2 [X 1,..., X n ], non nul. On montre qu il existe (a 1,..., a n ) {0, 1} n tel que P (a 1,..., a n ) 0. 1 Démontrer le résultat pour n = 1. 2 Soit n 1. On suppose que le résultat est vrai pour tout polynôme dans F 2 [X 1,..., X n ]. Soit P un polynôme dans F 2 [X 1,..., X n+1 ]. 1 Montrer qu il existe S, T F 2[X 1,..., X n] tels que P (X 1,..., X n+1) = X n+1s(x 1,..., X n) + T (X 1,..., X n) 2 En déduire qu il existe (a 1,..., a n+1) {0, 1} n+1 tel que P (a 1,..., a n+1) 0. Indication. Commencer avec (a 1,..., a n) {0, 1} n tel que 3 Conclure. S(a 1,..., a n) 0 ou T (a 1,..., a n) 0

Fonctions booléennes et polynômes dans F 2 [X 1,..., Xn] Exercice. Preuve du théorème Exercice. Trouver un élément de {0, 1} 4 qui n annule pas X 1 X 2 X 4 + X 1 X 3 X 4 + X 2 X 4 + X 3 X 4 + X 4 2ème partie. Soit n 1 et soient P et Q deux polynômes réduits distincts dans F 2 [X 1,..., X n ]. Montrer, en utilisant la première partie, qu ils définissent deux fonctions booléennes différentes. 3ème partie. Soit M un monôme d un polynôme réduit dans F 2 [X 1,..., X n ]. 1 Montrer que M est de la forme X i1 X is où 0 s n et 1 i 1 < < i s n 2 Compter le nombre de monômes de cette forme. 3 En déduire le nombre de polynômes réduits dans F 2 [X 1,..., X n ]. 4 Conclure.

Conversion entre représentations normales Conversion entre représentations normales Monômes. Un monôme correspond à un et logique entre les variables du monôme X 1 X 3 X 5 x 1 x 3 x 5 Addition. L addition correspond au ou exclusif X 1 X 2 + X 1 X 3 x 1 x 2 x 1 x 3 Exercice. Ecrire la représentation normale logique correspondant à la fonction booléenne définie par X 1 X 2 + X 2 + X 1 X 3

Conversion entre représentations normales Conversion entre représentations normales Exercice : Construction de la représentation algébrique. 1 Soit (a 1,..., a n) dans {0, 1} n. Montrer que (x 1 a 1 1) (x n a n 1) = 1 x i = a i pour 1 i n 2 En déduire que le polynôme suivant est la représentation normale algébrique de la fonction booléenne f sur {0, 1} n X (X 1 + a 1 + 1) (X n + a n + 1) (a 1,...,a n) {0,1} n tels que f(a 1,...,a n)=1 3 Calculer la représentation algébrique normale de la fonction booléenne 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 1 4 Calculer la représentation algébrique normale de la fonction booléenne (a b) (c a)

Distance entre fonctions booléennes Distance entre fonctions booléennes Définition. Soient f et g deux fonctions booléennes de {0, 1} n, on définit la distance de f à g par d(f, g) = card {x {0, 1} n tel que f(x) g(x)} Exercice. Calculer la distance entre les deux fonctions booléennes suivantes : f(a, b) = a b et g(a, b) = a b Exercice. Montrer que d est bien une distance, c est-à-dire qu elle vérifie pour f, g et h trois fonctions booléennes : d(f, g) = 0 si et seulement si f = g, d(f, g) = d(g, f), d(f, h) d(f, g) + d(g, h).

Transformée de Fourier et transformée de Walsh Transformée de Fourier et transformée de Walsh Produit scalaire. Soient x = (x 1,..., x n ) et y = (y 1,..., y n ) deux éléments de {0, 1} n. On définit le produit scalaire de x et y par x y = x 1 y 1 + + x n y n (dans F 2 ) = (x 1 y 1 ) (x n y n ) Exercice. Soient x, y, z {0, 1} n. Montrer x (y z) = (x y) (x z). Transformée de Fourier. Soit f une fonction booléenne sur {0, 1} n, la transformée de Fourier de f est la fonction de {0, 1} n dans Z définie par ˆf(u) = ( 1) x u f(x) x {0,1} n où les valeurs 0 et 1 de f sont vues comme des entiers. Exercice. Calculer la transformée de Fourier de la fonction booléenne f(a, b, c) = (a b) (a b c)

Transformée de Fourier et transformée de Walsh Transformée de Walsh. Soit f une fonction booléenne sur {0, 1} n, la transformée de Walsh de f est la fonction de {0, 1} n dans Z définie par f(u) = x {0,1} n ( 1) f(x) (x u) Exercice. Calculer la transformée de Walsh de la fonction booléenne f(a, b, c) = (a b) (a b c) Vérifier qu on a 2 n 2 f(u) ˆf(0...0) si u = 0...0 = 2 ˆf(u) sinon Démonter ce résultat en utilisant le fait que ( 1) f(x) = 1 2f(x) et { ( 1) x u 2 n si u = 0...0 = 0 sinon x {0,1} n Indication. Pour u 0...0, montrer qu il existe v tel que u v = 1.

Fonctions booléennes vectorielles Fonctions booléennes vectorielles Définition. Un fonction booléenne vectorielle (FBV) de {0, 1} n dans {0, 1} m est un vecteur (f 1,..., f m ) de m fonctions booléennes sur {0, 1} n. C est donc une fonction de {0, 1} n dans {0, 1} m donnée par (a 1,..., a n ) ( f 1 (a 1,..., a n ),..., f m (a 1,..., a n ) ) Exemple. La fonction suivante est une fonction booléenne vectorielle de {0, 1} 3 dans {0, 1} 2 F (a, b, c) = ( (a b) c, ( a b) (a b c) ) Fonctions booléennes vectorielles et cryptosystèmes. Un cryptosystème travaillant sur des blocs de n bits avec une clé de m bits est donné par une fonction booléenne vectorielle de {0, 1} n+m dans {0, 1} n, ou de {0, 1} n dans {0, 1} n si on considère la clé fixée.