• Aucun résultat trouvé

Complexit´e algorithmique

N/A
N/A
Protected

Academic year: 2022

Partager "Complexit´e algorithmique"

Copied!
19
0
0

Texte intégral

(1)

Complexit ´e algorithmique

Pierre Rouchon

Centre Automatique et Syst `emes Mines ParisTech, PSL Research University

pierre.rouchon@mines-paristech.fr

Octobre 2018

(2)

Plan

1 Introduction

2 ClasseP

3 ClasseNP

4 ClasseRP

5 Fonctions `a sens unique etP6=NP

(3)

Satisfaisabilit ´e des formules bool ´eennes

La donn ´ee (on parle aussi d’instance) est un entiernetFn une fonction bool ´eenne denvariables bool ´eennes (xi ∈ {0,1}, i =1, ...,n)

(x1, ...,xn)7→Fn(x1, ...,xn)∈ {0,1}.

o `uF est construite avec des expressions faisant intervenir les op ´erateurs logiques usuels (et, ou et n ´egation). La question est :

existe-t-il un(x1, ...,xn)tel queFn(x1, ...,xn) =1 ? Probl `eme repr ´esentatif de la classe des probl `emes dits de compl ´exit ´eNPcar c’est un probl `eme de difficult ´e maximale dans cette classe (probl `eme ditNP-complet). Un probl `eme est ditNPsi l’on peut certifier ces instances positives en temps polyn ˆomial en npar un oracle(nest bien la taille des donn ´ees).

(4)

V ´eracit ´e des formules bool ´eennes quantifi ´ees

La donn ´ee est un entiern,Fnune fonction bool ´eenne den variables bool ´eennes (xi ∈ {0,1},i=1, ...,n) et la formule avec quantificateurs

∀xi,∃xj, .... F(x1, ...,xn).

La question est alors :cette formule est-elle vraie ?

Le second probl `eme est repr ´esentatif de la classe des probl `emes dits decompl ´exit ´e PSPACEcar c’est un probl `eme de difficult ´e maximale dans cette classe. Nous n’aborderons pas cette classe de probl `emes qui admettent un algorithme n ´ecessitant un espace m ´emoire polyn ˆomial enn.

(5)

Dixi `eme probl `eme de Hilbert

La donn ´ee est un entiernet un polyn ˆome `a coefficients entiers de nvariablesP(x1, ...,xn). La question est alors (dixi `eme probl `eme de Hilbert) :l’ ´equation diophantienneP(x1, ...,xn) =0 admet-elle une solution enti `ere(x1, ...,xn)∈Zn?

Il n’existe pas d’algorithme pour d ´ecider si la r ´eponse est oui ou non.

Prototype deprobl `eme ind ´ecidableau sens de G ¨odel :

∀(a1, . . . ,ak)∈Zk, ∃(x1, . . . ,xn)∈Zn,tel queP(a,x) =0 o `uPest un polyn ˆome `a coefficients entiers enaetx.

Ind ´ecidable :qui n’est pas une cons ´equence finitiste

(cons ´equence ”courte”) des axiomes de base de l’arithm ´etique.

(6)

ClasseP

D ´efinition : le probl `emeP sera dit de classePs’il existe un algorithme polyn ˆomial en temps(i.e., en nombre d’op ´erations

´el ´ementaires) qui le r ´esout. Par polyn ˆomial, nous entendons polyn ˆomial par rapport `a l’espace n ´ecessaire pour coder les donn ´eesx.

Exemple :Les donn ´ees sont deux entiers positifsm<n. La question est : les entiersmetnsont-ils premiers entre eux ? Nous savons par l’algorithme d’Euclide calculer le pgcd. Ce calcul n ´ecessite au plusE log(n)

log

1+ 5 2

!

divisions pourm≤n.

(7)

Equivalence

Equivalence entre

le calcul en temps polyn ˆomial d’une famille de fonctions(fn)n∈Nde {1, ...n}dans lui m ˆeme et le probl `eme de d ´ecision suivant.

Les donn ´ees sont l’entiernet deux autres entiersx ettplus petits quen. La question est :

Σ : A-t-on fn(x)≤t ?

(8)

En effet sifn(x)se calcule en temps polyn ˆomial par rapport `a log(n), le probl `emeΣest de fac¸on ´evidente dansP.

Supposons maintenant queΣest dansP. Prenonsnetx entiers avec 1≤x ≤n, voyons comment calculerfn(x)en temps

polyn ˆomial. Pour cela, nous pouvons savoir en temps polyn ˆomial sifn(x)∈[1,n/2]oufn(x)∈[n/2,n]. Sifn(x)∈[1,n/2]on peut savoir en temps polyn ˆomial sifn(x)∈[1,n/4]ou

fn(x)∈[n/4,n/2]. Sifn(x)∈[n/2,n]on peut savoir en temps polyn ˆomial sifn(x)∈[n/2,3n/4]oufn(x)∈[3n/4,n]. On voit bien qu’avec de tellesdichotomies, on sait en faisantappels-fois `aΣsi fn(x)est dans un intervalle de longueur au plusn/2s. Il suffit maintenant de prendres=E(log2(n))pour avoir la valeur exacte defn(x)puisque c’est un entier. On aura obtenu ainsi la valeur de fn(x)en r ´esolvantE(log2(n))fois le probl `emeΣ.Donc le calcul de fn(x)est polyn ˆomial en log(n).

(9)

ClasseNP

Le probl `eme de d ´ecisionP est dit calculablepar un algorithme non d ´eterministe et polyn ˆomial en temps,si et seulement si,

il existe un algorithme (certification) ayant comme donn ´ees de d ´epartx etaussiy (fini et correspondant `al’oracle),

