.dsy:it.
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Logica matematica (http://www.dsy.it/forum/forumdisplay.php?forumid=246)
-- Esercizi Prolog (http://www.dsy.it/forum/showthread.php?threadid=35382)


Posted by Gimmy on 14-06-2008 12:36:

Esercizi Prolog

Ciao a tutti, qualcuno ha svolto il compitino di prolog del 6 giugno 2008?
Se si o se cmq sa come risoovere i due esercizi puo aiutarmi per favore? Non sono sicuro di alcune regole sullo svolgimento degli es di prolog...

Grazie!


Posted by marco.b on 16-06-2008 11:02:

Re: Esercizi Prolog

Originally posted by Gimmy
Ciao a tutti, qualcuno ha svolto il compitino di prolog del 6 giugno 2008?
Se si o se cmq sa come risoovere i due esercizi puo aiutarmi per favore? Non sono sicuro di alcune regole sullo svolgimento degli es di prolog...

Grazie!

infatti... anche se do per buoni gli esercizi postati nella sezione file da Simone_155, non riesco a capire come rinomina le variabili.
prova a dire di quale regola non sei sicuro.


Posted by Gimmy on 17-06-2008 22:38:

Per esempio, facendo riferimento agli esercizi di Simone_155:

- in Luglio 2006 3.1, perchè nel ramo 1/4/ usa le lettere L1',L2',L3' se le lettere L1,L2,L3 non sono ancora state usate? Poi sempre in questo esercizio io ho rinominato le variabili in modo differente, cioè se in un ramo incontro + di una volta la stessa variabile (proveniente dal fatto) allora la rinomino, è sbagliato?

- se ottengo come primo elemento di un quesito il ' ! ' allora da quel punto non devo + tornare su per quel ramo giusto? Quindi in Giugno 2006 3.1 il programma non dovrebbe terminare una volta concluso il primo ramo (ossia 5/3/1/3/2/fail) ?


Posted by marco.b on 18-06-2008 11:23:

- in Luglio 2006 3.1, perchè nel ramo 1/4/ usa le lettere L1',L2',L3' se le lettere L1,L2,L3 non sono ancora state usate? Poi sempre in questo esercizio io ho rinominato le variabili in modo differente, cioè se in un ramo incontro + di una volta la stessa variabile (proveniente dal fatto) allora la rinomino, è sbagliato?

era quello che chiedevo io, ed è scandaloso non riuscire a trovare ingiro una regola (che sicuramente sara semplice).
la prof a lezione ha fatto scrivere delle regole un po + formali ma tra queste non c'era la rinomina delle variabili.

- se ottengo come primo elemento di un quesito il ' ! ' allora da quel punto non devo + tornare su per quel ramo giusto? Quindi in Giugno 2006 3.1 il programma non dovrebbe terminare una volta concluso il primo ramo (ossia 5/3/1/3/2/fail) ? [/B][/QUOTE]

il cut congela il ramo dalla meta che lo fa saltar fuori fino a dove viene soddisfatto cioè sparisce. ma attenzione, se non c'è un fallimento e nel caso che dici tu c'è.


Posted by Gimmy on 18-06-2008 12:26:

per le variabili non so... una regola generale dovrebbe essere che non possono esserci variabili del quesito e variabili del fatto uguali, ossia se nel quesito ho una X e anche nel fatto che devo applicare ho una X, allora la X del fatto va rinominata X'... però su tutto il resto non saprei...

ah ok... quindi nel caso quel ramo avesse dato true il programma sarebbe finito lì?
Poi un'altra cosa... se ho un ramo congelato da una certa istruzione a un'altra posso tornare a eseguire il programma prima di quel segmento (ossia prima dell'istruzione che genera il cut)?


Posted by valeriam. on 19-06-2008 09:22:

Il backtracking congela il ramo da quando viene generato il ! a quando viene attraversato.

Ciò vuol dire che se prima che lo generate si possono far partire 2 rami quelli li fate partire. Spero di essere stata abbastanza chiara......

Per la differenza della rinomina tra N1 o N' è una convenzione che utilizza la prof x sua comodità. Non me la ricordo molto bene ma penso che dipende se la variabile è una variabile nuova non presente nella testa, o meno... (se mi viene in mente un lampo di genio ve lo faccio saxe xD )


Posted by marco.b on 19-06-2008 14:30:

Originally posted by valeriam.
Il backtracking congela il ramo da quando viene generato il ! a quando viene attraversato.

Per la differenza della rinomina tra N1 o N' è una convenzione che utilizza la prof x sua comodità. Non me la ricordo molto bene ma penso che dipende se la variabile è una variabile nuova non presente nella testa, o meno... (se mi viene in mente un lampo di genio ve lo faccio saxe xD )


ciao, mi sapresti dire perche nell'esercizio 3.2 di febbrai 2006 alla fine salta fuori un L' ?
lung([], 2, N) unifica con la 2a regola che è un fatto!
mi sembra che questo contraddica le regole.


Posted by marco.b on 19-06-2008 15:17:

Originally posted by marco.b
ciao, mi sapresti dire perche nell'esercizio 3.2 di febbrai 2006 alla fine salta fuori un L' ?
lung([], 2, N) unifica con la 2a regola che è un fatto!
mi sembra che questo contraddica le regole.


mi spiego meglio....
essendo un fatto secondo me quando viene utilizzato come regola non dovrei rinominare le variabili.


Posted by stiwi on 19-06-2008 20:42:

penso che usi L' perchè c'è già una L nel quesito, che non corrisponde alla L della regola, quindi è necessaria la rinomina della variabile.


All times are GMT. The time now is 22:44.
Show all 9 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.