48
12/04/2001 Exposé à l'IML 1 Fonctions booléennes complexes Jean Francis MICHON LIFAR [email protected]

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

Embed Size (px)

Citation preview

Page 1: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 1

Fonctions booléennes complexes

Jean Francis MICHON

[email protected]

Page 2: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 2

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 : CA(f)

– en temps : combien de temps pour calculer f(n) : CT(n) n étant la taille des données

– en espace: combien de mémoire nécessaire : CE(n) ?

• Ces complexités dépendent bien sûr du type de machine de Turing utilisé.

Page 3: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 3

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.

Page 4: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 4

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 Bn

Card (Bn) = 22n

Pour installer une structure sur Bn il suffit d ’en mettre une

sur {0,1} et de « relever » la structure.

On a deux possibilités « classiques ».

Page 5: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 5

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 F2 - algèbre (et pas de corps). Cette algèbre n’est autre que l’algèbre produit (F2 )n. Ne pas confondre cette algèbre avec le corps fini F2

n.

Page 6: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 6

Les structures induites sur Bn 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 F2-algèbre isomorphe à

F2[X1,…,Xn]/(X12+X1,…,Xn

2+Xn) F 2^n

exemple : 1+x+yz+xyz

Dans les deux cas les variables désignent les fonctions coordonnées sur Bn.

Page 7: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 7

Formes normales canoniques(uniques à l’ordre 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 ’= yForme 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

Page 8: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 8

Les formes normales sont difficiles à utiliser dès que le nombre des variables est grand : elles comportent au plus

2n termes.

La fndc par exemple n’est 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 2n termes.

Page 9: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 9

Il existe donc une différence très marquée entre les deux écritures d’une fonction booléenne. C’est-à-dire entre

l ’écriture en , , et l ’écriture polynomiale. La différence peut être exponentielle en nombre de termes.

Les règles de conversion d’une écriture vers l’autre sont les suivantes :

f g = f+g+fg f g = fg f = 1+f

f + g = (f g) ( f g)

Page 10: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 10

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 F2.

Tout ensemble de n-uples de bits est envisageable comme un ensemble de points rationnels sur F2 d ’une variété algébrique définie sur F2.

L ’exploration informatique est difficile : pour n>5, on ne peut plus faire de recherches exhaustives.

Page 11: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 11

Arbre de vérité

x=0 x=1

1 0

z

0 1

z

y

0 1

z

1 1

z

y

x

Page 12: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 12

La Table de vérité (ordre lexicographique)

x,y,z f(x,y,z)000 1001 0010 0011 1Etc..

Espace nécessaire pour le stockage 2n bits

Page 13: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 13

Pour toute fonction booléenne à n variables, son arbre de vérité comporte

2n-1 nœuds non terminaux

2n nœuds terminaux (feuilles)

2(2n-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

Page 14: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

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

f(0,y,z) f(1,y,z)

1 0

z

0 1

z

y

0 1

z

1 1

z

y

x

Page 15: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 15

Arbre de vérité = automate

z z

y

z z

y

x

1 0

Etat initial

Etat final

Etat puit

Page 16: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 16

1 (final)0

BDD quasi réduit = Automate minimal= Identification des sous-arbres isomorphes

Page 17: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 17

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..

Page 18: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 18

1 0

BDD (réduction des liens doubles)

Page 19: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 19

BDD : réduction supplémentaire du BDDQRLes 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

Page 20: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 20

BDD et rang des noeuds

Le BDD n’est plus l’automate 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 d’une fonction booléenne n’est donc pas une mesure de sa complexité algorithmique.

Page 21: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 21

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 l’automate est la table de transition de la machine de Turing:Etat Caract lu Etat suivant Caract écrit Déplacement

Initial 0 A 0 1

Initial 1 B 0 1

A 0 C 0 1

A 1 D 0 1

B 0 D 0 1

B 1 E 0 1

etc...

Page 22: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 22

Tous les QRBDD minimaux pour n=3

Nbre de nœuds Nbre de fonctions booléennes

4 (minimum) 2 (constantes 0 et 1)5 2 (z et 1+z)6 127 728 1449 (maximum) 24 les fonctions « dures »

Total: 256 fonctions booléennes dans B3

Page 23: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 23

Graphes des fonctions dures pour n=3

10

4!=24 manières d ’établir les connexions en bas

Page 24: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 24

Tous les QRBDD minimaux pour n=4

Nombre de nœuds Nombre de fonctions booléennesdu QRBDD5 (minimum) 2 (constantes 0 et 1)6 2 (t et 1+t)7 128 729 57610 175211 1065612 2073613 (maximum) 31728 les fonctions « dures »Total 65536

Page 25: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 25

Graphes des fonctions dures pour n=4

10

31728 manières d ’établir les connexions entre les rangs 3 et 4 (flèches rouges) . Pourquoi?

Page 26: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 26

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.

Page 27: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 27

Complexité algorithmique des fonctions booléennes dures

Pour un nombre de variable n fixé , on considère la fonction

dn(k)= inf(2k-1,22 n-k+1)

Alors

Cmax = Complexité algo maximale des fonction booléennes à n variables = dn(1)+…+dn(n+1)

n = 3 Cmax = 1+2+4+2 = 9

n = 4 Cmax = 1+2+4+4+2 = 13

n = 5 Cmax = 1+2+4+8+4+2 = 21

Page 28: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 28

Fonctions dures (suite)

Cmax = Complexité (nombre de nœuds) maximale = dn(1)+…+dn(n+1)

n = 3 Cmax = 1+2+4+2 = 9

n = 4 Cmax = 1+2+4+4+2 = 13

n = 5 Cmax = 1+2+4+8+4+2 = 21

n = 6 Cmax = 1 + 2 + 4 +8 +16 + 4 +2 = 37

n = 7 Cmax = 1 + 2 + 4 +8 +16 + 16 + 4 + 2 = 53

n = 8 Cmax = 1 + 2 + 4 +8 +16 + 32 +16 + 4 + 2 = 85

n= 9 Cmax = 1 + 2 + 4 +8 +16 + 32 + 64 +16 + 4 + 2 =149

Page 29: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 29

QRBDD des fonction dures

Arbre binaire

hauteur n - log2n

Une seule possibilité de connexion

Arbre comprimé

hauteur log2n

Une seule possibilité de connexion

Zone d ’Inflexion

Page 30: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 30

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

Page 31: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 31

Dénombrement : cas de n=4

L ’exploration par ordinateur montre que le nombre de configurations est 31728. On remarque d ’abord qu’une configuration étant donnée on peut la permuter de 4!=24 façons différentes: 31728=24 x 1322. Il y a donc 1322 configurations distinctes à permutation près.

Page 32: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 32

Dénombrement : cas généralOn 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 :

Page 33: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 33

Problème combinatoireDans 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

Page 34: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 34

SolutionSi k > m2 alors A(m,k)=0 .

Si (m-1)2 < k m2 alors A(m,k) = m2

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) - ...m2

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...

Page 35: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 35

Pourquoi 31728 ?

Calculons A(4,4) :A(4,4) = (16.15.14.13/1.2.3.4) - 4A(3,4) - 6A(2,4)

= 1820 - 4A(3,4) - 6A(3,4) =9.8.7.6/1.2.3.4) - 3A(2,4)=126 - 3 = 123Donc A(4,4) =1820 - 4*123 - 6 = 1820 - 498 = 1322

