Retourneraucontenuassocié(journal:Résolutionnaïved'unjeudesociété)
Re:VersionASP(AnswerSetProgramming)
Postépareingrossfiloule21/07/15à01:25.EnréponseaujournalRésolutionnaïved'unjeudesociété.
Évaluéà3(+3/-0).
JeneconnaissaitpasASP,maisaprèsunerapiderecherche,c'estpurementdéclaratif,etdoncc'est«l'interpréteur»
quis'occupedefairelavéritableexplorationsij'aibiencompris,alorsquemonobjectifétaitdefaireunparcoursen
largeuràgroscoupdeconcat.map.
C'estàpeuprèsça,mêmesionvadirequeladéfinitionfrançaiseproposéeparWikipédiaesttrèslimitée.La
versionanglaiseWestmieux.
L'idée ici était surtout de te proposer une autre manière de rechercher des solutions à ricochet robots
(essentiellement à des fin de comparaison, mais aussi parce ricochet robots c'est cool et qu'il n'y a pas
beaucoupd'IApourcejeu)
ASPestunformalismequipermetdefairedelaprogrammationparcontrainteetdel'optimisationautravers
de la programmation logique. Généralement, on s'en sert pour résoudre de problème NP-complet. Ton
programmeASPestunedescriptiondetonproblèmesousformelogique.Ensuitecherchedessolutionsàton
problème en utilisant un solveur auquel tu donneras la définition du problème, les données, et
éventuellementunestratégiederecherche(commeunparcoursenlargeurouenprofondeurdel'espacede
rechercheparexemple).
Silesujett'intéressedavantage,tupourrasconsulterlescoursdisponiblesiciquandsourceforgetomberaen
marche.
Ducoup,quelestl'avantaged'ASPparrapportàunebibliothèquederésolutionenpythonparexemple?Parcequ'ily
aquandmêmedesdésavantages:
ASP est prévu pour faire de la programmation logique, comme python est prévu pour faire de la
programmationimpérative.Enfonctiondecequetucherchesàfaire,l'unestplusadaptéquel'autre,mais
riennet'empêchedefaireunsolveurenpython(ouhaskell),c'estunbonexercice.D'ailleursjetrouveta
démarchesuperbien.
Alors,çac'esthorsdelapartierésolutionduproblème.Généralement,tubrancheslesolveuràautrechose.
ParexempletupeuxutiliserASP(gringoetclasp)avecpython.Après,enfonctiondetonsolveur,tuasdes
fonctionsdecontrôlepourinteragiraveclesolveurlui-même(parexempleinterromprelecalculouobtenirun
résultatintermédiairesuboptimal)