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 :

Tutoriel sur les Kuromasus et l'utilisation de la bibliothèque de contraintes


Sujet :

Prolog

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 944
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 944
    Par défaut Tutoriel sur les Kuromasus et l'utilisation de la bibliothèque de contraintes
    Bonjour

    J'ai écrit cet article/ tutoriel d'utilisation qui permet de résoudre des Kuromasu en Prolog avec la librairie des contraintes clpfd.
    Le module de résolution permet la résolution dans les deux sens :
    A partir de la liste des contraintes, on obtient la grille solution.
    A partir d'une grille on peut obtenir la liste des contraintes.

    J'attends toute vos remarques et questions.
    Merci

    Trap D.
    "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

  2. #2
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2005
    Messages
    263
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2005
    Messages : 263
    Par défaut
    Je ne connaissais pas du tout ce type de jeu, j'ai donc trouvé cet article très intéressant. Je n'ai pas encore eu le temps de regarder en détail le code source, mais je pense le faire par la suite.

    Merci pour cet article

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2005
    Messages
    263
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2005
    Messages : 263
    Par défaut
    C'est à nouveau moi et je n'ai toujours pas regardé l'entièreté du code, mais je me pose la question suivante: dans le code que tu fournis, tu utilises "labeling" avec l'option activant la stratégie "first fail", tandis que dans l'article tu utilises "label". Pourquoi?

    Il me semble que ce serait intéressant pour les lecteurs que tu parles de "labeling" plutôt que de "label" afin de mettre en évidence que le choix des options pour "labeling" peut faire gagner énormément de temps dans certains cas.

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

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 944
    Par défaut
    Effectivement, dans le texte j'utilise le mot "labeling" et dans le code "label".
    La phase de labeling, comme tu le sais sans doute, est le moment où on lance le mécanisme d'attribution de valeurs aux variables déclaréees pour les contraintes. J'utilise ce mot dans le sens général.
    Dans mon code, comme je n'impose pas d'option particulière pour ce labeling, j'utilise le raccourci Prolog label(S) qui est équivalent à labeling([], S).
    Mais tu as raison, il peut être intéressant de faire un petit développement sur l'utilité des différentes options du labeling.

    [edit] En relisant attentivement l'article, j'ai vu que effectivement, dans le code fourni dans le zip, j'utilise labeling(options, Solution).

    je vais corriger tout celà

    Merci !

    [/edit]
    "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

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2005
    Messages
    263
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2005
    Messages : 263
    Par défaut
    Je viens de tester en vrac différentes options possibles pour labeling en utilisant le code fournit avec l'article. Les résultats ne sont pas fort différents (solve-console, grille 43b)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #inférences   options
    152,363,905   ffc,bisect
    152,363,896   ffc
    152,372,323   max
    152,372,317   min
    151,905,542   leftmost
    152,280,664   ff
    151,905,551   leftmost, enum
    151,905,551   leftmost, bisect
    Donc je me dis que dans le cadre de cet article, ça pourrait être chouette de signaler qu'il existe différentes options de recherche.

    Par contre, je me dit que ce serait chouette de faire un article à part qui parle de ces différentes options ou de manière plus générale de différentes méthodes de recherche. Je veux bien faire une ébauche si tu le souhaites en me basant sur deux trois trucs que j'ai déjà lu...

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

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 944
    Par défaut
    Citation Envoyé par luckyvae Voir le message
    Par contre, je me dit que ce serait chouette de faire un article à part qui parle de ces différentes options ou de manière plus générale de différentes méthodes de recherche. Je veux bien faire une ébauche si tu le souhaites en me basant sur deux trois trucs que j'ai déjà lu...
    Pas de problème au contraire, tu peux rédiger un article la-dessus.

    Il y a des options qui sont simples à mettre en oeuvre, (up, down, min(Expr) max(Expr)), mais d'autres sont plus difficiles à utiliser (bisect, ff, ffc) il faudrait arriver à trouver des exemples vraiment parlant.

    Par exemple pour min(Exp) et down:
    26 ?- X in 3..7, E #= X*X - 10 * X + 25, labeling([min(E), down], [X]).
    X = 5,
    E = 0 ;
    X = 6,
    E = 1 ;
    X = 4,
    E = 1 ;
    X = 7,
    E = 4 ;
    X = 3,
    E = 4 ;
    false.

    27 ?- X in 3..7, E #= X*X - 10 * X + 25, labeling([min(E)], [X]).
    X = 5,
    E = 0 ;
    X = 4,
    E = 1 ;
    X = 6,
    E = 1 ;
    X = 3,
    E = 4 ;
    X = 7,
    E = 4 ;
    false.
    On voit les différentes méthodes de recherches (par défaut c'est up).
    "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

Discussions similaires

  1. [HOOK] Problème(s) pour réaliser le tutoriel sur les HOOKS
    Par Rodrigue dans le forum C++Builder
    Réponses: 13
    Dernier message: 27/07/2016, 19h22
  2. tutoriel sur les thread?
    Par panda_fonfon dans le forum Threads & Processus
    Réponses: 4
    Dernier message: 27/04/2006, 09h20
  3. Tutoriels sur les jeux de caractères
    Par tnntwister dans le forum Outils
    Réponses: 4
    Dernier message: 23/01/2006, 16h55
  4. Tutoriel sur les arbres
    Par emidelphi77 dans le forum Langage
    Réponses: 2
    Dernier message: 10/10/2005, 00h09

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