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 : application
pour le Sudoku
Tony Lambert1,2 , Eric Monfroy1,3 , et Frédéric Saubion2