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 :

Comment On peut entrer -- a partir de SWI


Sujet :

Prolog

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2011
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 26
    Points : 17
    Points
    17
    Par défaut Comment On peut entrer -- a partir de SWI
    Bonsoir mes Amis(es)
    j'ai un pb dans l'interface alors, j'ai décidé de mélanger les choses, et éviter cette méchante interface ..

    je voudrais savoir comment on peut entrer les faits et les régles (entrer des informations en general) a partir de la console de SWI-Prolog et les enregistrer dans un fichiers prolog (fichier.pl)

    moi, je connais l'instruction "consult('fichier.pl')." qui nous permet d'acceder au fichier voulu [d'apres la console, ou l'editeur de texte].


    ****************************************
    Est-ce que SWI-prolog contient un moteur d'unference ??? (je n'est pas sur)
    Peut On realiser une generalisation de solution a partir d'une regle par exemple:
    nous avons entré des faits dans un fichier (.pl) d'apres la console (je ne sais pas comment ?, et je voudrais savoir quel est la commande qui permet ça)
    ---Faits :
    Homme(socrate).
    ..... ------ il sont enregistrés dans un fichier 'FAITS.pl'
    ---REGLES :
    mortel(X) :- Homme(X).
    ..... ------ il sont enregistrés dans un fichier 'REGLES.pl'

    Apres
    c'est la generation des solutions
    ?- mortel(socrate).

    j'ai mis les faits et les regles dans des fichiers differents, pour distinguer + sa facilite la modification
    +++
    dans le fichier 'FAITS.pl', je met "consult('REGLES.pl')" et meme chose pour le fichier 'REGLES.pl', je met "consult('FAITS.pl')" dans l'entete

    *********************************
    apres , j'utilise ce code pour l'affichage des 2 fichiers
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //////////////////////////////////////////////////////////
    test :-
    	open('D:/Developpements/Prolog/DVP/donnees.txt', read, File),
    	my_read(File, Lst),
    	close(File),
    	writeln(Lst).
    //////////////////////////////////////////////////////////
    Mon pb actuel, c'est comment on peut entrer des faits d'apres la console qui sont au fur et au mesure enregistrer dans leur propre fichier ???

  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
    Pour entrer les faits et les régles il faut écrire des interfaces en Prolog (et aussi éventuellement avec XPCE).
    Ces faits et régles dont ajoutés dans la base de connaissances avec des assert.
    Il faut ensuite enregistrer ces données, on peut utiliser ce bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    save_bdd :-
    	tell(<ici le nom complet d'acces au fichier>),
    	listing(<nom des faits à sauvegarder>),
    	told.
    Les faits seront enregistrés comme un fichier prolog (il faut une extension .pl)
    Pour les charger, il suffira de faire un consult(<ici le nom complet d'acces au fichier>).
    "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 à l'essai
    Inscrit en
    Février 2011
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Trap D Voir le message
    Pour entrer les faits et les régles il faut écrire des interfaces en Prolog (et aussi éventuellement avec XPCE).
    Ces faits et régles dont ajoutés dans la base de connaissances avec des assert.
    Il faut ensuite enregistrer ces données, on peut utiliser ce bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    save_bdd :-
    	tell(<ici le nom complet d'acces au fichier>),
    	listing(<nom des faits à sauvegarder>),
    	told.
    Les faits seront enregistrés comme un fichier prolog (il faut une extension .pl)
    Pour les charger, il suffira de faire un consult(<ici le nom complet d'acces au fichier>).
    merçi
    de ma part, je ne veut pas compliquer les choses (xpce me fatigue pour rien, alors je l'abandonne)

    j'ai essayer d'utiliser le code de "save_bdd" dans l'editeur et sa ne marche pas
    merçi

  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
    Aviez-vous une base de faits établie ?
    Il faut taper le code dans l'éditeur, le compiler puis dans la console taper save_bdd.
    "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 à l'essai
    Inscrit en
    Février 2011
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Trap D Voir le message
    Aviez-vous une base de faits établie ?
    Il faut taper le code dans l'éditeur, le compiler puis dans la console taper save_bdd.
    merçi

    Comment établir une base de faits ???
    j'ai essayé de sauvgarder des faits d'apres l'editeur prolog
    puis, j'ai ouvri un autre éditeur prolog où j'ai taper le code "save_bdd"

    j'ai essayé de dérouler, mais il ma donner une erreur
    base de faits:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    homme(ali).
    homme(wilson).
    homme(pierre).
    femme(lili).
    femme(sacha).
    enfant(bob).
     
    save_bdd :-
    	tell('C:/b.pl'),
    	listing('homme(nounou).'),
    	told.
    ?
    - save_bdd.
    ERROR: toplevel: procedure `homme(nounou).' does not exist (DWIM could not correct goal)
    merçi

  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
    Il fallait ecrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    homme(ali).
    homme(wilson).
    homme(pierre).
    femme(lili).
    femme(sacha).
    enfant(bob).
     
    save_bdd :-
    	tell('C:/b.pl'),
    	listing(homme),
    	told.
    "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

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2011
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Trap D Voir le message
    Il fallait ecrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    homme(ali).
    homme(wilson).
    homme(pierre).
    femme(lili).
    femme(sacha).
    enfant(bob).
     
    save_bdd :-
    	tell('C:/b.pl'),
    	listing(homme),
    	told.
    Merçi
    mais vous n'avez pas répondre a ma question: "comment établir une base des faits ???" d'apres ce code qui est au dessus ???

    j'ai essayé ce code, mais sa ne marche pas, j'ai ouvri un autre editeur, puis j'ai tapé tout ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    homme(ali).
    homme(wilson).
    homme(pierre).
    femme(lili).
    femme(sacha).
    enfant(bob).
     
    save_bdd :-
    	tell('C:/essay.pl'),
    	listing(homme(nounou)),
    	told.
    , apres, j'ai compilé, enfin, j'ai tapé:
    dans la console
    il ma donner true, alors, j'ai fermé l'éditeur, et je l'est relancer -----> je ne trouve pas le fait recement ajouté (Est ce que je suis sur la bonne voie ???)
    Merçi

  8. #8
    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
    Avez-vous fait du Prolog avant de vous lancer dans ce projet ???
    Pour ajouter un fait dans une base de données, on fait des assert, il faut aussi déclarer les faits comme dynamic. Lisez un peu la doc de SWI Prolog.
    "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

  9. #9
    Membre à l'essai
    Inscrit en
    Février 2011
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Trap D Voir le message
    Avez-vous fait du Prolog avant de vous lancer dans ce projet ???
    Pour ajouter un fait dans une base de données, on fait des assert, il faut aussi déclarer les faits comme dynamic. Lisez un peu la doc de SWI Prolog.
    Merçi
    pour
    Avez-vous fait du Prolog avant de vous lancer dans ce projet ???
    Oui, juste la theorie et ces applications et les opérations

    Pour ajouter un fait dans une base de données, on fait des assert, il faut aussi déclarer les faits comme dynamic.
    comment ???je voudrais savoir les commandes

    Lisez un peu la doc de SWI Prolog
    Veuillez me proposer une ,svp

    merçi

  10. #10
    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 David292929 Voir le message

    Lisez un peu la doc de SWI Prolog
    Veuillez me proposer une ,svp

    merçi
    Alors celle-la, c'est la meilleure !
    La doc SWI-Prolog, c'est la doc SWI-Prolog accessible par internet ou en cliquant sur help puis help dans la fenêtre SWI-Prolog.
    Avez- vous déjà écrit un programme en SWI-Prolog ??
    "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

  11. #11
    Membre à l'essai
    Inscrit en
    Février 2011
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Trap D Voir le message
    Alors celle-la, c'est la meilleure !
    La doc SWI-Prolog, c'est la doc SWI-Prolog accessible par internet ou en cliquant sur help puis help dans la fenêtre SWI-Prolog.
    Avez- vous déjà écrit un programme en SWI-Prolog ??
    et bien OUI, vous avez raison, tellement que j'ai consulté plusieur documentations sur prolog, j'ai devenu perdu, et je ne sais l'utilitaire de chaqu'une .
    merçi comme meme

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/05/2012, 09h31
  2. Comment on peut changer un champ à partir de message de retour d'envoi mail
    Par abderrazek_znati dans le forum Web & réseau
    Réponses: 0
    Dernier message: 20/01/2010, 14h26
  3. comment afficher l'etat a partir de delphi 6
    Par devalender dans le forum Bases de données
    Réponses: 2
    Dernier message: 03/06/2004, 19h41
  4. Réponses: 3
    Dernier message: 03/06/2003, 13h16

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