Résolution de problèmes difficiles: complexité au pire des cas

publicité
Résolution de problèmes difficiles:
complexité au pire des cas
Bruno Escoffier
Projet TODO
Présentation de l’AXE 1: “Exact computation with provably time complexity
upper bounds”
30 novembre 2009
Plan
Résoudre des problèmes difficiles?
Techniques de résolution: deux exemples
Elagage de l’arbre de recherche
Programmation dynamique
... et d’analyse
Quelques résultats
... et quelques questions
Projet TODO, novembre 2009 – p.1/37
Algorithmes exacts vs approximation
Problèmes d’optimisation combinatoire NP-difficiles
▽Projet TODO, novembre 2009 – p.2/37
Algorithmes exacts vs approximation
Problèmes d’optimisation combinatoire NP-difficiles
Algorithmes “efficaces” :
→ algorithmes approchés
heuristiques
Approximation polynomiale
▽Projet TODO, novembre 2009 – p.2/37
Algorithmes exacts vs approximation
Problèmes d’optimisation combinatoire NP-difficiles
Algorithmes “efficaces” :
→ algorithmes approchés
heuristiques
Approximation polynomiale
Algorithmes exacts :
→ non polynomiaux
Branch and Bound, Programmation dynamique,...
▽Projet TODO, novembre 2009 – p.2/37
Algorithmes exacts vs approximation
Problèmes d’optimisation combinatoire NP-difficiles
Algorithmes “efficaces” :
→ algorithmes approchés
heuristiques
Approximation polynomiale
Algorithmes exacts :
→ non polynomiaux
Branch and Bound, Programmation dynamique,...
Complexité au pire des
cas ?
Projet TODO, novembre 2009 – p.2/37
Un exemple
Problème du stable :
→ algorithme exhaustif : O ∗ (2n ) (notation : 2n p(n)).
→ question : algorithme en O ∗ (αn ), avec α < 2 ? ?
▽Projet TODO, novembre 2009 – p.3/37
Un exemple
Problème du stable :
→ algorithme exhaustif : O ∗ (2n ) (notation : 2n p(n)).
→ question : algorithme en O ∗ (αn ), avec α < 2 ? ?
Pourquoi cette question ?
Elle est naturelle : combien de temps me faut-il pour
résoudre ce problème ?
Impossibilité de résoudre les problèmes en temps
polynomial optimalement ou de manière approchée.
Stable : pas nε−1 ! !
concevoir des algorithmes efficaces...
Projet TODO, novembre 2009 – p.3/37
Un exemple
Problème du stable :
→ algorithme exhaustif : O ∗ (2n ) (notation : 2n p(n)).
→ question : algorithme en O ∗ (αn ), avec α < 2 ? ?
▽Projet TODO, novembre 2009 – p.4/37
Un exemple
Problème du stable :
→ algorithme exhaustif : O ∗ (2n ) (notation : 2n p(n)).
→ question : algorithme en O ∗ (αn ), avec α < 2 ? ?
▽Projet TODO, novembre 2009 – p.4/37
Un exemple
Problème du stable :
→ algorithme exhaustif : O ∗ (2n ) (notation : 2n p(n)).
→ question : algorithme en O ∗ (αn ), avec α < 2 ? ?
Premier cas : on enlève un sommet
Deuxième cas : on enlève d(v) + 1 = 4 sommets
Projet TODO, novembre 2009 – p.4/37
Un exemple
Algorithme :
1. Tant qu’il existe un sommet de degré au moins 3 :
brancher sur ce sommet ;
2. Résoudre polynomialement l’instance.
▽Projet TODO, novembre 2009 – p.5/37
Un exemple
Algorithme :
1. Tant qu’il existe un sommet de degré au moins 3 :
brancher sur ce sommet ;
2. Résoudre polynomialement l’instance.
Nombre de sous-instances étudiées :
T (n) ≤ T (n − 1) + T (n − 4)
▽Projet TODO, novembre 2009 – p.5/37
Un exemple
Algorithme :
1. Tant qu’il existe un sommet de degré au moins 3 :
brancher sur ce sommet ;
2. Résoudre polynomialement l’instance.
Nombre de sous-instances étudiées :
T (n) ≤ T (n − 1) + T (n − 4)
Ce nombre est exponentiel. En cherchant T (n) = αn ,
cela donne αn = αn−1 + αn−4 , i.e. 1 = α−1 + α−4 .
→ temps de calcul : O ∗ (1.38...n ).
Projet TODO, novembre 2009 – p.5/37
Plan
Résoudre des problèmes difficiles ?
Techniques de résolution : deux exemples
Elagage de l’arbre de recherche
Programmation dynamique
... et d’analyse
Quelques résultats
... et quelques questions
Projet TODO, novembre 2009 – p.6/37
Elagage de l’arbre de recherche
Pruning the search tree / Branch and reduce.
Faire un arbre de recherche mais :
Couper une branche quand on sait résoudre le
problème en temps polynomial.
Exemple : graphe de degré au plus 2 pour le stable.
Réduire l’instance en chaque noeud (traitement
polynomial).
Exemple : sommets de degré 0 ou 1 pour le stable.
Brancher : différentes possibilités conduisent à
différentes sous-instances.
Exemple : prendre un sommet (et retirer ses voisins) ou
ne pas le prendre pour le stable.
Projet TODO, novembre 2009 – p.7/37
Arbre de recherche
Généralement : plusieurs branchements possibles, selon
le graphe que l’on obtient.
Algorithme de recherche arborescente :
1. Appliquer les règles de réduction d’instance.
2. S’il existe une configuration 1 alors...
T (n) ≤ T (n − 1) + T (n − 5) + p(n) → O∗ (1.28..n )
3. S’il existe une configuration 2 alors...
T (n) ≤ T (n − 2) + T (n − 3) + p(n) → O∗ (1.32..n )
4. ...
Complexité globale : O ∗ (1.32..n ).
Projet TODO, novembre 2009 – p.8/37
Arbre de recherche
→ Technique très simple et puissante, très utilisée
→ Des analyses toujours plus fines ... et toujours plus
longues ! ! !
Branchements multiples : s’il y a une configuration i, alors
dans le cas ou je prends le sommet j’arrive dans une
configuration j , et donc ...
Projet TODO, novembre 2009 – p.9/37
Programmation dynamique
Exemple : voyageur de commerce.
Instance : graphe sur n + 1 sommets {0, 1, · · · , n}.
Recherche exhaustive : n! permutations possibles, donc
O ∗ (n!) = 2θ(n log n) .
→ Peut-on le faire en 10n ? 2n ? 1.3n ?
▽Projet TODO, novembre 2009 – p.10/37
Programmation dynamique
Exemple : voyageur de commerce.
Instance : graphe sur n + 1 sommets {0, 1, · · · , n}.
Recherche exhaustive : n! permutations possibles, donc
O ∗ (n!) = 2θ(n log n) .
→ Peut-on le faire en 10n ? 2n ? 1.3n ?
Idée : utiliser la programmation dynamique
Pour chaque ensemble S ⊂ {1, 2, · · · , n}, chaque
sommet i ∈ S on va calculer un plus court chemin
de 0 à i passant par tous les sommets de S .
opt(S, i)
Relation de récurrence pour passer d’un ensemble
S à un ensemble S ′ contenant S .
Projet TODO, novembre 2009 – p.10/37
Programmation dynamique
Pour aller optimalement de 0 à i dans S ′ = S ∪ {i} :
→ on est allé optimalement en un sommet j de S
→ puis on a pris l’arête (j, i)).
opt(S ′ , i) = min{opt(S, j) + d(j, i) / j ∈ S}
▽Projet TODO, novembre 2009 – p.11/37
Programmation dynamique
Pour aller optimalement de 0 à i dans S ′ = S ∪ {i} :
→ on est allé optimalement en un sommet j de S
→ puis on a pris l’arête (j, i)).
opt(S ′ , i) = min{opt(S, j) + d(j, i) / j ∈ S}
Algorithme de programmation dynamique :
Pour k allant de 1 à n :
Calculer opt(S, i) pour tout i et S avec |S| = k
Complexité : - nombre de opt calculés : n2n
- calcul de chaque opt : linéaire
→ algorithme en O ∗ (2n ).
Projet TODO, novembre 2009 – p.11/37
Techniques de résolution
Branch and reduce
Programmation dynamique
▽Projet TODO, novembre 2009 – p.12/37
Techniques de résolution
Branch and reduce
Programmation dynamique
mais aussi
Principe d’inclusion-exclusion
Mémorisation
Propriétés directes sur les problèmes,...
Projet TODO, novembre 2009 – p.12/37
Plan
Résoudre des problèmes difficiles ?
Techniques de résolution : deux exemples
... et d’analyse
Analyse d’algorithmes : optimale ?
Measure and conquer
Quelques résultats
... et quelques questions
Projet TODO, novembre 2009 – p.13/37
Une analyse optimale ?
Algorithme pour le stable :
1. Tant qu’il existe un sommet de degré au moins 3 : brancher
sur ce sommet ;
2. Résoudre polynomialement l’instance.
T (n) = O ∗ (1.39n ). Est-ce vraiment du 1.39n ?
instances tel que T (n) = Ω(1.38..n ) ?
mauvaise analyse ? ? ?
Projet TODO, novembre 2009 – p.14/37
Une analyse optimale ?
Algorithme pour le stable :
1. Tant qu’il existe un sommet de degré au moins 3 : brancher
sur ce sommet ;
2. Résoudre polynomialement l’instance.
T (n) = O ∗ (1.39n ). Est-ce vraiment du 1.39n ?
instances tel que T (n) = Ω(1.38..n ) ?
mauvaise analyse ? ? ?
Projet TODO, novembre 2009 – p.15/37
Measure and conquer
Technique d’analyse précédent : mauvaise mesure de la
progression de l’algorithme (la réduction de l’instance).
▽Projet TODO, novembre 2009 – p.16/37
Measure and conquer
Technique d’analyse précédent : mauvaise mesure de la
progression de l’algorithme (la réduction de l’instance).
Measure and conquer
mieux mesurer la progression de l’algorithme !
ne pas compter le nombre de sommets du graphe
→ meilleure analyse pour le même algorithme.
▽Projet TODO, novembre 2009 – p.16/37
Measure and conquer
Technique d’analyse précédent : mauvaise mesure de la
progression de l’algorithme (la réduction de l’instance).
Measure and conquer
mieux mesurer la progression de l’algorithme !
ne pas compter le nombre de sommets du graphe
→ meilleure analyse pour le même algorithme.
Un exemple : 3-Set cover
Couvrir un ensemble C = {c1 , · · · , cn } en utilisant un
nombre minimum d’ensembles S = {S1 , · · · , Sm }.
Ici : |Si | ≤ 3.
Projet TODO, novembre 2009 – p.16/37
Couverture d’ensemble
Représentation : graphe biparti d’appartenance
S1 = {c1 , c2 , c4 }, S2 = {c2 , c3 }, S3 = {c1 , c3 , c4 }
▽Projet TODO, novembre 2009 – p.17/37
Couverture d’ensemble
Représentation : graphe biparti d’appartenance
S1 = {c1 , c2 , c4 }, S2 = {c2 , c3 }, S3 = {c1 , c3 , c4 }
Quelques règles :
Un élément est dans un seul ensemble.
Un ensemble ne contient qu’un élément.
Tous les ensembles sont de taille au plus 2.
Projet TODO, novembre 2009 – p.17/37
Couverture d’ensemble
• Cas n˚1 : il y a un ensemble de taille 2
→ T (m) = T (m − 1) + T (m − 3)
• Cas n˚2 : tous les ensemble sont de taille 3
▽Projet TODO, novembre 2009 – p.18/37
Couverture d’ensemble
• Cas n˚1 : il y a un ensemble de taille 2
→ T (m) = T (m − 1) + T (m − 3)
• Cas n˚2 : tous les ensemble sont de taille 3
▽Projet TODO, novembre 2009 – p.18/37
Couverture d’ensemble
• Cas n˚1 : il y a un ensemble de taille 2
→ T (m) = T (m − 1) + T (m − 3)
• Cas n˚2 : tous les ensemble sont de taille 3
→ T (m) = 2T (m − 1) ! ! ! ! ! ! !
Projet TODO, novembre 2009 – p.18/37
Une nouvelle manière de compter
Idée intuitive :
Dans le cas 2 : on fait baisser la taille de plusieurs
ensembles
Prendre en compte cela dans le calcul de
complexité ? ?
▽Projet TODO, novembre 2009 – p.19/37
Une nouvelle manière de compter
Idée intuitive :
Dans le cas 2 : on fait baisser la taille de plusieurs
ensembles
Prendre en compte cela dans le calcul de
complexité ? ?
→ nouvelle technique de comptage :
Mesure de l’instance : avant : m = m3 + m2
maintenant : p = m3 + αm2 (α ∈]0, 1[).
▽Projet TODO, novembre 2009 – p.19/37
Une nouvelle manière de compter
Idée intuitive :
Dans le cas 2 : on fait baisser la taille de plusieurs
ensembles
Prendre en compte cela dans le calcul de
complexité ? ?
→ nouvelle technique de comptage :
Mesure de l’instance : avant : m = m3 + m2
maintenant : p = m3 + αm2 (α ∈]0, 1[).
Ensemble de taille 3 supprimé : on “gagne” 1 ;
Ensemble de taille 2 supprimé : on “gagne” α ;
Ensemble de taille 3 devient de taille 2 : on “gagne” 1 − α.
Projet TODO, novembre 2009 – p.19/37
Une nouvelle manière de compter
• Cas n˚1 : il y a un ensemble de taille 2
α
α
1
▽Projet TODO, novembre 2009 – p.20/37
Une nouvelle manière de compter
• Cas n˚1 : il y a un ensemble de taille 2
α
0
1
▽Projet TODO, novembre 2009 – p.20/37
Une nouvelle manière de compter
• Cas n˚1 : il y a un ensemble de taille 2
▽Projet TODO, novembre 2009 – p.20/37
Une nouvelle manière de compter
• Cas n˚1 : il y a un ensemble de taille 2
0
0
0
▽Projet TODO, novembre 2009 – p.20/37
Une nouvelle manière de compter
• Cas n˚1 : il y a un ensemble de taille 2
0
0
0
→ T (p) = T (p − α) + T (p − (1 + 2α))
Projet TODO, novembre 2009 – p.20/37
Une nouvelle manière de compter
• Cas n˚1 : il y a un ensemble de taille 2
α
α
1
→ T (p) = T (p − α) + T (p − (1 + 2α))
• Cas n˚2 : tous les ensembles sont de taille 3
1
1
1
1
▽Projet TODO, novembre 2009 – p.21/37
Une nouvelle manière de compter
• Cas n˚1 : il y a un ensemble de taille 2
α
α
1
→ T (p) = T (p − α) + T (p − (1 + 2α))
• Cas n˚2 : tous les ensembles sont de taille 3
1
0
1
1
▽Projet TODO, novembre 2009 – p.21/37
Une nouvelle manière de compter
• Cas n˚1 : il y a un ensemble de taille 2
α
α
1
→ T (p) = T (p − α) + T (p − (1 + 2α))
• Cas n˚2 : tous les ensembles sont de taille 3
α
0
α
α
→ T (p) = T (p − 1) + T (p − (4 − 3α))
Projet TODO, novembre 2009 – p.21/37
Une nouvelle manière de compter
T (p) = T (p − α) + T (p − (1 + 2α)) : plus α est grand,
meilleur c’est.
T (p) = T (p − 1) + T (p − (4 − 3α)) : plus α est petit,
meilleur c’est.
▽Projet TODO, novembre 2009 – p.22/37
Une nouvelle manière de compter
T (p) = T (p − α) + T (p − (1 + 2α)) : plus α est grand,
meilleur c’est.
T (p) = T (p − 1) + T (p − (4 − 3α)) : plus α est petit,
meilleur c’est.
Réglage optimal : α ≃ 0.5 → temps O ∗ (1.52..p )
p ≤ m donc T (m) ≤ O ∗ (1.52..m )
Projet TODO, novembre 2009 – p.22/37
Une nouvelle manière de compter
→ Technique de comptage :
Meilleure prise en compte de l’information que l’on
gagne à chaque branchement
Equilibrage des différents cas à l’aide d’un
paramètre réglé optimalement
... analyse beaucoup plus simple
Plus généralement : p = α1 n1 + α2 n2 + · · · + αk nk + n≥k .
Optimisation des αi
Projet TODO, novembre 2009 – p.23/37
Plan
Résoudre des problèmes difficiles ?
Techniques de résolution : deux exemples
... et d’analyse
Quelques résultats
Un (mauvais) exemple
Quelques problèmes étudiés
Travaux des membres du projet
Les algorithmes paramétrés
... et quelques questions
Projet TODO, novembre 2009 – p.24/37
Quelques résultats
Un sujet neuf, une course aux résultats.
Un exemple (non représentatif) : le stable dans les
graphes de degré 3.
1.1259n [1999]
▽Projet TODO, novembre 2009 – p.25/37
Quelques résultats
Un sujet neuf, une course aux résultats.
Un exemple (non représentatif) : le stable dans les
graphes de degré 3.
1.1259n [1999]
1.1254n [2003]
▽Projet TODO, novembre 2009 – p.25/37
Quelques résultats
Un sujet neuf, une course aux résultats.
Un exemple (non représentatif) : le stable dans les
graphes de degré 3.
1.1259n [1999]
1.1254n [2003]
1.1225n [2006]
▽Projet TODO, novembre 2009 – p.25/37
Quelques résultats
Un sujet neuf, une course aux résultats.
Un exemple (non représentatif) : le stable dans les
graphes de degré 3.
1.1259n [1999]
1.1254n [2003]
1.1225n [2006]
1.1120n [2006]
▽Projet TODO, novembre 2009 – p.25/37
Quelques résultats
Un sujet neuf, une course aux résultats.
Un exemple (non représentatif) : le stable dans les
graphes de degré 3.
1.1259n [1999]
1.1254n [2003]
1.1225n [2006]
1.1120n [2006]
1.1034n [2006]
▽Projet TODO, novembre 2009 – p.25/37
Quelques résultats
Un sujet neuf, une course aux résultats.
Un exemple (non représentatif) : le stable dans les
graphes de degré 3.
1.1259n [1999]
1.1254n [2003]
1.1225n [2006]
1.1120n [2006]
1.1034n [2006]
1.0977n [2008]
▽Projet TODO, novembre 2009 – p.25/37
Quelques résultats
Un sujet neuf, une course aux résultats.
Un exemple (non représentatif) : le stable dans les
graphes de degré 3.
1.1259n [1999]
1.1254n [2003]
1.1225n [2006]
1.1120n [2006]
1.1034n [2006]
1.0977n [2008]
1.0892n [2009]
▽Projet TODO, novembre 2009 – p.25/37
Quelques résultats
Un sujet neuf, une course aux résultats.
Un exemple (non représentatif) : le stable dans les
graphes de degré 3.
1.1259n [1999]
1.1254n [2003]
1.1225n [2006]
1.1120n [2006]
1.1034n [2006]
1.0977n [2008]
1.0892n [2009]
1.0857n [cahier du Lamsade !]
Projet TODO, novembre 2009 – p.25/37
Quelques résultats
Un sujet neuf, une course aux résultats.
De nombreux problèmes étudiés
Problèmes de graphes (stable, coloration, coupe,
treewidth,...)
Problème logiques (Sat, k-Sat)
Network (TSP et variantes)
... problèmes de choix social ( ! !)
...
Projet TODO, novembre 2009 – p.26/37
Quelques résultats
Un sujet neuf, une course aux résultats.
Des méthodes nouvelles ou revisitées
Branch and reduce
Programmation dynamique
Principe d’inclusion-exclusion
Mémorisation
Measure and Conquer
→ Un workshop consacré à cette problématique :
IWPEC (International Workshop on Parameterized and Exact Complexity)
Projet TODO, novembre 2009 – p.27/37
Quelques résultats
Travaux des membres du projet.
Stable (graphes généraux, graphes a degré borné)
Set Cover (ensemble de taille 3)
Independent Dominating Set
Dominating Clique
Coupe maximum (sparse graphs)
Coloration pondérée ( ?)
Projet TODO, novembre 2009 – p.28/37
Quelques résultats
Les algorithmes paramétrés.
Idée : “restreindre l’explosion combinatoire, semblet-il inévitable, qui est responsable de la croissance
exponentielle du temps de calcul, à un paramètre
spécifique au problème”
▽Projet TODO, novembre 2009 – p.29/37
Quelques résultats
Les algorithmes paramétrés.
Idée : “restreindre l’explosion combinatoire, semblet-il inévitable, qui est responsable de la croissance
exponentielle du temps de calcul, à un paramètre
spécifique au problème”
Exemple : Vertex Cover dans un graphe
Existe-t-il un VC de taille au plus k ?
Algorithme trivial : je regarde tous les sous-ensembles
de taille au plus k . Complexité en nk+O(1) .
Question : algorithme en f (k)p(n) ?
Projet TODO, novembre 2009 – p.29/37
Quelques résultats
Réponse : facile !
Algorithme : instance (G, k).
Je considère une arête (u, v)
Je résous (G \ u, k − 1) et (G \ v, k − 1)
Je dis oui si une des deux instances dit oui.
▽Projet TODO, novembre 2009 – p.30/37
Quelques résultats
Réponse : facile !
Algorithme : instance (G, k).
Je considère une arête (u, v)
Je résous (G \ u, k − 1) et (G \ v, k − 1)
Je dis oui si une des deux instances dit oui.
Complexité : 2k p(n).
Le problème est FPT (Fixed Parameter Tractable).
▽Projet TODO, novembre 2009 – p.30/37
Quelques résultats
Réponse : facile !
Algorithme : instance (G, k).
Je considère une arête (u, v)
Je résous (G \ u, k − 1) et (G \ v, k − 1)
Je dis oui si une des deux instances dit oui.
Complexité : 2k p(n).
Le problème est FPT (Fixed Parameter Tractable).
Questions suivantes :
→ algorithme en 1.5k p(n) ?
→ et pour le stable ?
Projet TODO, novembre 2009 – p.30/37
Quelques résultats
Les algorithmes paramétrés
Très en lien avec la complexité au pire des cas :
sur les méthodes
sur les résultats
Etudiée pour d’autres paramètres que l’optimum
(treewidth du graphe par exemple)
Projet TODO, novembre 2009 – p.31/37
Plan
Résoudre des problèmes difficiles ?
Techniques de résolution : deux exemples
... et d’analyse
Quelques résultats
... et quelques questions
Quelques questions ouvertes
Résultats négatifs ?
Mais que va-t-on faire dans ce projet ? ?
Projet TODO, novembre 2009 – p.32/37
Quelques questions ouvertes
Sur les résultats
TSP : mieux que 2n ?
Coloration : mieux que 2n ?
Sat : mieux que 2n ?
De nouvelles méthodes ?
algorithmiques
d’analyse
Projet TODO, novembre 2009 – p.33/37
Résultats négatifs
Analyse d’algorithmes
Peu de bornes inférieures sur la complexité des
algorithmes
Souvent loin des bornes supérieures
→ Comment générer des instances problématiques ?
→ L’analyse est-elle optimale ? Ou presque ?
Projet TODO, novembre 2009 – p.34/37
Résultats négatifs
Sur les problèmes
Ce problème n’est pas résoluble en O ∗ (1.05n ) (si
P 6= N P , ou autre)
▽Projet TODO, novembre 2009 – p.35/37
Résultats négatifs
Sur les problèmes
Ce problème n’est pas résoluble en O ∗ (1.05n ) (si
P 6= N P , ou autre)
Aucune réponse
▽Projet TODO, novembre 2009 – p.35/37
Résultats négatifs
Sur les problèmes
Ce problème n’est pas résoluble en O ∗ (1.05n ) (si
P 6= N P , ou autre)
Aucune réponse
Ce problème n’est pas résoluble en temps
sous-exponentiel (si P 6= N P , ou autre)
▽Projet TODO, novembre 2009 – p.35/37
Résultats négatifs
Sur les problèmes
Ce problème n’est pas résoluble en O ∗ (1.05n ) (si
P 6= N P , ou autre)
Aucune réponse
Ce problème n’est pas résoluble en temps
sous-exponentiel (si P 6= N P , ou autre)
P 6= N P ? Aucune réponse
▽Projet TODO, novembre 2009 – p.35/37
Résultats négatifs
Sur les problèmes
Ce problème n’est pas résoluble en O ∗ (1.05n ) (si
P 6= N P , ou autre)
Aucune réponse
Ce problème n’est pas résoluble en temps
sous-exponentiel (si P 6= N P , ou autre)
P 6= N P ? Aucune réponse
ETH : Exponential Time Hypothesis.
Les problèmes k-Sat ne sont pas résolubles en
temps sous-exponentiel
Projet TODO, novembre 2009 – p.35/37
Résultats négatifs
Sur les problèmes
Ce problème n’est pas résoluble en O ∗ (1.05n ) (si
P 6= N P , ou autre)
Ce problème n’est pas résoluble en temps
sous-exponentiel
Ce problème n’est pas résoluble en f (k)p(n) (si
...)
▽Projet TODO, novembre 2009 – p.36/37
Résultats négatifs
Sur les problèmes
Ce problème n’est pas résoluble en O ∗ (1.05n ) (si
P 6= N P , ou autre)
Ce problème n’est pas résoluble en temps
sous-exponentiel
Ce problème n’est pas résoluble en f (k)p(n) (si
...)
Hiérarchie de classes, avec des problèmes complets
pour les classes,...
Projet TODO, novembre 2009 – p.36/37
Mais que va-t-on faire dans ce projet ?
Travailler ...
▽Projet TODO, novembre 2009 – p.37/37
Mais que va-t-on faire dans ce projet ?
Travailler ...
Continuer à travailler sur des problèmes classiques
(domaine jeune)
▽Projet TODO, novembre 2009 – p.37/37
Mais que va-t-on faire dans ce projet ?
Travailler ...
Continuer à travailler sur des problèmes classiques
(domaine jeune)
S’intéresser à des problèmes que l’on connaît bien
Exemple : que se passe-t-il pour la robustesse ?
règles de dominances
algorithmes paramétrés
▽Projet TODO, novembre 2009 – p.37/37
Mais que va-t-on faire dans ce projet ?
Travailler ...
Continuer à travailler sur des problèmes classiques
(domaine jeune)
S’intéresser à des problèmes que l’on connaît bien
Exemple : que se passe-t-il pour la robustesse ?
règles de dominances
algorithmes paramétrés
Théorie des jeux ?
▽Projet TODO, novembre 2009 – p.37/37
Mais que va-t-on faire dans ce projet ?
Travailler ...
Continuer à travailler sur des problèmes classiques
(domaine jeune)
S’intéresser à des problèmes que l’on connaît bien
De nouvelles méthodes ?
Bottom-up
Branch and bound :
- utilisation de bornes (de PL,...) ?
- apprentissage de branche en branche ? ?
▽Projet TODO, novembre 2009 – p.37/37
Mais que va-t-on faire dans ce projet ?
Travailler ...
Continuer à travailler sur des problèmes classiques
(domaine jeune)
S’intéresser à des problèmes que l’on connaît bien
De nouvelles méthodes ?
Résultats négatifs ? ? Structure ?
▽Projet TODO, novembre 2009 – p.37/37
Mais que va-t-on faire dans ce projet ?
Travailler ...
Continuer à travailler sur des problèmes classiques
(domaine jeune)
S’intéresser à des problèmes que l’on connaît bien
De nouvelles méthodes ?
Résultats négatifs ? ? Structure ?
Implémentation
→ temps de calcul en pratique ? Efficacité ?
Projet TODO, novembre 2009 – p.37/37
Téléchargement