Passa al tema normale
Discussioni su argomenti di Informatica

Regole del forum

Consulta il nostro regolamento e la guida per scrivere le formule
Rispondi al messaggio

Predicato Prolog deduci

06/02/2019, 18:21

Ciao ragazzi,

qualcuno potrebbe aiutarmi con questo esercizio in Prolog?

Scrivere un predicato Prolog deduci(R,B,B1) che riceva in input una lista di regole R e una lista di fatti B, e che produca in output una nuova lista di fatti B1 ottenuta da B applicando tutte le regole di R fino al raggiungimento di un punto fisso. Ogni regola R viene espressa mediante un simbolo di funzione regola(Cs,D) in cui il primo argomento Cs è una lista di condizioni che, se verificate congiuntamente, rendono vero il secondo argomento D. Ad esempio:

? - deduci( [regola ([p(X), q(X)] , r(X) ) )] , [p(a), p(b), q(a)], B1).

X = a, B1 = [r(a), p(a), p(b), q(a)]

? - deduci( [regola ([p(X), q(X)] , r(X) ) )] , regola([r(Y)], q(b)), [p(a), p(b), q(a)], B1).

X = Y, Y=a, B1 = [q(b), r(a), p(a), p(b), q(a)]

Grazie mille!
Rispondi al messaggio


Skuola.net News è una testata giornalistica iscritta al Registro degli Operatori della Comunicazione.
Registrazione: n° 20792 del 23/12/2010.
©2000— Skuola Network s.r.l. Tutti i diritti riservati. — P.I. 10404470014.