Quelques mystères de la complexité algébique

Documents pareils
La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

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

Polynômes à plusieurs variables. Résultant

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

Programmation linéaire

Limites finies en un point

Cours d Analyse. Fonctions de plusieurs variables

I. Polynômes de Tchebychev

Résolution de systèmes linéaires par des méthodes directes

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

Extrait du poly de Stage de Grésillon 1, août 2010

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

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

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

Continuité et dérivabilité d une fonction

Chapitre VI - Méthodes de factorisation

Dérivées d ordres supérieurs. Application à l étude d extrema.

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane

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

Chapitre 5 : Flot maximal dans un graphe

CCP PSI Mathématiques 1 : un corrigé

Pour l épreuve d algèbre, les calculatrices sont interdites.

Partie 1 - Séquence 3 Original d une fonction

Amphi 3: Espaces complets - Applications linéaires continues

Optimisation Discrète


Introduction à l étude des Corps Finis

Chp. 4. Minimisation d une fonction d une variable

Logique. Plan du chapitre

Mathématiques Algèbre et géométrie

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

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Résolution d équations non linéaires

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Introduction à la théorie des graphes. Solutions des exercices

Raisonnement par récurrence Suites numériques

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Equations différentielles linéaires à coefficients constants

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Nombres premiers. Comment reconnaître un nombre premier? Mais...

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

Fonctions de plusieurs variables

Formes quadratiques. 1 Formes quadratiques et formes polaires associées. Imen BHOURI. 1.1 Définitions

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

Programmation Linéaire - Cours 1

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Une forme générale de la conjecture abc

Rappels et compléments, première partie : Nombres complexes et applications à la géométrie

Rappels sur les suites - Algorithme

Eléments de Théorie des Graphes et Programmation Linéaire

Structures algébriques

Angles orientés et trigonométrie

Chapitre 7. Récurrences

Cours d analyse numérique SMI-S4

Fondements de l informatique Logique, modèles, et calculs

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

Section «Maturité fédérale» EXAMENS D'ADMISSION Session de février 2014 RÉCAPITULATIFS DES MATIÈRES EXAMINÉES. Formation visée

DOCM Solutions officielles = n 2 10.

Simulation de variables aléatoires

3 Approximation de solutions d équations

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

Équations non linéaires

Table des matières. I Mise à niveau 11. Préface

Programme de la classe de première année MPSI

Cours arithmétique et groupes. Licence première année, premier semestre

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

CHAPITRE IV Oscillations libres des systèmes à plusieurs degrés de liberté

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable

Quelques tests de primalité

Programmes des classes préparatoires aux Grandes Ecoles

3. Conditionnement P (B)

Image d un intervalle par une fonction continue

Espérance conditionnelle

Chapitre 2. Matrices

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire Gérard Verfaillie ONERA/DCSD/CD, Toulouse

Sujet 4: Programmation stochastique propriétés de fonction de recours

Calculabilité Cours 3 : Problèmes non-calculables.

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Capes Première épreuve

Représentation géométrique d un nombre complexe

Correction du Baccalauréat S Amérique du Nord mai 2007

Modèles et Méthodes de Réservation

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

NOMBRES COMPLEXES. Exercice 1 :

Fonctions de deux variables. Mai 2011

Bac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures)

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

Comment démontrer des formules sans effort? exposé de maîtrise

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

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

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

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

Plus courts chemins, programmation dynamique

M2 IAD UE MODE Notes de cours (3)

Transcription:

Quelques mystères de la complexité algébique Pascal Koiran LIP, Ecole Normale Supérieure de Lyon ENS Cachan, 10 septembre 2013

Qu est-ce que la complexité algébrique? But de la complexité algorithmique : déterminer le coût asymptotique du meilleur algorithme pour un problème donné. Le coût : temps de calcul, espace mémoire, communication, énergie... En complexité algébrique : coût = nombre d opérations arithmétiques.

Qu est-ce que la complexité algébrique? But de la complexité algorithmique : déterminer le coût asymptotique du meilleur algorithme pour un problème donné. Le coût : temps de calcul, espace mémoire, communication, énergie... En complexité algébrique : coût = nombre d opérations arithmétiques.

