Bibliothèque de résolution de contraintes de chaîne de caratères [Résolu]

Messages postés
9
Date d'inscription
lundi 21 avril 2014
Statut
Membre
Dernière intervention
28 avril 2014
- - Dernière réponse : tmar2
Messages postés
9
Date d'inscription
lundi 21 avril 2014
Statut
Membre
Dernière intervention
28 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 ?

Merci beaucoup pour votre aide.
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
16075
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
15 novembre 2019
88
1
Merci
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...

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 223 internautes nous ont dit merci ce mois-ci

Commenter la réponse de KX
Messages postés
16075
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
15 novembre 2019
88
1
Merci
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.

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 223 internautes nous ont dit merci ce mois-ci

Commenter la réponse de KX
Messages postés
9
Date d'inscription
lundi 21 avril 2014
Statut
Membre
Dernière intervention
28 avril 2014
1
0
Merci
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.

Merci bien pour votre réponse.
Commenter la réponse de tmar2
Messages postés
9
Date d'inscription
lundi 21 avril 2014
Statut
Membre
Dernière intervention
28 avril 2014
1
0
Merci
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.
Commenter la réponse de tmar2
Messages postés
16075
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
15 novembre 2019
88
0
Merci
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...

Si tu veux des informations sur JaCoP, voici la documentation :
http://jacopguide.osolpro.com/guideJaCoP.html

Mais je te conseilles d'abord de mettre à plat tes idées, je n'ai pas l'impression que tu saches toi même ce que tu veux !
Commenter la réponse de KX
Messages postés
9
Date d'inscription
lundi 21 avril 2014
Statut
Membre
Dernière intervention
28 avril 2014
1
0
Merci
Merci pour votre réponse!

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é.
Commenter la réponse de tmar2