IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Problèmes de satisfaction de contraintes


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 87
    Par défaut Problèmes de satisfaction de contraintes
    Bonjour,

    Je suis débutant dans le domaine de programmation par contraintes et je trouve des difficultés à modéliser mes contraintes.

    Quelq'un pourrait m'aider à modéliser une contrainte et je vais essayer d'y inspirer pour exprimer le reste des contraintes?

    Ma contrainte est: étant donné un tableau de n éléments, et un domaine de recherche [0..100]

    je veux remplir mon tableau de tel façon que la somme de tout les éléments soit egale à 200
    et que les elements qui contienderont 0 soient successifs
    donc si je met un 0 dans le tableau j'aurais tt le reste du tableau egal à 0 à partir du premier 0.
    si je fait la sommation de tt les éléments du tableau qui précédent le premier 0 je trouve 200.

    j'espere que j'etais clair enfin j'ai essayé

    Merci de m'aiderrrrr

    Merci d'avance

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    Première question : connais-tu Prolog. Si oui, interesse-toi à la librairie clpfd de SWI-Prolog.
    Si tu veux des exemples d'utilisation de la librairie regarde sur ma page perso il y en a.

    J'ai bricolé ce petit code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    :- use_module(library(clpfd)).
     
    test(N, L2) :-
    	Len in 2..N,
    	label([Len]),
    	length(L, Len),
    	L ins 1..100,
    	sum(L, #=, 200),
    	label(L),
    	R is N - Len,
    	length(L1, R),
    	maplist(=(0), L1),
    	append(L, L1, L2).
    Par exmple :
    ?- test(5, L).
    L = [100,100,0,0,0] ;
    L = [1,99,100,0,0] ;
    L = [1,100,99,0,0] ;
    L = [2,98,100,0,0] ;
    L = [2,99,99,0,0] ;
    L = [2,100,98,0,0]
    ......
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 87
    Par défaut
    Merci beaucoup Trap D pour ta réponse

    par contre, pour ce faire moi j'utilise un solveur de contraintes qui s'appelle Choco, et je uis bloquééééé mnt

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 103
    Par défaut
    Bonjour,

    Je crois que vous devriez commencer par lire un cours d'initiation à la programmation par contraintes, car vous confondez contrainte et modèle.

    Essayiez ensuite de trouver un modèle pour votre problème : un modèle est composé d'un ensemble de variables (chacune ayant un domaine fini) et d'un ensemble de contraintes (les relations logiques entre les variables).

    Ensuite, vous pourrez le programmer en vous aidant de la documentation de choco qui devrait être largement suffisante pour poser un tel modèle.

    Cordialement.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 87
    Par défaut
    Bojour,

    Vous n'avez pas compris ma question nono_31, essayer de la comprendre ou posez des questions,

    Mon problème c'était le nombre inconnu de variables à définir, et c résolu mnt

    merci

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 103
    Par défaut
    Bonjour,

    Votre question n'était peut-être pas aussi claire que vous semblez le croire.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème d'unicité de contrainte
    Par youness_ka dans le forum PowerAMC
    Réponses: 3
    Dernier message: 26/11/2013, 15h44
  2. [Satisfaction de contraintes] - Problème de formalisme
    Par Crahash dans le forum Intelligence artificielle
    Réponses: 1
    Dernier message: 24/01/2013, 19h22
  3. Problème de tableau non contraint en private
    Par shaffe dans le forum Ada
    Réponses: 5
    Dernier message: 11/10/2007, 00h35
  4. [Security] Problème de satisfaction de dépendance
    Par petitpasdelune dans le forum Spring
    Réponses: 1
    Dernier message: 20/04/2007, 15h31
  5. Problème d'analyse et contrainte
    Par damien77 dans le forum Schéma
    Réponses: 3
    Dernier message: 05/04/2007, 01h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo