TIPE :
Quelques définitions à placer dans le TIPE :
NP : De façon équivalente, c'est la classe des problèmes qui admettent un algorithme
polynomial capable de tester la validité d'une solution du problème, mais pour lequel il
n’existe pas forcément d’algorithme polynomial qui permettent de trouver une solution.
Alors que P : on connaît un algorithme qui permet de trouver une solution en temps
polynomial.
http://fr.wikipedia.org/wiki/NP_complet#Classe_NP_et_classe_Co-
NP_.28Compl.C3.A9mentaire_de_NP.29
http://fr.wikipedia.org/wiki/21_probl%C3%A8mes_NP-complets_de_Karp
NP-complet :
On dit qu'un problème est NP-complet si
il est dans NP, et
il est NP-difficile
Un problème est NP-difficile si ce problème est au moins aussi difficile que tous les
problèmes dans NP.
Formellement on définit une notion de réduction : soient et ∏' deux problèmes ; une
réduction de ∏' à est un algorithme (ou une machine) d'une complexité appartenant à P qui
transforme le problème ∏' en le problème .
Ainsi, si l'on a un algorithme pour résoudre , on sait aussi résoudre ∏' , mais de plus, si la
complexité de est au moins celle de la classe NP, on peut dire que est donc au moins
aussi difficile à résoudre que ∏' .
est alors NP-difficile si pour tout problème ∏' de NP, ∏' se réduit à .
Ainsi, si on sait résoudre un problème NP-complet en temps polynomial, on peut résoudre
(grâce à des réductions à partir de ce problème) tous les problèmes NP en un temps
polynomial. OK !
Problème à traiter :
Montrer que le problème des n reines est équivalent au problème de couverture exacte.
Idée de touche personnelle (non encore réalisée) : faire un algorithme (certes ultra-
classique, mais mieux que rien …) en Maple ou en Caml qui résoudrait le problème des
n reines. But Montrer que sa complexité n’est pas polynomiale.
On représente la case ligne i colonne i par LiCi/k. On note k=1 s’il y a une reine, 0 sinon.
Montrons que n reines <-> EXACT COVER :
Couverture exacte : Étant donné un univers U d'éléments et une collection d'ensembles,
une couverture exacte est une collection de sous-ensembles de tel que tout élément
dans U est aussi un élément dans exactement un des ensembles de .
En d'autres termes, une couverture exacte est une sous-collection de qui est une partition
de U : les ensembles dans sont disjoints et leur union est U.
Étant donné un univers U d'éléments et une collection d'ensembles, le problème de la
couverture exacte consiste en trouver une couverture exacte ou bien de déterminer qu'il
n'en existe pas.
La matrice dans l'exemple 3 ci-dessus peut être réinterprété pour représenter la relation
binaire "est contenu dans" entre l'ensemble X = {1, 2, 3, 4, 5, 6} de 6 éléments et la collection
Y = {A, B, C, D, E, F, G} de 7 ensembles :
A = {1, 2}
B = {5, 6}
C = {4, 5}
D = {1, 2, 3}
E = {3, 4}
F = {4, 5}
G = {1, 3, 5, 6}
La même représentation matricielle comme dans l'exemple 3 s'applique ici, mais elle est
étiquetée différemment :
A
B
C
D
E
F
G
1
1
0
0
1
0
0
1
2
1
0
0
1
0
0
0
3
0
0
0
1
1
0
1
4
0
0
1
0
1
1
0
5
0
1
1
0
0
1
1
6
0
1
0
0
0
0
1
Comme dans l'exemple 3, une solution consiste à sélectionner les 2e, 4e et 6e lignes de la
matrice :
A
B
C
D
E
F
G
2
1
0
0
1
0
0
0
4
0
0
1
0
1
1
0
6
0
1
0
0
0
0
1
Mais à la différence de l'exemple 3, l'interprétation ici montre que la solution est l'ensemble
des éléments X* = {2, 4, 6} tel que chaque ensemble dans Y contient exactement un élément
de X* :
A = {1, 2}
B = {5, 6}
C = {4, 5}
D = {1, 2, 3}
E = {3, 4}
F = {4, 5}
G = {1, 3, 5, 6}
En d'autre termes, la solution est un ensemble intersectant exact. Vraiment, les problèmes de
la couverture exacte et les problèmes d'ensemble intersectant exact sont duaux l'un de l'autre,
c.a.d. essentiellement les mêmes.
On définit des contraintes :
1) Une dame par Ligne : {LkC1/a,LkC2/b,LkC3/c,LkC4/d,LkC5/e,LkC6/f,LkC7/g,LkC8/h},
où un des réels (a,b,c,d,e,f,g,h) est égal à 1 et les autres à 0, et où k appartient à l’ensemble
{1,2,3,4,5,6,7,8}.
2) Une dame par Colonne :
{L1Ck/a,L2Ck/b,L3Ck/c,L4Ck/d,L5Ck/e,L6Ck/f,L7Ck/g,L8Ck/h}, où un des réels
(a,b,c,d,e,f,g,h) est égal à 1 et les autres à 0, et où k appartient à l’ensemble {1,2,3,4,5,6,7,8}
3) Une dame sur la Diagonale principale :
{L1C1/a,L2C2/b,L3C3/c,L4C4/d,L5C5/e,L6C6/f,L7C7/g,L1C8/h}, où un des réels
(a,b,c,d,e,f,g,h) est égal à 1 et les autres à 0.
4) Une dame sur la Diagonale secondaire :
{L8C1/a,L7C2/b,L6C3/c,L5C4/d,L4C5/e,L3C6/f,L2C7/g,L1C8/h}, où un des réels
(a,b,c,d,e,f,g,h) est égal à 1 et les autres à 0.
A partir de là, on retombe sur un problème de couverture exacte :
Premièrement, la réduction : complexité en n^2 pour 1), n^2 pour 2), n pour 3 et n
pour 4.
Deuxièmement, on a bien réduit au problème de couverture exacte : trouver une
solution au problème des huits reines consiste à trouver un ensemble de points
vérifiant une contrainte 1), une contrainte 2), une contrainte 3) et une contrainte 4).
Donc OK EXACT COVER <- Problème des huits reines.
1 / 4 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 !