Qu est-ce que la complexité algébrique? But de la complexité algorithmique : déterminer le coût asymptotique du meilleur algorithme pour un problème donné. Le coût : temps de calcul, espace mémoire, communication, énergie... En complexité algébrique : coût = nombre d opérations arithmétiques.

Premier mystère : la complexité de la multiplication de matrices Soient A et B des matrices n n et C = AB. n c ij = a ik b kj k=1 n 3 multiplications, n 2 (n 1) additions.

Multiplication de matrices de taille 2 : algorithme de Strassen ( ) ( ) ( ) c11 c 12 a11 a = 12 b11 b 12. c 21 c 22 a 21 a 22 b 21 b 22 On calcule les 7 produits : p 1 = (a 11 + a 22 )(b 11 + b 22 ) p 2 = (a 21 + a 22 )b 11 p 3 = a 11 (b 12 b 22 ) p 4 = a 22 ( b 11 + b 21 ) p 5 = (a 11 + a 12 )b 22 p 6 = ( a 11 + a 21 )(b 11 + b 12 ) p 7 = (a 12 a 22 )(b 21 + b 22 ). ( ) ( ) c11 c 12 p1 + p = 4 p 5 + p 7 p 3 + p 5 c 21 c 22 p 2 + p 4 p 1 + p 3 p 2 + p 6

Multiplication de matrices de taille 2, suite Vérification : c 12 = p 3 + p 5 = a 11 (b 12 b 22 ) + (a 11 + a 12 )b 22 = a 11 b 12 + a 12 b 22. Bilan : 7 multiplications, 18 additions (8 et 4 pour la méthode usuelle). Intérêt? Les entrées de A et B peuvent appartenir à un anneau, même non commutatif, par exemple un anneau de matrices! Dans ce cas, une multiplication coûte plus cher que 14 additions. Remarques : Comme l algorithme usuel, cet algorithme est bilinéaire (on ne multiplie les entrées d une matrice qu avec les entrées de l autre matrice). Contrairement à l algorithme usuel, il y a des annulations.

Multiplication de matrices de taille 2, suite Vérification : c 12 = p 3 + p 5 = a 11 (b 12 b 22 ) + (a 11 + a 12 )b 22 = a 11 b 12 + a 12 b 22. Bilan : 7 multiplications, 18 additions (8 et 4 pour la méthode usuelle). Intérêt? Les entrées de A et B peuvent appartenir à un anneau, même non commutatif, par exemple un anneau de matrices! Dans ce cas, une multiplication coûte plus cher que 14 additions. Remarques : Comme l algorithme usuel, cet algorithme est bilinéaire (on ne multiplie les entrées d une matrice qu avec les entrées de l autre matrice). Contrairement à l algorithme usuel, il y a des annulations.

Multiplication de matrices de taille 2, suite Vérification : c 12 = p 3 + p 5 = a 11 (b 12 b 22 ) + (a 11 + a 12 )b 22 = a 11 b 12 + a 12 b 22. Bilan : 7 multiplications, 18 additions (8 et 4 pour la méthode usuelle). Intérêt? Les entrées de A et B peuvent appartenir à un anneau, même non commutatif, par exemple un anneau de matrices! Dans ce cas, une multiplication coûte plus cher que 14 additions. Remarques : Comme l algorithme usuel, cet algorithme est bilinéaire (on ne multiplie les entrées d une matrice qu avec les entrées de l autre matrice). Contrairement à l algorithme usuel, il y a des annulations.

Multiplication de matrices de taille n : algorithme de Strassen ( ) ( ) ( ) C11 C 12 A11 A = 12 B11 B 12. C 21 C 22 A 21 A 22 B 21 B 22 Les matrices A ij, B ij, C ij sont de taille n/2, a coefficients dans R. Soit T (n) = nombre d opérations arithmétiques dans R. T (n) = 18(n/2) 2 + 7T (n/2) On trouve T (n) = O(n log 2 7 ) n 2,807.

Après Strassen Soit ω le meilleur exposant possible. ω 2, 807 (Strassen, 1968) 2,781 (Pan, 1978) 2,780 (Bini et al., 1979) 2,548 (Schönhage, 1979) 2,522 (Pan, 1979) 2,498 (Coppersmith - Winograd, 1980) 2,479 (Strassen, 1986) 2,375 (Coppersmith-Winograd, 1986) 2,3736 (Stothers, 2010) 2,3727 (Williams, 2011) ω = 2 n est pas impossible.

