La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR

Présentations similaires


Présentation au sujet: "12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR"— Transcription de la présentation:

1 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR

2 12/04/2001Exposé à l'IML2 Les complexités La notion de Machine de Turing permet de donner une définition rigoureuse de la complexité. On distingue ici 3 complexités d une fonction f: –algorithmique (Chaitin-Kolmogorov) : taille du plus petit programme qui calcule f : C A (f) –en temps : combien de temps pour calculer f(n) : C T (n) n étant la taille des données –en espace: combien de mémoire nécessaire : C E (n) ? Ces complexités dépendent bien sûr du type de machine de Turing utilisé.

3 12/04/2001Exposé à l'IML3 Fonctions booléennes Définition : C est une application d un ensemble quelconque vers {0,1}. Définition risquée : prendre un sous ensemble non récursif de N alors la fonction caractéristique de cet ensemble n est pas calculable! On se restreindra aux ensembles finis. Pas de structure algébrique à priori mais plusieurs potentielles.

4 12/04/2001Exposé à l'IML4 Définition 2 : On appellera fonction booléenne à n variables toute application f : {0,1} n {0,1}(n 0) L étude des fonctions booléennes est donc équivalente à l études des parties de {0,1} n On note leur ensemble B n Card (B n ) = 2 2 n Pour installer une structure sur B n il suffit d en mettre une sur {0,1} et de « relever » la structure. On a deux possibilités « classiques ».

5 12/04/2001Exposé à l'IML5 Structure 1 : {0,1} est une algèbre de Boole : on utilise deux opérations binaires, et une unaire Structure 2 : {0,1} est un corps fini avec la loi + et Attention le + correspond au XOR des informaticiens, le correspond au. Remarque : On en déduit respectivement pour {0,1} n une structure d algèbre de Boole. une structure de F 2 - algèbre (et pas de corps). Cette algèbre nest autre que lalgèbre produit (F 2 ) n. Ne pas confondre cette algèbre avec le corps fini F 2 n.

6 12/04/2001Exposé à l'IML6 Les structures induites sur B n sont, respectivement 1/ : aussi une structure d algèbre de Boole (c est l algèbre de Boole des parties de {0,1} n exemple : f (x,y,z) (g(x,y,z) h(x,y,z)) 2/ : une structure de F 2 -algèbre isomorphe à F 2 [X 1,…,X n ]/(X 1 2 +X 1,…,X n 2 +X n ) F 2^n exemple : 1+x+yz+xyz Dans les deux cas les variables désignent les fonctions coordonnées sur B n.

7 12/04/2001Exposé à l'IML7 Formes normales canoniques (uniques à lordre près des termes et des variables) Forme normale disjonctive canonique (fndc) exemple à 2 variables : x y = (x y ) ( x y) (x y) où y = y Forme normale conjonctive canonique (fncc) exemple à 2 variables : x y est une fncc. Forme normale polynomiale (ordre degré-lexicographique): exemple à 2 variables : x y = x+y+xy

8 12/04/2001Exposé à l'IML8 Les formes normales sont difficiles à utiliser dès que le nombre des variables est grand : elles comportent au plus 2 n termes. La fndc par exemple nest autre que la table de vérité de la fonction f. La fncc n est autre que la table de vérité de sa fonction complémentaire f=1+f (qu on note souvent f ). Exemple : la fndc de la constante 1 comporte 2 n termes.

9 12/04/2001Exposé à l'IML9 Il existe donc une différence très marquée entre les deux écritures dune fonction booléenne. Cest-à-dire entre l écriture en,, et l écriture polynomiale. La différence peut être exponentielle en nombre de termes. Les règles de conversion dune écriture vers lautre sont les suivantes : f g = f+g+fgf g = fg f = 1+f f + g = (f g ) ( f g)

10 12/04/2001Exposé à l'IML10 Pourquoi l étude des fonctions booléennes est elle difficile ? : L existence des formes polynomiales montre que cette étude est équivalente à celle de la géométrie algébrique sur F 2. Tout ensemble de n-uples de bits est envisageable comme un ensemble de points rationnels sur F 2 d une variété algébrique définie sur F 2. L exploration informatique est difficile : pour n>5, on ne peut plus faire de recherches exhaustives.

11 12/04/2001Exposé à l'IML11 Arbre de vérité

12 12/04/2001Exposé à l'IML12 La Table de vérité (ordre lexicographique) Espace nécessaire pour le stockage 2 n bits

