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 :

Appliquer plusieurs prédicats pour définir une règle


Sujet :

Prolog

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 15
    Points : 7
    Points
    7
    Par défaut Appliquer plusieurs prédicats pour définir une règle
    Bonjour à tous,
    Je m'intéresse à Prolog depuis un moment et il y a un mécanisme sur lequel je souhaiterais avoir des précisions. C'est celui d'appliquer plusieurs prédicats pour définir une règle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    predicat1(X) :- ...
     
    predicat2(Y) :- ...
     
    predicat1, predicat2 (X) :- ...
    Je voudrais comprendre comment ça marche et mes recherches sur Internet ont été infructueuse. Si vous pouviez m'expliquer ou me donner des sources qui expliquent ce fonctionnement je vous en serais reconnaissant.

  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
    Points : 6 498
    Points
    6 498
    Par défaut
    Inconnu au bataillon, où avez-vous rencontré ce genre d'écriture ?
    "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
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Forcement je cherche l'exemple que j'avais trouvé il y a longtemps maintenant et je ne le trouve plus. Un truc dont je me souviens c'est que le bout de code suivant était décrit comme valide et je dois dire que c'est ça qui m'a marqué :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    predicat1, predicat2 (X) :- ...
    Mais je n'ai pas plus de précisions, je reposterais lorsque j'aurais mis la main sur l'exemple.

  4. #4
    Membre éclairé Avatar de srvremi
    Homme Profil pro
    Directeur d'école d'ingénieurs
    Inscrit en
    Mars 2002
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Directeur d'école d'ingénieurs
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2002
    Messages : 554
    Points : 656
    Points
    656
    Par défaut


    @+
    Rémi

  5. #5
    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
    Points : 6 498
    Points
    6 498
    Par défaut
    Ca provoque une erreur de syntaxe, tout au moins en SWI-Prolog, donc j'ai quelques doutes.
    "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

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Bon j'avais peut être pas les yeux en face des trous ce jour là, mes tests aussi ne marchent pas. Merci pour vos réponses et désolé de vous avoir fait perdre votre temps.

  7. #7
    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
    Points : 6 498
    Points
    6 498
    Par défaut
    Aucun problème
    "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

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 25
    Points : 24
    Points
    24
    Par défaut
    bonjour,
    j'ai trouvé ceci dans la documentation SWI-PROLOG:

    Extrait nettoyé:

    :Goal1 , :Goal2 [ISO]
    Conjunction. True if both `Goal1' and `Goal2' can be proved. It
    is defined as follows (this definition does not lead to a loop as
    the second comma is handled by the compiler):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Goal1, Goal2 :- Goal1, Goal2.

    :Goal1 ; :Goal2 [ISO]
    The `or' predicate is defined as:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     Goal1 ; Goal2 :- Goal1.
        Goal1; Goal2 :- Goal2.
    En Anglais, malheureusement, cela peut prêter à confusion.
    Il se peut que cette représentation soit également utilisée pour expliquer un exemple
    mais conjonction predicat1, predicat2 (X):- ??? des doutes.

Discussions similaires

  1. Problème pour définir une valeur dans la base des registres
    Par hellspawn_ludo dans le forum Dreamshield
    Réponses: 2
    Dernier message: 30/09/2007, 03h03
  2. Réponses: 6
    Dernier message: 30/07/2007, 12h10
  3. Réponses: 2
    Dernier message: 04/04/2007, 09h03
  4. syntaxe pour définir une variable
    Par ecirb dans le forum InfoPath
    Réponses: 5
    Dernier message: 23/03/2007, 12h02
  5. Perl : Plusieurs arguments pour analyser une ligne
    Par blackj dans le forum Langage
    Réponses: 2
    Dernier message: 14/12/2006, 22h22

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