tel que pour toute instancex v ´erifiantP(x)vraialors il existe un certificaty(x)tel que cet algorithme ayantx ety(x)comme donn ´ees calculeP(x)vrai en temps polyn ˆomial par rapport `a la taille des donn ´ees de d ´epartx.

(10)

Le probl `eme de la factorisation est dansNP.Nous le traduisons d’abord en un probl `eme de d ´ecision : les donn ´ees sont deux entiersnetM<n. La question est :existe-t-il un diviseur den plus petit queMet>1.

Par dichotomie successive, on voit que si l’on sait r ´esoudre ce probl `eme enΥ(log(n))op ´erations ´el ´ementaires , on sait trouver un diviseur denen temps polyn ˆomial. On part deM =E(n/2), un premier calcul donne la position du diviseur ´eventuel soit dans [2,E(n/2)[ou[E(n/2),n[, i.e. dans un intervalle de longueur au plusn/2. Un second calcul va le localiser dans un intervalle de longueur au plusn/4. Apr `esscalculs on a localis ´e le diviseur dans un intervalle de longueur au plusn/2s. Ainsi avec

s=E(log2(n))on aura localis ´e le diviseur dans un intervalle de longueur au plus de 1, i.e. on aura donc le diviseur au bout du tempsΥ(log(n))log2(n).

Les sp ´ecialistes pensent queΥne peut pas ˆetre un polyn ˆome en logn.

(11)

Le probl `eme de d ´ecision,existe-t-il un diviseur denplus petit que M et>1est dansNP.

Il suffit pour les instancesx = (n,M)positives (i.e., telles qu’il existe un diviseur denplus petit queM) de prendre un diviseur de nplus petit queMque nous noteronsy(n,M)(oracle).

L’algorithme de v ´erification consiste simplement `a divisernpar y(n,M)et ainsi on v ´erifie quena bien un diviseur non trivial plus petit queM.

(12)

Le probl `eme de d ´ecision,existe-t-il un diviseur denplus petit que M et>1est danscoNP.

On s’int ´eresse `ax = (n,M)tel qu’il n’existe pas de diviseur den plus petit queM. Pour cela,la structure dey est plus lourde. En effet, il faut quey comporte les donn ´ees suivantes : la

d ´ecomposition denen facteurs premiersn=Qk i=1pkνk. Avec ces donn ´ees suppl ´ementairesy = (pi, νi)i=1,...,k nous pouvons proposer l’algorithme non optimal suivant :

1 v ´erification via AKS que lesk nombrespi sont des nombres premiers ;

2 v ´erification que lespi sont plus grands queM.

3 v ´erification quen=Qk i=1pνkk.

On laisse au lecteur le soin de montrer que cet algorithme totalement sous optimal est cependant en temps polyn ˆomial par rapport `a log(n).

(13)

On peut utiliser la m ˆeme d ´emarche pour montrer que le logarithme discret est dansNPet aussi danscoNP.

Pourppremier,αprimitif modulo-petn<pon d ´efinit la fonction log ainsi

(p, α,n)7→log(p, α,n) =

m sipest premier,αprimitif modulo-p etml’unique entier dans{1, . . . ,p1}

tel queαm=n mod(p) 0 sinon.

le probl `eme de d ´ecision est alors le suivant : les donn ´ees sontp et les nombresα,nettplus petits quep;

la question est ” A-t-on log(p, α,n)<t? ”

(14)

ClasseRP

Probl `emes pouvant ˆetre r ´esolus par desalgorithmes probabilistes polyn ˆomiaux.Un probl `emeP(x)est dansRPssi :

1 ils existent des polyn ˆomesp(n)etq(n)(nest la taille dex;n=log(x)si x est un entier)

2 il existe un algorithme ayant comme donn ´ees de d ´epartx ety (certificat) et qui donne une r ´eponse binaireR(x,y)∈ {−1,1}en un temps plus petit queq(n)si le certificaty est de taille plus petite quep(n).

3 P(x)est faux si et seulement siR(x,y) =−1 pour tout certificaty de taille plus petit quep(n).

4 SiP(x)est vrai, alors en choisissant au hazard un certificaty de taille plus petite quep(n), on aR(x,y) =1 avec une probabilit ´e sup ´erieure ou

´egale `a 1/2

Exo:Montrer que le seuil de 1/2 pour la probabilit ´e peut ˆetre remplac ´e par n’importe quel r ´eelσavec 0< σ <1.

Exo:Montrer queRPest dansNP.

(15)

Cette d ´efinition est faite sur mesure pour letest de Miller-Rabin de primalit ´e.

P(x):l’entierx est-il compos ´e ? Avecn=log(x)

1 y correspond `a un entier entre 2 etx,p(n) =netq(n)est la complexit ´e du test de Miller-Rabin :x est-il fortement premier en basey?

2 R(x,y) =−1 six est fortement premier en basey, R(x,y) =1 sinon.

3 P(x)faux ´equivaut `a∀y x on aR(x,y) =−1 (x premier ´equivaut `a

∀y x,x fortement premier en basey).

4 P(x)vrai implique que, pour au moins la moiti ´e des certificatsy de taille plus petite quep(n), on aR(x,y) =1 (six est compos ´e alors pour au moins les 3/4 desy entre 2 etx1,x n’est pas fortement premier en basey).

(16)

Fonctions `a sens unique etP6=NP

L’existence de fonctions `a sens unique est une conjecture aussi difficile queP6=NP.

Chaquefnest une bijection deAn={1, ...,n}dansBn={1, ...,n}.

On consid `ere alors la famille(fn)n∈N.

Le fait que lesfnsoient faciles `a calculer se formalise alors via le probl `eme not ´eF suivant : les donn ´ees sont un entiernet deux autres entiersx ett entre 1 etn. La question est :

F(n,x,t):A-t-onfn(x)≤t?

Si pour chaquenle calcul defn(x)est polyn ˆomial, le probl `emeF est dansP.

(17)

Supposons doncF dansP.

Calcul de l’inverse desfnest associ ´e au probl `eme de d ´ecision suivant not ´eF−1: les donn ´ees sont

un entiernet deux autres entiersxettentre 1 etn; la question est : F−1(n,x,t):a-t-onfn−1(x)≤t?

F−1est dansNP. En effet, il suffit de prendre comme certificat y =fn−1(x).

Le fait que le probl `emeF−1soit difficile, i.e., que lesfnsoient `a sens unique, se traduit donc par le fait queF−1n’est pas dansP (car sinon le calcul defn−1serait polyn ˆomial).

CommeF−1est n ´ecessairement dansNPsiF est dansP, on voit que l’existence d’une fonction `a sens unique implique

P6=NP.

(18)

R ´eduction polynomiale : probl `emesNP-complets

On dit qu’un probl `eme de d ´ecisionF se r ´eduit polynomialement `a un probl `emeF, s’il est possible, `a partir d’un algorithme qui r ´esout les instances positives deF, de construire, avec des calculs suppl ´ementaires au plus polyn ˆomiaux, un algorithme qui r ´esout les instances positives deF (siF est dansP(resp.NP) alorsF l’est aussi).

Un probl `emeF est ditNP-complet, s’il est dansNPet si tout probl `eme deNPse r ´eduit polynomialement `aF.

Le probl `eme SAT estNP-complet :

existe-t-il un(x1, ...,xn)tel queFn(x1, ...,xn) =1 ? o `uFnest une fonction bool ´eenne des variables binairesxi.

(19)

Les diverses conjectures sur les classes de complexit ´e

On a les inclusions ´evidentes suivantes :

PRPNP et P⊆(NP∩coNP) On conjecture que :

P$RP$NP et P$(NP∩coNP)$NP.

Références

Documents relatifs

On en d´eduit que P admet une racine multiple si et seulement si les polynˆomes P et P ′ admettent une racine complexe commune c’est-`a-dire ne sont pas premiers entre eux ce

[r]

[r]

Syntaxe.- Pour multiplier deux octets, l’un des op´erandes doit ˆetre plac´e dans le registre AL et l’autre op´erande doit dans un un registre de un octet ou un emplacement

Universit´ e Paris-Dauphine et Institut Tunis-Dauphine L3 Math´ ematiques appliqu´ ees, 2012-2013.. Partiel de

[r]

[r]

VRAI ou FAUX ? Les applications suivantes sont des formes lin´ eaires sur un espace vectoriel :.. 1. Montrer que φ est