Applicazione della Resolution Clicca QUI per vedere il messaggio nel forum |
primu2002 |
Raga qualcuno riesce a spiegarmi l'applicazione della regola? Non capisco che razza di sostituzione faccia!!!!!
24[0:Inp] || snail(U) -> plant(snail_food_of(U))*.
303[0:MRR:298.0,8.0] || plant(U)+ -> eats(a_fox,a_bird)* eats(a_fox,U)*.
305[0:Res:24.1,303.0] || snail(U) -> eats(a_fox,a_bird) eats(a_fox,snail_food_of(U))*.
Non dovrebbe essere U=snail_food_of(U)? Allora perchè snail(U) rimane snail(U) e non diventa snail_food_of(snail(U))? |
primu2002 |
oppure:
19[0:Inp] || snail(U) bird(V) -> much_smaller(U,V)*.
25[0:Inp] || animal(U) plant(V) animal(W) plant(X) much_smaller(W,U)+ eats(W,X)* -> eats(U,V)* eats(U,W)*.
59[0:Res:19.2,25.4] || snail(U) bird(V) animal(V) plant(W) animal(U) plant(X) eats(U,X)* -> eats(V,W)* eats(V,U)*. Non dovrebbe essere W=U U=V ? |
NoWhereMan |
vado di fretta, ma velocemente:
non farti ingannare dai nomi delle variabili, ogni variabile (spero di non dire scemenze :D) all'interno delle diverse clausole è da considerarsi diversa
vale a dire
c1 P(X)
c2 M(X)
X non è la stessa variabile, è un qualsiasi X, quel che conta per unificare sono i predicati e le funzioni
se fai fatica a vederlo, prova prima a rinominare su un foglio tutte le variabili della seconda clausola, per capire il meccanismo
questo per quanto riguarda il primo esempio, nel secondo credo il problema sia analogo anche se non ho dato un'occhiata approfondita
ciao |
primu2002 |
fantastico! Provo subito!
Grazie 1.000,99!! |
primu2002 |
fantastico! Provo subito!
Grazie 1.000,99!!
[Diego grazie anche a te!!] |
|
|
|