Après Strassen Soit ω le meilleur exposant possible. ω 2, 807 (Strassen, 1968) 2,781 (Pan, 1978) 2,780 (Bini et al., 1979) 2,548 (Schönhage, 1979) 2,522 (Pan, 1979) 2,498 (Coppersmith - Winograd, 1980) 2,479 (Strassen, 1986) 2,375 (Coppersmith-Winograd, 1986) 2,3736 (Stothers, 2010) 2,3727 (Williams, 2011) ω = 2 n est pas impossible.

Quelques bornes inférieures On ne sait pas montrer que ω > 2 mais... On sait que le nombre de multiplications nécessaire est au moins : 2n 2 1 (Lafon-Winograd, 1978) 2n 2 + n 3 (Bläser, 1999) Avec un algorithme bilinéaire il en faut au moins : 2n 2 1 (Brockett-Dobkin, 1978) 5 2 n2 3n (Bläser, 1999) 3n 2 4n 3/2 + n (Landsberg, 2012) Sans soustractions, pas d annulations : Il faut n 3 multiplications (Paterson, 1975). Si on ne multiplie que par des constantes 1 en valeur absolue : Il faut Ω(n 2 log n) opérations arithmétiques (Raz, 2002) Remarque : Pour montrer de telles bornes inférieures, il faut se donner un modèle de calcul bien défini.

Quelques bornes inférieures On ne sait pas montrer que ω > 2 mais... On sait que le nombre de multiplications nécessaire est au moins : 2n 2 1 (Lafon-Winograd, 1978) 2n 2 + n 3 (Bläser, 1999) Avec un algorithme bilinéaire il en faut au moins : 2n 2 1 (Brockett-Dobkin, 1978) 5 2 n2 3n (Bläser, 1999) 3n 2 4n 3/2 + n (Landsberg, 2012) Sans soustractions, pas d annulations : Il faut n 3 multiplications (Paterson, 1975). Si on ne multiplie que par des constantes 1 en valeur absolue : Il faut Ω(n 2 log n) opérations arithmétiques (Raz, 2002) Remarque : Pour montrer de telles bornes inférieures, il faut se donner un modèle de calcul bien défini.

Quelques bornes inférieures On ne sait pas montrer que ω > 2 mais... On sait que le nombre de multiplications nécessaire est au moins : 2n 2 1 (Lafon-Winograd, 1978) 2n 2 + n 3 (Bläser, 1999) Avec un algorithme bilinéaire il en faut au moins : 2n 2 1 (Brockett-Dobkin, 1978) 5 2 n2 3n (Bläser, 1999) 3n 2 4n 3/2 + n (Landsberg, 2012) Sans soustractions, pas d annulations : Il faut n 3 multiplications (Paterson, 1975). Si on ne multiplie que par des constantes 1 en valeur absolue : Il faut Ω(n 2 log n) opérations arithmétiques (Raz, 2002) Remarque : Pour montrer de telles bornes inférieures, il faut se donner un modèle de calcul bien défini.

Quelques bornes inférieures On ne sait pas montrer que ω > 2 mais... On sait que le nombre de multiplications nécessaire est au moins : 2n 2 1 (Lafon-Winograd, 1978) 2n 2 + n 3 (Bläser, 1999) Avec un algorithme bilinéaire il en faut au moins : 2n 2 1 (Brockett-Dobkin, 1978) 5 2 n2 3n (Bläser, 1999) 3n 2 4n 3/2 + n (Landsberg, 2012) Sans soustractions, pas d annulations : Il faut n 3 multiplications (Paterson, 1975). Si on ne multiplie que par des constantes 1 en valeur absolue : Il faut Ω(n 2 log n) opérations arithmétiques (Raz, 2002) Remarque : Pour montrer de telles bornes inférieures, il faut se donner un modèle de calcul bien défini.

