Vous êtes sur la page 1sur 3

En informatique, il existe des problèmes dont les solutions ne sont pas encore trouvées,

les problèmes sont divisés en classes appelées Classes de complexité.


Une classe de complexité contient un ensemble de problèmes qui prennent un espace et un
temps similaires à résoudre.
C'est la branche de la théorie du calcul qui traite des ressources nécessaires pour résoudre
un problème.
Les ressources communes sont le temps et l'espace, c'est-à-dire le temps nécessaire à
l'algorithme pour résoudre un problème et l'utilisation de la mémoire correspondante.

Ce rapport traitera les classes de complexité suivantes :


Classe P
Le P dans la classe P représente le Temps polynomial. C'est l'ensemble des problèmes de
décision (problèmes avec une réponse “oui” ou “non”) qui peuvent être résolus par une
machine déterministe en temps polynomial.
Caractéristique :
1. La solution à ces problèmes est facile à trouver.
2. P est souvent une classe de problèmes de calcul résolubles et traitables. Traitable signifie
que les problèmes peuvent être résolus en théorie comme en pratique. Mais les problèmes
qui peuvent être résolus en théorie mais pas en pratique sont connus comme insolubles.

Cette classe contient de nombreux problèmes naturels comme :


1. Calcul du plus grand diviseur commun.
2. Trouver une correspondance maximale.
3. Versions de décision de la programmation linéaire.

Classe NP
Le NP dans la classe NP représente le Temps polynomial Non déterministe. C'est l'ensemble
des problèmes de décision qui peuvent être résolus par une machine non déterministe en
temps polynomial.

Caractéristique :
1. Les solutions de la classe NP sont difficiles à trouver car elles sont résolues par une
machine non déterministe mais les solutions sont faciles à vérifier.
2. Les problèmes de NP peuvent être vérifiés par une machine de Turing en temps
polynomial.
Exemple :
1. Problème de Satisfiabilité booléenne (SAT).
2. Problème de Chemin Hamiltonien.
3. Coloration graphique.

Classe Co-NP
Co-NP signifie le complément de la classe NP. Cela signifie que si la réponse à un problème
dans CoNP est Non, alors il y a une preuve qui peut être vérifiée en temps polynomial.

Caractéristique :
1. Si un problème X est dans NP, alors son complément X’ est également dans CoNP.
2. Pour un problème NP et CoNP, il n'est pas nécessaire de vérifier toutes les réponses à la
fois en temps polynomial, il est nécessaire de vérifier une seule réponse particulière “oui” ou
“non” en temps polynomial pour qu'un problème soit en NP ou CoNP.

Exemples :
1. Pour vérifier les nombres premiers.
2. Factorisation entière.

NP-classe difficile
Un problème NP-dur est au moins aussi dur que le problème le plus dur de NP et c'est la
classe des problèmes tels que chaque problème de NP se réduit à NP-dur.

Caractéristique :
1. Tous les problèmes NP-durs ne sont pas dans NP.
2. Il faut beaucoup de temps pour les vérifier. Cela signifie que si une solution à un problème
NP-difficile est donnée, il faut beaucoup de temps pour vérifier si elle est correcte ou non.
3. Un problème A est dans NP-dur si, pour chaque problème L dans NP, il existe une
réduction de temps polynomiale de L à A.
Certains des exemples de problèmes dans Np-hard sont :
1. Problème d'arrêt.
2. Formules booléennes qualifiées.
3. Pas de cycle hamiltonien.

NP-classe complète

Un problème est NP-complet s'il est à la fois NP et NP-dur. NP-les problèmes complets sont
les problèmes difficiles de NP.

Caractéristique :
1. Les problèmes NP-complets sont spéciaux car tout problème de la classe NP peut être
transformé ou réduit en problèmes NP-complets en temps polynomial.
2. Si l'on pouvait résoudre un problème NP-complet en temps polynomial, alors on pourrait
également résoudre n'importe quel problème NP en temps polynomial.

Voici quelques exemples de problèmes :


1. Version de décision du sac à dos 0/1.
2. Cycle hamiltonien.
3. Satisfiabilité.
4. Couverture de sommet.

Vous aimerez peut-être aussi