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 :

Mécanisme d'unification prolog


Sujet :

Prolog

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Points : 62
    Points
    62
    Par défaut Mécanisme d'unification prolog
    Bonjour,

    Merci d'avance pour l'aide que vous pourrez m'apporter,
    donc voilà, je dois unifier les relations suivantes en précisant les substitutions et le terme résultant,
    voilà les relations
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    aime(Jean,x),aime(y,Sara).
    etudiant(Jean,x),eleve(y,Simon).
    P(x,C),R(x),¬P(C,C),Q(y).
    Bon j'ai fais pour les deux premier

    La première relation est unifiable
    Jean=y
    Sara=x

    La deuxième relation n'est pas unifiable, car ils ont pas la même racine atomique.

    par contre pour la troisième je bloque je sais pas comment faire? si quelqu'un peut m'aider svp

    Merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Points : 62
    Points
    62
    Par défaut
    S'il vous plaît si quelqu'un pourra m'aider, je suis vraiment bloqué sur ce truc

  3. #3
    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
    Pour être franc, je suis un peu perturbé par la syntaxe de la troisième ligne :
    P(x,C),R(x),¬P(C,C),Q(y).
    En Prolog classique, les noms de règles débutent par une minuscule et les noms de variables par une majuscule.
    Ceci dit, ce que je déduis est que x ne peut pas s'unifier avec C, à cause de ¬ P(C,C), à part ça pour y ...
    Pour te répondre correctement, il faudrait connaître le contenu de ton cours.
    "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

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par Trap D Voir le message
    Pour être franc, je suis un peu perturbé par la syntaxe de la troisième ligne :
    P(x,C),R(x),¬P(C,C),Q(y).
    En Prolog classique, les noms de règles débutent par une minuscule et les noms de variables par une majuscule.
    Ceci dit, ce que je déduis est que x ne peut pas s'unifier avec C, à cause de ¬ P(C,C), à part ça pour y ...
    Pour te répondre correctement, il faudrait connaître le contenu de ton cours.
    Merci Trap D
    bah, au fait dans le cours le prof nous a jamais donnait un exemple pareil, donc voilà je comprends pas trop ce qu'il faut faire dans ce cas,

    merci en tout cas

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2009
    Messages : 53
    Points : 57
    Points
    57
    Par défaut
    Ton code me déroute un peu, les variables doivent commencer par une majuscule et les atomes par une minuscule.
    Bien pour ta première et seconde ligne.
    Pour la troisième il en va comme l'a brièvement expliqué Trap D.
    p(X,c),r(X),¬p(c,c),q(Y).
    si p, r, p et q sont des prédicats, X, Y des variables et c un symbole atomique,
    alors Y peux valoir n'importe quelle valeur de l'ensemble de définition de q | q(Y) -> true. et s'unifie avec toute ces valeurs.
    p(X, c) et r(X) ici X s'unifie avec toute les valeurs qui valident p(X,c) et r(X) en même temps exclus c (¬p(c,c)). C'est comme ça que je la comprend mais en fait je ne vois pas clairement la signification de ¬p(c,c) à part exclure c de cette unification.
    Ceci n'est donc qu'une piste de recherche et non une réponse absolue.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Points : 62
    Points
    62
    Par défaut
    Voiçi un autre exemple

    Unifier(sur(X,route(Y,poitiers)),sur(poitiers,route(paris,Z)))
    voilà ce que j'ai fais
    Les substitutions
    X=poitiers
    Y=paris
    Z= poitiers

    Qu'en pensez vous?

  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
    Ça me semble très correct.
    "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

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 08/08/2005, 18h30
  2. Où trouver un environnement pour faire du PROLOG ?
    Par cladsam dans le forum Prolog
    Réponses: 4
    Dernier message: 04/05/2005, 17h12
  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, 07h59
  4. prolog et scheme
    Par bourvil dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 30/09/2003, 12h09

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