tmar2
Messages postés8Date d'inscriptionlundi 21 avril 2014StatutMembreDernière intervention28 avril 2014
-
21 avril 2014 à 10:35
tmar2
Messages postés8Date d'inscriptionlundi 21 avril 2014StatutMembreDernière intervention28 avril 2014
-
23 avril 2014 à 13:34
Bonjour,
J'ai trouvé beaucoup d'API qui résolvent les CSP (Constraint Satisfaction Problems) comme CHOCO, JACOP, JLC. Cependant, toutes ces bibliothèques sont pour résoudre contraintes de nombres entiers et ne supportent pas la résolution de contraintes de chaînes de caractères.
Pour cette dernière j'ai cherché et j'ai trouvé HAMPI et MiniZinc. J'ai cherché leur bibliothèques JAR mais je ne les trouve pas. J'ai juste trouvé pour un autre Eclipse Http://eclipseclp.org/doc/bips/lib_public/minizinc/
Dans mon projet Java (sous Eclipse) j'importe tout d'abord des fichiers XML à l'aide d'une interface créée avec Swing. Puis avec un parsing j'extraie les variables, les domaines et les contraintes. Sachant que, les domaines sont un ensemble de chaines de caractères.
Donc, j'aimerais parvenir à résoudre ce problème de satisfaction des contraintes.
Quelqu'un saurait-il m'indiquer où trouver un solveur CSP (jar) pour des contraintes de chaîne ?
KX
Messages postés16752Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention31 août 2024127 21 avril 2014 à 12:21
Bonjour,
Je ne suis pas sûr de comprendre en quoi consisterait une contrainte de chaîne de caractères. Je pense que la bonne marche à suivre serait de faire la transition de ton problème sur un modèle numérique de manière à obtenir un problème équivalent en nombre entiers que tu pourras résoudre avec les bibliothèques citées.
Mais un exemple ne serait pas de trop pour bien comprendre ce que tu veux faire...
KX
Messages postés16752Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention31 août 2024127 21 avril 2014 à 14:14
Tu ne trouveras pas d'outils sur les chaines de caractères, car ça n'a aucun sens mathématique. Les bibliothèques de résolutions se font sur des calculs d'entiers ou de booléens car il y a une théorie mathématique derrière, mais elle n'existe pas pour les chaines de caractères.
Soit tu considères les chaines de caractères comme étant des nombres en base 65536, et je ne vois même pas pourquoi tu t'embêtes, soit il y a une sémantique à mettre en place parce que les chaînes de caractères veulent dire quelque chose et qu'il faut leur associer une valeur intelligente. Mais comme c'est du cas par cas, aucune bibliothèque généraliste ne fera ça, ça n'aurait aucun sens.
Donnes un exemple de ce que tu as, les variables, les domaines et les contraintes que tu veux manipuler. Expliques comment tu voudrais que ça fonctionne, mais dans tout les cas tu devras passer par du numérique pour faire tes calculs.
tmar2
Messages postés8Date d'inscriptionlundi 21 avril 2014StatutMembreDernière intervention28 avril 20141 21 avril 2014 à 13:51
Vous avez bien me compris. Oui, je sais que je peux faire un tableau de mapping entre les chaines de caractère et des nombre entier. Mais, Je veux vraiment, ne pas utiliser cette solution. Je veux trouvé un outil qui supporte les domaines de chaines de caractère.
tmar2
Messages postés8Date d'inscriptionlundi 21 avril 2014StatutMembreDernière intervention28 avril 20141 21 avril 2014 à 18:31
Je veux transformer un diagramme1 de classe (UML) en un autre diagramme2 classe adapté à un tel dispositif qui est représenter par un autre digramme de classe.
Donc mes variables sont: Les classes et les associations du diagramme numéro 1.
Le domaine des variables classe: Les classes du diagramme2.
Le domaine des variables association: Les associations du diagramme2.
Les contraintes sont: les liaisons du diagramme1 et leurs cardinalités.
Je sais que l'algorithme est un peu complexe. Essayez de comprendre ça et si vous avez besoin plus de clarification je vous clarifie.
Donc, comment puis-je présenter ça avec le solveur jacop par exemple.
Merci pour votre aide.
Vous n’avez pas trouvé la réponse que vous recherchez ?
KX
Messages postés16752Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention31 août 2024127 21 avril 2014 à 19:47
Plus tu expliques ton problème et moins c'est clair.
"transformer un diagramme1 de classe (UML) en un autre diagramme2 classe" (admettons), "adapté à un tel dispositif" (quel dispositif ? en quoi un diagramme serait il "adapté" ?) "qui est représenter par un autre digramme de classe" (un troisième diagramme ?)
Je ne vois pas où interviennent les chaînes de caractères dans ton problème ni même en quoi un CSP permettrait de faire ce que tu veux...
Je suis vraiment désolé pour l'ambiguïté. Je suis en train de reformer mes idées et vous m'avez aidé avec vos réponses.
J'ai juste voulu savoir quelles sont les bibliothèques JAVA des solveurs qui s'intègrent à eclipse MDT. Et surtout, quelles sont parmi ces solveurs qui supporte la surcharge des contraintes et l'extensibilité.