Вы находитесь на странице: 1из 2

Calculabilité et Décidabillité Kammoun Abir

Complexité informatique
(2.2 Computational Complexity)
La théorie de la complexité est le domaine des mathématiques, et plus précisément de
l'informatique théorique, qui étudie formellement la quantité de ressources (temps, espace
mémoire, etc.) dont a besoin un algorithme pour résoudre un problème algorithmique.
Il s'agit donc d'étudier la difficulté intrinsèque des problèmes, de les organiser par classes de
complexité et d'étudier les relations entre les classes de complexité.
Nous supposons que le lecteur connaît les concepts de base de la complexité de calcul.
Nous utilisons la notation standard des classes de complexité.
À savoir, la classe P désigne l'ensemble des problèmes dont la solution peut être trouvée en
temps polynomial par une machine de Turing déterministe, tandis que NP désigne la classe de
problèmes qui peuvent être résolus en temps polynomial par une machine de Turing non
déterministe.
La classe coNP désigne l'ensemble des problèmes de décision dont le complément est en NP.
Nous appelons NP-hard un problème G si n'importe quelle instance d'un problème générique
NP peut être réduite à une instance de G au moyen d'une transformation en temps polynomial
(plusieurs-un) (la même chose pour coNP-hard).
De toute évidence, PNP et PcoNP. Nous supposons, suivant les hypothèses dominantes de
complexité de calcul, que ces confinements sont stricts, c'est-à-dire P {NP et P {coNP. Par
conséquent, nous appelons un problème qui est en P traitable et un problème que est NP-hard
ou coNP-hard insoluble (dans le sens où tout algorithme le résolvant nécessiterait une durée
superpolynomiale dans le pire des cas).
Nous utilisons également des classes de complexité supérieure définies à l'aide d'oracles. En
particulier, le PA (NPA) correspond à la classe de problèmes de décision qui sont résolus en
temps polynomial par des machines de Turing déterministes (non déterministes) utilisant un
oracle pour A dans temps polynomial (pour une présentation beaucoup plus détaillée, nous
renvoyons le lecteur à).
Tous les problèmes que nous analysons résident dans la hiérarchie polynomiale, introduite par
Stockmeyer [16], c'est-à-dire l'analogue de la hiérarchie arithmétique de Kleene. Les classes
p p

∑ ∏ et Δkpde la hiérarchie polynomiale sont définis par


,
K k
Calculabilité et Décidabillité Kammoun Abir

p p
Notez que Δ 1p = P, ∑ = NP et ∏ = coNP.
1 a

p
De plus, ∑ = NPNP, c'est-à-dire classe de problèmes résolubles en temps polynomial non
2

déterministe sur une machine de Turing qui utilise gratuitement un oracle pour NP. La classe
P NP [O (log n)], souvent mentionnée dans le document, est la classe de problèmes pouvant être
résolus en temps polynomial en utilisant un nombre logarithmique d'appels à un oracle NP.
p
Le problème prototype ∑ -complet est de décider de la vérité de l'expression _∃ X ∀ Y .F, où
2

F est une formule propositionnelle utilisant les lettres des deux alphabets X et Y. Cette
expression est valide si et seulement s'il existe une affectation de vérité X1 aux lettres de X
telles que pour toutes les affectations de vérité aux lettres de Y la formule F est vraie. Dans
l'article, nous utilisons également une version plus restreinte, qui décide de la vérité de
∃ X ∀ Y .¬ π , où π est un ensemble de clauses 3CNF (c'est-à-dire que toutes les clauses sont
composées de trois littéraux). Il est immédiat de montrer que décider de la vérité de cette
p
formule booléenne quantifiée est aussi un problème complet de ∑ .
2

Вам также может понравиться