Universit´
e Paris 8 — U.F.R. M.I.T.S.I.C. Logique et Complexit´
e— Printemps 2011
Examen final — 27 mai 2011
la carte d’´
etudiant est obligatoire
aucun appareil ´
electronique n’est autoris´
e
aucun document n’est autoris´
e
sont interdits : communication, sacs et vˆ
etements sur la table.
Indiquez vos nom, pr´enom, num´ero sur chaque copie. — Dur´ee : 3h — Bar`eme 5 5 6 4
Exercice 1 Calculable/R´ecursif
a) Qu’est-ce qu’une fonction calculable ?
b) Y a-t-il une diff´e r e n c e e n t r e “calculable” et “calculable par machine de Turing” ?
c) Y a-t-il une diff´e r e n c e e n t r e “calculable” et “r´ecursive” ?
d) Montrez que si f:IN →IN est r´ecursive et totale alors Z={n∈IN |f(n)=0}est d´ecidable.
e) Soit X⊂IN tel qu’il existe deux fonctions r´ecursives fet gayant la propri´et´e, pour f,d’ˆetre
d´efinie seulement sur Xet, pour g,d’ˆetred´efinieseulementsur ¯
X. Montrez que Xest d´ecidable.
n.b. Un ensemble est d´ecidable si sa fonction caract´eristique est r´ecursive, ou encore, s’il existe un algorithme capable
de d´ecider si une entr´ee appatient ou pas `a cet ensemble.
Exercice 2 L’article de Turing
a) De quelle ann´ee date l’article d’A. Turing o`u sont introduites ses machines ?
b) De quoi Turing s’est-il inspir´e, selon ses propres mots, pour ´elaborer ses machines ?
c) Dans cet article, Turing r´esout, par la n´egative, un probl`eme tr`es important `a l’´epoque, pos´e
par Hilbert. Ce probl`eme est ´evoqu´e dans le titre de l’article. De quoi s’agit-il ?
d) Dans cet article, il est ´egalement question de “machines universelles”. Expliquez de quoi il s’agit.
e) Dans cet article, un autre grand probl`eme, `a saveur informatique est `a la fois pos´e et r´esolu,
toujours n´egativement. De quel probl`eme s’agit-il ?
n.b. Dans les questions cet e, le nom du probl`eme n’est pas suffisant, il faut expliquer son contenu.
Exercice 3 a) D´ecrivez une machine `a registres qui calcule le p.g.c.d. de deux nombres charg´es
dans les registres R1 et R2. Les machines ´el´ementaires vues en cours, comme le transfert d’une
valeur dans un registre, peuvent ˆetre utilis´ees. Mais il est recommand´e de ne pas utiliser la machine
calculant la division euclidienne et de penser plutˆot aux propri´et´es : pgcd(a, b)=pgcd(a−b, b)et
pgcd(a, 0) = a.
b) Si vous faites calculer `a votre machine le p.g.c.d. de 126 et 102, combien d’incr´ementations et
de d´ecr´ementations sont n´ecessaires pour mener le calcul `a son terme ?
c) Finalement, quel est l’obstacle majeur `a l’utilisation des machines `a registres en th´eorie de la
complexit´e, i.e. comme outil de mesure de la complexit´e des algorithmes ?
Exercice 4 a) Expliquez pourquoi la division euclidienne pos´ee, apprise `a l’´ecole ´el´ementaire,
est un algorithme dont la complexit´e en temps, consid´er´ee dans le pire des cas, est polynomiale en
la taille des donn´ees.
b) On peut v´erfier facilement que si b�a�2n, l’algorithme d’Euclide appliqu´e au couple (a, b)ne
n´ecessitera pas plus de ndivisions euclidiennes. Expliquez alors pourquoi cet algorithme est aussi
de complexit´e polynomiale en la taille des donn´ees.