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 :

Résolution de l'algorithme de Robinson


Sujet :

Prolog

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 388
    Points : 172
    Points
    172
    Par défaut Résolution de l'algorithme de Robinson
    bonsoir,
    Voici les 2 formules à unifier : {p(x,y,g(a,a)), p(g(y,y),z,z)}
    Dans l'étape 1, on a remplacé x/g(y,y).
    Dans l'étape 2, on a remplacé z/y. Et c'est là le problème! Normalement, on remplace une variable par un terme, mais pourquoi prendre z comme variable et non pas y ??
    Merci

  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
    Citation Envoyé par geeka Voir le message
    bonsoir,
    Voici les 2 formules à unifier : {p(x,y,g(a,a)), p(g(y,y),z,z)}
    Dans l'étape 1, on a remplacé x/g(y,y).
    Dans l'étape 2, on a remplacé z/y. Et c'est là le problème! Normalement, on remplace une variable par un terme, mais pourquoi prendre z comme variable et non pas y ??
    Merci
    Quelles sont les formules que vous obtenez aux étapes 1 et 2 ?
    "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
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 388
    Points : 172
    Points
    172
    Par défaut
    bonsoir,
    Etape 1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     DS1= {x,g(y,y)}
     Têta1= {x/g(y,y)}
     STêta0Têta1= {p(g(y,y),y,g(a,a)),p(g(y,y),z,z)}
    Etape2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     DS2= {y,z}
     Têta1= {z/y}
     STêta0Têta1= {p(g(y,y),y,g(a,a)),p(g(y,y),y,y)}
    DSi: l'ensemble des désaccords
    Têta(i) : substitution (variable remplacée par un terme : v/t)
    STêta(i):la nouvelle paire de formules

  4. #4
    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
    Bonjour
    Je ne suis pas spécialiste mais où est le problème ?
    Que l'on remplace y par z ou z par y, ce sont deux variables dont le nom n'a pas d'importance.
    Si je ne me trompe pas, il y a un troisième remplacement y/g(a,a) et on aboutit à la formule p(g(g(a,a), g(a,a)), g(a,aa), g(a,a)). et ceci que l'on fasse y/z ou z/y.
    "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 habitué
    Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 388
    Points : 172
    Points
    172
    Par défaut
    bonsoir,
    Merci pour votre réponse
    ça n'a donc pas d'importance, on peut même remplacer une variable par une variable ?

    Il y a un autre problème en ce qui concerne le test d'occurrence (Occurrence Check : OC):
    On contrôle si chaque variable v qui appartient à DS(k) apparaît dans un autre élément.
    1) Dans le cas positif (OC>0) => la paire n'est pas unifiable.
    2) Si OC<0, alors il existe v,t dans DS(k) et Têta(k+1)= {v/t}.

    Dans l'exercice, OC est négatif, mais y ou z, n'apparaissent-ils pas plus d'une fois ?

  6. #6
    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 n'a donc pas d'importance, on peut même remplacer une variable par une variable ?
    A mon avis oui , mais n'ayant suivi aucun cours théorique sur Prolog, mon avis n'est que purement personnel.
    Il y a un autre problème en ce qui concerne le test d'occurrence (Occurrence Check : OC):
    On contrôle si chaque variable v qui appartient à DS(k) apparaît dans un autre élément.
    1) Dans le cas positif (OC>0) => la paire n'est pas unifiable.
    2) Si OC<0, alors il existe v,t dans DS(k) et Têta(k+1)= {v/t}.

    Dans l'exercice, OC est négatif, mais y ou z, n'apparaissent-ils pas plus d'une fois ?
    Pour répondre il faudrait que je connaisse votre 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

Discussions similaires

  1. algorithme kung robinson
    Par moha88 dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 01/12/2010, 23h07
  2. Algorithme de résolution d'équations
    Par _SamSoft_ dans le forum Algorithmes et structures de données
    Réponses: 16
    Dernier message: 08/09/2007, 21h08
  3. algorithme de résolution d'une unique équation à n variables
    Par Mourad dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 18/09/2006, 10h29
  4. Algorithme de résolution d'une grille de scrabble
    Par Muetdhiver dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 28/07/2006, 19h20

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