Certificat (complexité)

From Wikipedia, the free encyclopedia

En informatique théorique, un certificat est, de façon simplifiée, une information permettant de trouver plus facilement le résultat d'un calcul. Cette notion apparait dans notamment deux aspects de l'étude de complexité en informatique : l'étude des classes de complexités et la complexité d'évaluation de fonction booléen .

Certificat dans le domaine des classes de complexités

Définition informelle

Étant donné un problème de décision, un certificat est une information que l'on ajoute à une donnée du problème, pour certifier (au sens où la vérification devient «facile»), que la réponse au problème pour cette donnée soit «oui» ou «non».

Exemples

Nombre composé :

Pour certifier qu'un nombre est composé (i.e. n'est pas premier), il suffit d'exhiber un facteur. Par exemple, pour certifier que 15 est un nombre composé, le nombre 5 est un certificat: il suffit alors de vérifier que 5 divise 15.

Coloration de graphe

Pour vérifier qu'un graphe non orienté est colorable avec trois couleurs, c'est-à-dire que l'on peut colorier chaque sommet d'une couleur de façon que deux sommets voisins ne soient pas de la même couleur, il suffit d'exhiber une telle coloration. Pour certifier qu'un graphe est colorable, une coloration est un certificat: il suffit alors de vérifier que la coloration attribue bien des couleurs différents à deux sommets voisins.

Définition formelle avec la classe NP

Sur un alphabet , un langage est dans NP s'il existe un polynôme et un langage dans P, tels que pour un mot de taille : [1].

L'interprétation est la suivante: est dans le langage L si et seulement il existe un certificat de taille polynomiale.

Certificat dans le domaine des complexités d'évaluation de fonctions

Contexte et modèle

On se place dans le contexte d'une fonction booléen, c'est-à-dire . Le but est d'estimer la complexité de l'évaluation d'une telle fonction.

On a en notre entrée , est la complexité est le nombre de variables à évaluer dans le pire cas.

Voir Arbre de décision

Exemple

Pour évaluer aucune évaluation est nécessaire.

À l'opposé nécessite d'évaluer toutes ces variables.

Certificat

Idée du certificat

Pour la fonction , la fonction sur bits. Le fait de dire que cela permet de décider que .

Pour la fonction . Pour savoir que il suffit de connaitre un "bloc" où tous les entiers valent 0. Pour savoir que il suffit de connaitre un 1 pour chaque "bloc".

Assignement partiel

Un assignement partiel est un élément de . On désigne par le nombre de 0 et de 1.

Par exemple .

Si le ième élément vaut 0 (resp. 1) alors on va étudier les entrée lorsque (resp. 1). Lorsque cette propriété est toujours vrai, on notera

Définition : est un 0-certificat si et seulement si pour tous x tels que , alors . De même on définit la notion de -certificat.

On définis la complexité de certificat : et on étend cela pour tous éléments en prenant 'les pires cas' :

[2].

Exemple: car pour tous , le certificat qui vaut 1 seulement sur l'un des bit auquel vaut 1.

A l'opposé pour l'entrée , le seul certificat possible est de taille . Ainsi .

Résultat sur la complexité de certificat

Si on note la complexité déterministe et la complexité aléatoire sans erreur, on a les inégalités suivantes :

  • [2]
  • [2]

Voir aussi

Notes et références

Related Articles

Wikiwand AI