Introduction `a la th´eorie de la complexit´e INFO-F-302, Cours d’Informatique Fondamentale Introduction `

INFO-F-302, Cours d’Informatique Fondamentale
Introduction `a la th´eorie de la complexit´e
Introduction `a la th´eorie de la
complexit´e
INFO-F-302, Cours d’Informatique Fondamentale
Introduction `a la th´eorie de la complexit´e
Les classes P et NP
197 Probl`emes de d´ecision
IInformellement, un probl`eme de d´ecision est un probl`eme dont la
r´eponse est oui ou non.
Ion peut d´efinir un probl`eme de d´ecision comme un langage de mots
sur un alphabet fini
Ion note l’ensemble des mots sur l’alphabet (et le mot vide)
Ipar exemple, pour ={0,1},00100 2,11 2.
Iun langage sur est un sous-ensemble L.
D´efinition
Un probl`eme de d´ecision est un langage P.
Remarque : chaque langage Prepr´esente bien un probl`eme dont la
r´eponse est oui ou non, en l’identifiant `a sa fonction caract´eristique P:
P:!{0,1}
u7! 1si u2P
0si u62 P
Etant donn´e un mot d’entr´ee u2, on doit d´ecider si u2Pou non.
INFO-F-302, Cours d’Informatique Fondamentale
Introduction `a la th´eorie de la complexit´e
Les classes P et NP
198 Probl`emes de d´ecision : exemples
Iavec ={1},
PRIME1={1,11,111,11111,1111111,...}
l’ensemble des nombres premiers en unaire.
Iavec ={1},
PAIR = {,11,1111,...}
l’ensemble des nombre pairs.
Iavec ={0,1},
PRIME = {1,10,11,101,111,...}
l’ensemble des nombre premiers en binaire.
INFO-F-302, Cours d’Informatique Fondamentale
Introduction `a la th´eorie de la complexit´e
Les classes P et NP
199 Notion de codage
Ila d´efinition pr´ec´edente pour les probl`emes de d´ecision est abstraite.
Icomment par exemple repr´esenter le probl`eme suivant comme un
langage ?
IENTR´
EE : un graphe Gnon dirig´e et un entier k2N
ISORTIE : 1 ssi on peut colorier Gavec au plus kcouleurs
Ion voudrait repr´esenter l’ensemble {(G1,k1),(G2,k2),...}de toutes
les paires de graphes Gicoloriables avec au plus kicouleurs.
Iil faut alors “coder” chaque paire comme un mot.
Ipar exemple, avec l’alphabet ={0,1,#,$}, on pourrait coder un
graphe Gen identifiant chacun de ses sommets par un entier, et
chaque arˆete (i,j)pourrait ˆetre cod´ee par le mot i#j,o`ui,jsont les
codages binaires des sommets iet j.Lapaire(G,k)pourrait se
coder par le mot :
i1#j1$i2#j2...in#jn$ko`u (i1,j1),...(in,jn) sont les arˆetes de G
INFO-F-302, Cours d’Informatique Fondamentale
Introduction `a la th´eorie de la complexit´e
Les classes P et NP
200 Notion de codage
Ila d´efinition de probl`eme comme un langage de mots est abstraite,
et utile en th´eorie de la calculabilit´e et complexit´e.
Ibien souvent, on peut “oublier” le codage et travailler directement
avec des repr´esentations plus “concr`etes”, par exemple une matrice
d’adjacence pour un graphe, ou une liste de voisins.
Imais attention, le codage peut influencer la complexit´e, et il faudra
parfois revenir `a cette notion.
Ipar exemple, quelle est la complexit´e (en temps) de l’algorithme
suivant :
IENTREE : n2N
IPOUR ide 2`a dpneFAIRE
ISI i|nALORS RETOURNER 0
IRETOURNER 1
Icela d´epend du codage de n
1 / 34 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !