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 :

Un solveur de logigram en Prolog


Sujet :

Prolog

  1. #21
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Décembre 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2021
    Messages : 5
    Par défaut
    "Vieux motard, que j'aimais !"

    Je le vois bien avec une grande toile d'araignée sur son clavier.

    En plus j'ai pourri le TP du prof de Prolog, mais il est peut-être en retraite, dans ce cas le nouveau devra faire preuve d'imagination ;-)

  2. #22
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Décembre 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2021
    Messages : 5
    Par défaut
    J'en mets une dernière en Prolog moderne pour ceux qui comme moi tomberons par hasard sur cette discussion.

    Les personnes et les jeux sont représentés par des entiers distincts.
    Les indices sur les âges servent à classer les personnes du plus jeune au plus vieux.
    Il n'y a plus qu'une seule clause, que l'on résout avec le système de résolution de contraintes CLPFD.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    :- use_module(library(clpfd)).
     
    solution(Pairs, Jeux, Vs) :-
        Table = [Personnes, Jeux],
        Personnes = [Fernand, Luc, Paul],
        Noms = [fernand, luc, paul],
        Jeux = [JeuA, _, JeuC],
        pairs_keys_values(Pairs, Personnes, Noms),
        maplist(all_distinct, Table),
        append(Table, Vs),
        Vs ins 1..3,
        Fernand #> Luc,          % Indice 1
        JeuC #= 2,               % Indice 2
        Paul #> 1, Paul #= JeuA. % Indice 3
     
    /**
    ?- solution(Pairs, [JeuA, JeuB, JeuC], _Vs).
    JeuA = 3,
    JeuB = 1,
    JeuC = 2,
    Pairs = [2-fernand, 1-luc, 3-paul]
     
    Ce qui signifie :
    #1 : Luc a 5 ans et joue au jeuB .
    #2 : Fernand a 7 ans joue au jeuC.
    #3 : Paul a 9 ans et joue au jeauA.
    */

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Solveur d'equations
    Par Jbx 2.0b dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 13/05/2005, 13h21
  2. Où trouver un environnement pour faire du PROLOG ?
    Par cladsam dans le forum Prolog
    Réponses: 4
    Dernier message: 04/05/2005, 18h12
  3. [Castor] Content is not allowed in prolog.
    Par marsupilamuf dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 01/09/2004, 08h59
  4. prolog et scheme
    Par bourvil dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 30/09/2003, 13h09

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