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 :

besoin d'un avis sur formulation d'une règle


Sujet :

Prolog

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 101
    Points
    101
    Par défaut besoin d'un avis sur formulation d'une règle
    Bonjour à tous,

    je voudrais savoir si ma traduction de cette règle en prolog est bonne ou mauvaise.
    La règle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Si couleur du texte est différente de la couleur choisie par l'utilisateur alors modifier la couleur
    En prolog :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    couleur(X).
    couleur(Y).
    modifier_couleur (X,Y) :-couleur(X),couleur(Y),X ≠ Y.
    c'est à dire X est une couleur, Y aussi. la couleur sera modifier lorsque X≠Y.

    Question subsidiaire : Les faits sont :
    couleur(X).
    modifier_couleur(X,Y).
    ou bien
    seulement
    couleur(X).
    car modifier_couleur(X,Y) se trouve dans la conclusion et non dans les prémisses...

    parce que je suis en train de réaliser un système expert et je voudrais faire la liste des faits et des règles. j'en ai une bonne vingtaine. ça serait gentil de me corriger pour me donner un bon début pour continuer.
    merci infiniment pour vos réponses.

  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
    Il te faut un fait couleur_texte(Coul).
    "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 régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 101
    Points
    101
    Par défaut
    merci pour ta réponse.

    et comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    couleur(coul1).
    couleur(coul2).
    couleur_texte(coul1).
    couleur_preference(coul2).
    modifier_couleur(coul1,coul2):-couleur(coul1),couleur(coul2),
    couleur_texte(coul1),couleur_preference(coul2),coul1≠coul2.
    merci de l'aide.

  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
    Si j'ai bien compris ta règle, il faut changer la couleur du texte si elle n'est pas conforme à celle choisie par l'utilisateur.

    Voilà comment je vois les choses
    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
    % on déclare le prédicat couleur_texte "dynamic"
    % pour pouvoir changer la couleur dynamiquement
    :- dynamic couleur_texte/1.
     
    % prédicat d'initialisation, on crée une couleur de départ
    init :-
    	% pour pouvoir réinitialiser la base de faits
    	retractall(couleur_texte(_)),
    	% on crée la couleur de départ
    	assert(couleur_texte(bleu)).
     
    % test de couleur
    teste_couleur(Coul) :-
    	% la couleur Coul est-elle la couleur de texte en cours ?
    	% si oui on s'arrête après le test couleur_texte(Coul)
    	couleur_texte(Coul); 
    	% on passe le ';' donc le test a échoué
    	% on enlève la couleur actuelle
    	retract(couleur_texte(_)), 
    	% puis on crée la nouvelle couleur
    	assert(couleur_texte(Coul)).
    exemple de sortie :
    1 ?- couleur_texte(X).
    false.

    2 ?- init.
    true.

    3 ?- couleur_texte(X).
    X = bleu.

    4 ?- teste_couleur(bleu).
    true .

    5 ?- couleur_texte(X).
    X = bleu.

    6 ?- teste_couleur(rouge).
    true.

    7 ?- couleur_texte(X).
    X = rouge.

    8 ?-
    Je ne sais pas si celà répond à tes questions !
    "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 régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 133
    Points : 101
    Points
    101
    Par défaut
    merci je voyais pas le choses comme ça.
    c'est vrai que ça réponds exactement à ce que je demande.
    je suis débutante et j'ai tendance à compliquer un peu les choses

    merci

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 31/05/2022, 14h50
  2. Besoin d'aide avis sur offre d'une SSII
    Par Gecko00 dans le forum Salaires
    Réponses: 18
    Dernier message: 19/02/2014, 17h13
  3. Besoin de votre avis sur une méthodologie à choisir
    Par Woodgate dans le forum Requêtes
    Réponses: 3
    Dernier message: 21/06/2009, 01h34
  4. besoin d'un avis sur le calcul msb et lsb d'une trame
    Par thony76 dans le forum Visual C++
    Réponses: 10
    Dernier message: 03/08/2006, 13h20
  5. Besoin d'un avis sur une solution
    Par el_quincho dans le forum Access
    Réponses: 3
    Dernier message: 19/04/2006, 13h27

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