Finalement 1322*4!=31728

Page 36: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 36

Forme expliciteJe 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é : 0123456789ABCDEF est dure !

C’est la table de vérité d’une fonction de 6 variables 26 = 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.

Page 37: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 37

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 l’a 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é

22n= nbre de fonctions booléennes

semble difficile. Je pense que n tend vers 0 (lentement)

Page 38: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 38

RésultatsOn a obtenu les résultats suivants :

•La complexité des fonctions dures est invariante par un « gros sous groupe » de Sn. Pour certaines valeurs spéciales de n de la forme a+2a la complexité est

totalement invariante par Sn. •Le degré des fonctions dures tend vers l’infini 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 »

Page 39: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 39

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?

Page 40: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 40

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) .

Page 41: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 41

Le groupe symétrique

On peut faire agir le groupe Sn des permutations de n variables sur les fonctions booléennes . Si s est une permutation de Sn et f une fonction booléenne de Bn on pose :

fs (x1,…,xn) = f( xs(1),…,xs(n))

Cette opération est en faite une représentation linéaire de Sn sur l ’espace Bn : représentation de caractéristique 2 et de dimension 2n.

Page 42: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 42

Groupe symétrique et complexité

La complexité du QRBDD d’une fonction booléenne n’est pas invariante par l ’action des permutations.

On se pose les questions suivantes:

•Comment trouver une permutation qui minimise la complexité d’une 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, c’est-à-dire dont toutes les permutées sont dures en dehors des valeurs spéciales?

Page 43: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 43

De Sn à S2n

Toute permutation est produit de transpositions. On montre facilement qu’on peut n’utiliser que des transposition du type (i i+1) , où 1i n-1. On appellera échange une telle transposition.

On peut étudier l’effet d’un é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 Sn vers S2

n. Lien avec les matrices de Sylvester et la transformation de Fourier-Hadamard.

Page 44: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 44

Echange de variables sur l ’arbre de vérité

xi+1

xi xi

A C B D

xi

xi+1 xi+1

A B C D

Les sous-arbres B et C sont échangés. De nouveaux sous-arbres enracinés en xi apparaissent mais pas de nouveaux sous-arbres plus bas, ni plus hauts.

Page 45: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 45

Exemple d ’effet d ’un échange

0 0 1 1 0 1 0 1

échange

0 1 0 1

réductionréduction

Page 46: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 46

Fonctions symétriques

Les fonctions symétriques booléennes jouent certainement un rôle dans la question du comportement de la complexité sous l’action du groupe des permutations.

Considérons la sous-algèbre des fonctions symétriques Bsym. L’algèbre Bn est alors une Bsym-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.)

Page 47: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 47

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.

Page 48: 12/04/2001Exposé à l'IML1 Fonctions booléennes complexes Jean Francis MICHON LIFAR jean-francis.michon@univ-rouen.fr

12/04/2001 Exposé à l'IML 48

Bibliographie suite Beate Bollig et Ingo Wegener : Asymptotic optimal bounds for OBDDs ans the solution of some basic obdd problems ICALP 2000 LNCS 1853p.187-198

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 1999.

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 )