Quelques bornes inférieures On ne sait pas montrer que ω > 2 mais... On sait que le nombre de multiplications nécessaire est au moins : 2n 2 1 (Lafon-Winograd, 1978) 2n 2 + n 3 (Bläser, 1999) Avec un algorithme bilinéaire il en faut au moins : 2n 2 1 (Brockett-Dobkin, 1978) 5 2 n2 3n (Bläser, 1999) 3n 2 4n 3/2 + n (Landsberg, 2012) Sans soustractions, pas d annulations : Il faut n 3 multiplications (Paterson, 1975). Si on ne multiplie que par des constantes 1 en valeur absolue : Il faut Ω(n 2 log n) opérations arithmétiques (Raz, 2002) Remarque : Pour montrer de telles bornes inférieures, il faut se donner un modèle de calcul bien défini.

Quelques bornes inférieures On ne sait pas montrer que ω > 2 mais... On sait que le nombre de multiplications nécessaire est au moins : 2n 2 1 (Lafon-Winograd, 1978) 2n 2 + n 3 (Bläser, 1999) Avec un algorithme bilinéaire il en faut au moins : 2n 2 1 (Brockett-Dobkin, 1978) 5 2 n2 3n (Bläser, 1999) 3n 2 4n 3/2 + n (Landsberg, 2012) Sans soustractions, pas d annulations : Il faut n 3 multiplications (Paterson, 1975). Si on ne multiplie que par des constantes 1 en valeur absolue : Il faut Ω(n 2 log n) opérations arithmétiques (Raz, 2002) Remarque : Pour montrer de telles bornes inférieures, il faut se donner un modèle de calcul bien défini.

De très nombreux modèles de calcul... pour étudier les nombreuses facettes du calcul. Exemples : Machines de Turing, circuits booléens, modèles quantiques, circuits arithmétiques. Les entrées sont des variables X 1,..., X n, ou des constantes d un corps K. A l étape i on calcule R i = P i + Q i ou R i = P i Q i avec P i, Q i : entrées ou résultats déjà calculés. Un circuit calcule un ou plusieurs polynômes de K[X 1,..., X n ].

De très nombreux modèles de calcul... pour étudier les nombreuses facettes du calcul. Exemples : Machines de Turing, circuits booléens, modèles quantiques, circuits arithmétiques. Les entrées sont des variables X 1,..., X n, ou des constantes d un corps K. A l étape i on calcule R i = P i + Q i ou R i = P i Q i avec P i, Q i : entrées ou résultats déjà calculés. Un circuit calcule un ou plusieurs polynômes de K[X 1,..., X n ].

Représentation graphique d un circuit arithmétique x 1 x 2 k x 4 + + + Circuit Taille : 9 Profondeur : 3 Ce modèle permet d exprimer de nombreux algorithmes naturels, et de prouver des bornes inférieures.

Importance de la multiplication de matrices Un problème de base de l algèbre linéaire. L exposant optimal ω est le même pour de nombreux problèmes (inversion, déterminant, décomposition LU... ). Une question plus simple : calcul du déterminant par des circuits de taille polynomiale?

Elimination de Gauss O(n 3 ) opération, y compris des divisions! On obtient : det A = P(a ij) Q(a ij ) avec P, Q des polynômes calculés par des circuits arithmétiques de taille O(n 3 ). Elimination des divisions (Strassen) : pour diviser par 1 R on remarque que 1 + 1 R = R k. k=0 Pour R sans terme constant on peut tronquer au degré du résultat (n pour det A).

Elimination de Gauss O(n 3 ) opération, y compris des divisions! On obtient : det A = P(a ij) Q(a ij ) avec P, Q des polynômes calculés par des circuits arithmétiques de taille O(n 3 ). Elimination des divisions (Strassen) : pour diviser par 1 R on remarque que 1 + 1 R = R k. k=0 Pour R sans terme constant on peut tronquer au degré du résultat (n pour det A).

Elimination de Gauss O(n 3 ) opération, y compris des divisions! On obtient : det A = P(a ij) Q(a ij ) avec P, Q des polynômes calculés par des circuits arithmétiques de taille O(n 3 ). Elimination des divisions (Strassen) : pour diviser par 1 R on remarque que 1 + 1 R = R k. k=0 Pour R sans terme constant on peut tronquer au degré du résultat (n pour det A).

