séminaire florin périer alain gély limos alain gély ([email protected]) - [email protected]
TRANSCRIPT
![Page 2: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/2.jpg)
P = NP
WANTED
?
![Page 3: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/3.jpg)
La complexité en informatique
![Page 4: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/4.jpg)
Quelques problèmes
• Un nombre N est-il divisible par 4 ?
• Soit une série de nombre, trier ces nombres
• Soit le problème classique de la tour de Hanoi, afficher la liste des mouvements nécessaires pour le résoudre.
• Un voyageur de commerce désire faire sa tournée, existe-t-il une tournée de moins de 50 km ?
![Page 5: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/5.jpg)
David Hilbert& son problème n°10
• 1862 - 1943
• Liste des 23 problèmes de Hilbert (1900)
• Problème numéro 10 :
« Trouver un algorithme déterminant si une équation
diophantienne à des solutions »
![Page 6: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/6.jpg)
Alonzo Church & le -calcul
• 1903 - 1995
• Résultat sur la calculabilité
• Développement du lambda-calcul
• 1936 : Démontre l’existence d ’un problème indécidable
• Thèse de Church
![Page 7: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/7.jpg)
Kurt Godël
• 1906 - 1978
• Théorème d ’Incomplétude
« pour tout système formel S contenant le langage de l'arithmétique, il existe une proposition G indémontrable dans S »
![Page 8: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/8.jpg)
La complexité en informatique(Et aussi un peu de calculabilité / décidabilité)
![Page 9: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/9.jpg)
Evaluation d’un algorithme
Entrées RésultatAlgorithme
RessourcesTemps Espace
Taille n Opérations élémentaires
![Page 10: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/10.jpg)
Le codage des données
Utilisation d ’un codage raisonnable
Pour un problème I, on demande 2 caractéristiques à un codage raisonnable :
• Il doit être concis, sans informations inutiles
• Les nombres doivent être représentés dans une base différente autre que la base 1 (binaire, octal, décimal, etc.)
Exemple : codage d ’un graphe
v1 v2
v3
v4
Encodage Chaine liste de sommets,
liste d’arêtes V[1]V[2]V[3]V[4](V[1]V[2])(V[2]V[3])
liste de voisins (V[2])(V[1]V[3])(V[2])()
matrice d’adjacence 0100/1010/0010/0000
![Page 11: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/11.jpg)
Comportement asymptotique des fonctions
Notation O :
O(g(n)) = {f(n) : il existe des constantes positives c et n0 tel que 0 f(n) c.g(n) pour tout n n0}
Notation :
(g(n)) = {f(n) : il existe des constantes positives c et n0 tel que 0 c.g(n) f(n) pour tout n n0}
Notation :
(g(n)) = {f(n) : il existe des constantes positives c1 et c2, et n0 tel que 0 c1.g(n) f(n) c2.g(n) pour tout n n0}
f
![Page 12: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/12.jpg)
Notation O - exemples
3X2+X+3 O(X2)
1000.X O(X)
100ex + 3X O (ex)
X5+X4+X3+X2+X+1000 O(X5)
25 X2+1000 O(X2)
10000 O(1)
5 O(1)
![Page 13: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/13.jpg)
Exemple de complexité - Tri
Entrée : T, un tableau de n nombres
Sortie : T, le tableau trié
Pour j allant de 2 à longueur(T) faire
X T[j]
i j-1
Tant que i>0 et A[i]>X faire
A[i+1] A[i]
A[i+1] X
O(1)
O(1)
O(1)
O(1)
O(n)O(n2)
![Page 14: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/14.jpg)
Donald Knuth
• 1938 -
• The art of computer programming
![Page 15: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/15.jpg)
Taille de n Complexité temporelle 10 20 30 40 50 60
n 0.00001s 0.00002s 0.00003s 0.00004s 0.00005s 0.00006s
n2 0.0001s 0.0004s 0.0009s 0.0016s 0.0025s 0.0036s
n3 0.001s 0.008s 0.027s 0.064s 0.125s 0.216s
n5 1s 3.2s 24.3s 1.7mn 5.2mn 13.0 mn
2n 0.001s 1.0s 17.9mn 12.7jours 35.7
années 366 Siècles
3n 0.059s 58mn 6.5
années 3855
siècles 2x108
Siècles 1.3x1013 siècles
Evolution du temps d'exécution
en fonction de la complexité
![Page 16: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/16.jpg)
Augmentation de la puissance des machines
Taille d ’un problème traitable en une heure
Complexité Actuellement 100 fois plus
rapide
1000 fois plus rapide
n N1 100 N1 1000 N1 n2 N2 10 N2 31.6 N2 n3 N3 4.64 N3 10 N3 n5 N4 2.5 N4 3.98 N4 2n N5 N5+6.64 N5+9.97 3n N6 N6+4.19 N6+6.29
![Page 17: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/17.jpg)
Complexité polynomiale et exponentielle
De manière informelle, un problème disposant d ’un algorithme polynomial pour le résoudre est un problème facile
Polynomial Exponentiel
Facile Difficile
![Page 18: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/18.jpg)
Problèmes &
Classes de complexités
![Page 19: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/19.jpg)
Alan Matheson Turing& La machine de Turing
• 1912 - 1954
• Inventeur de la Machine de Turing
![Page 20: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/20.jpg)
Machine de Turing Déterministe
-1 -0 1 2 3 i-1 i i+1
Tête de lecture / écriture
= {0,1,b}
1 0 1
Controleur d'états finis
q 0 1 b
q0 (q0, 0, +1) (q0, 1, +1) (q1, b, -1)
q1 (q2, b, -1) (q3, b, -1) (qN, b, -1)
q2 (qY, b, -1) (qN, b, -1) (qN, b, -1)
q3 (qN, b, -1) (qN, b, -1) (qN, b, -1)
Controleur d'états finis
![Page 21: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/21.jpg)
Classes de Complexité
Problème de décision
Un problème de décision est un problème pour lequel la réponse est dans l ’ensemble
{ OUI - NON }
Un nombre N est-il un multiple de 4 ?
Un voyageur de commerce désire faire sa tournée, existe-t-il une tournée de moins de 50 km ?
Exemples
![Page 22: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/22.jpg)
Classes de Complexité
Problème de décision & langage accepté par une machine de Turing
Tête de lecture / écriture
Controleur d'états finis
l ’ensemble des symboles pouvant être écrit par l ’utilisateur sur le ruban*
l ’ensemble des mots du langage sur l ’alphabet
LM = { x * : M accepte x }
Résoudre le problème revient à savoir si x LM
![Page 23: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/23.jpg)
P
![Page 24: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/24.jpg)
La classe P
P
=
{L : il existe un programme M en temps polynomial sur une machine de Turing Deterministe pour lequel LM=L}
Un problème est dans P s ’il existe un algorithme en temps polynomial pour le résoudre
![Page 25: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/25.jpg)
La classe co-P
La classe co-P est le complémentaire de P
• Pour un problème donné de P,
on montre facilement qu ’il est dans co-P :
On échange les réponses OUI et NON
• Pour un problème de co-P,
on montre facilement qu ’il est dans P (idem)
P = co-P
![Page 26: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/26.jpg)
NP
![Page 27: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/27.jpg)
Machine de Turing Non Déterministe
-1 -0 1 2 3 i-1 i i+1
Tête de lecture / écriture
1 0 1
Controleur d'états finis
Guessing module
Tête d’écriture
![Page 28: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/28.jpg)
La classe NP
NP =
{L : il existe un programme M en temps polynomial sur une machine de Turing Non Deterministe pour lequel
LM=L}
Il existe un algorithme non déterministe en temps polynomial permettant de résoudre L.
Il existe un algorithme déterministe en temps polynomial permettant de vérifier une solution de L.
![Page 29: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/29.jpg)
Exemple de problème de NPLe voyageur de commerce
• Un voyageur de commerce désire faire sa tournée, existe-t-il une tournée de moins de 50 km ?
10
10
10
10
10
20 40
10
12
a
d
c
e
ba-b-e-c-d-a 50km
10
![Page 30: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/30.jpg)
NP et co-NP ?Problème du circuit hamiltonien
Un graphe est-il hamiltonien ? Un graphe n’est-il pas hamiltonien ?
Ce problème NP Ce problème co-NP
Est-ce que ce problème NP ?
![Page 31: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/31.jpg)
P et NP
P
NP
P=NP
?
Résultat le plus général :
Si NP, alors il existe un polynôme p tel que
peut être résolu par un algorithme déterministe
avec une complexité de O(2p(n))
![Page 32: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/32.jpg)
P et NP
Machine de Turing
Déterministe
Machine de Turing non Déterministe
Espace des solutions
(exponentiel)
Donald devra prendre tous les
papiers de la boite avant de trouver le bon
Gontran trouvera
immédiatement le bon papierp(n)
||
||p(n)
![Page 33: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/33.jpg)
Transformation polynomialeUne transformation polynomiale
d’un langage L1 1* vers un langage L2 2
* est une fonction
f: 1* 2
* qui vérifie les deux conditions :
• il existe une machine de Turing Déterministe qui calcule f en temps polynomial
• Pour tout x1* xL1
ssi f(x) L2
L2L1
Problème 1 Problème 2
f
f
OUI OUINON NON
![Page 34: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/34.jpg)
Transformation polynomiale
A quoi ça sert ?
On note L1 << L2
s ’il existe une transformation polynomiale de L1 vers L2
Si L1 << L2 alors L2 P implique que L1 P
Si L1 << L2 alors L1 P implique que L2 P
Si le problème 2 est facile, le problème 1 est facile
Si le problème 1 est difficile, le problème 2 est difficile
Si L1<< L2 et L1<< L2
on dit que L1 et L2 sont polynomialement équivalent
![Page 35: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/35.jpg)
P, NP, NP-Complet
NPI
NPC
P
Si P <> NP
NP NP-Complet ssi
• NP
• 1NP, 1 <<
![Page 36: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/36.jpg)
Stephen Cook« SAT est NPC »
• Théorème de Cook : « SAT est NPC » (1971)
• Reçoit le Turing Award en 1982 pour ce papier
![Page 37: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/37.jpg)
Le théorème de Cook (1)« SAT NPC » (Cook71)
• U = {u1,u2,…,um} un ensemble de variables booléennes.
• Pour u U, •le litteral u est vrai si t(u)=T
•le litteral u est vrai si t(u)=F
• Une clause est un ensemble de littéraux, ex : {u1,u2,u3}
•Une clause est satisfaite si au moins un de ses littéraux est vrai
•Une collection de clause est satisfaite s ’il existe une affectation de variables permettant de satisfaire simultanément, chacune des clause de la collection.
![Page 38: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/38.jpg)
Le théorème de Cook (2)Exemples
C = { (u1,u2) , (u1,u2)} est satisfiable
t(u1) = Vrai, t(u2) = Vrai.
C = { (u1,u2) , (u1,u2), (u1) } n ’est pas satisfiable
![Page 39: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/39.jpg)
Le théorème de Cook (3)« SAT NPC » (Cook71)
SATISFIABILITY
INSTANCE :
• Un ensemble U de variables booléenne
• Une collection C de clauses définies sur U
QUESTION :
• Existe-t-il une assignation de variables satisfaisant C ?
![Page 40: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/40.jpg)
Le théorème de Cook (4)1) SAT NP
Un algorithme non déterministe a seulement besoin de deviner une assignation satisfaisant C.
La vérification de cette assignation est clairement polynomiale.
La première condition pour appartenir à NPC est vérifiée.
![Page 41: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/41.jpg)
Le théorème de Cook (5)2) L NP, L << SAT
Retour au niveau des langages : LSAT=[SAT,e]
Il faut montrer L << LSAT pour tous les langages de NP
Pbm
Il y a une énorme diversité de langages dans NP…
Faire une transformation pour chacun d ’entre eux est
une tache titanesque !
Solution
à chaque langage correspond un machine de Turing,
boite noire :
Une machine de Turing générique
M, , b, Q, q0, qY, qN et
p(n)
![Page 42: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/42.jpg)
Le théorème de Cook (6)
L LSAT
fL
fL va être décrite
en fonction de
, , b, Q, q0, qY, qN, et p
SAT
1
)(np )(np
![Page 43: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/43.jpg)
Le théorème de Cook (7)
Idée directricemontrer comment un ensemble de clauses
peut être utilisé pour vérifier
si une entrée x est acceptée par M
Remarque n°1A chaque instant, on peut caractériser le système par :•contenu des cases•Position de la tête de lecture/écriture•Etat Courant
Remarque n°2il n ’y a pas plus de p(n)+1 instants distincts
Utilisation d ’un nombre limité de variables
1
![Page 44: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/44.jpg)
Le théorème de Cook (8)
rk 0)(0 npi Q[i,k] Au temps i, M est dans l ’état qk
)(0 npi 1)()( npjnpH[i,k]
Au temps i,la tête L/R est sur la case j
)(0 npi 1)()( npjnp
vk 0S[i,j,k]
Au temps i, la case j contient le symbole sk
Mise en place des variables booléennesfL va construire un ensemble de variable U tel que
• label des éléments de Q : q0, q1=qY, q2=qN, q3, …, qr (avec r=|Q|-1)
• label des éléments de : s0=b, s1, s2, …, sv (avec v=||-1)
![Page 45: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/45.jpg)
Le théorème de Cook (9)
Affectations de variables & acceptation du langage
Clairement,
à un langage L accepté par M correspond une affectation des variables précédentes.
Mais,
à une affectation arbitraire des variables ne correspond pas forcément une exécution de M.
Clauses à rajouter
![Page 46: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/46.jpg)
Le théorème de Cook (10)Clauses à rajouter
• La machine de Turing ne peut avoir qu’un seul état
• La tête de L/E ne peut lire qu’un symbole
• Une case du ruban ne peut contenir qu’un symbole
À chaque instant
D’un instant i à l’instant i+1• l’état de la machine dépend du précédent
Au début • M est dans sa configuration initiale
A la fin • l’état de M est qY
![Page 47: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/47.jpg)
Le théorème de Cook (11)Clauses à rajouter
• { Q[0,0] }, { H[0,1] }, {S[0,0,0]}
• { S[0,1,k1] }, { S[0,2,k2] }, … , { S[0,n,kn] }
• { S[0,n+1,0] }, { S[0,n+2,0] }, … , { S[0,p(n)+1,0] },
• { Q[p(n),1] }
• { Q[i,0], Q[i,1], … , Q[i,r] }, 0 i p(n)• { Q[i,j], Q[i,j’] } 0 i p(n), 0 j j’ r• { H[i,-p(n)], H[i,-p(n)+1], … , H[i,p(n)+1] }, 0 i p(n)• { H[i,j], H[i,j’] } 0 i p(n), -p(n) j j’ p(n)+1
• { S[i,j,0], Q[i,j,1], … , S[i,j,v] }, 0 i p(n), -p(n) j p(n)+1• { S[i,j,k], Q[i,j,k’] } 0 i p(n), -p(n) j p(n)+1, 0 k < k’ v
![Page 48: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/48.jpg)
Le théorème de Cook (12)Clauses à rajouter
•{ H[i,j], Q[i,k], S[i,j,l], H[i+1,j+] }
• { Q[i,j], Q[i,k], S[i,j,l], Q[i+1,k’] }
• { H[i,j], Q[i,k], S[i,j,l], S[i+1,j,l’]}
pour tout quadruplé (i,j,k,l)
0 i < p(n), -p(n) j p(n)+1, 0 k r, 0 l v
![Page 49: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/49.jpg)
Le théorème de Cook (13)Conclusions
Problème de NP
Machine de Turing M / langage L
SAT
L[SAT,e]
fL
Longueur[fL]=
O(p(n)4)
![Page 50: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/50.jpg)
Conclusions• On vient de montrer qu ’il existe au moins un problème NPC
• On ne sait toujours pas si NP - P est peuplé !
• Performances à priori des algorithmes
• Complexité spatiale
• Complexité temporelle
• Problèmes de décisions
• Classes de complexités P et NP
• P = NP ?
![Page 51: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/51.jpg)
Bibliographie
• Garey & Johnson « Computers and Intractability - A guide to
the Theory of NP-completeness »
• Jean-François Rey « Calculabilité, Complexité et
approximation »
• Stephen Cook « The P vs NP problem »
• Le zoo de la complexité - http://www.complexityzoo.com
• Clay mathematic Institute - http://www.claymath.org
![Page 52: Séminaire Florin Périer Alain Gély LIMOS Alain Gély (gely@isima.fr) - 2004gely@isima.fr](https://reader035.vdocuments.site/reader035/viewer/2022062318/551d9d8e497959293b8c31ef/html5/thumbnails/52.jpg)
P = NP
WANTED
1.000.000 $égal ou distinct
?