1 / 23

8INF806

8INF806. Conception et analyse des algorithmes Comment comparer deux problèmes?. Relation entre les classes de fonctions. PP. BPP. ZPP. ZPP*. P. Relation entre les classes de problèmes de décision. PP. BPP. NP. co-NP. RP. co-RP. ZPP. NP co-NP. P. Quelques problèmes (1).

cili
Télécharger la présentation

8INF806

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 8INF806 Conception et analyse des algorithmes Comment comparer deux problèmes? 8INF806

  2. Relation entre les classes de fonctions PP BPP ZPP ZPP* P 8INF806

  3. Relation entre les classes de problèmes de décision PP BPP NP co-NP RP co-RP ZPP NPco-NP P 8INF806

  4. Quelques problèmes (1) • HC: Cycle hamiltonien dans un graphe • DFC:graphe dirigé • TSP: problème du comis voyageur • CLIQUE: Trouver un ensemble maximal M de noeuds dans un graphe tels que chaque paires de noeuds dans M sont reliées par une arête. • INDEPENDENT SET: Trouver un ensemble maximal M de noeuds dans un graphe tels que aucune paire de noeuds dans M n'est reliée par une arête. • VERTEX COVER: Trouver un ensemble minimal de noeuds dans un graphe tel que toute arête est adjacente à au moins un de ces noeuds. • a-CHAMPIONSHIP: Déterminer à un moment donner de la saison si notre équipe à des chances d'emporter la coupe: le gagnant à b≤a points et le perdant a (a-b) points. 8INF806

  5. Quelques problèmes (2) • SAT: Satisfaisabilité: Déterminer s'il existe une affectation des n variable booléenne permettant de satisfaire une formule logique en forme normale conjonctive. • 3-SAT: 3 littéraux par clause • MAX-SAT: maximiser le nombre de clauses satisfaisables. • BINPACKING: Mettre n objets de poids divers dans des cases de capacité b • PARTITION: Partitionner une suite de nombres en deux ensembles d'égales valeurs. • 2-DM: Problème du mariage dans un graphe biparti • NETWORK FLOW: Maximiser le flot entre un noeud a et un noeud b dans un graphe dirigé où chaque arc possède une capacité maximale. 8INF806

  6. Objectif • On veut définir une relation A ≤T B signifiant que B est au moins aussi difficile que A • Réduction de Turing: A ≤T B 8INF806

  7. Réduction de Turing A ≤T B : S'il existe un algorithme EP pour P qui utilise un algorithme EQ pour Q et qui possède les propriétés suivantes: • Le temps de EP (si on ne compte pas les appels à EQ) est borné par un polynôme p(n) • Le nombre d'appels à EQ est borné par un polynôme q(n) • La longueur des entrées des appels à EQ est bornée par un polynôme r(n) Le temps de EP est: tP(n) ≤ p(n) + q(n) + tQ(r(n)) 8INF806

  8. Problèmes équivalents • Deux problèmes A et B sont Turing-équivalents si A ≤T B et B ≤T A. • Notation: A T B • FAIT: Si B  P et A ≤T B alors A  P • Remarque: Même chose pour BPP et ZPP 8INF806

  9. Propriétés de la réduction de Turing • Transitivité: P ≤T Q et Q ≤T R  P ≤T R • Réfexibilité: P ≤T P • Symétrie: P T Q  Q T P 8INF806

  10. Problèmes algorithmiques • Problèmes d'optimisation: • Ex: Produire un cycle hamiltonien de longueur minimal dans un graphe • Problème d'évaluation: • Ex. Donner la longueur du plus petit cycle hamiltonien dans un graphe • Problème de décision: • Existe-t-il un cycle hamiltonien de longueur plus peit ou égal à k? 8INF806

  11. Réduction entre variantes d'un problème Pour la plupart des problèmes A on a: ADECT AEVAL T AOPT Il est facile de voir: • ADEC≤T AEVAL • AEVAL≤T AOPT 8INF806

  12. AEVAL≤T ADEC • Trouver une borne B tel que la valeur de n'importe quelle solution est entre –B et B (souvent entre 0 et B). • Exemple: • BINPACKING: n nombres en entrée  B=n • CLIQUE: n noeuds  B=n • MAX-SAT: n clauses  B=n • Recherche dychotomique: O(lg B) appels à un algorithme pour ADEC 8INF806

  13. AOPT≤T AEVAL • On appelle d'abord un algorithme pour AEVAL afin d'obtenir une valeur optimal wopt. • On construit progressivement une solution en vérifiant si elle est prometteuse à l'aide d'un appel à l'algorithme pour AEVAL et de wopt. • Exemple: MAX-SAT • On cherche à satisfaire une formule f(x1, ..., xn). • On essaie avec x1=1 : on remplace les clauses contenant x1 par la clause 1 et on enlève x1 de toutes les clauses (une clause vide n'est jamais satisfaisable). • On appelle l'algorithme d'évaluation avec la nouvelle formule g(x2, ..., xn) qui nous retourne w • Si w=wopt alors on continue avec x1=1 sinon avec x1=0. • Nombre maximal d'appels à l'algorithme d'évaluation = n+1 8INF806

  14. CLIQUEOPT≤T CLIQUEEVAL • Exemple: MAX-CLIQUE: • On appelle l'algorithme d'évaluation qui retourne la valeur wopt • On choisi un noeud n et on l'enlève du graphe pour obtenir un nouveau graphe G' • On appelle à nouveau l'algorithme d'évaluation sur G' qui retourne la valeur w • Si w=wopt alors il existe une clique qui ne contient pas n et on peut enlever n de G. • On continue avec un autre noeud. • Nombre maximal d'appels à l'algorithme d'évaluation = n+1 8INF806

  15. BINPACKINGOPT≤T BINPACKINGEVAL • Exemple: BINPACKING • On appelle l'algorithme d'évaluation qui retourne la valeur wopt • On choisit deux objets que l'on colle ensemble pour en faire un seul (le poids est la somme des deux objets initiaux). • On appelle à nouveau l'algorithme d'évaluation qui retourne la valeur w • Si w=wopt alors on conserve les deux objets collés. • On poursuit de la même manière • Remarque: • En réalité on travaille avec des ensembles d'objets (initialement on n'a que des singletons). • On ne choisit jamais deux ensembles contenant deux objets que l'on a déjà tenté de coller puique l'on sait que cela ne mène pas à la solution optimale. • Nombre maximal d'appels à l'algorithme d'évaluation = n(n-1)/2 8INF806

  16. Réduction entre problèmes de même type Le résultats prédédents indique que l'on peut se concentrer sur les problèmes de décision. Nous allons montrer: • DHC T HC • SAT T 3-SAT • PARTITION ≤T BINPACKING • CLIQUE T INDEPENDENT SET (ANTI-CLIQUE) T VERTEX COVER 8INF806

  17. DHC T HC • HC ≤T DHC: Par définition • DHC ≤T HC: • G=(V,E) où V = {v1, v2, ... , vn} • G'=(V',E') où V' = {vi,j | 1≤i≤n, 1≤j≤3} • (vi,1, vi,2), (vi,2, vi,3)  E' pour tout i • Si (vi, vj)  E alors (vi,3, vj,1)  E' • Si (vk, vi)  E alors (vk,3, vi,1)  E' • La direction d'un arc adjacent à vi se réflète par l'endroit où l'arête correspondante est reliée dans le chemin (vi,1, vi,2, vi,3) 8INF806

  18. DHC T HC • Si G contient un cycle hamiltonien: (v1, v2, ... , vn, v1) G' contient aussi un cycle hamiltonien: (v1,1 , v1,2 , v1,3 , v2,1 , v2,2 , v2,3 , ..., vn,1 , vn,2 , vn,3 , v1,1) • Si G' contient un cycle hamiltonien alors • SPDG supposons que le cycle commence à v1,1 • Puisque les noeuds vi,2 ont exactement deux arêtes adjacentes alors ces deux arêtes doivent faire parti du cycle. • Le cycle doit donc contenir le segment (v1,1 , v1,,2 , v1,3) • Les 3 noeuds suivants doivent être de la forme: (vk,1 , vk,,2 , vk,3) • Etc. 8INF806

  19. SAT T 3-SAT • 3-SAT ≤TSAT puisque 3-SAT est une restriction de SAT. • SAT ≤T3-SAT • Chaque clause de SAT est de la forme (z1 z2    zk) où zi  {x1, x1, x2, x2, ... , xn, xn} • Si k=1 on remplace la clause par (z1 z1  z1) • Si k=2 on remplace la clause par (z1 z2  z2) • Si k>3 on remplace la clause par: (z1 z2  y1)  (y1 z3  y2)    (yk-1 zk-1  zk) où les yi sont de nouvelle variables. 8INF806

  20. PARTITION ≤T BINPACKING • n nombres x1, x2, ..., xn • Seulement 2 cases avec capacité  (x1 + x2 + ... + xn) / 2  • 1 seul appel à BINPACKING 8INF806

  21. CLIQUE TINDEPENDENT SET T VERTEX COVER • Graphe G = (V,E) et G' = (V,E) • G possède une clique de k noeuds ssi G' possède une anti-clique de k noeuds. • G possède une anti-clique de k noeuds ssi les (n-k) noeuds restant couvrent toutes les arêtes de E. 8INF806

  22. Autres réductions • 2-DM ≤T NETWORK FLOW • a-championship ≤T NETWORK FLOW • 3-SAT ≤T CLIQUE • 3-SAT ≤T DHC 8INF806

  23. Réduction polynomiale • Permet une classification plus fine pour les problèmes de décision. • Permet de rester à l'intérieur des classes de complexité qui ne sont pas fermée sous la complémentation (e.g. RP, co-RP, NP, co-NP) • Déf.Un langage LA * se réduit polynomialement à un langage LB A* s'il existe une fonction f: * * calculable en temps polynomiale telle que: w  LA  f(w)  LB pour tout w  *. • On utilise la notation LA≤p LB et LAp LB 8INF806

More Related