Détection des triangles dans un graphe Dans un graphe G = (V, E), 3 sommets distincts {i, j, k} V forment un triangle si {ij, jk, ki} E. Problème : G contient-il un triangle? Algorithme naif : tester les ( ) V 3 triplets de sommets. Peut-on faire mieux?

Le retour de la multiplication Matrice d adjacence de G : Pour chaque couple de sommets (i, j), A ij = 1 si ij E, A ij = 0 sinon. C est une matrice symétrique. (A 2 ) ij = n k=1 A ika kj 1 ssi il existe k tel que ik E et kj E. Algorithme : 1. Calculer A 2 par multiplication rapide. 2. Pour chaque arête ij E : vérifier si (A 2 ) ij 1 ; si oui, il y a un triangle.

Le retour de la multiplication Matrice d adjacence de G : Pour chaque couple de sommets (i, j), A ij = 1 si ij E, A ij = 0 sinon. C est une matrice symétrique. (A 2 ) ij = n k=1 A ika kj 1 ssi il existe k tel que ik E et kj E. Algorithme : 1. Calculer A 2 par multiplication rapide. 2. Pour chaque arête ij E : vérifier si (A 2 ) ij 1 ; si oui, il y a un triangle.

Borne inférieure pour la détection de triangle : le modèle approprié? Données booléennes (matrice d adjacence). 1. Circuits arithmétiques sur Z/2Z. 2. Circuits booléens : les opérations sont,, au lieu de +,. Ces deux modèles sont équivalents : par exemple, x y = xy, x y = x + y + xy, x = x + 1. 3. Circuits booléens monotones : pas de. Dans ce modèle : borne inférieure en n 3 /(log n) 6 (Razborov, 1985).

Borne inférieure pour la détection de triangle : le modèle approprié? Données booléennes (matrice d adjacence). 1. Circuits arithmétiques sur Z/2Z. 2. Circuits booléens : les opérations sont,, au lieu de +,. Ces deux modèles sont équivalents : par exemple, x y = xy, x y = x + y + xy, x = x + 1. 3. Circuits booléens monotones : pas de. Dans ce modèle : borne inférieure en n 3 /(log n) 6 (Razborov, 1985).

Borne inférieure pour la détection de triangle : le modèle approprié? Données booléennes (matrice d adjacence). 1. Circuits arithmétiques sur Z/2Z. 2. Circuits booléens : les opérations sont,, au lieu de +,. Ces deux modèles sont équivalents : par exemple, x y = xy, x y = x + y + xy, x = x + 1. 3. Circuits booléens monotones : pas de. Dans ce modèle : borne inférieure en n 3 /(log n) 6 (Razborov, 1985).

Borne inférieure pour la détection de triangle : le modèle approprié? Données booléennes (matrice d adjacence). 1. Circuits arithmétiques sur Z/2Z. 2. Circuits booléens : les opérations sont,, au lieu de +,. Ces deux modèles sont équivalents : par exemple, x y = xy, x y = x + y + xy, x = x + 1. 3. Circuits booléens monotones : pas de. Dans ce modèle : borne inférieure en n 3 /(log n) 6 (Razborov, 1985).

Puissances de matrices (A 2 ) ij : nombre de chemins de longueur 2 de i à j. (A k ) ij : nombre de chemins de longueur k de i à j. Se généralise aux graphes orientés (matrice d adjacence non nécessairement symétrique). Se généralise aux graphes avec poids sur les arêtes (poids d un chemin = produit du poids de ses arêtes).

Puissances de matrices (A 2 ) ij : nombre de chemins de longueur 2 de i à j. (A k ) ij : nombre de chemins de longueur k de i à j. Se généralise aux graphes orientés (matrice d adjacence non nécessairement symétrique). Se généralise aux graphes avec poids sur les arêtes (poids d un chemin = produit du poids de ses arêtes).

Puissances de matrices (A 2 ) ij : nombre de chemins de longueur 2 de i à j. (A k ) ij : nombre de chemins de longueur k de i à j. Se généralise aux graphes orientés (matrice d adjacence non nécessairement symétrique). Se généralise aux graphes avec poids sur les arêtes (poids d un chemin = produit du poids de ses arêtes).

