8INF8061 Conception et analyse des algorithmes Comment comparer deux problèmes?

Slides:



Advertisements
Présentations similaires
Introduction à la Théorie des graphes
Advertisements

Comparaison de deux algorithmes d’approximation
Théorie des graphes.
Dans cette partie Graphes Eulériens.
Algorithmes et structures de données avancées Cours 7
Algorithmes et structures de données avancés
Introduction à la Théorie des graphes
Cours d’Algorithmique
Cours d'algorithmique 11 / Intranet 1 9 janvier 2006 Cours dAlgorithmique N P - complétude.
Système formel Nous avons introduit : signes de variables (x, y, z, …), de constantes (0, 1), d’opérations (+, ), de relations (=, ) Axiomes : ce sont.
Séminaire Florin Périer Alain Gély LIMOS
Journées Graphes & Algorithmes, Novembre 2006, Orléans
Chap. 1 INTRODUCTION Beaucoup de problèmes de la vie courante, tels la gestion de réseaux de communication ou l'ordonnancement de tâches, correspondent.
Nicolas Bourbaki.
Automate asynchrone.
Conception et analyse des algorithmes
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
Chapitre 3 La NP-complétude et le théorème de Cook-Levin
Preuves interactives: IP, AM, MA et isomorphisme de graphe
Algorithmes Branch & Bound
Heuristiques A. Introduction B. Recherche d ’une branche
Chapitre 2 Réductions: exemples et méthodes
Quelques applications.
Pr ZEGOUR Djamel Eddine
Vers la dimension 3. La géométrie dans l'espace ne fait qu'étendre les concepts qui vous sont familiers en dimension 2 à la dimension 3. Le plus difficile.
IFT Chapitre 3 La NP-complétude et le théorème de Cook-Levin.
Algorithme de Bellman-Ford
Chapitre 2 Réductions: exemples et méthodes
Coloration gap sommet identifiante de graphes
Rappels de logique des prédicats du 1er ordre
GPA750 Les ateliers multigammes Chapitre 5
Contourner la NP-complétude
IFT Complexité et NP-complétude
IFT Chapitre 1 Classes de complexité fondamentales:
IFT Au delà de NP: hiérarchie polynomiale, EXP, NEXP.
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
IFT Théorème PCP: Aperçu et applications à linapproximabilité.

Algorithmes d ’approximation
Optimisation dans les réseaux
Programmation linéaire et Recherche opérationnelle
Recherche Opérationnelle
- GRAPHES - Composantes et types
Conception et analyse des algorithmes Les algorithmes probabilistes
DONG Xiaoguang HONG Liang OULDBABA Fadel WANG Min
Programmation dynamique
Programmation linéaire en nombres entiers : les méthodes de troncature

IFT Complexité et NP-complétude Chapitre 0 Rappels.
ASI 3 Méthodes numériques pour l’ingénieur
Conception et analyse des algorithmes
Contourner la NP-complétude
Coupes efficaces pour la relaxation lagrangienne
Graphes 1. Introduction 2. Définition 3. Représentation mémoire
Arbres et graphes.
D.E ZEGOUR Ecole Supérieure d’Informatique
D.E ZEGOUR Ecole Supérieure d’Informatique
On cherche le plus court chemin de E à S sur le graphe suivant :
Programmation linéaire en nombres entiers
Complexité des Problèmes Combinatoires Module IAD/RP/RO/Complexité Philippe Chrétienne.
Algorithmes Branch & Bound
LE FLOT MAXIMAL et LA COUPE MINIMALE
Tutorat en bio-informatique Le 14 novembre Au programme… Les objets –Propriétés (attributs) –Constructeurs –Méthodes.
Université Pierre et Marie Curie Laboratoire d’Informatique de Paris VI Département ASIM Analyse et résultats sur le dimensionnement des mémoires pour.
Exploration systématique de graphes
Problème de double digestion
6. Problème de flot à coût minimum.
Chap. 3 Récursion et induction. Les définitions par récurrence consistent à construire des objets finis, à partir d'autres, selon certaines règles. Les.
Complexité des Problèmes Combinatoires Module IAD/RP/RO/Complexité Philippe Chrétienne.
CSI 3505 / Automne 2005: Conception et Analyse des Algorithmes I.
Transcription de la présentation:

