| V I S U A L I Z Z A D I S C U S S I O N E |
| lulu8510 |
Inserito il - 17/04/2010 : 15:54:17 Ciao a tutti, qualcuno di voi ha usato interprolog per interfacciare java a prolog? Io ci sto provando per creare una gui al sistema esperto, ma ho difficoltà a restituire la risposta dell'utente a prolog, nel momento in cui viene fatta una domanda. Se qualcuno ci è riuscito, potrebbe dirmi come fare? Grazie anticipatamente! |
| 4 U L T I M E R I S P O S T E (in alto le più recenti) |
| lulu8510 |
Inserito il - 19/04/2010 : 17:05:59 Purtroppo tutti gli esempi presenti non trattano questo problema. Il sudoku utilizza prolog semplicemente come base di conoscenza. In ogni caso ti ringrazio ugualmente.
Saluti |
| Leonefragile |
Inserito il - 18/04/2010 : 14:30:17 Citazione: Messaggio inserito da lulu8510
Si, il problema è al contrario, cioè quando devo passare una stringa di risposta da java a prolog. Ti spiego cosa ho fatto precisamente e dove c'è il problema: 1) Avvio java con una interfaccia principale che richiama la procedura principale di prolog usando: deterministicGoal("expert"); 2) Parte il motore inferenziale in prolog, e quando deve fare una domanda all'utente chiama una classe passandogli la domanda(una stringa) con: javaMessage('Classe','Metodo'(string('domanda'))). Finora funziona tutto correttamente; il problema nasce quando devo restituire a prolog la risposta dell'utente, che è una semplice stringa. Ho provato con javaMessage('Classe',R,'Metodo'(string('domanda'))), aggiungendo semplicemente la risposta R alla chiamata precedente, ma avvalora R con una cosa strana. Ovviamente un altro deterministicGoal non posso usarlo, in quanto mi aprirebbe un nuovo thread, ma io ho bisogno di completare quello precedente.. In che modo potrei risolvere questa cosa?
Non so aiutarti con questo problema, ma immagino che non sia facile trovare una soluzione. Ti consiglio di guardare un pò gli esempi di InterProlog disponibili dal sito InterProlog. Se non ricordo male c'è un sudoku interamente realizzato con Java e Prolog ed immagino che questa comunicazione domanda-risposta sia frequente in quel codice. Mi spiace, ma non so aiutarti ulteriormente.
Saluti
|
| lulu8510 |
Inserito il - 18/04/2010 : 11:58:02 Si, il problema è al contrario, cioè quando devo passare una stringa di risposta da java a prolog. Ti spiego cosa ho fatto precisamente e dove c'è il problema: 1) Avvio java con una interfaccia principale che richiama la procedura principale di prolog usando: deterministicGoal("expert"); 2) Parte il motore inferenziale in prolog, e quando deve fare una domanda all'utente chiama una classe passandogli la domanda(una stringa) con: javaMessage('Classe','Metodo'(string('domanda'))). Finora funziona tutto correttamente; il problema nasce quando devo restituire a prolog la risposta dell'utente, che è una semplice stringa. Ho provato con javaMessage('Classe',R,'Metodo'(string('domanda'))), aggiungendo semplicemente la risposta R alla chiamata precedente, ma avvalora R con una cosa strana. Ovviamente un altro deterministicGoal non posso usarlo, in quanto mi aprirebbe un nuovo thread, ma io ho bisogno di completare quello precedente.. In che modo potrei risolvere questa cosa? |
| Leonefragile |
Inserito il - 17/04/2010 : 19:46:37 Citazione: Messaggio inserito da lulu8510
Ciao a tutti, qualcuno di voi ha usato interprolog per interfacciare java a prolog? Io ci sto provando per creare una gui al sistema esperto, ma ho difficoltà a restituire la risposta dell'utente a prolog, nel momento in cui viene fatta una domanda. Se qualcuno ci è riuscito, potrebbe dirmi come fare? Grazie anticipatamente!
Con javaMessage(Classe,Risposta,Metodo) sei riuscita a inviare una semplice stringa da Prolog a Java?
Se si, ti consiglio di comunicare sempre con le stringhe, magari poi ne formatti il contenuto informativo sul lato Java. Credo che tu possa inviare altri tipi di oggetti (diversi da stringhe) ma sinceramente non so aiutarti ed inoltre credo che sia abbastanza complicato. |
|
|