LucaREz's Twitter

venerdì 16 novembre 2007

Il Magro di oggi

Ecco un programma prolog per risolvere un qualsiasi problema a regole
teorema(T,L,R) :- th([T],L,L1,R,[ ]).

th([T|Inc],L,L,R,R) :- member(T,L).
th([T|Inc],L1,[T|L2],R1,[N|R2]) :-
regola(T,Dati,N,…),
disj(Dati,Inc),
th1(Dati,[T|Inc] ,L1,L2,R1,R2).

th1([X|C],Inc1,L1,L2,R1,R2) :-
th([X|Inc1],L1,Lx,R1,Rx),
th1(C,Inc1,Lx,L2,Rx,R2).
th1([ ],_,L,L,R,R).

carino, oggi la lezione mi e' garbata
(anche se il proff si e' offeso perche' abbiamo riso)

2 commenti:

  1. Ohi ReZ, il tuo algoritmo non funziona una ceppa, ho il problema che mi scatta Crysis con la mia 6600gt, ma applicando il tuo algoritmo tutto rimane invariato... Eh!!

    RispondiElimina
  2. il problema è nel motore inferenziale o nella base di conoscenza? Installato swi-prolog?
    E poi tanto non imparerai mai ad usare il prolog, ce lo ha detto il Magro a noi e tu non sei tra i prediletti. (X JP)...
    Salut

    RispondiElimina

 
Clicky qui