8INF8061 Conception et analyse des algorithmes Comment comparer deux problèmes?

8INF8062 Relation entre les classes de fonctions BPP P ZPP PP ZPP*

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

8INF8064 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 à ba points et le perdant a (a-b) points.

8INF8065 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.

8INF8066 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

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

8INF8068 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

8INF8069 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

8INF80610 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?

8INF80611 Réduction entre variantes d'un problème Pour la plupart des problèmes A on a: A DEC T A EVAL T A OPT Il est facile de voir: –A DEC T A EVAL –A EVAL T A OPT

8INF80612 A EVAL T A DEC 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 A DEC

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

8INF80614 CLIQUE OPT T CLIQUE EVAL Exemple: MAX-CLIQUE: –On appelle l'algorithme d'évaluation qui retourne la valeur w opt –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=w opt 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

8INF80615 BINPACKING OPT T BINPACKING EVAL Exemple: BINPACKING –On appelle l'algorithme d'évaluation qui retourne la valeur w opt –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=w opt 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

8INF80616 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

8INF80617 DHC T HC HC T DHC: Par définition DHC T HC: –G=(V,E) où V = {v 1, v 2,..., v n } –G'=(V',E') où V' = {v i,j | 1in, 1j3} –(v i,1, v i,2 ), (v i,2, v i,3 ) E' pour tout i –Si (v i, v j ) E alors (v i,3, v j,1 ) E' –Si (v k, v i ) E alors (v k,3, v i,1 ) E' La direction d'un arc adjacent à v i se réflète par l'endroit où l'arête correspondante est reliée dans le chemin (v i,1, v i,2, v i,3 )

8INF80618 DHC T HC Si G contient un cycle hamiltonien: (v 1, v 2,..., v n, v 1 ) G' contient aussi un cycle hamiltonien: (v 1,1, v 1,2, v 1,3, v 2,1, v 2,2, v 2,3,..., v n,1, v n,2, v n,3, v 1,1 ) Si G' contient un cycle hamiltonien alors –SPDG supposons que le cycle commence à v 1,1 –Puisque les noeuds v i,2 ont exactement deux arêtes adjacentes alors ces deux arêtes doivent faire parti du cycle. –Le cycle doit donc contenir le segment (v 1,1, v 1,,2, v 1,3 ) –Les 3 noeuds suivants doivent être de la forme: (v k,1, v k,,2, v k,3 ) –Etc.

8INF80619 SAT T 3-SAT 3-SAT T SAT puisque 3-SAT est une restriction de SAT. SAT T 3-SAT –Chaque clause de SAT est de la forme (z 1 z 2 z k ) où z i {x 1, x 1, x 2, x 2,..., x n, x n } –Si k=1 on remplace la clause par (z 1 z 1 z 1 ) –Si k=2 on remplace la clause par (z 1 z 2 z 2 ) –Si k>3 on remplace la clause par: (z 1 z 2 y 1 ) (y 1 z 3 y 2 ) (y k-1 z k-1 z k ) où les y i sont de nouvelle variables.

8INF80620 PARTITION T BINPACKING n nombres x 1, x 2,..., x n Seulement 2 cases avec capacité (x 1 + x x n ) / 2 1 seul appel à BINPACKING

8INF80621 CLIQUE T INDEPENDENT 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.

8INF80622 Autres réductions 2-DM T NETWORK FLOW a-championship T NETWORK FLOW 3-SAT T CLIQUE 3-SAT T DHC

8INF80623 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 L A * se réduit polynomialement à un langage L B A * s'il existe une fonction f: * * calculable en temps polynomiale telle que: w L A f(w) L B pour tout w *. On utilise la notation L A p L B et L A p L B