Télécharger - Tony Lambert

Transcription

Télécharger - Tony Lambert
O UTLINE
U N CADRE POUR LA R ECHERCHE L OCALE
R ÉSULTATS POUR LE PROBLÈME DU S UDOKU
C ONCLUSION
Vers un cadre générique pour la recherche locale :
application pour le Sudoku
ROADEF 2007, Grenoble, France
Tony L AMBERT, Eric M ONFROY et Frédéric S AUBION
LINA, Université de Nantes, France
LERIA,Université d’Angers, France
Universidad Santa María, Valparaíso, Chile
Mardi 20 février 2007
1 / 21
O UTLINE
U N CADRE POUR LA R ECHERCHE L OCALE
R ÉSULTATS POUR LE PROBLÈME DU S UDOKU
C ONCLUSION
CSP (Constraint Satisfaction Problem)
C2
Y
C1
U
Variables
X
C4
C5
Constraints
Z
C3
T
2 / 21
O UTLINE
U N CADRE POUR LA R ECHERCHE L OCALE
R ÉSULTATS POUR LE PROBLÈME DU S UDOKU
C ONCLUSION
Outline
6
9
6
• La recherche Locale pour la résolution de
1
2
3
9
8
CSP
8
2
1
9
7
2
8
4
6
7
3
5
9
• Un cadre pour la Recherche Locale
5
• Algorithme Générique Itératif avec
fonctions de réduction
• Résultats pour le problème du Sudoku
• Conclusion
4
9
2
1
5
1
2
5
1
6
3
4
5
6
7
3
7
8
9
3 / 21
O UTLINE
U N CADRE POUR LA R ECHERCHE L OCALE
R ÉSULTATS POUR LE PROBLÈME DU S UDOKU
C ONCLUSION
Recherche Locale (RL) (1)
Définition :
• Explore l’espace de recherche D1 × D2 × · · · × Dn
• Se déplace de voisins en voisins par rapport à une fonction
d’évaluation
• Intensification
• Diversification
Propriétés :
• se concentrent sur des parties "prometteuses" de l’espace
de recherche ;
• ne donnent pas de réponse face aux problèmes
insatisfiables ;
• aucune garantie d’optimum global ;
• “rapides” pour trouver de “bonnes” solutions.
4 / 21
O UTLINE
U N CADRE POUR LA R ECHERCHE L OCALE
R ÉSULTATS POUR LE PROBLÈME DU S UDOKU
C ONCLUSION
Recherche Locale (2)
• Espace de Recherche : l’ensemble des configurations
possibles
• Outils : voisinage et fonction d’évaluation
Neighborhood
of s
Set of
possible
configurations
5 / 21
O UTLINE
U N CADRE POUR LA R ECHERCHE L OCALE
R ÉSULTATS POUR LE PROBLÈME DU S UDOKU
C ONCLUSION
Recherche Locale (3)
• Espace de Recherche : l’ensemble des configurations
possibles
• Outils : voisinage et fonction d’évaluation
Neighborhood
of s
Set of
possible
configurations
6 / 21
O UTLINE
U N CADRE POUR LA R ECHERCHE L OCALE
R ÉSULTATS POUR LE PROBLÈME DU S UDOKU
C ONCLUSION
Recherche Locale (4)
• Espace de Recherche : l’ensemble des configurations
possibles
• Outils : voisinage et fonction d’évaluation
Neighborhood
of s
Set of
possible
configurations
LS(p) = p’
p=(
s3
s1
s2
s 1 , s 2 , ...,
p’ = ( s 1 , s 2 , ...,
s4
sn)
s n , s n+1 )
s6
s5
7 / 21
O UTLINE
U N CADRE POUR LA R ECHERCHE L OCALE
R ÉSULTATS POUR LE PROBLÈME DU S UDOKU
C ONCLUSION
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
O UTLINE
U N CADRE POUR LA R ECHERCHE L OCALE
R ÉSULTATS POUR LE PROBLÈME DU S UDOKU
C ONCLUSION
Notre but :
• Utiliser un modèle théorique existant pour la résolution de
CSP
• Définir le processus de résolution
9 / 21
O UTLINE
U N CADRE POUR LA R ECHERCHE L OCALE
R ÉSULTATS POUR LE PROBLÈME DU S UDOKU
C ONCLUSION
Modèle abstrait de K.R. Apt [CP99]
Abstraction
Reduction functions
Constraint
Application
of functions
CSP
Fixed point
Partial Ordering
10 / 21
O UTLINE
U N CADRE POUR LA R ECHERCHE L OCALE
R ÉSULTATS POUR LE PROBLÈME DU S UDOKU
C ONCLUSION
Un algorithme Générique
F = { ensemble de fonctions de réduction}
X = initial CSP
G=F
While G 6= ∅
choose g ∈ G
G = G − {g}
G = G ∪ update(G, g, X )
X = g(X )
EndWhile
X=
11 / 21
O UTLINE
U N CADRE POUR LA R ECHERCHE L OCALE
R ÉSULTATS POUR LE PROBLÈME DU S UDOKU
C ONCLUSION
Le modèle théorique pour la résolution de CSP
Relation d’ordre pour la recherche locale
LS =
[
{p = (s1 , · · · , si ) ∈ D i | ∀j, 1 ≤ j < i−1, sj+1 ∈ N (sj ) et s1 ∈ D}
i>0
12 / 21
O UTLINE
U N CADRE POUR LA R ECHERCHE L OCALE
R ÉSULTATS POUR LE PROBLÈME DU S UDOKU
C ONCLUSION
Le modèle théorique pour la résolution de CSP
Relation d’ordre pour la recherche locale
Considérons une relation vls sur LS D définie par :
1. (s1 , . . . , sn ) vls (s1 , . . . , sn )
0 ) v (s , . . . , s ) si n > m et ∀j, 1 ≤ j ≤
2. (s10 , . . . , sm
n
ls
1
0
m, eval(sj ) 6= 0
et ∀i, 1 ≤ i ≤ n, eval(si ) 6= 0
0 ) v (s , . . . , s ) si eval(s ) = 0, ∀i, 1 ≤ i ≤
3. (s10 , . . . , sm
n
n
ls
1
n − 1, eval(si ) 6= 0
et ∀j, 1 ≤ j ≤ m, eval(sj0 ) 6= 0
13 / 21
O UTLINE
U N CADRE POUR LA R ECHERCHE L OCALE
R ÉSULTATS POUR LE PROBLÈME DU S UDOKU
C ONCLUSION
Le modèle théorique pour la résolution de CSP
Ordre Partiel :
p
Function to pass from one LS
state to another
p
1
2
State of LS
p
3
p
4
p
5
Terminates with a fixed point : local minimum, maximum number of iteration
14 / 21
O UTLINE
U N CADRE POUR LA R ECHERCHE L OCALE
R ÉSULTATS POUR LE PROBLÈME DU S UDOKU
C ONCLUSION
Ordre RL
Caractéristiques d’un chemin de RL
• notion de solution
• longueur maximale
Point de vue opérationnel : chemin = échantillons
Un échantillon :
• Dépend d’un CSP
• Correspond à un état de recherche locale
15 / 21
O UTLINE
U N CADRE POUR LA R ECHERCHE L OCALE
R ÉSULTATS POUR LE PROBLÈME DU S UDOKU
C ONCLUSION
Voisinages et fonctions de mouvement
Voisinages :
• FullNeighbor : V 0 = {s ∈ D|s 6∈ V }
• TabuNeighbor : V 0 = {s ∈ D| 6 ∃k , n − l ≤ k ≤ n, sk = s}
• DescentNeighbor : p = (s1 , . . . , sn ) and V 0 = s ⊂ D s.t. 6
∃s0 ∈ V s.t eval(s0 ) < eval(sn )
Mouvements :
• BestMove : p 0 = p ⊕ s 0 and eval(s 0 ) = mins00 ∈V eval(s 00 )
• ImproveMove : p = p 00 ⊕ sn and p 0 = p ⊕ s s.t.
eval(s0 ) < eval(sn )
• RandomMove : p 0 = p ⊕ s 0 and s 0 ∈ V
16 / 21
O UTLINE
U N CADRE POUR LA R ECHERCHE L OCALE
R ÉSULTATS POUR LE PROBLÈME DU S UDOKU
C ONCLUSION
Instantiation de l’algorithme GI
Nous pouvant maintenant introduire l’ensemble de fonctions F .
Tabu search :
• TabuNeighbor
• BestNeighBor
Random walk + Descent :
• FullNeighbor
• BestNeighBor
• RandomNeighbor
• DescentNeighbor
• ImproveNeighBor
Random walk :
• FullNeighbor
• BestNeighBor
• RandomNeighbor
TabuSearch + Descent :
• TabuNeighbor
• DescentNeighbor
• ImproveNeighBor
• BestNeighBor
17 / 21
O UTLINE
U N CADRE POUR LA R ECHERCHE L OCALE
R ÉSULTATS POUR LE PROBLÈME DU S UDOKU
C ONCLUSION
Le problème du Sudoku
6
9
2
3
6
1
9
•
n4
1
9
7
2
8
4
6
7
3
5
9
variables
• contraintes AllDiff
8
2
8
• problème n2 × n2
5
9
2
1
4
5
5
6
1
3
7
18 / 21
O UTLINE
U N CADRE POUR LA R ECHERCHE L OCALE
n2 x n2
cpu time
deviations
mvts
n2 x n2
cpu time
deviations
mvts Avg
R ÉSULTATS POUR LE PROBLÈME DU S UDOKU
TabuSearch
16x16 25x25 36x36
3,14 115,08 3289,8
1,28
52,3
1347,4
405
3240
22333
Descent + TabuSearch
16x16 25x25 36x36
2,34 111,81
2948
1,42
55,04
1476
534
3666
20878
C ONCLUSION
RandomWalk
16x16 25x25 36x36
3,92 105,22 2495
1,47
49,3
1099
443
2318
13975
Descent +RandomWalk
16x16 25x25 36x36
2,41
82,94
2455
1,11
36,99
1092
544
2581
14908
19 / 21
O UTLINE
U N CADRE POUR LA R ECHERCHE L OCALE
R ÉSULTATS POUR LE PROBLÈME DU S UDOKU
C ONCLUSION
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
O UTLINE
U N CADRE POUR LA R ECHERCHE L OCALE
R ÉSULTATS POUR LE PROBLÈME DU S UDOKU
C ONCLUSION
Vers un cadre générique pour la recherche locale :
application pour le Sudoku
ROADEF 2007, Grenoble, France
Tony L AMBERT, Eric M ONFROY et Frédéric S AUBION
LINA, Université de Nantes, France
LERIA,Université d’Angers, France
Universidad Santa María, Valparaíso, Chile
Mardi 20 février 2007
21 / 21

Documents pareils

Vers un cadre générique pour la recherche locale

Vers un cadre générique pour la recherche locale Vers un cadre générique pour la recherche locale : application pour le Sudoku Tony Lambert1,2 , Eric Monfroy1,3 , et Frédéric Saubion2

Plus en détail