Réductions et transformations MTH6311 S. Le Digabel, École Polytechnique de Montréal H2014 (v2) MTH6311: Réductions et transformations 1/21
Plan 1. Fonctions harmonieuses 2. Fonctions au moins et fortement quadratiques 3. Réductions linéaires 4. Réductions polynomiales MTH6311: Réductions et transformations 2/21
1. Fonctions harmonieuses 2. Fonctions au moins et fortement quadratiques 3. Réductions linéaires 4. Réductions polynomiales MTH6311: Réductions et transformations 3/21
Définitions Une fonction f : N R est éventuellement non-décroissante s il existe un entier n 0 tel que f(n) f(n + 1) pour tout n n 0. Soit b un entier 2. La fonction f est b-harmonieuse si elle est éventuellement non-décroissante et si f(bn) O ( f(n) ). f est harmonieuse si elle est b-harmonieuse pour tout b 2. MTH6311: Réductions et transformations 4/21
Fonctions harmonieuses Exemples de fonctions harmonieuses : log n, n log n, n 2, tout polynôme dont le coefficient du terme de plus haut degré est positif, etc. Exemple 1 : Monter que log n est harmonieuse. Exemple de fonction non harmonieuse : n log n, car on peut montrer que le rapport f(bn)/f(n) est non-borné. MTH6311: Réductions et transformations 5/21
Propriété S il existe un entier b 2 tel que f est b-harmonieuse, alors f est harmonieuse. Exemple 2 : Preuve. MTH6311: Réductions et transformations 6/21
Propriété Soit f une fonction bornée supérieurement par un polynôme. Si f est éventuellement non-décroissante, alors il y a de fortes chances pour que f soit harmonieuse. Sinon, il y a de fortes chances pour qu il existe une fonction g harmonieuse telle que f(n) Θ(g(n)). Exemple 3 : Soit f(n) = b(n) + log n avec b(n) = le nombre de 1 dans la représentation binaire de n. f n est pas éventuellement non-décroissante mais on peut montrer que f(n) Θ(log n). MTH6311: Réductions et transformations 7/21
1. Fonctions harmonieuses 2. Fonctions au moins et fortement quadratiques 3. Réductions linéaires 4. Réductions polynomiales MTH6311: Réductions et transformations 8/21
Fonctions au moins et fortement quadratiques Soit f une fonction N R. f est au moins quadratique si f Ω(n 2 ). f est fortement quadratique si elle est éventuellement non-décroissante et s il existe n 0 N tel que f(bn) b 2 f(n) pour tout b N et pour tout n n 0. Propriété : Si f est fortement quadratique, alors elle est au moins quadratique. MTH6311: Réductions et transformations 9/21
1. Fonctions harmonieuses 2. Fonctions au moins et fortement quadratiques 3. Réductions linéaires 4. Réductions polynomiales MTH6311: Réductions et transformations 10/21
Définitions Soient A et B deux problèmes. Idée : Pour résoudre I A, une instance de A, on va la réduire à B, c est-à-dire qu on va transformer I A en des instances du type B qui, une fois résolues et combinées, donneront la solution de I A. A est linéairement réductible à B si l existence d un algorithme prenant un temps O(t(n)) pour résoudre chaque instance de B de taille n implique l existence d un algorithme prenant un temps O(t(n)) pour résoudre chaque instance de A de taille n. On note A l B. Si A l B et B l A, alors A est dit linéairement équivalent à B et on note A = l B. MTH6311: Réductions et transformations 11/21
Résoudre A à partir de B quand A l B Soit I A l instance de A de taille n que l on veut résoudre. On connaît un algorithme prenant un temps O(t(n)) pour chaque instance de B. 1 Construire un nombre constant c d instances de type B telles que chaque instance est de taille n et que la construction de chaque instance se fasse en temps O(t(n)) (il faut que t soit év. non-décr.). 2 Appliquer l algorithme sur les c instances de B. Cette résolution prend un temps O(c t(n)) = O(t(n)). 3 Faire O(t(n)) opérations élémentaires pour combiner les résultats des c instances et en déduire la solution de I A. MTH6311: Réductions et transformations 12/21
Remarque Si t(n) est une fonction harmonieuse, alors on peut construire des instances de B de taille O(n) au lieu de se limiter à une taille n. En effet, chaque instance de B aura alors une taille k n, où k est une constante. On pourra donc résoudre les c instances de B en un temps O(c t(kn)) = O(c c t(n)) = O(t(n)). MTH6311: Réductions et transformations 13/21
Exemple 4 Soient les deux problèmes : C : calcul du carré d un entier. M : multiplication de deux entiers. Montrer que C et M sont linéairement équivalents. MTH6311: Réductions et transformations 14/21
Exemple 5 Soient les cinq problèmes MQ M T M S IT IT 2 multiplication de deux matrices de taille n n multiplication de deux matrices triangulaires supérieures de taille n n multiplication de deux matrices symétriques de taille n n inversion d une matrice triangulaire supérieure de taille n n inversion d une matrice triangulaire supérieure de taille n n avec n = 2 k pour k entier MTH6311: Réductions et transformations 15/21
Exemple 5 (suite) Clairement, MT l MQ, MS l MQ, et IT 2 l IT. Soient t MQ, t MT, t MS, t IT, et t IT 2 les fonctions des temps nécessaires pour résoudre ces cinq problèmes. Ces fonctions sont au moins quadratiques (car on doit au moins lire les matrices). Si on suppose que t MT, t MS, t IT, et t IT 2 sont harmonieuses et que t MQ est fortement quadratique, alors les cinq problèmes sont linéairement équivalents. Preuve en montrant que MQ l MT, MQ l MS, MQ l IT, IT l IT 2, et IT 2 l MQ. MTH6311: Réductions et transformations 16/21
1. Fonctions harmonieuses 2. Fonctions au moins et fortement quadratiques 3. Réductions linéaires 4. Réductions polynomiales MTH6311: Réductions et transformations 17/21
Définitions Soient A et B deux problèmes. A est polynomialement réductible à B s il existe un algorithme polynomial pour résoudre chaque instance de A, en autant que soit comptée à coût unitaire chaque résolution d une instance de B. On note A p B. Si A p B et B p A, alors A est dit polynomialement équivalent à B et on note A = p B. En d autres termes, supposons que l on dispose d une boîte noire permettant de résoudre chaque instance de B. Si A p B, alors on peut résoudre A en faisant un nombre polynomial d opérations élémentaires, chaque appel à la boîte noire étant compté comme une opération élémentaire. MTH6311: Réductions et transformations 18/21
Définitions (suite) Si A p B, alors l existence d un algorithme polynomial pour résoudre B implique l existence d un algorithme polynomial pour résoudre A. A est polynomialement transformable en B si on peut ramener la résolution de chaque instance de A en la construction et la résolution d une instance de B dont la construction se fait en temps polynomial. On utilise la notation A B (i.e. un seul appel à la boîte noire). A B implique A p B. A B et B C implique A C. MTH6311: Réductions et transformations 19/21
Exemple 6 Soient les problèmes HAM déterminer un cycle hamiltonien dans un graphe donné, s il en existe un. HAMD k-tspd déterminer si un graphe complet donné est hamiltonien. déterminer s il existe un cycle hamiltonien de longueur k dans un graphe complet donné. ε-rel-tsp déterminer un cycle hamiltonien dans un graphe complet donné dont la longueur est (1 + ε)l, où L est la longueur du cycle hamiltonien le plus court dans le graphe. Pour HAM et HAMD : pas de notion de distance. Pour k-tspd et ε-rel-tsp, les arêtes possèdent des distances. MTH6311: Réductions et transformations 20/21
Exemple 6 (suite) Montrer les résultats suivants : HAMD = p HAM. HAMD k-tspd. HAMD ε-rel-tsp. Note : Pour les problèmes k-tspd et ε-rel-tsp, une matrice complète des distances doit être fournie, ce qui implique que les graphes considérés sont complets. MTH6311: Réductions et transformations 21/21