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

Prolog Discussion :

Contraintes sur des contraintes


Sujet :

Prolog

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Contraintes sur des contraintes
    Bonjour tout le monde et particulièrement à pcaboche qui est le seul actuellement à supporter le langage Prolog en français sur le web.

    Je suis informaticien et je débute sur Prolog. Je sais que pcaboche n'a pas encore eu le temps d'aborder la programmation par contraintes et on espère que ça se fera le plus tôt possible.

    Néanmoins, j'ai un problème urgent au sujet des contraintes sur les contraintes. Mon problème peut être résolu (je pense) avec fd_cardinality de GNU-prolog, mais je ne trouve pas l'équivalent sur swi-prolog.

    Voilà mon problème : j'ai une liste de contraintes sur une liste de variables libres et je veux limiter le nombre de contraintes à satisfaire. Par exemple, j'ai 10 contraintes et je veux satisfaire uniquement 8 parmi les 10 contraintes. Je crois que CHR de swi-prolog peut faire quelque chose mais je n'ai pas trouvé un tuto en français.

    Merci d'avance à tout le monde
    Siali.

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    sinon "l'algorithme" de cardinalité est facile à refaire...

    un truc du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    mycard([],0).
    mycard([],_) :- fail.
    mycard([X|L],N) :- 
      call(X),
      !,
      N1 is N-1,
      mycard(L,N1).
    mycard([X|L],N) :- mycard(L,N).

    en revanche, je suis plus (en raison de mes profs) sur gnu-prolog que sur swi-prolog
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  3. #3
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Citation Envoyé par Siali
    Bonjour tout le monde et particulièrement a pcaboche qui est le seul actuellement a supporter le language prolog en francais sur le web.
    Merci. Je ne suis pas le seul à proposer des articles en Français à propos de Prolog. J'ai juste apporté ma petite pierre à l'édifice en publiant ce que je connais du langage Prolog (pour que cela serve aux autres car quand j'étais étudiant, j'ai vraiment galéré pour apprendre ce langage).


    Citation Envoyé par Siali
    je sais que pcaboche n'a pas encore eu le temps d'aborder la programmation par contraintes et on espère que ca se fera le plustot possible.
    Malheureusement, je vais avoir de moins en moins de temps à consacrer à Prolog. J'avais profité d'une longue période de chômage pour écrire mes articles, mais maintenant j'ai d'autres préoccupations.


    Citation Envoyé par Siali
    voila mon problème: j'ai une liste de contraintes sur une liste de variables libres et je veux limiter le nombre de contraintes à satisfaire. par exemple j'ai 10 contraintes et je veux satisfaire uniquement 8 parmi les 10 contraintes.
    Je n'ai pas de solution toute prête pour ton problème. Une idée (un peu naïve) pourrait être d'écrire un prédicat qui sélectionne 8 contraintes parmi les 10 et essaye de les satisfaire (un peu comme ce que propose gorgonite, avec quelques corrections).


    Citation Envoyé par Siali
    je n'ai pas trouvé un tuto en francais.
    L'anglais te pose problème ?
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  4. #4
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    si l'anglais ne te dérange pas...
    http://contraintes.inria.fr/~soliman/publi/clp1-2.pdf
    page 57, un exemple sur le domaine des booléens


    sinon, tu peux lire le reste...
    et aussi http://contraintes.inria.fr/~fages/Teaching/


    voire leur écrire des mails (même en français)
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  5. #5
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 5
    Points : 4
    Points
    4
    Par défaut contraintes sur des contraintes
    Merci infiniment a vous, gargonite et pcaboche.

    Je vais essayer de refaire le programme de cardinalité conformément à votre suggestion. et merci également pour les sites. Concernant la langue anglaise, je me débrouille un peu ( je sais que c'est nécessaire), mais je préfère de loin le français.

    Des que j'aurais résolu le problème, je me ferais un plaisir de communiquer la réponse détaillée sur ce forum. Ca servira peut être a d'autres amoureux de prolog de résoudre leur problème.

    Encore merci pour votre aide précieuse.

Discussions similaires

  1. [XL-2007] existe-t-il une fonction sur des contraintes
    Par noebout dans le forum Excel
    Réponses: 2
    Dernier message: 18/08/2011, 11h31
  2. contrainte d'unicité sur des couples
    Par ekremyilmaz dans le forum SQL
    Réponses: 10
    Dernier message: 28/04/2010, 08h38
  3. [Débutant] ET et OU, contraintes sur des ensembles
    Par JakeGrafton dans le forum Prolog
    Réponses: 2
    Dernier message: 27/02/2007, 11h06
  4. Réponses: 13
    Dernier message: 12/01/2006, 10h45
  5. SQLServer 2000: Liste des contraintes sur une colonne ?
    Par swirtel dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 08/11/2005, 16h13

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