Title: Approche oriente programmation par contraintes pour la rsolution du problme de la rgle de Golomb
1Approche orientée programmation par contraintes
pour la résolution du problème de la règle de
Golomb
- Présenté par Thi Hung Lieu
- INF6101 - Programmation par contraintes
- École Polytechnique de Montréal
2Points traités
- Définition du problème
- Exploration de contraintes de borne
- Limite inférieure et supérieure
- Suppositions permettant des améliorations
- Modèle de programmation par contraintes
- Stratégie de recherche et compromis opérationnel
- Résultats et discussion des expérimentations
- Améliorations possibles
3Définition du problème
- La règle de Golomb représente un ensemble de m
nombres (x1 à xm) entiers distincts tel que les
distances dIJ entre deux nombres (marques) donnés
sont toutes distinctes. - Le problème consiste à trouver la longueur
optimale (minimale) de la règle pour m marques. - Pour m ? 16, le problème est difficile. Pour m ?
24, il n existe pas d algorithme exact pouvant
résoudre le problème en temps raisonnable.
4Définition du problème
- Les problèmes rattachés à la règle de Golomb
touchent plusieurs domaines comme la radio
télécommunication, les architectures VLSI, la
radio astronomie.
5Exploration de contraintes de borne
- Borne inférieure sur les distances dIJ
- Somme des i - j premiers entiers
6Borne inférieure
- Tout segment dIJ est aussi borné par lJ-I1 qui
représente la longueur optimale pour une règle de
Golomb de j-i1 marques. - Ceci permet d exploiter les longueurs optimales
déjà connues.
7Borne inférieure
borne plus forte que
8Borne inférieure
- La famille M(i,j,k) avec k 1,,m représente les
multi-décompositions qui génèrent les plus de
segments avec moins de répétitions.
__ __ __ __ __ __ __ L(i,j,1,1) __ ____ ____
____ L(i,j,2,1) ____ ____ ____ __
L(i,j,2,2) __ ______ ______ L(i,j,3,1) ____
______ ____ L(i,j,3,2) ______ ______ __
L(i,j,3,3) Multi-décomposition M(i,j,3)
9Borne inférieure
- Avec k(k1)/2 décompositions, on établit une
borne
Somme minimale de la longueur des segments
pondérés par leur multiplicité.
10Borne supérieure
- La distance dIJ peut être évaluée en soustrayant
les autres segments à la longueur de la règle xm
en posant x1 à 0.
(m-1-ji) premiers entiers au minimum
11Suppositions améliorant les bornes
- Supposition A on suppose un ensemble F de
valeurs entières interdites pour lesquelles
aucune distance dIJ ne peut prendre ces valeurs.
12Suppositions améliorant les bornes
borne sup.
13Suppositions améliorant les bornes
- Supposition B on suppose un ensemble Dom(yr) de
valeurs possibles pour chaque segments yr et
aussi que
14Suppositions améliorant les bornes
- peut être calculé à l aide d un graphe
bipartie pondéré en temps polynomial.
En fonction de la multiplicité et du domaine de
dIJ
15Figure de dominance des bornes
16Modèle de programmation par contraintes les
variables
- On définit m variables xi , 1 ? i ? m, à domaine
fini 0, 1,, L où L est la longueur maximale
imposée. - On définit m(m-1)/2 variables dIJ, 1 ? i ? j ? m,
de distance entre deux marques xi et xJ avec un
domaine 1, 2,, L.
17Modèle de programmation par contraintes les
contraintes
( 1 )
( 2 )
( 3 )
alldifferent(d12, d13,, d1m, d23,, dm-1,m)
( 4 )
18Modèle de programmation par contraintes les
contraintes redondantes
( 5 )
( 6 )
Les contraintes de borne
( 7 )
( 8 )
19Stratégie de recherche
- On affecte les variables dans l ordre de xi à xJ
. - On choisit une valeur valide dans l ordre
croissant de grandeur. - On utilise la valeur optimale L connu comme
longueur maximale du domaine au départ. Cette
valeur est décrémentée lorsqu on trouve une
solution.
20Compromis opérationnel
- Les contraintes (3) et (6) peuvent appliquer la
consistance d arc. - On peut limiter l effort de traitement en
appliquant une contrainte de borne seulement sur
le segment entre la marque courante fixée xQ et
la dernière marque xm .
21Compromis opérationnel
( 9 )
( 10 )
( 11 )
Version plus intensives
( 12 )
( 13 )
22Résultats et discussion des expérimentations
24 meilleur résultat à ce jour V modèle
(1)-(5), (7), (8), (9) Ca consistance d arc
sur (3) Cb consistance d arc sur (6) F borne
(10) appliquer après avoir fixé xq F2 borne
(10) appliquer avant et après avoir fixé xq D2
borne (11) appliquer avant et après avoir fixé xq
F borne (12) appliquer avant avoir fixé xq
D borne (13) appliquer avant avoir fixé xq
23Résultats et discussion des expérimentations
Nombre de branches explorées
24Résultats et discussion des expérimentations
Temps CPU en secondes
25Résultats et discussion des expérimentations
Nombre de branches explorées
meilleur que
en consistance d arc
26Résultats et discussion des expérimentations
Temps CPU en secondes
27Améliorations possibles
- Application restreinte des contraintes sur une
sélection de pairs lti,jgt ou triplets lti,j,kgt
étant les plus productifs par rapport aux
contraintes. Économie de temps de calcul. - Meilleure implémentation du calcul du graphe
bipartie pour M. - Ajout des autres contraintes de borne inférieure
non encore exploitées. - Étudier des stratégies de recherche. L ordre
d affection des marques.
28Questions ?