![]() |
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)
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!
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!
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) ?
- 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'è.
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)?
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 )
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 )
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.
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.