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 :

Le problème d'Einstein


Sujet :

Prolog

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 178
    Points : 43
    Points
    43
    Par défaut Le problème d'Einstein
    bonjour,
    j'essaie de résoudre le probleme d'einstein simplifié avec 3maisons,3nationalités,3couleurs,3sports et j'ai fais le code en vip:
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    implement list1
        open core
    domains
    mai=mai(string N1,string C1,string S1).
    constants
        className = "mylist1/list1".
        classVersion = "".
    myl:list=[mai("N1","C1","S1"),mai("N2","C2","S2"),mai("N3","C3","S3")].
    clauses
        classInfo(className, classVersion).
        class predicates
       premiere:(mai,list)determ anyflow.
       precede:(mai,mai,list)determ anyflow.
       element:(mai,list)nondeterm anyflow.
       rens:(list)nondeterm(i).
       clauses
    premiere(mai("N1","C1","S1"),myl).
    premiere(mai("N","C","tennis"),myl).
    precede(mai("N1","C1","S1"),mai("N2","C2","S2"),myl).
    precede(mai("N2","C2","S2"),mai("N3","C3","S3"),myl).
     precede(mai("N","verte","natation"),mai("espagnol","C","S"),myl).
     precede(mai("anglais","blanche","S"),mai("N","C","football"),myl).
     element(mai("N","verte","natation"),myl).
    element(mai("anglais","blanche","S"),myl).
    element(mai("francais","C","S"),myl).
    element(mai("N","bleue","S"),myl).
     
    rens(myl):-
    premiere(mai(_,_,"tennis"),myl),
     precede(mai(_,"verte","natation"),mai("espagnol",_,_),myl),
     precede(mai("anglais","blanche",_),mai(_,_,"football"),myl),
     element(mai(_,"verte","natation"),myl),
    element(mai("anglais","blanche",_),myl),
    element(mai("francais",_,X),myl),
    element(mai(Y,"bleue",_),myl),
    stdio::write(X),
    stdio::nl,
    stdio::write(Y).
    test():-
    rens(myl),
    fail.
    test().
     
    end implement list1
    évidemment vip allant chercher dans les clauses trouve la réponse
    test: X=S Y=N.je ne comprends pas comment prolog peut trouver une solution qui n'est pas inscrite dans les clauses
    merci

  2. #2
    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
    "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...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 178
    Points : 43
    Points
    43
    Par défaut
    merci pcaboche,c'est ce qu'il me fallait

  4. #4
    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
    + =
    "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...

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

Discussions similaires

  1. Probl avec décimales s/ base Access et D7
    Par bzh56 dans le forum Bases de données
    Réponses: 2
    Dernier message: 29/07/2005, 12h36
  2. Proble avec un vhosts sous Apache (Mandrake 10.1)
    Par __fabrice dans le forum Apache
    Réponses: 2
    Dernier message: 27/05/2005, 13h11
  3. Aide sur la RS 232
    Par Andr0 dans le forum C
    Réponses: 5
    Dernier message: 12/04/2005, 13h58
  4. Proble capture direct Show
    Par liliemumue dans le forum DirectX
    Réponses: 3
    Dernier message: 13/12/2004, 21h04
  5. ListView->Items->Clear() !!! Qques probl de perf
    Par Nicolas_a69 dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/08/2002, 11h49

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