• Aucun résultat trouvé

Classes de complexit ´e en temps non d ´eterministe

N/A
N/A
Protected

Academic year: 2022

Partager "Classes de complexit ´e en temps non d ´eterministe"

Copied!
2
0
0

Texte intégral

(1)

Universit´e Toulouse III Ann´ee 2019-2020

TD Calculabilit´e et complexit´e Feuille n3

Classes de complexit ´e en temps non d ´eterministe

Exercice 1. Parmi les probl`emes de d´ecision suivants, d´eterminer s’ils sont dans la classe NP ou NExp:

1. k−Color:

Entr´ee : Un graphe orient´eG= (V,E).

Question : Est il possible de colorier les sommet deVaveckcouleurs de telle sorte que deux sommets adjacents soient de couleurs diff´erentes ?

2. k−Clique:

Entr´ee : Un grapheG= (V,E).

Question : Est ce qu’il est possible de trouver une clique de taillek(c’est `a direksommets tel que le sous-graphe induit est un graphe complet) ?

3. Clique:

Entr´ee : Un grapheG= (V,E)et un entierKcoder en binaire.

Question : Est ce qu’il est possible de trouver une clique de taillek(c’est `a direksommets tel que le sous-graphe induit est un graphe complet) ?

4. Somme Partielle

Entr´ee : Une liste d’entiersa1, . . . ,amet une cible enti`eret.

Question : Existe t’ilS⊂ {1, . . . ,m}tel quePiSai =t? 5. Arrˆet Non Deterministe

Entr´ee : Une machine de Turing non d´eterministeN et un entierken binaire.

Question : Est ce queN s’arrˆete enk ´etapes ?

Exercice 2 [La classe Ntime(t(n))]. Consid´erons une fonctiont :N→N, un langageLappartient `a la classe Ntime(t(n))s’il existe une machine de Turing non d´eterministeN et une constanteαtelles que sur toute entr´eex de taillen, il existe une ex´ecution deN sur l’entr´eexqui acceptexen temps inf´erieur `aαt(n).

1. Montrer que s’il existe n0 tel que pour tout n ≥ n0 on a f(n) ≤ g(n)alors Ntime(f(n)) ⊂ Ntime(g(n)).

2. Soitt(n)≥npour toutn∈N. Monter que siL1,L2 ∈Ntime(t(n))alors :

— L1∪ L2∈Ntime(t(n));

— L1∩ L2∈Ntime(t(n)); 3. Soitt(n)≥n, montrer que

Dtime(t(n))⊂Ntime(t(n))⊂ [

CN

DtimeÄ2C t(n)ä

Exercice 3. 1. Montrer qu’un langageLest dansNPsi et seulement si il existe un polyn ˆome p et un langageL0Ptels que

x∈ L ⇐⇒ ∃y∈ {0, 1}p(|x|)(x,y)∈ L0

(2)

2. Montrer qu’un langage L est dans NExp si et seulement si il existe un polyn ˆome p et un langageL0Ptels que

x ∈ L ⇐⇒ ∃y∈ {0, 1}2p(|x|)(x,y)∈ L0

Exercice 4 [PrimeNPco-NP]. En 2002, Agrawzl, Kayal et Saxena ont trouv´e un algorithme qui d´ecide la primalit´e d’un entier naturel en temps polynomial autrement ditPrime ∈ P. Le but de cet exercice est de s’int´eresser `a la complexit´e du probl`eme avant 2002 et de montrer quePrime ∈ NPco-NP.

Dans cet exercice un entier est cod´e en binaire et on s’int´eresse au langage o `u les mots sont associ´es aux entiers premiers. Plus pr´ecis´ement :

L2 = {u∈ {0, 1} :uest le codage binaire d’un nombre premier}.

Un algorithme d´ecide la primalit´e d’un entier ´ecrit en binaire s’il prend en entr´ee un mot de{0, 1}, accepte le mot s’il appartient `aL2et le refuse sinon. On ´etudie la complexit´e de tels algorithmes en fonction de la taille de l’entr´ee, c’est `a dire la longueur du mot d´ecrivant l’entier. Pour simplifier, on admettra que seules les op´erations arithm´etiques ont de l’importance. On admettra que la complexit´e des op´erations arithm´etiques multiplication, division et multiplication modulo un entier, de deux entiers ´ecrits cod´es surkbits est M(k)=O(klog(k)log(log(k))).

1. Donner un algorithme simple pour d´ecider si un mot de {0, 1} est dans L2 et donner sa complexit´e. En d´eduire quePrime∈Exp.

2. Montrer queL2est dans la classeco-NP.

3. On admet le crit`ere de Lehmer suivant : Un entiern>1 est premier si et seulement s’il existe un ´el´ement 1 < a < n tel que an1 ≡ 1 mod n et anq1 6≡ 1 mod n pour tout qpremier diviseur den−1.

(a) A l’aide de ce th´eor`eme montrer que 2,3 et 13 sont premiers. En d´eduire un certificat pour ˆetre premier

(b) Montrer que le nombre de facteurs premiers den−1 est major´e par log(n). (c) Montrer par r´ecurrence quePnest cod´e `a l’aide deO(log2(n))bits.

(d) Montrer que lorsquea,betnsont donn´es aveca,b≤ n, le co ˆut du calcul deab mod nest enO(log(n)M(log(n))).

(e) Montrer que la v´erification se fait en temps polynomial.

(f) En d´eduire quePrime∈NP.

Références

Documents relatifs

Loin de la Terre, en chute libre permanente, c'est-à-dire en impesanteur, on n’a plus de poids et le pèse-personne ne peut plus &#34;réagir&#34; pour donner la masse d'un

Toutes les justifications doivent figurer sur votre copie, mais la r´edaction doit rester sobre.. Vous pouvez admettre un r´esultat, ` a condition de le signaler

Il faut pour cela trouver o` u l’´ el´ ement doit ˆ etre ins´ er´ e en le comparant aux autres, puis d´ ecaler les ´ el´ ements afin de pouvoir effectuer l’insertion. On

On souhaite ´ ecrire une fonction recherche mot qui, ´ etant donn´ es deux tableaux m et t, d´ etermine la position de la premi` ere occurrence de m dans t, si elle existe, et

On souhaite ´ ecrire une fonction recherche mot qui, ´ etant donn´ es deux tableaux m et t, d´ etermine la position de la premi` ere occurrence de m dans t, si elle existe, et

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 de n en temps polyn ˆomial.

[r]

[r]