13 12/04/2001Exposé à l'IML13 Pour toute fonction booléenne à n variables, son arbre de vérité comporte 2 n -1 nœuds non terminaux 2 n nœuds terminaux (feuilles) 2(2 n -1) arcs L arbre de vérité permet l interprétation de l identité de Boole (1854 : The Law of Thought) : f(x,y,…)= x f(0,y,…) + x f(1,y,…) qui s écrit aussi (remarquable) f(x,y,…)= x f(0,y,…) xf(1,y,…) ainsi

14 12/04/2001Exposé à l'IML14

15 12/04/2001Exposé à l'IML15 Arbre de vérité = automate 1 0 Etat initial Etat final Etat puit

16 12/04/2001Exposé à l'IML16 1 (final) 0 BDD quasi réduit = Automate minimal = Identification des sous-arbres isomorphes

17 12/04/2001Exposé à l'IML17 Réduction L identification des sous arbres isomorphes est toujours possible si n>3. En effet le nombre des sous arbres de hauteur 1 dans l arbre de vérité est 2 n-1, c est plus grand que le nombre de fonctions booléennes à 1 variable (qui est 4). Tous les sous arbres de hauteur 1 vont donc s identifier en au plus 4 classes. De même pour les sous arbres de hauteur 2 qui vont se repartir en au plus 16 classes etc..

18 12/04/2001Exposé à l'IML BDD (réduction des liens doubles)

19 12/04/2001Exposé à l'IML19 BDD : réduction supplémentaire du BDDQR Les BDD (Binary Decision Diagram) de Lee (1959) et Ackers 1978, étudiés par R.E. Bryant (1986) sont issus d une étape supplémentaire de réduction à partir du BDDQR. Si lors d une étape de résuction, un état X a le même fils droit et gauche on identifie cet état x avec son successeur. Mais... A X B DC A B DC devient

20 12/04/2001Exposé à l'IML20 BDD et rang des noeuds Le BDD nest plus lautomate minimal, il ne reconnaît plus le même langage ! Les BDD ne sont pas des graphes, on doit faire figurer la variable concernée par chaque état. Les nœuds ont des rangs. Le nombre de nœuds du BDD dune fonction booléenne nest donc pas une mesure de sa complexité algorithmique.

21 12/04/2001Exposé à l'IML21 BDDQR et complexité algorithmique Le nombre d états (de nœuds) du BDDQR donne directement un majorant de la complexité algorithmique du calcul de la fonction booléenne. La complexité en temps est toujours majorée par le nombre de variables. La table de transition de lautomate est la table de transition de la machine de Turing: Etat Caract luEtat suivant Caract écritDéplacement Initial0A01 Initial1B01 A0C01 A1D01 B0D01 B1E01 etc...

22 12/04/2001Exposé à l'IML22 Tous les QRBDD minimaux pour n=3 Nbre de nœudsNbre de fonctions booléennes 4 (minimum) 2 (constantes 0 et 1) 5 2(z et 1+z) (maximum) 24les fonctions « dures » Total:256fonctions booléennes dans B 3

23 12/04/2001Exposé à l'IML23 Graphes des fonctions dures pour n=3 10 4!=24 manières d établir les connexions en bas

24 12/04/2001Exposé à l'IML24 Tous les QRBDD minimaux pour n=4 Nombre de nœudsNombre de fonctions booléennes du QRBDD 5 (minimum) 2 (constantes 0 et 1) 6 2 (t et 1+t) (maximum) les fonctions « dures » Total65536

25 12/04/2001Exposé à l'IML25 Graphes des fonctions dures pour n= manières d établir les connexions entre les rangs 3 et 4 (flèches rouges). Pourquoi?

26 12/04/2001Exposé à l'IML26 Fonctions booléennes dures On peut chercher pour un nombre de variables donné, quelles sont les fonctions booléennes dont le BDDQR possède un nombre maximal de nœuds. De telles fonctions booléennes seront dites dures. Il est assez facile de déterminer cette complexité maximale (Champarnaud-Pin) et notre objectif est de décrire les QRBDD correspondants et de les dénombrer.

27 12/04/2001Exposé à l'IML27 Complexité algorithmique des fonctions booléennes dures Pour un nombre de variable n fixé, on considère la fonction d n (k)= inf(2 k-1,2 2 n-k+1 ) Alors Cmax = Complexité algo maximale des fonction booléennes à n variables = d n (1)+…+d n (n+1) n = 3 Cmax = = 9 n = 4 Cmax = = 13 n = 5 Cmax = = 21

