• Aucun résultat trouvé

TD 9 – Complexité en temps

N/A
N/A
Protected

Academic year: 2022

Partager "TD 9 – Complexité en temps"

Copied!
3
0
0

Texte intégral

(1)

Langages formels, calculabilité et complexité ENS Paris – A1S1 2018-2019

29 novembre 2018 Grosshans Nathan

TD 9 – Complexité en temps

1 Problèmes de factorisation

On considère les trois problèmes suivants :

— FindSmallestFactor Étant donné N ∈N>0 renvoie le plus petit k∈N avec k ≥2 tel que kdiviseN.

— FindGreatestFactorÉtant donnéN ∈N>0 renvoie le plus grandk∈Naveck < N tel que kdiviseN.

— HasFactor Étant donné (N, M)∈(N>0)2 décide s’il existe un facteur non trivial de N plus petit queM.

Exercice 1.Montrer que si l’on sait résoudre un de ces problèmes en temps polynomial, alors on sait résoudre les trois. Attention, le temps polynomial se réfère à la taille de l’entrée qui est logarithmique en les nombres représentés.

Solution 1.Si l’on sait résoudre l’un des deux premiers problèmes, alors on sait factoriser N et donc résoudre les deux autres problèmes.

Pour le dernier problème, on va montrer qu’on peut s’en servir pour résoudre le premier. Il s’agit de travailler par dichotomie. On commence par k1 = 1 et k2 =N; ensuite, tant que k1+ 1 < k2 on choisitM =b(k1+k2)/2cet on regarde s’il existe un facteur de N plus petit queM, si c’est le cas on pose k2 =M sinon on posek1=M. Une fois que notre algorithme s’arrête, on ak1+ 1 =k2 et donc k1+ 1 est le plus petit nombre qui est un facteur non trivial de N. À chaque étape,k1−k2 perd un bit : on fait donc un nombre linéaire d’appels àHasFactor.

Pour la suite, vous pouvez supposer que tester la primalité d’un nombre est dans P.

Exercice 2.Montrer que HasFactorest dans NP.

Solution 2.Ce problème peut être traité en considérant le certificat (p1, e1), . . . ,(pk, ek) : on vérifie que chacun des pi est premier, queN =Qk

i=1peii et que le plus petitpi est bien plus petit que M.

Exercice 3.Montrer que HasFactorest dans coNP.

Solution 3.De la même manière que dans l’exercice précédent, on considère le certificat(p1, e1), . . . , (pk, ek) : on vérifie que chacun des pi est premier, que N = Qk

i=1peii et que tout pi est strictement plus grand que M.

2 Coloriabilité

Étant donné un graphe non-orienté G = (V, E), un k-coloriage de G, pour k ∈ N>0, est une applicationc:V →[[1, k]]associant une couleur (un nombre) de 1à kà chaque sommet deG, de telle manière que deux sommetsx ety adjacents (c’est-à-dire, tels que{x, y} ∈E) n’aient jamais la même couleur ; lorsqu’un tel k-coloriage existe, on dit que Gest k-coloriable.

Exercice 4.Montrer que le langage 3COL={hGi |Ggraphe non orienté 3-coloriable} est dansNP.

Solution 4.Direct.

Exercice 5.Montrer que le langage 2COL={hGi |Ggraphe non orienté 2-coloriable} est dansP.

1

(2)

Solution 5.On peut montrer qu’un graphe non-orienté G est 2-coloriable si et seulement s’il ne contient pas de cycle de longueur impaire.

Ceci nous donne un moyen de facilement construire une MT testant la 2-coloriabilité en temps polynomial.

3 Propriétés de clôture

Exercice 6.Montrer que P est close par intersection, union, complémentation et étoile.

Solution 6.La clôture deP par intersection, union et complémentation est directe.

Étant donnéL∈Pun langage sur un alphabetΣet une MTMle décidant en temps polynomial, on construit une MTM qui décideL en calculant, étant donné un mot en entréew∈Σ,|w|=n >0, les booléens ti,j pour tout i∈ [[1, n]], j ∈ [[i, n]] indiquant si le mot wi· · ·wj appartient à L ou non.

Formellement, étant donné un mot en entréew∈Σ,|w|=n >0,Magit selon l’algorithme suivant : pouri←1. . . nfaire

ti,i ← M(wi) fin pour

pourd←1. . . n−1 faire pouri←1. . . n−dfaire

ti,i+d← M(wi· · ·wi+d)∨Wi+d−1

