S - PowerPoint PPT Presentation

1 / 52
About This Presentation
Title:

S

Description:

Title: La complexit en informatique Author: Alain Last modified by: Alain G ly Created Date: 1/5/2005 10:43:07 PM Document presentation format – PowerPoint PPT presentation

Number of Views:55
Avg rating:3.0/5.0
Slides: 53
Provided by: alain
Category:
Tags: machine | turing

less

Transcript and Presenter's Notes

Title: S


1
Séminaire Florin PérierAlain GélyLIMOS
Alain Gély (gely_at_isima.fr) - 2004
2
(No Transcript)
3
La complexité en informatique
4
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 ?

5
David Hilbert son problème n10
  • 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
6
Alonzo Church le ?-calcul
  • 1903 - 1995
  • Résultat sur la calculabilité
  • Développement du lambda-calcul
  • 1936 Démontre lexistence d un problème
    indécidable
  • Thèse de Church

7
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 
8
La complexité en informatique
(Et aussi un peu de calculabilité / décidabilité)
9
Evaluation dun algorithme
Opérations élémentaires
Entrées
Résultat
Algorithme
10
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.)

11
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
f
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
12
Notation O - exemples
13
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 ?
Tj i ? j-1 Tant que igt0 et AigtX
faire Ai1 ? Ai Ai1 ? X
O(1)
O(1)
O(1)
O(1)
14
Donald Knuth
  • 1938 -
  • The art of computer programming

15
Evolution du temps d'exécution en fonction de la
complexité
16
Augmentation de la puissance des machines
Taille d un problème traitable en une heure
17
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
18
Problèmes Classes de complexités
19
Alan Matheson Turing La machine de Turing
  • 1912 - 1954
  • Inventeur de la Machine de Turing

20
Machine de Turing Déterministe
? 0,1,b
21
Classes de Complexité
Problème de décision
Exemples
22
Classes de Complexité
Problème de décision langage accepté par une
machine de Turing
? 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
23
P
24
La classe P
P L il existe un programme M en temps
polynomial sur une machine de Turing Deterministe
pour lequel LML
25
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)

26
NP
27
Machine de Turing Non Déterministe
28
La classe NP
NP L il existe un programme M en temps
polynomial sur une machine de Turing Non
Deterministe pour lequel LML
29
Exemple de problème de NP
Le 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
b
a-b-e-c-d-a 50km
a
10
10
40
20
10
d
10
10
c
12
10
e
30
NP et co-NP ?
Problème du circuit hamiltonien
Un graphe est-il hamiltonien ?
Un graphe nest-il pas hamiltonien ?
Ce problème ? NP
Ce problème ? co-NP
Est-ce que ce problème ? NP ?
31
P et 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))

32
P et NP
Donald devra prendre tous les papiers de la boite
avant de trouver le bon
Gontran trouvera immédiatement le bon papier
Machine de Turing Déterministe
Machine de Turing non Déterministe
33
Transformation polynomiale
34
Transformation polynomiale
On note L1 ltlt L2 s il existe une transformation
polynomiale de L1 vers L2
A quoi ça sert ?
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
35
P, NP, NP-Complet
NP
  • ? ? NP-Complet ssi
  • ? ? NP
  • ? ?1?NP, ?1 ltlt ?

NPC
P
Si P ltgt NP
36
Stephen Cook SAT est NPC 
  • Théorème de Cook  SAT est NPC  (1971)
  • Reçoit le Turing Award en 1982 pour ce papier

37
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.

38
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
39
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 ?

40
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.
41
Le théorème de Cook (5)
2) ?L ? NP, L ltlt SAT
Retour au niveau des langages LSATSAT,e
Il faut montrer L ltlt LSAT pour tous les langages
de NP
M ?, ?, b, Q, q0, qY, qN et ? p(n)
42
Le théorème de Cook (6)
fL va être décrite en fonction de ?, ?, b, Q,
q0, qY, qN, ? et p
fL
L
LSAT
43
Le théorème de Cook (7)
Idée directrice montrer comment un ensemble de
clauses peut être utilisé pour vérifier si une
entrée x est acceptée par M
  • Remarque n1
  • A chaque instant, on peut caractériser le système
    par
  • contenu des cases
  • Position de la tête de lecture/écriture
  • Etat Courant

Remarque n2 il n y a pas plus de p(n)1
instants distincts
44
Le théorème de Cook (8)
Mise en place des variables booléennes
  • fL va construire un ensemble de variable U tel
    que
  • label des éléments de Q q0, q1qY, q2qN, q3,
    , qr (avec rQ-1)
  • label des éléments de ? s0b, s1, s2, , sv
    (avec v?-1)

45
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.
46
Le théorème de Cook (10)
Clauses à rajouter
À chaque instant
  • La machine de Turing ne peut avoir quun seul
    état
  • La tête de L/E ne peut lire quun symbole
  • Une case du ruban ne peut contenir quun symbole

Au début
  • M est dans sa configuration initiale

A la fin
  • létat de M est qY

Dun instant i à linstant i1
  • létat de la machine dépend du précédent

47
Le théorème de Cook (11)
Clauses à rajouter
  • Q0,0 , H0,1 , S0,0,0
  • S0,1,k1 , S0,2,k2 , , S0,n,kn
  • S0,n1,0 , S0,n2,0 , ,
    S0,p(n)1,0 ,
  • Qp(n),1

48
Le théorème de Cook (12)
Clauses à rajouter
49
Le théorème de Cook (13)
Conclusions
fL LongueurfL O(p(n)4)
50
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 ?

51
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.complexityzo
    o.com
  • Clay mathematic Institute - http//www.claymath.o
    rg

52
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com