R´
eductions et transformations
MTH6311
S. Le Digabel, ´Ecole Polytechnique de Montr´eal
H2018 (v2)
Plan
1. Fonctions harmonieuses
2. Fonctions au moins et fortement quadratiques
3. R´eductions lin´eaires
4. R´eductions polynomiales
1. Fonctions harmonieuses
2. Fonctions au moins et fortement quadratiques 3. R´eductions lin´eaires
D´
efinitions
I Une fonction f : N → R est´eventuellement non-d´ecroissantes’il existe un entier n0 tel que
f (n) ≤ f (n + 1) pour tout n ≥ n0.
I Soit b un entier ≥ 2. La fonction f est b-harmonieusesi elle est ´eventuellement non-d´ecroissante et si f (bn) ∈ O f (n).
I f estharmonieuse si elle est b-harmonieuse pour tout b ≥ 2.
Fonctions harmonieuses
I Exemples de fonctions harmonieuses : log n, n log n, n2, tout polynˆome dont le coefficient du terme de plus haut degr´e est positif, etc.
I Exemple 1 : Monter que log n est harmonieuse.
I Exemple de fonction non harmonieuse : nlog n, car on peut montrer que le rapport f (bn)/f (n) est non-born´e.
Propri´
et´
e
S’il existe un entier b ≥ 2 tel que f est b-harmonieuse, alors f est harmonieuse.
Exemple 2 : Preuve.
Propri´
et´
e
Soit f une fonction born´ee sup´erieurement par un polynˆome.
I Si f est ´eventuellement non-d´ecroissante, alors il y a de fortes chances pour que f soit harmonieuse.
I 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´esentation binaire de n. f n’est pas ´eventuellement non-d´ecroissante mais on peut montrer que f (n) ∈ Θ(log n).
1. Fonctions harmonieuses
2. Fonctions au moins et fortement quadratiques 3. R´eductions lin´eaires
4. R´eductions polynomiales
Fonctions au moins et fortement quadratiques
Soit f une fonction N → R.
I f estau moins quadratiquesi f ∈ Ω(n2).
I f estfortement quadratique si elle est ´eventuellement non-d´ecroissante et s’il existe n0 ∈ N tel que f(bn) ≥ b2f (n)
pour tout b ∈ N et pour tout n ≥ n0.
I Propri´et´e : Si f est fortement quadratique, alors elle est au moins quadratique.
1. Fonctions harmonieuses
2. Fonctions au moins et fortement quadratiques 3. R´eductions lin´eaires
4. R´eductions polynomiales
D´
efinitions
Soient A et B deux probl`emes.
I Id´ee : Pour r´esoudre IA, une instance de A, on va lar´eduire
`
a B, c’est-`a-dire qu’on va transformer IA en des instances du
type B qui, une fois r´esolues et combin´ees, donneront la solution de IA.
I A est lin´eairement r´eductible `a B si l’existence d’un
algorithme prenant un temps ∈ O(t(n)) pour r´esoudre chaque instance de B de taille n implique l’existence d’un algorithme prenant un temps ∈ O(t(n)) pour r´esoudre chaque instance de A de taille n. On note A ≤` B.
R´
esoudre A `
a partir de B quand A ≤
`B
Soit IA l’instance de A de taille n que l’on veut r´esoudre. 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 ´ev. non-d´ecr.).
2 Appliquer l’algorithme sur les c instances de B. Cette r´esolution prend un temps O(c t(n)) = O(t(n)).
3 Faire O(t(n)) op´erations ´el´ementaires pour combiner les r´esultats des c instances et en d´eduire la solution de IA.
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 `a une taille ≤ n. En effet, chaque instance de B aura alors une taille ≤ k n, o`u k est une constante. On pourra donc r´esoudre les c instances de B en un temps O(c t(kn)) = O(c c0 t(n)) = O(t(n)).
Exemple 4
Soient les deux probl`emes :
I C : calcul du carr´e d’un entier.
I M : multiplication de deux entiers.
Montrer que C et M sont lin´eairement ´equivalents.
Exemple 5
Soient les cinq probl`emes
M Q multiplication de deux matrices de taille n × n
M T multiplication de deux matrices triangulaires sup´erieures de taille n × n
M S multiplication de deux matrices sym´etriques de taille n × n IT inversion d’une matrice triangulaire sup´erieure de taille n × n IT2 inversion d’une matrice triangulaire sup´erieure de taille n × n
Exemple 5 (suite)
I Clairement, M T ≤`M Q, M S ≤`M Q, et IT2≤` IT .
I Soient tM Q, tM T, tM S, tIT, et tIT2 les fonctions des temps n´ecessaires pour r´esoudre ces cinq probl`emes.
I Ces fonctions sont au moins quadratiques (car on doit au moins lire les matrices).
I Si on suppose que tM T, tM S, tIT, et tIT2 sont harmonieuses et que tM Q est fortement quadratique, alors les cinq
probl`emes sont lin´eairement ´equivalents.
I Preuve en montrant que M Q ≤`M T , M Q ≤`M S, M Q ≤` IT , IT ≤` IT2, et IT2 ≤`M Q.
1. Fonctions harmonieuses
2. Fonctions au moins et fortement quadratiques 3. R´eductions lin´eaires
D´
efinitions
Soient A et B deux probl`emes.
I A est polynomialement r´eductible `a B s’il existe un algorithme polynomial pour r´esoudre chaque instance de A, en autant que soit compt´ee `a coˆut unitaire chaque r´esolution d’une instance de B. On noteA ≤p B.
I Si A ≤p B et B ≤pA, alors A est dit polynomialement ´
equivalent `a B et on noteA =p B.
I En d’autres termes, supposons que l’on dispose d’une boˆıte noire permettant de r´esoudre chaque instance de B. Si A ≤pB, alors on peut r´esoudre A en faisant un nombre polynomial d’op´erations ´el´ementaires, chaque appel `a la boˆıte noire ´etant compt´e comme une op´eration ´el´ementaire.
D´
efinitions (suite)
I Si A ≤p B, alors l’existence d’un algorithme polynomial pour r´esoudre B implique l’existence d’un algorithme polynomial pour r´esoudre A.
I A est polynomialement transformableen B si on peut ramener la r´esolution de chaque instance de A en la construction et la r´esolution d’une instance de B dont la construction se fait en temps polynomial. On utilise la notation A ∝ B(i.e. un seul appel `a la boˆıte noire).
I A ∝ B implique A ≤p B.
Exemple 6
Soient les probl`emes
HAM d´eterminer un cycle hamiltonien dans un graphe donn´e, s’il en existe un.
HAMD d´eterminer si un graphe donn´e est hamiltonien. k-TSPD d´eterminer s’il existe un cycle hamiltonien de
longueur ≤ k dans un graphe complet donn´e.
ε-rel-TSP d´eterminer un cycle hamiltonien dans un graphe complet donn´e dont la longueur est ≤ (1 + ε)L, o`u 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ˆetes poss`edent des distances.
Exemple 6 (suite)
Montrer les r´esultats suivants :
I HAMD =p HAM.
I HAMD ∝ k-TSPD.
I HAMD ∝ ε-rel-TSP.
Note : Pour les probl`emes k-TSPD et ε-rel-TSP, une matrice compl`ete des distances doit ˆetre fournie, ce qui implique que les graphes consid´er´es sont complets.