Lambert Roadef2007 Slides
-
Upload
lamberttony -
Category
Technology
-
view
269 -
download
0
description
Transcript of Lambert Roadef2007 Slides
OUTLINE UN CADRE POUR LA RECHERCHE LOCALE RÉSULTATS POUR LE PROBLÈME DU SUDOKU CONCLUSION
Vers un cadre générique pour la recherche locale :application pour le SudokuROADEF 2007, Grenoble, France
Tony LAMBERT, Eric MONFROY et Frédéric SAUBION
LINA, Université de Nantes, France
LERIA,Université d’Angers, France
Universidad Santa María, Valparaíso, Chile
Mardi 20 février 2007
1 / 21
OUTLINE UN CADRE POUR LA RECHERCHE LOCALE RÉSULTATS POUR LE PROBLÈME DU SUDOKU CONCLUSION
CSP (Constraint Satisfaction Problem)
X
Y
Constraints
VariablesU
TZ
C1
C2
C5C4
C3
2 / 21
OUTLINE UN CADRE POUR LA RECHERCHE LOCALE RÉSULTATS POUR LE PROBLÈME DU SUDOKU CONCLUSION
Outline
• La recherche Locale pour la résolution deCSP
• Un cadre pour la Recherche Locale• Algorithme Générique Itératif avec
fonctions de réduction• Résultats pour le problème du Sudoku• Conclusion
3 5 1
1 5 6 3 7
6 9 1 4
3 6 9 8
8
1 9 7
9 5
8 4 6 7
9 5
1 63 4 5 7 8 9
2
2
2
2
2
3 / 21
OUTLINE UN CADRE POUR LA RECHERCHE LOCALE RÉSULTATS POUR LE PROBLÈME DU SUDOKU CONCLUSION
Recherche Locale (RL) (1)
Définition :• Explore l’espace de recherche D1 × D2 × · · · × Dn
• Se déplace de voisins en voisins par rapport à une fonctiond’évaluation
• Intensification• Diversification
Propriétés :
• se concentrent sur des parties "prometteuses" de l’espacede recherche ;
• ne donnent pas de réponse face aux problèmesinsatisfiables ;
• aucune garantie d’optimum global ;• “rapides” pour trouver de “bonnes” solutions.
4 / 21
OUTLINE UN CADRE POUR LA RECHERCHE LOCALE RÉSULTATS POUR LE PROBLÈME DU SUDOKU CONCLUSION
Recherche Locale (2)• Espace de Recherche : l’ensemble des configurations
possibles• Outils : voisinage et fonction d’évaluation
of sNeighborhood
Set ofpossibleconfigurations
5 / 21
OUTLINE UN CADRE POUR LA RECHERCHE LOCALE RÉSULTATS POUR LE PROBLÈME DU SUDOKU CONCLUSION
Recherche Locale (3)• Espace de Recherche : l’ensemble des configurations
possibles• Outils : voisinage et fonction d’évaluation
of sNeighborhood
Set ofpossibleconfigurations
6 / 21
OUTLINE UN CADRE POUR LA RECHERCHE LOCALE RÉSULTATS POUR LE PROBLÈME DU SUDOKU CONCLUSION
Recherche Locale (4)• Espace de Recherche : l’ensemble des configurations
possibles• Outils : voisinage et fonction d’évaluation
s 1
s 1
2s s n
2s s n s n+1
p = (
p’ = (
LS(p) = p’
,
, , ...,
, ..., )
, )
of sNeighborhood
Set ofpossibleconfigurations
ss
ss
s
s21
34
5
6
7 / 21
OUTLINE UN CADRE POUR LA RECHERCHE LOCALE RÉSULTATS POUR LE PROBLÈME DU SUDOKU CONCLUSION
A cadre pour les techniques de Recherche Locale
• Idée :• Contrôle fin• Plus de stratégies
• Technique :• Décomposer les solveurs en fonctions de bases ;• Utiliser un algorithme générique pour la résolution hybride.
8 / 21
OUTLINE UN CADRE POUR LA RECHERCHE LOCALE RÉSULTATS POUR LE PROBLÈME DU SUDOKU CONCLUSION
Notre but :
• Utiliser un modèle théorique existant pour la résolution deCSP
• Définir le processus de résolution
9 / 21
OUTLINE UN CADRE POUR LA RECHERCHE LOCALE RÉSULTATS POUR LE PROBLÈME DU SUDOKU CONCLUSION
Modèle abstrait de K.R. Apt [CP99]
CSP
Applicationof functions
Constraint Reduction functions
Fixed point
Partial Ordering
Abstraction
10 / 21
OUTLINE UN CADRE POUR LA RECHERCHE LOCALE RÉSULTATS POUR LE PROBLÈME DU SUDOKU CONCLUSION
Un algorithme Générique
F = { ensemble de fonctions de réduction}
X =
X = initial CSPG = FWhile G 6= ∅
choose g ∈ GG = G − {g}G = G ∪ update(G, g, X )X = g(X )
EndWhile
11 / 21
OUTLINE UN CADRE POUR LA RECHERCHE LOCALE RÉSULTATS POUR LE PROBLÈME DU SUDOKU CONCLUSION
Le modèle théorique pour la résolution de CSP
Relation d’ordre pour la recherche localeLS =⋃i>0
{p = (s1, · · · , si) ∈ Di | ∀j , 1 ≤ j < i−1, sj+1 ∈ N (sj) et s1 ∈ D}
12 / 21
OUTLINE UN CADRE POUR LA RECHERCHE LOCALE RÉSULTATS POUR LE PROBLÈME DU SUDOKU CONCLUSION
Le modèle théorique pour la résolution de CSP
Relation d’ordre pour la recherche localeConsidérons une relation vls sur LSD définie par :
1. (s1, . . . , sn) vls (s1, . . . , sn)
2. (s′1, . . . , s′
m) vls (s1, . . . , sn) si n > m et ∀j , 1 ≤ j ≤m, eval(s′
j ) 6= 0et ∀i , 1 ≤ i ≤ n, eval(si) 6= 0
3. (s′1, . . . , s′
m) vls (s1, . . . , sn) si eval(sn) = 0,∀i , 1 ≤ i ≤n − 1, eval(si) 6= 0et ∀j , 1 ≤ j ≤ m, eval(s′
j ) 6= 0
13 / 21
OUTLINE UN CADRE POUR LA RECHERCHE LOCALE RÉSULTATS POUR LE PROBLÈME DU SUDOKU CONCLUSION
Le modèle théorique pour la résolution de CSP
Ordre Partiel :
1p
2p
3p
4p
p
Function to pass from one LSstate to another
5
Terminates with a fixed point : local minimum, maximum number of iteration
State of LS
14 / 21
OUTLINE UN CADRE POUR LA RECHERCHE LOCALE RÉSULTATS POUR LE PROBLÈME DU SUDOKU CONCLUSION
Ordre RL
Caractéristiques d’un chemin de RL
• notion de solution• longueur maximale
Point de vue opérationnel : chemin = échantillonsUn échantillon :
• Dépend d’un CSP• Correspond à un état de recherche locale
15 / 21
OUTLINE UN CADRE POUR LA RECHERCHE LOCALE RÉSULTATS POUR LE PROBLÈME DU SUDOKU CONCLUSION
Voisinages et fonctions de mouvement
Voisinages :
• FullNeighbor : V ′ = {s ∈ D|s 6∈ V}• TabuNeighbor : V ′ = {s ∈ D| 6 ∃k , n − l ≤ k ≤ n, sk = s}• DescentNeighbor : p = (s1, . . . , sn) and V ′ = s ⊂ D s.t. 6∃s′ ∈ V s.t eval(s′) < eval(sn)
Mouvements :
• BestMove : p′ = p ⊕ s′ and eval(s′) = mins′′∈V eval(s′′)
• ImproveMove : p = p′′ ⊕ sn and p′ = p ⊕ s s.t.eval(s′) < eval(sn)
• RandomMove : p′ = p ⊕ s′ and s′ ∈ V
16 / 21
OUTLINE UN CADRE POUR LA RECHERCHE LOCALE RÉSULTATS POUR LE PROBLÈME DU SUDOKU CONCLUSION
Instantiation de l’algorithme GI
Nous pouvant maintenant introduire l’ensemble de fonctions F .
Tabu search :• TabuNeighbor• BestNeighBor
Random walk :• FullNeighbor• BestNeighBor• RandomNeighbor
Random walk + Descent :• FullNeighbor• BestNeighBor• RandomNeighbor• DescentNeighbor• ImproveNeighBor
TabuSearch + Descent :• TabuNeighbor• DescentNeighbor• ImproveNeighBor• BestNeighBor
17 / 21
OUTLINE UN CADRE POUR LA RECHERCHE LOCALE RÉSULTATS POUR LE PROBLÈME DU SUDOKU CONCLUSION
Le problème du Sudoku
• problème n2 × n2
• n4 variables• contraintes AllDiff 3 5 1
1 5 7
8
6 9 8
1
9 5
1 9 7
8 4
4
6 7
6 3
6
9 5
3
9
2
2
2
2
18 / 21
OUTLINE UN CADRE POUR LA RECHERCHE LOCALE RÉSULTATS POUR LE PROBLÈME DU SUDOKU CONCLUSION
TabuSearch RandomWalkn2 x n2 16x16 25x25 36x36 16x16 25x25 36x36
cpu time 3,14 115,08 3289,8 3,92 105,22 2495deviations 1,28 52,3 1347,4 1,47 49,3 1099
mvts 405 3240 22333 443 2318 13975Descent + TabuSearch Descent +RandomWalk
n2 x n2 16x16 25x25 36x36 16x16 25x25 36x36cpu time 2,34 111,81 2948 2,41 82,94 2455
deviations 1,42 55,04 1476 1,11 36,99 1092mvts Avg 534 3666 20878 544 2581 14908
19 / 21
OUTLINE UN CADRE POUR LA RECHERCHE LOCALE RÉSULTATS POUR LE PROBLÈME DU SUDOKU CONCLUSION
Conclusion et perspectives
• Un modèle générique pour la Recherche Locale• Définir des stratégies
• Apprendre des stratégies dynamiquement• Fournir plus d’outils dans un environnement générique
20 / 21
OUTLINE UN CADRE POUR LA RECHERCHE LOCALE RÉSULTATS POUR LE PROBLÈME DU SUDOKU CONCLUSION
Vers un cadre générique pour la recherche locale :application pour le SudokuROADEF 2007, Grenoble, France
Tony LAMBERT, Eric MONFROY et Frédéric SAUBION
LINA, Université de Nantes, France
LERIA,Université d’Angers, France
Universidad Santa María, Valparaíso, Chile
Mardi 20 février 2007
21 / 21