j=i (ti,j∧tj+1,i+d) fin pour

fin pour sit1,n alors

accepter sinon

rejeter fin si.

4 Quelques propriétés de classes

Étant donné une fonctiont: N→N,DTIME(t(n))est la classe des langages reconnus par une MT Mtelle qu’il existe une constanteα∈Rpour laquelle, sur toute entréex,M(x)fonctionne en temps au plusα·t(|x|).

On peut alors définir P=S

k∈NDTIME(nk)etEXP=S

k∈NDTIME(2nk).

De même, étant donné une fonctiont: N→N,NTIME(t(n))est la classe des langages reconnus par une MTNMtelle qu’il existe une constanteα∈Rpour laquelle, sur toute entréex,M(x)fonctionne en temps au plusα·t(|x|), quels que soient les choix qu’elle fait lors de son exécution.

On définit alors, de manière similaire, NP=S

k∈NNTIME(nk) etNEXP=S

k∈NNTIME(2nk).

Rappelons en outre que, pour toute classe C de langages, la classe coCest donnée parcoC={L¯ | L∈C}.

Exercice 7.Montrer que si P=NP, alors NP=coNP.

Solution 7.Direct.

Exercice 8.Montrer que si P=NP, alors EXP=NEXP.

Solution 8.Soit L ∈ NEXP un langage sur un alphabet Σ. Cela signifie qu’il existe k ∈ N tel que L∈NTIME(2nk).

Alors on construit le langage L˜ = {w#12|w|k−|w|−1 | w ∈ L} sur l’alphabet Σ∪ {1,#}, avec # n’appartenant pas déjà à Σ. Sachant que l’on sait construire une MT telle que, étant donné 1n en entrée, écrit12nk−n−1 en sortie en temps O(2nk), on peut montrer que L˜∈NTIME(n)⊆NP. Puisque, par hypothèse, P=NP, on a donc que L˜ ∈DTIME(nc) pour un certain c∈N.

2

(3)

On peut à présent construire une MT déterministe décidant Lqui, étant donnéw∈Σ en entrée, écrit w#12|w|k−|w|−1 sur une de ses bandes puis exécute la MT montrant que L˜ ∈DTIME(nc) sur ce mot afin de décider si le mot appartient à L˜ ou non, et enfin répond la même chose. Cette machine fonctionne en temps O(2nk+ 2cnk)⊆O(2nk+1). Il s’ensuit que L∈EXP.

Exercice 9.Montrer que si tout langage unaire deNP est dans P, alorsEXP=NEXP.

Solution 9.Soit L ∈ NEXP un langage sur un alphabet Σ. Cela signifie qu’il existe k ∈ N tel que L∈NTIME(2nk).

L’idée est de définir un encodageh·iqui à tout motw∈Σ associe un entierhwidans[[0,|Σ|n−1]].

De manière similaire à l’exercice précédent, on construit ensuite le langage L˜ ={12dlog2(|Σ|)e|w|k+hwi | w ∈ L}. On peut ensuite montrer que L˜ ∈ NP et donc en déduire que L˜ ∈ P, ce qui nous permet finalement de montrer queL∈EXP.

3

Références

Documents relatifs

Les auteurs de [11] ont été les premiers à montrer l’iden- tification en temps fini et la convergence linéaire locale du FB pour résoudre (P) dans le cadre très général ou J

Compte tenu de ces deux types de problèmes, aux fins de cette recherche, nous retenons celui du problème d’application puisque nous visons le renforcement de la compétence à

Les auteurs de [11] ont été les premiers à montrer l’iden- tification en temps fini et la convergence linéaire locale du FB pour résoudre (P ) dans le cadre très général ou J

Pour résoudre ce problème d’estimation sous contraintes, l’algorithme parallèle proximal (PPXA+) a été adopté afin d’estimer conjointement les deux champs de variables

Dans la classe de votre enfant, on encouragera les élèves à trouver des façons d’utiliser le calcul mental pour résoudre des problèmes.. Par exemple, un enseignant

Ce qui parle : c'est le surcoût de temps pour résoudre un problème deux fois plus gros, dix fois plus gros. 10 fois plus gros avec une complexité : - cubique = 1000 fois

Une fois qu’on sait résoudre le problème dynamique, on va donc chercher à optimiser la qualité de la trajectoire. Pour cela il faut

On peut montrer qu’en fait pour toute extension K ⊆ L, toutes les bases de transcendance de L sur K ont le même cardinal, que l’on appelle le degré de transcendance de L sur