28 12/04/2001Exposé à l'IML28 Fonctions dures (suite) Cmax = Complexité (nombre de nœuds) maximale = d n (1)+…+d n (n+1) n = 3 Cmax = = 9 n = 4 Cmax = = 13 n = 5 Cmax = = 21 n = 6Cmax = = 37 n = 7Cmax = = 53 n = 8Cmax = = 85 n= 9Cmax = =149

29 12/04/2001Exposé à l'IML29 QRBDD des fonction dures Arbre binaire hauteur n - log 2 n Une seule possibilité de connexion Arbre comprimé hauteur log 2 n Une seule possibilité de connexion Zone d Inflexion

30 12/04/2001Exposé à l'IML30 Dénombrement des possibilités n=3 Seul le rang 3 offre des possibilités de connexion variées : 4 types de connexions à répartir sur 4 sommets : 4! = 24 possibilités. C est la zone d inflexion

31 12/04/2001Exposé à l'IML31 Dénombrement : cas de n=4 L exploration par ordinateur montre que le nombre de configurations est On remarque d abord quune configuration étant donnée on peut la permuter de 4!=24 façons différentes: 31728=24 x Il y a donc 1322 configurations distinctes à permutation près.

32 12/04/2001Exposé à l'IML32 Dénombrement : cas général On note le nombre de configurations des flèches k!A(m,k) où m est le nombre de nœuds du rang inférieur et k le nombre de nœuds du rang supérieur (zone d inflexion). Chaque nœud du rang inférieur est indexé de 1 à m. Il y a toujours deux flèches qui sortent de chaque nœud supérieur, elles atteignent respectivement les nœuds i et j du rang inférieur (éventuellement i=j). Le couple (i,j) est unique par le principe de minimisation : sinon les nœuds dont elles sont issues seraient identifiés. D autre part tous les nœuds du rang inférieur reçoivent au moins une flèche. On peut donc poser le problème sous la forme combinatoire suivante :

33 12/04/2001Exposé à l'IML33 Problème combinatoire Dans un carré m x m cocher k cases de façon que, pour tout i (1 i m), la ligne i ou la colonne i contienne au moins une case cochée. On appelle configuration correcte un tel ensemble de k cases. Combien y a t il de configurations correctes ? Ce nombre n est autre que le A(m,k) précédent. Ci-contre, un exemple de configuration correcte, pour m=4 et k=4

34 12/04/2001Exposé à l'IML34 Solution Si k > m 2 alors A(m,k)=0. Si (m-1) 2 < k m 2 alors A(m,k) = m2m2 k car toutes les configurations de k points sont correctes. Dans les autres cas : A(m,k)= - m A(m-1,k) - (m(m-1)/2) A(m-2,k) -... m2m2 k On retranche à l ensemble de toutes les configurations de k cases, celles qui ratent exactement un indice, puis celles qui en ratent exactement 2, etc...

35 12/04/2001Exposé à l'IML35 Pourquoi ? Calculons A(4,4) : A(4,4)= ( / ) - 4A(3,4) - 6A(2,4) = A(3,4) - 6 A(3,4)= / ) - 3A(2,4)= = 123 Donc A(4,4)= * = = 1322 Finalement 1322*4!=31728

36 12/04/2001Exposé à l'IML36 Forme explicite Je ne connais pas de forme algébrique générale sympatique des fonctions dures. On peut néanmoins donner leur table de vérité d après le tableau combinatoire précédent. Par exemple en code hexadécimal la fonction de table de vérité : ABCDEF est dure ! Cest la table de vérité dune fonction de 6 variables 2 6 = 16x4 =64 bits. En fait on peut montrer que, pour 6 variables, les tables de vérité des fonctions dures correspondent exactement aux 16! permutations des 16 symboles hexa.

37 12/04/2001Exposé à l'IML37 Classement des fonctions booléennes par leur complexité La plus petite complexité est n + 1 (pour les 2 fonctions constantes 0 et 1). Comment se répartissent les fonctions booléennes entre n +1 et Cmax? On la vu pour n = 3 et n = 4. Il « semble » que les fonctions booléennes sont très souvent dures (une sur deux si n = 4). L estimation asymptotique de la proportion (densité) n = nbre de fonctions dures pour n donné 2 2 n = nbre de fonctions booléennes semble difficile. Je pense que n tend vers 0 (lentement)

38 12/04/2001Exposé à l'IML38 Résultats On a obtenu les résultats suivants : La complexité des fonctions dures est invariante par un « gros sous groupe » de S n. Pour certaines valeurs spéciales de n de la forme a+2 a la complexité est totalement invariante par S n. Le degré des fonctions dures tend vers linfini avec n. Il existe des fonctions dures équilibrées c est-à-dire de poids de Hamming 2 n-1. La complexité maximale des BDD peut être déduite de celle des QRBDD. On obtient les fonctions « super dures »

