Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Prolog e sistema esperto

    Ciao a tutti/e,
    mi sono iscritto da poco, sto imparando a usare il PROLOG (ho installato sul mio pc SWI prolog) ma ho problemi ad utilizzare il seguente sistema esperto. Ecco il codice:


    /*-------------- SISTEMA ESPERTO SCRITTO IN PROLOG ---------------*/
    /*--- Ispirato a "Introduzione Pratica al PROLOG" di Alessandro Mazzetti ---*/

    /* ------------- MOTORE INFERENZIALE -------------*/
    run :- obiettivo(X), verificato(X), scrivi_risultato(X), !.
    run :- scrivi_risultato(non_ho_soddisfatto_alcun_obiettiv o).
    verificato( (X,Y) ) :- !, verificato(X), verificato(Y).
    verificato( (X;Y) ) :- !, verificato(X); verificato(Y).
    verificato( not(X) ) :- !, not(verificato(X)).
    verificato(X) :- vero(X), !.
    verificato(X) :- falso(X), !, fail.
    verificato(X) :- clause(X,Y), verificato(Y), assert(vero(X)), !.
    verificato(X) :- poni_domanda(X,s), assert(vero(X)), !.
    verificato(X) :- assert(falso(X)), !, fail.

    /*--------------- INTERFACCIA UTENTE --------------*/
    poni_domanda(X,R) :- not(clause(X,_)), write(X), write('? (s/n): '), read(R), !.
    scrivi_risultato(X) :- nl, write(X), write(' !'), nl.

    /*--------------- BASE DI CONOSCENZA --------------*/
    hai_l_influenza :- hai_preso_freddo, hai_la_febbre, tossisci.
    hai_il_raffreddore_da_fieno :- starnutisci, not(hai_preso_freddo), si_e_manifestato_in_primavera.
    obiettivo(hai_l_influenza).
    obiettivo(hai_il_raffreddore_da_fieno).

    FINE FILE.

    Il problema è il seguente: dopo aver attivato il programma da terminale con il comando "swipl" e caricato il file "[nomefile]." quando digito "run." mi esce
    "ERROR: verificato/1: Undefined procedure: vero/1
    Exception: (7) verificato(hai_l_influenza) ?"
    E non so che significa.

    C'è una persona sul forum che può aiutarmi?

    Un saluto.

  2. #2
    Ciao ancora, nessuno interessato alla mia richiesta di aiuto?

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.