Puissances de matrices (A 2 ) ij : nombre de chemins de longueur 2 de i à j. (A k ) ij : nombre de chemins de longueur k de i à j. Se généralise aux graphes orientés (matrice d adjacence non nécessairement symétrique). Se généralise aux graphes avec poids sur les arêtes (poids d un chemin = produit du poids de ses arêtes).

Second mystère : la complexité du calcul du permanent Un petit cousin du déterminant : per(x ) = σ S n n i=1 Un autre problème de borne inférieure : X iσ(i) Conjecture de Valiant : Le permanent n est pas calculable par des circuits arithmétiques de taille polynomiale en n (sauf dans un corps de caractéristique 2). C est un analogue algébrique de la conjecture P NP.

Second mystère : la complexité du calcul du permanent Un petit cousin du déterminant : per(x ) = σ S n n i=1 Un autre problème de borne inférieure : X iσ(i) Conjecture de Valiant : Le permanent n est pas calculable par des circuits arithmétiques de taille polynomiale en n (sauf dans un corps de caractéristique 2). C est un analogue algébrique de la conjecture P NP.

Mariages parfaits Etant donnés n hommes et n femmes qui peuvent se connaître (ou non), peut-on marier les n femmes à n hommes qui les connaissent? On peut répondre à cette question en temps polynomial. Compter le nombre de solutions est conjecturé difficile (Valiant).

Mariage et permanent # mariage parfaits = 2 = per 1 1 0 0 1 1 1 0 1 (C est la matrice d adjacence bipartie du graphe) Entrées non booléennes poids sur les arêtes. Ann Beth Carla

Mariage et permanent # mariage parfaits = 2 = per 1 1 0 0 1 1 1 0 1 (C est la matrice d adjacence bipartie du graphe) Entrées non booléennes poids sur les arêtes. Ann Beth Carla

Réduction de profondeur pour les circuits arithmétiques Un sujet d actualité dans les années 1970/80. Réduction à la profondeur 4 : circuits de la forme ΣΠΣΠ. Le degré entrant des portes + et est non borné. x 1 x n + + +

Réduction de profondeur pour les circuits arithmétiques Un sujet d actualité dans les années 1970/80. Réduction à la profondeur 4 : circuits de la forme ΣΠΣΠ. Le degré entrant des portes + et est non borné. x 1 x n + + +

Réduction à la profondeur 4 Théorème (Agrawal-Vinay 2008, cas particulier) : Un polynôme multilinéaire en m variables avec un circuit de taille 2 o(m) est calculable par un circuit de profondeur 4 et de taille 2 o(m). Application potentielle (directe ou indirecte) aux bornes inférieures. Réduction à la profondeur 3 (ΣΠΣ) : Gupta-Kamath-Kayal-Saptharishi 2013.

Puissance de matrice en profondeur 4 Pour calculer A d = (A d ) d : 1. Calculer B = A δ avec δ = d. On a : 2. Calculer B δ. B ij = Coût de l algorithme : 1 i 2,i 3,...,i δ n A ii2 A i2 i 3 A iδ 1 i δ A iδ j. 1. Chaque B ij : n δ 1 multiplications d arités δ, une addition d arité n δ 1. Profondeur 2. 2. Seconde étape : même chose. Au total : O(n d+1 ) opérations arithmétiques, profondeur 4.

Puissance de matrice en profondeur 4 Pour calculer A d = (A d ) d : 1. Calculer B = A δ avec δ = d. On a : 2. Calculer B δ. B ij = Coût de l algorithme : 1 i 2,i 3,...,i δ n A ii2 A i2 i 3 A iδ 1 i δ A iδ j. 1. Chaque B ij : n δ 1 multiplications d arités δ, une addition d arité n δ 1. Profondeur 2. 2. Seconde étape : même chose. Au total : O(n d+1 ) opérations arithmétiques, profondeur 4.

Un autre modèle de calcul : les programmes à branchement Graphe orienté sans cycle avec 2 sommets distingués s, t. Arêtes étiquetées par des variables ou des constantes. Poids d un chemin = produit des poids de ses arêtes. sortie = somme des poids de tous les chemins de s à t. Une représentation du polynôme z(x + 3y) : 3 s y x 1 z t

