Liste de problèmes NP-complets
Ceci est une liste des problèmes NP-complets les plus connus en théorie de la complexité des algorithmes, exprimés sous la forme d'un problème de décision. Puisqu'on connaît plus de 3000 problèmes NP-complets, cette liste n'est pas exhaustive. La plupart des problèmes énumérés proviennent du livre fondamental de Garey et Johnson : Computers and Intractability: A Guide to the Theory of NP-Completeness[1]. Ils sont présentés ici suivant les mêmes ordre et organisation.
Géométrie algorithmique[modifier | modifier le code]
- Triangulation avec poids minimal (en) d'un ensemble de points dans le plan[2]
- Tester si un arbre peut être représenté comme un arbre couvrant minimum euclidien
- Reconnaissance d'un graphe de disques unitaires (c'est le graphe d'intersection du cercle unitaire dans le plan)[3]
- Plusieurs problèmes de planification de mouvement au travers des obstacles polygonaux dans le plan sont NP-difficiles.
- Partition planaire en sous-assemblements connectés : étant donné un ensemble A de polygones dans le plan qui peuvent se toucher mais ne se chevauchent pas, décider s'il y a un sous-ensemble non-trivial S de A qui peut être séparé de A\S par un déplacement rigide et sans collision de S et tel que S et A\S sont connectés[4].
Théorie des graphes[modifier | modifier le code]
Couverture et découpage en partitions[modifier | modifier le code]
Couverture par sommets · Ensemble dominant · Nombre domatique · Coloration de graphe à k couleurs · Nombre achromatique · Triangle monochromatique (en) · Coupe-cycles de sommets (feedback vertex set) · Ensemble d'arcs à rétroaction · Ensembles de côtés à rétroaction partielle · Pairage maximal minimum (en) · Partition en triangles · Partition en sous-graphes isomorphiques · Partition en sous-graphes hamiltoniens · Partition en forêts · Partition en cliques · Partition en pairages parfaits · Pairage stochastique de poids maximum en deux étapes · Couverture par cliques (en) · Couverture par sous-graphes bipartis complets
Sous-graphes et super-graphes[modifier | modifier le code]
Clique maximum . Stable maximum · Ensemble indépendant · Sous-graphe maximum induit ayant une propriété P · Sous-graphe connexe maximum induit ayant une propriété P · Chemin induit (en) · Sous-graphe biparti équilibré complet · Sous-graphe biparti · Sous-graphe connexe maximum de degré borné · Sous-graphe planaire · Sous-graphe maximum avec des arêtes communes (en) · Transitive subgraph · Uniconnected subgraph · Minimum k-connected subgraph · Cubic subgraph · Minimum equivalent digraph · Hamiltonian completion · Interval graph completion · Path graph completion
Tri des sommets[modifier | modifier le code]
Cycle hamiltonien · Cycle hamiltonien orienté · Chemin hamiltonien · Problème de la bande passante · Problème de la bande passante orientée · Arrangement linéaire optimal · Arrangement linéaire optimal orienté · Coupure minimale d'un arrangement linéaire · Arrangement d'un arbre enraciné · Directed elimination ordering · Elimination degree sequence
Morphismes[modifier | modifier le code]
Problème de l'isomorphisme de sous-graphes · Plus grand sous-graphe commun · Maximum subgraph matching · Graph contractability · Digraph D-morphism
Divers[modifier | modifier le code]
Chemin avec paires interdites · Multiple choice matching · Nombre de Grundy d'un graphe orienté · Kernel · K-closure · Intersection graph basis · Path distinguishers · dimension métrique (en) · Nesetril-Rödl dimension · Threshold number · Diamètre orienté · Diamètre pondéré
Conception de réseau[modifier | modifier le code]
Arbres couvrants[modifier | modifier le code]
Degree constrained spanning tree · Maximum leaf spanning tree · Shortest total path length spanning tree · Bounded diameter spanning tree · Capacitated spanning tree · Geometric capacitated spanning tree · Optimum communication spanning tree · Isomorphic spanning tree · Kth best spanning tree · Bounded component spanning forest · Multiple choice branching · Arbre de Steiner · Geometric Steiner tree · Cable Trench Problem
Coupures et connexité[modifier | modifier le code]
Partition de graphe · Partition acyclique · Problème de la coupe maximum (Max-cut) · Minimum cut into bounded sets · Augmentation biconnexe · Augmentation fortement connexe · Network reliability · Network survivability · Coupure multivoie · k-coupure minimale (en)
Routage[modifier | modifier le code]
Bottleneck traveling salesman (en) · Problème du postier chinois · Voyageur de commerce euclidien · K arcs les plus vitaux · Kth shortest path (en) · Metric traveling salesman · circuit le plus long · Problème de la plus longue chaîne · Prize Collecting Traveling Salesman · Problème du facteur rural · Shortest path in general networks · Shortest weight-constrained path · Stacker-crane · Time constrained traveling salesman feasibility · Problème du voyageur de commerce · Problème de tournées de véhicules
Flux[modifier | modifier le code]
Minimum edge-cost flow · Integral flow with multipliers · Path constrained network flow · Integral flow with homologous arcs · Integral flow with bundles · Undirected flow with lower bounds · Directed two-commodity integral flow · Undirected two-commodity integral flow · Disjoint connecting paths · Maximum length-bounded disjoint paths · Maximum fixed-length disjoint paths · Unsplittable multicommodity flow
Divers[modifier | modifier le code]
Problème de l'assignement quadratique (en) · Minimizing dummy activities in PERT networks · Triangulation contrainte · Intersection graph for segments on a grid · Edge embedding on a grid · Geometric connected dominating set · Minimum broadcast time · Min-max multicenter · Min-sum multicenter · Uncapacitated Facility Location · k-centre · k-médiane
Ensembles et partitions[modifier | modifier le code]
Couverture, échantillonnage et partition[modifier | modifier le code]
Appariement à 3 dimensions · Couverture exacte · Set packing · Set splitting (en) · Problème de couverture par ensembles · Minimum test set · Set basis · Hitting set · Intersection pattern · Comparative containment · 3-matroid intersection
Ensembles avec poids assignés[modifier | modifier le code]
Partition · Somme de sous-ensembles · Produit de sous-ensembles · 3-partition · Numerical 3-dimensional matching · Numerical matching with target sums · Expected component sum · somme minimale de carrés · Kth largest subset · Kth largest m-tuple
Stockage d'information et accès[modifier | modifier le code]
Stockage d'information[modifier | modifier le code]
Bin packing · Dynamic storage allocation · Pruned trie space minimization · Expected retrieval cost · Rooted tree storage assignment · Multiple copy file allocation · Capacity assignment
Compression et représentation[modifier | modifier le code]
Plus courte super-séquence commune . Plus longue sous-séquence commune dans le cas d'un nombre de séquences d'entrée arbitraire (c'est-à-dire non fixé a priori) même dans le cas d'un alphabet binaire. · Problème de correspondance de Post borné · Hitting string · Compression de matrice creuse · Consecutive ones submatrix · Consecutive ones matrix partition · Consecutive ones matrix augmentation · Consecutive block minimization · Consecutive sets · 2-dimensional consecutive sets · String-to-string correction (en) · Grouping by swapping · External macro data compression · Internal macro data compression · Regular expression substitution · Rectilinear picture compression · Optimal vector quantization codebook · Minimal grammar-based compression
Bases de données[modifier | modifier le code]
Minimum cardinality key · Additional key · Prime attribute name · Boyce-Codd normal form violation · Conjunctive query foldability · Conjunctive boolean query (en) · Tableau equivalence · Serializability of database histories · Safety of database transaction systems · Consistency of database frequency tables · Safety of file protection systems
Ordonnancement[modifier | modifier le code]
Ordonnancement dans les systèmes d'exploitation[modifier | modifier le code]
Sur un processeur unique[modifier | modifier le code]
Sequencing with release times and deadlines · Sequencing to minimize Tardy tasks · Sequencing to minimize Tardy weight · Sequencing to minimize weighted completion time · Sequencing to minimize weighted tardiness · Sequencing with deadlines and set-up times · Sequencing to minimize maximum cumulative cost
Sur plusieurs processeurs[modifier | modifier le code]
Multiprocessor scheduling (en) · Precedence constrained scheduling · Resource constrained scheduling · Scheduling with individual deadlines · Preemptive scheduling · Scheduling to minimize weighted completion time
Ordonnancement manufacturier[modifier | modifier le code]
Open-shop scheduling (en) · Flow-shop scheduling · No-wait flow-shop scheduling · Two-processor flow-shop with bounded buffer · Séquençage de tâches
Divers[modifier | modifier le code]
Timetable design · Staff scheduling · Production planning · Evitemment des interblocages . Resource-constrained scheduling problem
Optimisation[modifier | modifier le code]
Optimisation continue[modifier | modifier le code]
Il y a moins de problèmes NP-ardus (pas NP-complets, car ce ne sont pas des problèmes de décision) en optimisation continue qu'en optimisation combinatoire, car en optimisation continue, les problèmes ne peuvent être résolus en un nombre fini d'opérations, si bien que la complexité de ces problèmes n'est pas définie. Deux exceptions à cette affirmation : l'optimisation linéaire qui est dans P et l'optimisation quadratique.
- Optimisation quadratique : NP-ardu si la fonction-objectif n'est pas convexe ; dans P sinon.
Optimisation combinatoire[modifier | modifier le code]
Optimisation linéaire en nombres entiers · Optimisation linéaire en variables 0-1 (en) · Cost-parametric linear programming · Feasible basis extension · Minimum weight solution to linear equations · Open hemisphere · K-relevancy · Traveling salesman polytope non-adjacency · Sac à dos · Sac à dos entier · Sac à dos à choix multiple · Sac à dos partiellement ordonné · Comparative vector inequalities · Approximation creuse (en)
Algèbre et théorie des nombres[modifier | modifier le code]
Problèmes de divisibilité[modifier | modifier le code]
Congruence quadratique · Incongruence simultanée · Divisibilité simultanée de polynômes linéaires · Comparative divisibility · Exponential expression divisibility · Non-divisibility of a product polynomial · Non-trivial greatest common divisor
Résolubilité d'équations[modifier | modifier le code]
Équations quadratiques diophantiennes[5] · Algebraic equations over GF[2] · Root of modulus 1 · Number of roots for a product polynomial · Periodic solution recurrence relation
Divers[modifier | modifier le code]
Permanent evaluation · Cosine product integration · Equilibrium point · Unification with commutative operators · Unification for finitely presented algebras · Integer expression membership
Jeux[modifier | modifier le code]
Generalized hex · Generalized geography · Generalized Kayles · Sequential truth assignment · Variable partition truth assignment · Sift · Alternating hitting set · Alternating maximum weighted matching · Annihilation · Left-right Hackenbush for Redwood furniture · Square-tiling · Crossword puzzle construction · Generalized instant insanity · Démineur · Sudoku · Nurikabe · Picross · Hashiwokakero · Light Up (en) · Slither Link · Kakuro · Clickomania (en) · Tetris[6] · Mastermind · Masyu · Lemmings
Logique[modifier | modifier le code]
Logique propositionnelle[modifier | modifier le code]
Problème SAT · Problème 3SAT · Not-all-equal 3SAT · One-in-three 3SAT · Maximum 3-Satisfiability · Generalized satisfiability · Satisfiability of boolean expressions · Non-tautology · Minimum disjunctive normal form · Truth-functionally complete connectives
Divers[modifier | modifier le code]
First order theory of equality · Modal logic S5-Satisfiability · Modal logic provability · Predicate logic without negation · Conjunctive satisfiability with functions and inequalities · Minimum axiom set · First order subsumption · Second order instantiation
Théorie des automates et des langages formels[modifier | modifier le code]
Théorie des automates[modifier | modifier le code]
Finite state automaton inequivalence · Two-way finite state automaton non-emptiness · Linear bounded automaton acceptance · Quasi-realtime automaton acceptance · Non-erasing stack automaton acceptance · Finite state automata intersection · Reduction of incompletely specified automata · Minimum inferred finite state automaton
Langages formels[modifier | modifier le code]
Regular expression inequivalence · Minimum inferred regular expression · Reynolds covering for context-free grammars · Covering for linear grammars · Structural inequivalence for linear grammars · Regular grammar inequivalence · Non-LR(K) context-free grammar · Etol grammar non-emptiness · Context-free programmed language membership · Quasi-real-time language membership · Etol language membership · Context-sensitive language membership · Tree transducer language membership
Optimisation de programme[modifier | modifier le code]
Génération de code[modifier | modifier le code]
Register sufficiency · Feasible register assignment · Register sufficiency for loops · Code generation on a one-register machine · Code generation with unlimited registers · Code generation for parallel assignments · Code generation with address expressions · Code generation with unfixed variable locations · Ensemble computation · Microcode bit optimization
Programmes et schémas[modifier | modifier le code]
Inequivalence of programs with arrays · Inequivalence of programs with assignments · Inequivalence of finite memory programs · Inequivalence of loop programs without nesting · Inequivalence of simple functions · Strong inequivalence of Ianov schemes · Strong inequivalence for monadic recursion · Non-containment for free B-schemes · Non-freedom for loop-free program schemes · Programs with formally recursive procedures
Divers[modifier | modifier le code]
Cyclic ordering · Non-liveness of free choice Petri nets · Reachability for 1-conservative Petri nets · Finite function generation · Permutation generation · Decoding of linear codes · Shapley-Shubik voting power · Clustering · Randomization test for matched pairs · Maximum likelihood ranking · Matrix domination · Matrix cover · Simply deviated disjunction · Decision tree · Minimum weight and/or graph solution · Fault detection in logic circuits · Fault detection in directed graphs · Fault detection with test points
Références[modifier | modifier le code]
- M.R. Garey and D.S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. New York: W. H. Freeman. 1983. (ISBN 0-7167-1045-5).
- Minimum Weight Triangulation is NP-Hard, 22nd SCG (2006)
- H. Breu and D. G. Kirkpatrick. "Unit Disk Graph Recognition is NP-hard." Comput. Geom. Theory Appl., 9(1-2):3--24, 1998
- "Assembly Into Two Connected Parts Is NP-Complete", Inf. Proc. Letters 55 (1995), 159-165.
- (en) Kenneth Manders et Leonard Adleman, « NP-complete decision problems for quadratic polynomials », Proceedings of the eighth annual ACM symposium on Theory of computing - STOC '76, ACM Press, , p. 23–29 (DOI 10.1145/800113.803627, lire en ligne, consulté le )
- beauté mathématique en chronologie Futura Sciences
- Erich Friedman. "Pearl Puzzles are NP-Complete". In preparation. 2002. [1].
- Paul E. Dunne. An Annotated List of Selected NP-complete Problems. Université de Liverpool, Département d'informatique, COMP202.
- Pierluigi Crescenzi, Viggo Kann, Magnús Halldórsson, Marek Karpinski et Gerhard Woeginger. A compendium of NP optimization problems. KTH NADA. Stockholm.