IFT-66975
Contourner la NP-complétude
Que faire face à la NP-complétude?
Pour une application précise, je veux
trouver la plus grande clique possible dans
un graphe ou répartir une tâche de façon
optimale, ou satisfaire simultanément un
ensemble de clauses booléennes.
Mais CLIQUE, SWI, SAT sont NP-complets!
Est-ce la fin du monde?
R: Peut-être... mais il y a un peu d’espoir si
on réduit nos exigences ou nos attentes.
1. S’assurer que l’on ne fait pas face à un
sous-cas relativement simple d’un
problème NP-complet.
L’application nous fournit-elle des
informations additionnelles sur les
instances?
problèmes sur des classes de graphes
relativement simples;
2-SAT, Horn-SAT, 2-COL, ...
Algorithmes pseudo-polynomiaux et NP-
complétude forte.
2. Pour les problèmes d’optimisation, on
peut souvent obtenir un algorithme
efficace qui trouve une solution quasi-
optimale.
Possible dans plusieurs cas mais avec une
qualité d’approximation très variable.
Nouvelles classes de problèmes: PTAS,
FPTAS, APX.
Résultats d’inapproximabilité.
3. Réduire l’explosion du temps de calcul
à un paramètre relativement petit.
Par exemple: trouver une couverture par
sommets de taille k est réalisable en
temps O(1.27k+ |V|). Pas si mal si on
cherche des petites couvertures dans un
grand graphe.
Un temps O(f(k) nc) n’est pas
déraisonnable si k est très petit mais
O(nf(k)) ne l’est pas.
Problèmes traitables pour paramètre fixe
(FPT), réductions paramétrées.
W[1]-complétude.
1 / 124 100%