Puissances de matrices et programmes à branchement Soit G un programme à branchement, A sa matrice d adjacence. Supposons que tous les chemins de s à t sont de longueur l. Le polynôme représenté est (A l ) st. Théorème : Soit G un programme à branchement de taille m et de profondeur l. Il existe un circuit de profondeur 4 équivalent à G, avec m 2 + 1 portes d addition et m O( l) portes de multiplication.

Puissances de matrices et programmes à branchement Soit G un programme à branchement, A sa matrice d adjacence. Supposons que tous les chemins de s à t sont de longueur l. Le polynôme représenté est (A l ) st. Théorème : Soit G un programme à branchement de taille m et de profondeur l. Il existe un circuit de profondeur 4 équivalent à G, avec m 2 + 1 portes d addition et m O( l) portes de multiplication.

Réduction à la profondeur 4 pour les circuits arithmétiques Théorème : Soit C un circuit arithmétique de taille t et degré d. Il existe un circuit de profondeur 4 équivalent de taille t O( d log d). Principe de la preuve : C programme à branchement circuit de profondeur 4.

Une amélioration, et une borne inférieure Théorème (Tavenas 2013) : Soit C un circuit arithmétique de taille t et degré d. Il existe un circuit de profondeur 4 équivalent de taille t O( d). Corollaire : Si le permanent admet des circuits de taille polynomiale en n, il admet des circuits de profondeur 4 de taille n O( n). Théorème (Gupta-Kamath-Kayal-Saptharishi 2013) : Tout circuit ( ) de profondeur 4 pour le permanent est de taille au moins 2 Ω( n). (*) Il faut supposer que le circuit est homogène et que les multiplications entre entrées sont d arité O( n).

Une amélioration, et une borne inférieure Théorème (Tavenas 2013) : Soit C un circuit arithmétique de taille t et degré d. Il existe un circuit de profondeur 4 équivalent de taille t O( d). Corollaire : Si le permanent admet des circuits de taille polynomiale en n, il admet des circuits de profondeur 4 de taille n O( n). Théorème (Gupta-Kamath-Kayal-Saptharishi 2013) : Tout circuit ( ) de profondeur 4 pour le permanent est de taille au moins 2 Ω( n). (*) Il faut supposer que le circuit est homogène et que les multiplications entre entrées sont d arité O( n).

Une amélioration, et une borne inférieure Théorème (Tavenas 2013) : Soit C un circuit arithmétique de taille t et degré d. Il existe un circuit de profondeur 4 équivalent de taille t O( d). Corollaire : Si le permanent admet des circuits de taille polynomiale en n, il admet des circuits de profondeur 4 de taille n O( n). Théorème (Gupta-Kamath-Kayal-Saptharishi 2013) : Tout circuit ( ) de profondeur 4 pour le permanent est de taille au moins 2 Ω( n). (*) Il faut supposer que le circuit est homogène et que les multiplications entre entrées sont d arité O( n).

Bornes inférieures et racines réelles : une approche indirecte Principe : obtenir des bornes inférieures à partir de généralisations (conjecturées) de la règle des signes. Règle des signes (Descartes, 1596-1650) : Soit P(X ) = d i=0 a ix i R[X ]. Soit Z + (P) le nombre de racines strictement positives. Soit V (P) le nombre de changements de signes dans la suite [a 0, a 1,..., a d ]. Alors Z + (P) V (P).

La règle de Descartes sans les signes Un résultat sur les polynômes creux. Théorème : Si f R[X ] a t monômes non nuls, f a au plus t 1 racines strictement positives. Preuve : Récurrence sur t. Pas de racine > 0 pour t = 1. Pour t > 1 : Soit a α X α le monôme de plus petit degré. On peut supposer que α = 0 (sinon, diviser par X α ). Du coup : (i) f a t 1 monômes t 2 racines strictement positives. (ii) Entre 2 racines strictement positives et consécutives de f : il existe une racine strictement positive de f (théorème de Rolle). Corollaire : f a au plus 2t 1 racines réelles. Cette borne est atteinte.