39 12/04/2001Exposé à l'IML39 Questions ouvertes Montrer que la densité des fonctions dures tend vers 0 avec le nombre des variables. Plus généralement quel est le spectre de complexité des fonctions booléennes à n variables (voir les calculs présentés pour n=3 et 4) Etude de la transformation de Fourier Walsh Hadamard des fonctions dures : certaines fonctions dures atteignent elles la distance maximale aux fonctions affines?

40 12/04/2001Exposé à l'IML40 Applications Classement de certaines fonctions connues (linéaires, addition binaire, multiplication, fonctions courbes, S-box du DES, etc…) Les fonctions dures forment une catégorie dans laquelle on peut chercher des candidats pour des problèmes ou des conjectures (crypto, codes). Actuellement je les utilise comme candidates pour la recherche de fonctions à distance maximale de R(1,m).

41 12/04/2001Exposé à l'IML41 Le groupe symétrique On peut faire agir le groupe S n des permutations de n variables sur les fonctions booléennes. Si s est une permutation de S n et f une fonction booléenne de B n on pose : f s (x 1,…,x n ) = f( x s(1),…,x s(n) ) Cette opération est en faite une représentation linéaire de S n sur l espace B n : représentation de caractéristique 2 et de dimension 2 n.

42 12/04/2001Exposé à l'IML42 Groupe symétrique et complexité La complexité du QRBDD dune fonction booléenne nest pas invariante par l action des permutations. On se pose les questions suivantes: Comment trouver une permutation qui minimise la complexité dune fonction booléenne donnée ? Il semble que le problème soit NP complet (Bollig & Wegener) Comment se comportent les fonctions dures sous cette action ? Existe-t-il des fonctions -dures, cest-à-dire dont toutes les permutées sont dures en dehors des valeurs spéciales?

43 12/04/2001Exposé à l'IML43 De S n à S 2 n Toute permutation est produit de transpositions. On montre facilement quon peut nutiliser que des transposition du type (i i+1), où 1 i n-1. On appellera échange une telle transposition. On peut étudier leffet dun échange sur un arbre binaire. Plus généralement la permutation des variables induit une permutation sur les fonctions booléennes donc un homomorphisme de S n vers S 2 n. Lien avec les matrices de Sylvester et la transformation de Fourier-Hadamard.

44 12/04/2001Exposé à l'IML44 Echange de variables sur l arbre de vérité x i+1 xixi xixi ACBD xixi ABCD Les sous-arbres B et C sont échangés. De nouveaux sous-arbres enracinés en x i apparaissent mais pas de nouveaux sous-arbres plus bas, ni plus hauts.

45 12/04/2001Exposé à l'IML45 Exemple d effet d un échange échange réduction

46 12/04/2001Exposé à l'IML46 Fonctions symétriques Les fonctions symétriques booléennes jouent certainement un rôle dans la question du comportement de la complexité sous laction du groupe des permutations. Considérons la sous-algèbre des fonctions symétriques B sym. Lalgèbre B n est alors une B sym- algèbre et on connaît des générateurs (base ?). Quelle est la complexité de ces générateurs? La complexité des BDD de fonctions symétriques a été calculée (Don Ross- thèse U. of Texas.)

47 12/04/2001Exposé à l'IML47 Bibliographie Mon travail sur le sujet est mis à jour dans un document technique « Fonctions booléennes » disponible sur demande. On y trouvera quelques exemples explicites, des démonstrations, ainsi que les nombreuses identités magiques que vérifient les A(m,k). Sur le problème de l ordre des variables et de son impact sur la complexité : Beate Bollig et Ingo Wegener Improving the variable ordering in OBDD is NP complete. IEEE Transactions on Computers Vol45 n°9 sept 1996.

48 12/04/2001Exposé à l'IML48 Bibliographie suite Beate Bollig et Ingo Wegener : Asymptotic optimal bounds for OBDDs ans the solution of some basic obdd problems ICALP 2000 LNCS 1853p Les relations entre BDD et codage sont présentées dans : John Lafferty et Alexander Vardy Ordered Binary Decision Diagrams and Minimal treillises, IEEE Transactions on computers Vol 48 N°9 September Une présentation claire sur les questions concernant les codes de Reed Muller se trouve dans la thèse de Caroline Fontaine (INRIA-Groupe codes )


Télécharger ppt "12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR"

Présentations similaires


Annonces Google