background preloader

P=NP?

Facebook Twitter

Théorie de la complexité (informatique théorique) Un article de Wikipédia, l'encyclopédie libre. La théorie de la complexité est un domaine des mathématiques, et plus précisément de l'informatique théorique, qui étudie formellement la quantité de ressources (en temps et en espace) nécessaire pour la résolution de problèmes au moyen de l'exécution d'un algorithme. Il s'agit donc d'étudier la difficulté intrinsèque de problèmes posés mathématiquement. Un algorithme répond à un problème. Il est composé d'un ensemble d'étapes simples nécessaires à la résolution, dont le nombre varie en fonction du nombre d'éléments à traiter.

D'autre part, plusieurs algorithmes peuvent répondre à un même problème. Pour savoir quelle méthode est plus efficace il faut les comparer. Pour cela, on utilise une mesure que l'on appelle la complexité qui représente le nombre d'étapes qui seront nécessaires pour résoudre le problème pour une entrée de taille donnée. La théorie de la complexité étudie principalement (mais pas uniquement) les problèmes de décisions. Machine de Turing.

Un article de Wikipédia, l'encyclopédie libre. Pour les articles homonymes, voir Turing. Vue d’artiste d’une Machine de Turing (sans la table de transition). Une machine de Turing est un modèle abstrait du fonctionnement des appareils mécaniques de calcul, tel un ordinateur et sa mémoire. Ce modèle a été imaginé par Alan Turing en 1936, en vue de donner une définition précise au concept d’algorithme ou de « procédure mécanique ». Il est toujours largement utilisé en informatique théorique, en particulier dans les domaines de la complexité algorithmique et de la calculabilité.

La thèse de Church postule que tout problème de calcul fondé sur une procédure algorithmique peut être résolu par une machine de Turing. À l'origine, le concept de machine de Turing, inventé avant l'ordinateur, était censé représenter une personne virtuelle exécutant une procédure bien définie, en changeant le contenu des cases d'un tableau infini, en choisissant ce contenu parmi un ensemble fini de symboles. Où. Problème de décision. Un article de Wikipédia, l'encyclopédie libre. En informatique théorique, un problème de décision est une question mathématique dont la solution est « oui » ou « non ».

Le problème soulève la question de l'existence d'un algorithme renvoyant une solution à la question posée par le problème. D'un point de vue formel, un problème est décrit par un ensemble de solutions. Il s'agit alors de raisonner sur l'ensemble des solutions au problème afin de raisonner sur le problème lui-même. La notion de codage intervient, dans la mesure où celle-ci permet d'identifier la structure sur laquelle le problème est posé. Les problèmes se déclinent généralement en deux classes : la théorie de la calculabilité et la théorie de la complexité. Dans le contexte de la calculabilité[modifier | modifier le code] En théorie de la calculabiltié, un problème de décision implique très généralement la question de décidabilité.

Dans le contexte de la théorie de la complexité[modifier | modifier le code] Thèse de Church. Un article de Wikipédia, l'encyclopédie libre. La thèse de Church – du nom du mathématicien Alonzo Church – est une thèse concernant la définition de la notion de calculabilité. Dans une forme dite « physique »[1], elle affirme que la notion physique de la calculabilité, définie comme étant tout traitement systématique réalisable par un processus physique ou mécanique, peut être exprimée par un ensemble de règles de calcul, défini de plusieurs façons dont on a pu démontrer mathématiquement qu'elles sont équivalentes.

Dans sa forme dite « psychologique »[1] elle affirme que la notion intuitive de calculabilité, qui est liée à ce qu'un être humain considère comme effectivement calculable ou non, peut également être exprimée par ces mêmes ensembles de règles de calcul formelles. Stephen Kleene a appelé le premier « thèse de Church » (en 1943 et 1952) ce que ce dernier présentait comme une définition de la calculabilité effective. Formulation de la thèse[modifier | modifier le code] « THÈSE I. Problème NP-complet. Un article de Wikipédia, l'encyclopédie libre. Pour les articles homonymes, voir NP. Il est possible de vérifier une solution efficacement (en temps polynomial) ; la classe des problèmes vérifiant cette propriété est notée NP.Tous les problèmes de la classe NP se ramènent à celui-ci via une réduction polynomiale ; cela signifie que le problème est au moins aussi difficile que tous les autres problèmes de la classe NP.

Un problème NP-difficile est un problème qui remplit la seconde condition, et donc peut être dans une classe de problème plus large et donc plus difficile que la classe NP. Bien qu'on puisse vérifier rapidement toute solution proposée d'un problème NP-complet, on ne sait pas en trouver efficacement. C'est le cas, par exemple, du problème du voyageur de commerce ou de celui du problème du sac à dos. Définition formelle[modifier | modifier le code] Les classes et sont incluses dans , et disjointes si .