La règle de Descartes sans les signes Un résultat sur les polynômes creux. Théorème : Si f R[X ] a t monômes non nuls, f a au plus t 1 racines strictement positives. Preuve : Récurrence sur t. Pas de racine > 0 pour t = 1. Pour t > 1 : Soit a α X α le monôme de plus petit degré. On peut supposer que α = 0 (sinon, diviser par X α ). Du coup : (i) f a t 1 monômes t 2 racines strictement positives. (ii) Entre 2 racines strictement positives et consécutives de f : il existe une racine strictement positive de f (théorème de Rolle). Corollaire : f a au plus 2t 1 racines réelles. Cette borne est atteinte.

La règle de Descartes sans les signes Un résultat sur les polynômes creux. Théorème : Si f R[X ] a t monômes non nuls, f a au plus t 1 racines strictement positives. Preuve : Récurrence sur t. Pas de racine > 0 pour t = 1. Pour t > 1 : Soit a α X α le monôme de plus petit degré. On peut supposer que α = 0 (sinon, diviser par X α ). Du coup : (i) f a t 1 monômes t 2 racines strictement positives. (ii) Entre 2 racines strictement positives et consécutives de f : il existe une racine strictement positive de f (théorème de Rolle). Corollaire : f a au plus 2t 1 racines réelles. Cette borne est atteinte.

Des généralisations souhaitables 1. Si f et g ont t monômes : nombres maximum de solutions réelles pour f (x)g(x) = 1? Remarque : fg 1 a au plus t 2 + 1 monômes. Le nombre maximum de solutions est il quadratique en t? linéaire? intermédiaire? 2. Idem pour f 1 f 2 f m = 1. 3. τ-conjecture réelle (sur les sommes de produits de polynômes creux) : Soit f (x) = k m i=1 j=1 f ij(x). Le nombre de racines réelles de f est polynomial en kmt.

Des généralisations souhaitables 1. Si f et g ont t monômes : nombres maximum de solutions réelles pour f (x)g(x) = 1? Remarque : fg 1 a au plus t 2 + 1 monômes. Le nombre maximum de solutions est il quadratique en t? linéaire? intermédiaire? 2. Idem pour f 1 f 2 f m = 1. 3. τ-conjecture réelle (sur les sommes de produits de polynômes creux) : Soit f (x) = k m i=1 j=1 f ij(x). Le nombre de racines réelles de f est polynomial en kmt.

Des généralisations souhaitables 1. Si f et g ont t monômes : nombres maximum de solutions réelles pour f (x)g(x) = 1? Remarque : fg 1 a au plus t 2 + 1 monômes. Le nombre maximum de solutions est il quadratique en t? linéaire? intermédiaire? 2. Idem pour f 1 f 2 f m = 1. 3. τ-conjecture réelle (sur les sommes de produits de polynômes creux) : Soit f (x) = k m i=1 j=1 f ij(x). Le nombre de racines réelles de f est polynomial en kmt.

Permanent et racines réelles Théorème : Si la τ-conjecture réelle est vraie, pas de circuits de taille polynomiale pour le permanent. Un ingrédient : réduction à la profondeur 4. Circuit de profondeur 4 ( ), avec des entrées constantes ou de la forme X 2i Somme de produits de polynômes creux

Permanent et racines réelles Théorème : Si la τ-conjecture réelle est vraie, pas de circuits de taille polynomiale pour le permanent. Un ingrédient : réduction à la profondeur 4. Circuit de profondeur 4 ( ), avec des entrées constantes ou de la forme X 2i Somme de produits de polynômes creux

Petit circuit, beaucoup de racines réelles Soit T n le polynôme de Tchebychev d ordre n : cos(nθ) = T n (cos θ). Par exemple : T 1 (x) = x, T 2 (x) = 2x 2 1, T 4 (x) = 2(2x 2 1) 2 1. T n est un polynôme de degré n avec n racines dans [ 1, 1]. T 2 n(x) = T 2 (T 2 ( T 2 (T 2 (x)) )) : T 2 itéré n fois. Conséquence : circuit de taille O(n) pour T 2 n. Graphes de T 2 et T 4 : 1 1 0.5 0.5 0 0 0.5 0.5 1 1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1 1 1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1

Un devoir à la maison Si f et g ont t monômes : nombres maximum de solutions réelles de l équation f (x)g(x) = 1?