1 / 40

Où en sommes-nous ?

Où en sommes-nous ?. Prospectifs. Prospectifs. FC MAC Quick RFL …. FC MAC Quick RFL …. CSP Statiques. CSP Dynamiques. VCSP. Réduction de l’espace de recherche. Algorithmes De recherche Backtrack. Classes polynomiales. Ordres d’instanciation. Compi- lation.

quinto
Download Presentation

Où en sommes-nous ?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Où en sommes-nous ? Prospectifs Prospectifs FC MAC Quick RFL … FC MAC Quick RFL … CSP Statiques CSP Dynamiques VCSP Réduction de l’espace de recherche Algorithmes De recherche Backtrack Classes polynomiales Ordres d’instanciation Compi- lation rétrospectifs Backjumping Backmarking Nogood Recording Conflict Directed Backjumping Dynamic Backtracking … méthodes structurelles mixtes

  2. Algorithmes prospectifs Forward Checking(I, i, a) I=I{(i, a)} supprimer de D toutes les valeurs incompatibles avec i=a si il n’existe pas de domaine vide alors choisir jI pour toutbDjfaire ForwardChecking(I, j, b) restaurer les domaines Forward Checking Pare-chocs Enjoliveurs Caisse Enjoliveurs Caisse Pare-chocs Capote Capote

  3. Algorithmes prospectifs Forward Checking – sur les N-reines

  4. Algorithmes prospectifs Pare-chocs Caisse Enjoliveurs Capote AC puis BACKTRACK FC BACKTRACK Enjoliveurs Caisse Pare-chocs Capote

  5. Algorithmes prospectifs FC Coût moyen d’une recherche Seuil Backtrack Sous contraints Sur contraints

  6. Algorithmes prospectifs MAC(I, i, a) I=I{(i, a)} supprimer et propager {(i, b) / ba} Si il n’existe pas de domaine vide Alors Choisir jI pour toutbDjfaire MAC(I, j, b) restaurer les domaines supprimer et propager (i, a) Pare-chocs Pare-chocs Pare-chocs Pare-chocs Pare-chocs Pare-chocs Pare-chocs Pare-chocs Pare-chocs Pare-chocs Caisse Caisse Caisse Caisse Caisse Caisse Caisse Caisse Caisse Caisse Enjoliveurs Enjoliveurs Enjoliveurs Enjoliveurs Enjoliveurs Enjoliveurs Enjoliveurs Enjoliveurs Enjoliveurs Enjoliveurs Capote Capote Capote Capote Capote Capote Capote Capote Capote Capote Maintaining Arc Consistency Enjoliveurs Caisse Pare-chocs Capote

  7. Algorithmes prospectifs Pare-chocs Caisse Enjoliveurs Capote AC puis BACKTRACK FC MAC BACKTRACK Enjoliveurs Caisse Pare-chocs Capote

  8. Algorithmes prospectifs Coût moyen d’une recherche Seuil Backtrack FC MAC Sous contraints Sur contraints

  9. Algorithmes prospectifs Quelle consistance locale maintenir pendant la recherche ? pour être rentable, la consistance locale doit avoir un bon rapport coût/puissance : on doit passer moins de temps à détecter qu’une branche ne même à aucune solution qu’à explorer cette branche • Il faut donc : • comparer la puissance des consistances locales • comparer le coût des consistances locales • comparer le rapport coût/puissance

  10. Algorithmes prospectifs Puissance des consistances locales D u r e t é 0.01 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0.01 0.1 0.2 0.3 D e n s i t é 0.4 0.5 0.6 0.7 0.8 PIC RPC 0.9 PC Forte Max-RPCEn Consistance globale Max-RPC SAC AC 1 SRPC Les limites Tall avec n=40 et d=15

  11. Algorithmes prospectifs Coût des consistances locales Temps cpu (sec.) Pentium II 266 Mhz 64 Mo n=200, d=30 et densité=15% 1E+5 12h 40min 3h 53min 1E+4 PC forte 39min 43sec 1E+3 SRPC2 1E+2 SAC6 8.63 sec 1E+1 Max-RPC1 2.44 sec 1.11 sec RPC2 1E0 AC7 1E-1 1E-2 dureté 1E-3 1 10 20 30 40 50 60 70 80 90 99

  12. Algorithmes prospectifs Coût moyen d’une recherche Seuil Backtrack FC MAC Quick Sous contraints Sur contraints

  13. Algorithmes prospectifs Des problèmes exceptionnellement coûteux… Temps cpu(en secondes) n=200, d=20, 3 voisins, dom/deg 1E+3 ? 3.11 min 1E+2 22 sec 1E+1 1E0 1E-1 1E-2 MAC7ps Quick Dureté 1E-3 64 79 94

  14. Algorithmes prospectifs Des problèmes exceptionnellement coûteux… Temps cpu requis maximum sur 1200 CN générés (en secondes) n=200, d=20, 3 voisins, dom/deg 1E+6 >12 jours 44 h 75 h MAC7ps Quick 15 h 1E+5 49 min 1E+4 1E+3 1h 29 15 s. 1E+2 1E+1 1E0 dureté 1E-1 1E-2 64 79 94

  15. Où en sommes-nous ? Prospectifs FC MAC Quick RFL … CSP Statiques CSP Dynamiques VCSP Réduction de l’espace de recherche Algorithmes De recherche Backtrack Classes polynomiales Ordres d’instanciation Compi- lation rétrospectifs Backjumping Backmarking Nogood Recording Conflict Directed Backjumping Dynamic Backtracking … méthodes structurelles mixtes

  16. Heuristiques sur l’ordre d’instanciation Si on s’engouffre dans un branche sans solutions, on peut passer énormément de temps avant de s’en apercevoir Les premiers choix sont particulièrement importants car on doit potentiellement faire davantage de backtracks avant de revenir sur eux • Il vaut mieux commencer par instancier les variables les plus • Contraintes : • Celles qui ont un petit domaine • Celles qui sont impliquées dans de nombreuses contraintes • Celles qui sont impliquées dans les contraintes les plus dures • … • Il vaut mieux commencer par affecter la valeur la plus prometteuse: • Celle qui a le plus de supports • Celle qui a le plus de supports chemin consistants • … L’ordre sur les variables a plus d’impact que l’ordre sur les valeurs

  17. Heuristiques sur l’ordre d’instanciation Temps cpu (en sec.) de FC au seuil pour n de 40 à 160 et D=15 1E+2 1E+1 1E-0 3CL+Dom Dom + Deg Dom/Deg 1E-1 1E-2 40 60 80 100 120 140 160

  18. Heuristiques sur l’ordre d’instanciation Temps cpu (en sec.) Quick au seuil pour n de 40 à 160 et D=15 1E+2 1E+1 1E-0 3CL+Dom Dom + Deg Dom/Deg 1E-1 1E-2 40 60 80 100 120 140 160

  19. Où en sommes-nous ? Prospectifs FC MAC Quick RFL … CSP Statiques CSP Dynamiques VCSP Réduction de l’espace de recherche Algorithmes De recherche Backtrack Classes polynomiales Ordres d’instanciation Compi- lation rétrospectifs Backjumping Backmarking Nogood Recording Conflict Directed Backjumping Dynamic Backtracking … méthodes structurelles mixtes

  20. Une classe polynomiale • Si le graphe des contraintes ne contient pas de cycles, • on peut résoudre le CSP sans Backtrack • S’il n’y a pas de cycles : • on réalise la consistance d’arc • la recherche sera sans Backtrack • C’est la principale classe polynomiale mais il y a d’autres classes • Où l’on peut constater un nombre limiter de backtracks

  21. Uilisation de la structure du graphe : coupe cycles Propriété : Un réseau de contraintes acyclique peut être résolu sans backtracks Méthode du coupe cycle : Instancier d’abord un ensemble de variables tel qui si on déconnecte ces variables on obtient un réseau de contraintes acyclique 1 6 5 5 1 4 2 3 Résolution sans retour arrières Difficulté : - Si le coupe cycle est de grande taille, l ’intérêt est limité - Limite les heuristiques sur l ’ordre d ’instanciation - On ne sait pas trouver rapidement un coupe cycle de taille minimal

  22. Uilisation de la structure du graphe : cons. adaptative Un graphe des contraintes est ordonné s’il possède un ordre total sur les sommets. La largeur d’un sommet dans un graphe ordonné est le nombre d’arc reliant ce sommet aux sommets précédents. La largeur d’un ordre est la largeur la plus grande parmi celles des sommets La largeur d’un graphe est le minimum des largeurs sur tous les ordres possibles   1 6 largeur()=3 largeur()=2 2 largeur=2 5 largeur(2, )=1 4 6 5 3 6 4 1 4 5 2 largeur(2, )=1 largeur(3, )=3 largeur(3, )=2 3 2 3 1

  23. Uilisation de la structure du graphe : cons. adaptative Un ordre d’instanciation garantit une recherche sans retour arrière si le niveau de K-consistance forte est supérieur à la largeur de cet ordre. Un réseau est k-consistant ssi toute instanciation de longueur (k-1) peut être étendu à n’importe quelle kième variable (2-Consistance  consistance d’arc) • Avec un ordre de largeur 2, la 3-consistance forte est nécessaire. • Problèmes : • - la réalisation de la k-consistance exige un temps exponentiel en k. • la réalisation de la k-consistance peut entraîner l ’ajout de contraintes (k-1)-aires • et donc modifier la largeur de l ’ordre (et même du graphe). Consistance adaptative : adapter le niveau de k-consistance à chaque sommet. - On considère les sommets dans l ’ordre inverse - Soit k la largeur du sommet ; on réalise la (k+1)-consistance entre les sommets qui le précède dans l ’ordre et lui même.  L’ordre est backtrack-free Problèmes : - la complexité de la k-consistance. - l’ordre d’instanciation est statique. 1 2 6 5 4 6 1 4 5 3 2 3

  24. Où en sommes-nous ? Prospectifs FC MAC Quick RFL … CSP Statiques CSP Dynamiques VCSP Réduction de l’espace de recherche Algorithmes De recherche Backtrack Classes polynomiales Ordres d’instanciation Compi- lation rétrospectifs Backjumping Backmarking Nogood Recording Conflict Directed Backjumping Dynamic Backtracking … méthodes structurelles mixtes

  25. CSP Dynamiques CSP Statiques : L’ensemble des contraintes ne change pas - trouver une solution / toutes les solutions Problèmes intrinsèquement dynamiques : - emplois du temps, scheduling, design, ... Si le CSP est sur-contraint  Optimisation • trouver une solution optimale vis-à-vis d’un critère • sur les contraintes  Rarement satisfaisant =  =  Besoin d’interactivité

  26. CSP Dynamiques =   = + - = =   =  = = = - =   = = + + + + + Maintien d’une consistance locale

  27. CSP Dynamiques =   = + =  =  = =  = = = =   = = = = + + + + + + + + + + = Maintien d’une consistance locale • 1ère Solution : • Pour supprimer une contrainte, • on repart du réseau sans • contraintes On doit pouvoir faire mieux !

  28. CSP Dynamiques =   = + =  =  = =  = = = =   = = = = + + + + + + + + + = Maintien d’une consistance locale • 2ème Solution : • On mémorise l’état du réseau • Avant chaque ajout • On ne repart pas toujours • De zéro On doit pouvoir faire mieux !

  29. CSP Dynamiques = = +  = = = + - +    = = Maintien d’une consistance locale 3ème Solution : utiliser un système de justifications

  30. CSP Dynamiques On remet les valeurs justifiées par la contrainte supprimée -     = = =     = = On vérifie la consistance locale des valeurs remises On propage les valeurs remises Maintien d’une consistance locale

  31. Où en sommes-nous ? Prospectifs FC MAC Quick RFL … CSP Statiques CSP Dynamiques VCSP Réduction de l’espace de recherche Algorithmes De recherche Backtrack Classes polynomiales Ordres d’instanciation Compi- lation rétrospectifs Backjumping Backmarking Nogood Recording Conflict Directed Backjumping Dynamic Backtracking … méthodes structurelles mixtes

  32. Recherche rétrospective 3 2 4 1 5 6 Le thrashing Exemple montrant le thrashing

  33. Recherche rétrospective 2 3 1 4 5 6 Le thrashing Exemple montrant le thrashing 1 2 3 4 5 6

  34. Dynamic Backtracking Chaque échec sur le choix d’une valeur est expliqué par les précédents choix qui entre en conflit. Si toutes les valeurs d’un domaine ont été testées sans succès, l’explication de cet échec est l’union des explications des valeurs du domaine et on revient sur l’instanciation la plus récente de cette explication. Conflict directed BackJumping (CBJ) Idem mais lors d’un saut on supprime également les instanciations intermédiaires.

  35. Dynamic Backtracking [Ginsberg, 93] 2 3 1 4 - Instancier i à a Ajout de Ci:(i=a) - Explication d’une information I = ensemble de contraintes tel que I demeure vérifiée tant que ces contraintes figurent dans le système 5 6 1 2 3 4 5 expl(5 )=C2 C25 expl(5 )=C1 C15 expl(5 )=C2 C25 expl(D5=)={C1 ,C2}

  36. Conflict Directed Backjumping 2 3 Réduction partielle du thrashing 1 4 5 6 1 2 3 4 5 6

  37. Dynamic Backtracking - Plus une réparation qu’un saut - Additif sur les sous-problèmes indépendants - Compense « automatiquement » certaines lacunes de l’heuristi- que sur l’ordre d’instanciation 2 3 1 4 5 6 1 2 3 4 5 6 3 4 2

  38. Dynamic Backtracking 5 8 - Compense « automatiquement » certaines lacunes de l’heuristi- que sur l’ordre d’instanciation 4 6 1 2 3 7 9 5 8 4 6 7 9

  39. Les explications Le coût spatial des explications est enO(n2d)pour un CN denvariables ayantdpour taille maximale des domaines mais l’espace requis en moyenne est loin de ce pire cas Les explications permettent également - de posséder une explication des retraits ce qui peut être précieux pour la mise au point - le traitement des problèmes sur-contraints et la résolution interactive

  40. Deux grandes familles d’améliorations BT Recherche en Avant Recherche en Arrière FC CBJ FC-CBJ MAC DBT FC-DBT MAC-CBJ MAC-DBT

More Related