(représenté ici par la section médiane de l'ovoïde ), est vide. Un langage à (où. 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] Théorie des graphes[modifier | modifier le code] Couverture et découpage en partitions[modifier | modifier le code] Sous-graphes et super-graphes[modifier | modifier le code] Clique maximum .

Tri des sommets[modifier | modifier le code] 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] Erich Friedman. Complet (complexité)

Un article de Wikipédia, l'encyclopédie libre. Le problème de la satisfiabilité des formules logiques (restreint à trois littéraux), 3-SAT est l'un des problèmes complets classiques de la classe NP. (en) Complexity Zoo de l'université de Waterloo. Portail de l'informatique théorique. Problème P = NP. Un article de Wikipédia, l'encyclopédie libre. Représentation visuelle des deux configurations possibles.

En mathématiques, et plus précisément en informatique théorique, le problème P = NP est un problème non résolu, et est considéré par de nombreux chercheurs comme un des plus importants problèmes du domaine, et même des mathématiques en général. L'Institut de mathématiques Clay a inclus ce problème dans sa liste des 7 problèmes du prix du millénaire[1], et offre à ce titre 1 000 000 $ à quiconque sera en mesure de prouver P = NP ou P ≠ NP. Ce problème est également le troisième problème de Smale. Très schématiquement, il s'agit de déterminer si le fait de pouvoir vérifier rapidement une solution à un problème implique de pouvoir la trouver rapidement ; ou encore, si ce que nous pouvons trouver rapidement lorsque nous avons de la chance peut être trouvé aussi vite par un calcul intelligent.

Complexité des algorithmes, classes P et NP[modifier | modifier le code] [Woeginger 1]. avec , ou. Théorème de Fagin. Un article de Wikipédia, l'encyclopédie libre. Ce résultat est remarquable, puisqu'il caractérise la classe NP sans avoir recours à un formalisme comme la machine de Turing. La preuve de ce résultat fut établie en 1973 par Ronald Fagin dans sa thèse de doctorat. Elle a été depuis reformulée et améliorée, notamment grâce au théorème de Lynch et à des résultats de Grandjean. On peut trouver une preuve de ce théorème dans le livre de complexité descriptive de Neil Immerman. Bibliographie[modifier | modifier le code] (en) Ronald Fagin, « Generalized First-Order Spectra and Polynomial-Time Recognizable Sets », SIAM-AMS Proceedings, vol. 7 « Complexity of Computation »,‎ 1974, p. 27-41 (lire en ligne)(en) Neil Immerman, Descriptive Complexity, New York, Springer-Verlag,‎ 1999 (ISBN 0-387-98600-6), p. 113-119 Référence[modifier | modifier le code] (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Fagin's theorem » (voir la liste des auteurs).

Problème SAT. Un article de Wikipédia, l'encyclopédie libre. En informatique théorique, problème SAT est un problème de décision défini par des formules logiques. Il s'agit, étant donné une formule de logique propositionnelle, de décider si cette formule possède une solution, c'est-à-dire s'il existe une assignation des variables rendant la formule vraie. Le terme SAT est repris de l'anglais où il est extrait de la locution boolean SATisfiability problem, qui signifie problème de satisfaisabilité booléenne.

Définitions[modifier | modifier le code] Clause et forme clausale[modifier | modifier le code] Une clause est une proposition de la forme où les Une clause d'ordre n est une disjonction d'au plus n littéraux. Une formule du calcul propositionnel est en forme normale conjonctive (ou forme clausale) d'ordre n si elle est une conjonction de clauses d'ordre n. Le problème SAT[modifier | modifier le code] Exemple Soit l'ensemble de variables et la formule est satisfaisable puisque, si on pose , alors En revanche, . Théorème de Cook. Un article de Wikipédia, l'encyclopédie libre. Le théorème de Cook ou théorème de Cook-Levin est un théorème fondamental de la théorie de la complexité des algorithmes.

Il a été démontré en 1971 par Stephen Cook[1] et, sensiblement au même moment, par Leonid Levin. Il affirme que le problème SAT est NP-complet, permettant ainsi de classer beaucoup d'autres problèmes, par réduction polynomiale. Définitions[modifier | modifier le code] Un problème de décision est dans NP si une machine de Turing non déterministe peut trouver une solution du problème en un temps polynomial. Un problème de décision est NP-complet s'il est dans NP et si tout problème de NP peut se réduire à par une réduction polynomiale. Une instance de SAT est une expression booléenne qui combine des variables booléennes avec des opérateurs booléens. Preuve[modifier | modifier le code] Pour chaque instance I, soit une expression booléenne qui est satisfaisable si et seulement si la machine M accepte I. Quel est la dimension de B ?