.dsy:it.
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Algoritmi e strutture dati (http://www.dsy.it/forum/forumdisplay.php?forumid=207)
-- [PROGETTO] Percorsi Colorati (http://www.dsy.it/forum/showthread.php?threadid=36135)


Posted by Fenix on 04-09-2008 13:04:

[PROGETTO] Percorsi Colorati

E' uscito il nuovo progetto.. apro questo thread per consultazioni e suggerimenti :approved:


Posted by gicagi on 04-09-2008 13:44:

non riesco a trovare il progetto...sia sul sito di fiore che su quello di aguzz non c'è...


Posted by Fenix on 04-09-2008 14:34:

é qui:

http://homes.dsi.unimi.it/~aguzzoli/algo.htm

(sotto l'avviso)


Posted by GiKappa on 04-09-2008 15:19:

ci ho dato un'occhiata oggi. mi è venuto un dubbio sui percorsi da partenza a destinazione.

è obbligatorio che un agente abbia almeno un colore diverso dal bianco nel suo percorso? perchè in alcuni esempi il percorso avrebbe costo zero se si aggirasse il "blocco" di celle colorate per arrivare a destinazione.

ho scritto anche ad aguzzoli, ma aspetto anche le vostre opinioni!


Posted by GiKappa on 04-09-2008 16:15:

il prof mi ha risposto dicendo che:

I percorsi potrebbero anche essere composti solo
da caselle bianche.

però così alcuni degli esempi che ha fatto non hanno il costo minimo, come ad esempio:

p carlo 10 3 -1 0

potrebbe fare il giro di caselle bianche avendo costo 0!

voi che mi sapete dire a riguardo?


Posted by delleroby on 04-09-2008 17:42:

non ho controllato effettivamente se è possibile,
però dalla parola "aggirare" mi sembra che tu passi intorno a un blocco.
quindi nn sò se l'hai notato o no però una volta che fai una mossa verso est nn puoi più andare ad ovest e viceversa, e vale anche tra nord e sud..


Posted by GiKappa on 04-09-2008 18:23:

ah, ma quindi se decido di andare a est una volta non posso più andare a ovest per tutto il percorso?


Posted by Fenix on 04-09-2008 20:10:

exactly! ^^

3. Se alfa effettua una mossa in direzione Dir passando da una cella alla successiva, allora alfa non potrà
più effettuare mosse in direzione opposta a Dir.
Ad esempio, se a un certo punto alfa si muove verso ovest, non potrà più muoversi verso est.


Posted by dex on 05-09-2008 14:32:

ciao a tutti non riesco a capire una cosa:
se ho la relazione L e B dove:

L = { (verde,rosso) (rosso,blu) }
B = { (blu,giallo) }

se devo trovare un percorso per L, le celle di colore giallo vanno bene ("transitivamente" appartengono alla relazione)? perchè in teoria rosso->blu->giallo

e poi qualcuno ha già pensato come realizzare effettivamente colori e relazioni? se sì secondo voi quali strutture si adattano meglio?


Posted by darkshadow on 05-09-2008 14:59:

 
Ciao!

le relazioni tra i colori vi conviene implementarla mediante un grafo.
In questo modo se dovete cercare un percorso, vi basta controllare se nel grafo esiste un cammino che vi porta da un certo colore ad un altro.


DS.

__________________
by Ð@rk§h@ÐØw


Posted by of_stronglion on 05-09-2008 15:23:

Ragazzi ma qualcuno mi sa spiegare perchè nell'esempio di paggina 3 non esiste un cammino da (0,3) a (8,2)???


Posted by mostrielo on 05-09-2008 15:51:

Esempio 2. Non esiste un percorso da (0,3) a (8,2) perchè:
da (7, 2) non si può arrivare perché è Rosso; da (8, 3) non si può arrivare perché bisognerebbe passare da (3, 3) che è Rosso.


Posted by of_stronglion on 05-09-2008 16:25:

hai ragione...grazie!


Posted by Fenix on 05-09-2008 17:35:

è meglio un albero rb o un grafo per la struttura?


Posted by GiKappa on 05-09-2008 19:24:

Originally posted by darkshadow
 
Ciao!

le relazioni tra i colori vi conviene implementarla mediante un grafo.
In questo modo se dovete cercare un percorso, vi basta controllare se nel grafo esiste un cammino che vi porta da un certo colore ad un altro.


DS.


si, anche io pensavo a un grafo (o un rb albero di cui conosco già qualcosa in c) per implementare le relazioni fra i colori e uno per gli agenti.

avete già qualche idea per trovare il cammino migliore?


x dex: no, non vanno bene perchè sono due relazioni diverse e quindi L non può andare sul giallo. se si usasse il comando u B L allora si, perchè alla relazione L si aggiungerebbe anche (blu, giallo)


Posted by Gehur on 06-09-2008 11:02:

ragazzi ho alcune domande da fare:

1 - nel primo esempio a pagina 3, non ho ben capito come funziona il calcolo del cammino per l'agente senza relazioni di colori..
perchè non esiste un cammino da (1; 0) a (0; 4)??
il primo esite perchè si parte con V e si cammina solo sui V???

2 - sapere che i colori sono equivalenti serve per passare da un colore all'altro vero??

3 - nella funzione aggiungi se scrivo: a gianni blu rosa, ma il rosa non è presente nella tabella dei colori, come bisogna comportarsi??

4 - nella relazione Ra risultante dalla funzione unione Ra Rb ci possono essere 2 coppie di colori uguali (una gia presente in Ra e una aggiunta da Rb)???

per ora ho finito..se mi chiarite questi punti posso iniziare a pensare alla struttura dati da usare


Posted by delleroby on 08-09-2008 17:32:

come trovare il percorso migliore??

Ciao ragazzi,
non ho proprio idea di come fare a trovare il percorso migliore..
voi avete qlc idea?
avevo pensato di fare il controllo passo per passo,
ma mi sono accorto che non và bene perchè in caso di due vie di uguali colori potrebbe non essere la prossima la cella di colore diverso ma quella dopo ancora o dopo ancora mentre se avesse scelto l'altra via di uguale colore magari non doveva più cambiarne...
voi come fate?


Posted by mostrielo on 08-09-2008 18:25:

Qualcuno ha idea di come realizzare l'UNIONE?


Posted by delleroby on 08-09-2008 19:15:

Perchè utilizzi l'unione?


Posted by Gehur on 08-09-2008 19:53:

....l'unione è una funzione da implementare, il testo va letto

piuttosto nessuno che mi può rispondere??


Posted by delleroby on 08-09-2008 20:05:

Si scusa pensavo parlassi di strutture non del testo.
Me ne sn accorto dopo rileggiendo il testo che stavi parlando delle relazioni...
Io le relazioni le implemento in un modo mio che secondo me è poco elegante. Con una matrice di adiacenza. Quindi per fare un unione faccio una semplice unione di liste.
Però non ho ancora idea di come fare a pensare al percorso "intelligentemente" migliore


Posted by af689206 on 08-09-2008 21:10:

Post delucidazioni

Ho letto la dispensa di aguzzoli ma nn mi è per nulla chiara....:?

spero di non essere l'unico....

come la implementiamo.....

qualcuno mi da una spiegazione esaustiva delle specifiche.....

o chiedo troppo....

ciao

e

grazie


Posted by mostrielo on 09-09-2008 09:00:

Per Gehur:
Non esiste un cammino da (1; 0) a (0; 4) perchè bisognerebbe passare da (1, 1) o da (0, 1) e l'agente alfa non riconosce il blu.
Il primo cammino esiste perchè passa per celle dello stesso colore.


Posted by Gehur on 09-09-2008 12:13:

ok grazie per il chiarimento..

per le altre domande nessuno??

una curiosità, qualcuno implementa le strutture tramite alberi??


Posted by darkshadow on 09-09-2008 13:39:

Originally posted by mostrielo
Per Gehur:
Non esiste un cammino da (1; 0) a (0; 4) perchè bisognerebbe passare da (1, 1) o da (0, 1) e l'agente alfa non riconosce il blu.
Il primo cammino esiste perchè passa per celle dello stesso colore.



allora scusa come mai esiste il cammino che va da (1; 0) a (0; 3)??
In questo caso per i blu ci passa. vedi (0; 1), (0; 2), (0; 3)

__________________
by Ð@rk§h@ÐØw


Posted by mostrielo on 09-09-2008 13:57:

Il cammino da (1; 0) a (0; 3) esiste perché si passa da (0, 0) che è di colore bianco.
Se almeno una delle due celle è bianca la mossa è ammessa.


Posted by darkshadow on 09-09-2008 14:06:

Originally posted by mostrielo
Il cammino da (1; 0) a (0; 3) esiste perché si passa da (0, 0) che è di colore bianco.
Se almeno una delle due celle è bianca la mossa è ammessa.


ma anche per andare da (1, 0) a (0, 4) posso passare da (0, 0) e quindi come dici te la mossa è valida.

Non ho capito bene quale criterio usa per le mosse.

__________________
by Ð@rk§h@ÐØw


Posted by mostrielo on 09-09-2008 14:58:

ma non puoi andare da (0, 3) a (0, 4) perché passeresti da B a V che sono diversi e non equivalenti per l'agente alfa


Posted by darkshadow on 09-09-2008 15:01:

 
quindi vediamo se ho capito.

la mossa da (0, 3) a (0, 4) sarebbe valida se ci fosse tra le due celle una cella di colore bianco??

__________________
by Ð@rk§h@ÐØw


Posted by Gehur on 09-09-2008 20:21:

vediamo se ho capito

nel caso assenza di relazioni colore, il cammino si può calcolare solo se ci si muove o su caselle dello stesso colore della casella inizale oppure su caselle bianche


Posted by gicagi on 09-09-2008 20:26:

esatto...io l'ho inteso così...


Posted by Gehur on 10-09-2008 08:35:

bene, adesso mi servirebbero delle dritte sul codice..

mi sono scaricato lo gcc-zip da 30mb circa..
dove posso trovare esempi di codice C per la creazione di grafi e per la creazione del main per gestire l'input da tastiera

mi sembra di ricordare che qualcosa sia presente da qualche parte..

insomma da dove parto per sto bendetto linguaggio C??


Posted by khelidan on 10-09-2008 10:38:

con un libro sul C,con le dispense sul sito di aguzzoli,con i vecchi progetti che trovi nell'area filez...per il grafo io nello scorso progetto lo implementato mediante un albero red black e liste d'adiacenza

__________________
Khelidan


Posted by Gehur on 10-09-2008 10:43:

dici red black + liste, mmm ci avevo iniziato a pensare ma non mi era venuto in mente di usare alberi, le liste ok ma alberi..

be ci ripenso su, grazie per ora

ma le dispense dove sono?, io non le ho mica viste..


Posted by Bloom on 10-09-2008 11:18:

Ciao a tutti,io ho un piccolo problema con l'operazione unione.
Ho utilizzato un grafo dei colori+ liste di adiacenza.
Quando ti chiedere di aggiungere le coppie dei colori come lo fate?
esempio:
u p1 p2
pseudocodice:
//Inserisco tutti i nodi di p2->colori in p1->colori se non presenti
while(p2->colore{
if(findColore(p1->colore,p2->colore)==NULL)
inserisco in p1->colore p2->colore
p2->colore->next;
}
//aggiorno liste di adiacenza di p1->colore

Quello che non riesco a fare è aggiornare le liste.Come faccio a presevare le liste ?
Come può essere fatto?


Posted by Gehur on 10-09-2008 12:15:

sinceramente non ho capito il problema, forse perchè non ho anzora iniziato col codice..

tu inserisci i colori mancanti da p2 a p1 e poi cosa non ti torna scusa?? se riesci a mettere i nuovi colori vuol dire che aggiorni la lista no??
percaso mi puoi una risposta a queste domande:

3 - nella funzione aggiungi se scrivo: a gianni blu rosa, ma il rosa non è presente nella tabella dei colori, come bisogna comportarsi??

4 - nella relazione Ra risultante dalla funzione unione Ra Rb ci possono essere 2 coppie di colori uguali (una gia presente in Ra e una aggiunta da Rb)???


Posted by Bloom on 10-09-2008 12:28:

1 -non vengono aggiornatele liste di adiacenza.
2vuol dire che aggiungi un nodo al grafo,ma le liste di adiacenza degli altri nodi non sono aggiornate ,non sanno che hanno un nuovo vicino.
3-aggiungo rosa nel grafo e poi creo le adiacenze
4-Non penso,devi controllare prima,almeno io l'ho inteso cosi


Posted by darkshadow on 10-09-2008 12:29:

Originally posted by Gehur
sinceramente non ho capito il problema, forse perchè non ho anzora iniziato col codice..

tu inserisci i colori mancanti da p2 a p1 e poi cosa non ti torna scusa?? se riesci a mettere i nuovi colori vuol dire che aggiorni la lista no??
percaso mi puoi una risposta a queste domande:

3 - nella funzione aggiungi se scrivo: a gianni blu rosa, ma il rosa non è presente nella tabella dei colori, come bisogna comportarsi??

4 - nella relazione Ra risultante dalla funzione unione Ra Rb ci possono essere 2 coppie di colori uguali (una gia presente in Ra e una aggiunta da Rb)???



3 - la inserisci anche se nella tabella non c'è. Di fatto agenti e tabella sono indipendenti.

4 - Direi proprio di no anche perchè a cosa ti servirebbe una copia che hai già nella relazione.

__________________
by Ð@rk§h@ÐØw


Posted by khelidan on 10-09-2008 12:42:

Originally posted by Gehur
dici red black + liste, mmm ci avevo iniziato a pensare ma non mi era venuto in mente di usare alberi, le liste ok ma alberi..

be ci ripenso su, grazie per ora

ma le dispense dove sono?, io non le ho mica viste..


in effetti aguzzoli le ha tolte da sito,puoi prendere quelle fatte da Fiorentini,anche se personalmente le considerò un po meno chiare:

http://homes.dsi.unimi.it/~fiorenti/labalg07.html

la questione degli alberi,si tratta di efficienza un grafo fatto con rb + liste è molto più efficiente di una lista di liste

__________________
Khelidan


Posted by Gehur on 10-09-2008 12:49:

ci lavorerò su....

allora prima di tutto, qualcuno sta usando alberi nel progetto??; è essenziale usarli??

io ho un'implementazione abbastanza sicura usando liste, con gli alberi avrei dei dubbi; per esempio se creo un albero binario di ricerca con i nomi degli agenti, è sensato fare un controllo sulla lunghezza dei nomi per vedere se è + piccolo o + grande(quindi figlio sinistro o destro)??

e cosa più importante, la tabella dei colori come la implementate, io avevo pensato alle liste, ma le operazioni di inserimento sono leggermente macchinose..percaso si può fare con un albero??

poi non ho capito la frase del testo che sconsiglia l'uso della matrice, non va bene perchè può esistere una matrice 100x100 con 1 solo colore dentro o ci sono anche altre motivazioni??

a ragazzi grazie per la collaborazione


Posted by Fenix on 10-09-2008 17:32:

Qualcuno sa come si fa a rintracciare il prof Aguzzoli????!!! dato che le mail manco le legge e nell'orario di ricevimento non si presenta!! ke nervi!


Posted by khelidan on 11-09-2008 11:32:

Originally posted by Gehur
ci lavorerò su....

allora prima di tutto, qualcuno sta usando alberi nel progetto??; è essenziale usarli??

io ho un'implementazione abbastanza sicura usando liste, con gli alberi avrei dei dubbi; per esempio se creo un albero binario di ricerca con i nomi degli agenti, è sensato fare un controllo sulla lunghezza dei nomi per vedere se è + piccolo o + grande(quindi figlio sinistro o destro)??

e cosa più importante, la tabella dei colori come la implementate, io avevo pensato alle liste, ma le operazioni di inserimento sono leggermente macchinose..percaso si può fare con un albero??

poi non ho capito la frase del testo che sconsiglia l'uso della matrice, non va bene perchè può esistere una matrice 100x100 con 1 solo colore dentro o ci sono anche altre motivazioni??

a ragazzi grazie per la collaborazione


perchè non si sa a priori quando sarà grosso il tuo piano,inoltre può avere una cella colorata in (0,0) e una in (1000,1000) e il resto della matrice che te ne fai?

per quanto riguarda gli alberi ti ripeto si tratta di efficienza,dato che è un esame di algoritmi e strutture dati e non di semplice C,converrai con me che se hai un milione di celle fare una ricerca in O(logn) oppure in O(n) c'è una bella differenza

__________________
Khelidan


Posted by khelidan on 11-09-2008 11:33:

Originally posted by Fenix
Qualcuno sa come si fa a rintracciare il prof Aguzzoli????!!! dato che le mail manco le legge e nell'orario di ricevimento non si presenta!! ke nervi!


sicuro di aver la mail giusta?a me ha risposto pure di sabato sera inoltre se vai da lui anche fuori dal ricevimento ti riceve lo stesso!

__________________
Khelidan


Posted by Fenix on 11-09-2008 11:45:

Thumbs up

Si mi ha risposto questa mattina! è ad un convengo a siena torna sett proxx


Posted by Gehur on 11-09-2008 13:41:

Originally posted by khelidan
perchè non si sa a priori quando sarà grosso il tuo piano,inoltre può avere una cella colorata in (0,0) e una in (1000,1000) e il resto della matrice che te ne fai?

per quanto riguarda gli alberi ti ripeto si tratta di efficienza,dato che è un esame di algoritmi e strutture dati e non di semplice C,converrai con me che se hai un milione di celle fare una ricerca in O(logn) oppure in O(n) c'è una bella differenza


e lo so, lo so, il fatto è che non ho ancora trovato un implementazione adeguata usando gli alberi, grazie per ora


Posted by darkshadow on 11-09-2008 14:42:

 
qualcuno ha già fatto la parte che riguarda il percorso ottimo?

__________________
by Ð@rk§h@ÐØw


Posted by Giumarini on 11-09-2008 21:57:

Ciao a tutti.
Una domandina...qualcuno mi può spiegare perchè nell'output di esempio, al comando:

p anna 0 0 7 3
il programma risponde "Non esiste un percorso"??
Probabilmente ho sbagliato a riempire il grafico....però non mi sembra proprio...a nessuno risulta strano come a me??
Grazie mille a tutti


Posted by Monska on 12-09-2008 14:01:

Io il tutto l'ho implementato in codesta guisa:
tabellone => matrice allocata dinamicamente
coppie_colori => lista dinamica contenente i due colori
agente => struttura contenente il nome e la la lista coppie_colori

Ora sono riuscito a generare un albero che partendo dall'inizio mi genera tutti i possibili cammini. Sono in ballo per eliminare dall'albero i rami che non portano a destinazione. dopodichè stenderò l'algoritmo per il percorso minimo, e quelli di fetch per i vari input.
Pensavo di usare Dijkstra ma occorrono i grafi e ormai ho realizzato l'albero...

Avrei anche io una domandina...
Se le mie coppie colori sono:
{ (giallo,rosso) ; (viola,rosso) }
posso dire giallo <=> viola o le coppie sono anche ordinate e quindi varrebbe se e solo se
{ (giallo,rosso) ; (rosso,viola) }

Ho mandato anche una mail al prof ma non ho ancora avuto risposta.
Fatemi sapere.

Monska

__________________
Che tu possa avere sempre il vento in poppa,
che il sole ti risplenda in viso,
e che il vento del destino ti porti in alto a danzare con le stelle.


Posted by Gehur on 12-09-2008 14:43:

cavolo bella domanda, è interessante perchè io avevo pensato di non salvarmi le coppie colore ma solamente i colori differenti

per dire ho un utente ZZ con la relazione (giallo,verde); aggiungo una nuova relazione (verde,azzurro), io avro' nella lista delle relazioni dell'utente ZZ soltanto (giallo,verde,azzurro) non salvati a coppie..

Giumarini mi dispiace ma io non ti posso aiutare per ora..


Posted by khelidan on 12-09-2008 16:01:

io non credo proprio siano ordinate

__________________
Khelidan


Posted by Giumarini on 12-09-2008 19:14:

Altra piccola domandina (che tanto domandina non è, a dire il vero :oops:).
Premetto che ho preso in mano il progetto ieri, quindi sono ancora decisamente in alto mare.
Io stavo pensando di usare un grafo per implementare le relazioni tra colori per ogni agente, e per il piano cartesiano (in realtà l'insieme di punti) usare un albero rb.
Solo una cosa non mi è affatto chiara....come si può, con questa soluzione, riuscire a trovare un percorso di costo ottimo tra due punti? Non vedo come sia possibile, partendo da un albero rb....qualcuno che abbia già affrontato il problema??
Grazie per le delucidazioni!


Posted by Monska on 12-09-2008 19:26:

Allora io ho fatto in questo modo:
dalla matrice "scacchiera" sto passando a un albero con tutti i percorsi, dall'albero tolgo tutti i rami "secchi" e quindi ho un albero con solo i percorsi che mi portano alla soluzione.
Calcolo i costi di tutte le soluzioni e scelgo la minima.
So che "algoritmicamente" parlando non è la cosa più giusta ma per come ho implementato fino a ora devo fare così. Non posso rifare tutto!!!

Ho un'altra domandina...:
{ (giallo,verde) ; (verde,viola) ; (viola,rosso) }
giallo <=>rosso?????
cioè posso fare infiniti passaggi per andare dal giallo al rosso oppure deve essere una cosa "diretta" quindi varrebbe solo:
giallo<=>viola
verde<=>rosso

Grazie mille.

Monska

__________________
Che tu possa avere sempre il vento in poppa,
che il sole ti risplenda in viso,
e che il vento del destino ti porti in alto a danzare con le stelle.


Posted by Giumarini on 12-09-2008 20:38:

Originally posted by Monska

Ho domandina...:
{ (giallo,verde) ; (verde,viola) ; (viola,rosso) }
giallo <=>rosso?????
cioè posso fare infiniti passaggi per andare dal giallo al rosso oppure deve essere una cosa "diretta" quindi varrebbe solo:
giallo<=>viola
verde<=>rosso

Grazie mille.

Monska


Io ti posso solo dire come l'ho personalmente interpretato.
Secondo me non c'e un 'senso' nella relazione, quindi nel caso ke fai tu varrebbero tutte le seguenti relazioni:
giallo=rosso,giallo=viola,giallo=verde

magari mi sbaglio, ma in fondo credo che quello che conti e' implementare in maniera ottimale cio che hai interpretato....se poi spieghi le tue scelte in sede d'esame, non credo ci siano problemi.
Spero di ricevere delucidazioni sull'argomento del precedente post...:cry:
Ciao a tutti


Posted by Monska on 12-09-2008 22:42:

Allora a me il prof ha detto che non c'è senso nella lista. Quindi
{ (giallo,verde) ; (viola,verde) }
giallo <=> viola

Però non ho ancora avuto delucidazione sui passaggi multipli quindi quelli della domanda

Originally posted by Monska
Ho un'altra domandina...:
{ (giallo,verde) ; (verde,viola) ; (viola,rosso) }
giallo <=>rosso?????
cioè posso fare infiniti passaggi per andare dal giallo al rosso


Io sto reimplementando la lista dei colori perchè per come l'ho fatta per ora non funziona per niente!!!
La implementerò in modo da poter fare tutti i passaggi che voglio e così rimarrà perchè da come ho intenzione di implementare struttura e funzioni varie così deve rimanere!!!

Altra domandina:
ma voi state usando schemi già fatti, algoritmi precostruiti o strutture ben determinate?
Io sto implementando tutto con strutture e schemi completamente inventati da me, non mi sto basando su nulla di precostituito, ma da quanto leggevo sopra mi sembrava che ci fosse qualche tipologia ben definita da usare.
In senso più stretto volevo sapere se sono completamente libero di usare ciò che voglio o devo per forza usare strutture dati di determinati tipi???
Es.: la "scacchiera" deve essere per forza un grafo o un albero o posso decidere di usare una matrice? Per trovare il percorso ottimo devo per forza usare Dijkstra o posso inventarmi un algoritmo tutto mio?

Monska

__________________
Che tu possa avere sempre il vento in poppa,
che il sole ti risplenda in viso,
e che il vento del destino ti porti in alto a danzare con le stelle.


Posted by darkshadow on 12-09-2008 22:49:

errori su output nel test

 
ciao.

allora ho mandato in esecuzione il programma e l'output che ottengo è il seguente:

Non esiste percorso da (0,0) a (2,0) per anna
Non esiste percorso da (0,0) a (2,0) per anna
Non esiste percorso da (0,0) a (2,0) per anna
(2
0, 0
1, 0
2, 0
)

(2
0, 3
1, 3
2, 3
3, 3
4, 3
4, 2
5, 2
5, 1
5, 0
5, -1
)

Non esiste percorso da (0,3) a (5,-1) per bruno

(3
0, 3
1, 3
2, 3
3, 3
3, 2
3, 1
3, 0
3, -1
4, -1
5, -1
)

anna: giallo = rosso
bruno: giallo != rosso

(5                  1° qui il testo dice che Non esiste percorso da (0,0) a (7,3) per anna
0, 0
0, 1
0, 2
0, 3
1, 3
2, 3
3, 3
4, 3
5, 3
6, 3
7, 3
)


Non esiste percorso da (8,-2) a (0,3) per carlo                  2° qui invece il testo dice che esiste un percorso.

carlo: rosso = verde
dario: rosso != verde

(3
8, -2
7, -2
6, -2
5, -2
4, -2
3, -2
2, -2
1, -2
0, -2
0, -1
0, 0
0, 1
0, 2
0, 3
)

(4
10, 3
9, 3
8, 3
7, 3
6, 3
5, 3
4, 3
3, 3
2, 3
1, 3
0, 3
-1, 3
-1, 2
-1, 1
-1, 0
)

Non esiste percorso da (1,1) a (3,-1) per dario                  3° anche qui dice invece che esiste un percorso.


 

mentre quello sul testo è il seguente:

Non esiste percorso da (0,0) a (2,0) per anna
Non esiste percorso da (0,0) a (2,0) per anna
Non esiste percorso da (0,0) a (2,0) per anna

( 2
0, 0
1, 0
2, 0
)

( 2
0, 3
1, 3
2, 3
3, 3
3, 2
3, 1
3, 0
3, -1
4, -1
5, -1
)

Non esiste percorso da (0,3) a (5,-1) per bruno

( 3
0, 3
1, 3
2, 3
3, 3
3, 2
3, 1
3, 0
3, -1
4, -1
5, -1
)

anna: giallo = rosso
bruno: giallo != rosso

Non esiste percorso da (0,0) a (7,3) per anna                 

( 5                 
8, -2
8, -1
8, 0
8, 1
8, 2
7, 2
6, 2
6, 3
5, 3
4, 3
3, 3
2, 3
1, 3
0, 3
)


carlo: rosso = verde
dario: rosso != verde

( 3
8, -2
7, -2
6, -2
5, -2
4, -2
3, -2
2, -2
1, -2
0, -2
0, -1
0, 0
0, 1
0, 2
0, 3
)

( 4
10, 3
9, 3
8, 3
7, 3
6, 3
5, 3
4, 3
3, 3
2, 3
1, 3
0, 3
-1, 3
-1, 2
-1, 1
-1, 0
)

( 1                 
1, 1
2, 1
3, 1
3, 0
3, -1
)



quindi alla fine sono solo 3 i risultati che sono diversi.

ora. per quanto riguarda il punto 1° il cammino esiste. ho fatto il controllo su carta. cosi ho risposto anche a Giumarini che aveva questo dubbio.

qualcuno di voi può controllare se vi viene anche a voi il mio stesso output.


Grazie.



DS.

__________________
by Ð@rk§h@ÐØw


Posted by Gehur on 13-09-2008 08:20:

Monska usi le strutture e gli algoritmi che vuoi..

se vuoi implementare con una matrice usi la matrice, ricordati però che l'uso di strutture dati poco efficcienti incide (non troppo) sul voto

è scritto anche sulla prima dispensa del prof aguzzoli..


Consigli per il progetto d’esame

-i temi riguardano problemi computazionalmente difficili: l’uso improprio delle strutture dati comporta un voto basso
- l’interfaccia utente e' quasi nulla
- la portabilita' e un fattore importante
- l’annesso tecnico e' importante
- i commenti al codice sono importanti


Posted by khelidan on 13-09-2008 13:21:

se si usa una matrice non so se dia il progetto sufficiente,è la cosa peggiore che si possa fare

__________________
Khelidan


Posted by Gehur on 13-09-2008 14:17:

ragazzi ho iniziato col codice, sto facendo la funzione input ed ho problemi con la lettura del contenuto del file di testo contenente i colori

apro il file con fopen e poi per leggere il contenuto come diavolo faccio, non riesco, a volte addirittura mi dà errore di scrittura in memoria e si blocca tutto..

voi come fate a leggere correttamente il contenuto del file..


Posted by Monska on 13-09-2008 15:32:

Perchè? È la cosa più facile usare una matrice! Alla fine la alloco dinamicamente quindi zero spreco e massima accessibilità ai dati!!!
Vabbè comunque se è così darò una aggiustatina al codice!

Monska

__________________
Che tu possa avere sempre il vento in poppa,
che il sole ti risplenda in viso,
e che il vento del destino ti porti in alto a danzare con le stelle.


Posted by gicagi on 13-09-2008 16:19:

Se leggi bene il testo sconsiglia lui stesso l'uso di una matrice...


Posted by khelidan on 13-09-2008 17:21:

Originally posted by Monska
Perchè? È la cosa più facile usare una matrice! Alla fine la alloco dinamicamente quindi zero spreco e massima accessibilità ai dati!!!
Vabbè comunque se è così darò una aggiustatina al codice!

Monska


Ah si?E se hai una cella in (0,0) e una in (1000,1000)?Sempre zero spreco di spazio?

__________________
Khelidan


Posted by Alex86mi on 13-09-2008 21:17:

Ciao!
Alla prima chiamata dell'istruzione "p bruno 0 3 5 -1" non esiste il seguente
percorso?

(2
0, 3
1, 3
2, 3
3, 3
3, 2
3, 1
3, 0
3, -1
4, -1
5, -1
)

da (3,2) che è bianca a (3,1) che è gialla a quanto ho capito può passare
xchè almeno una delle due celle è bianca (incremento quindi a 1 il costo)..da (3,1) a (3,0) passo perchè sono in relazione
dato che hanno lo stesso colore, stesso discorso come il primo per il passaggio da (3,0) a (3, -1)..in questo passaggio
vado a costo = 2..poi continuo sulle bianche fino alla cella (5, -1)

fatemi sapere..


Posted by Alex86mi on 13-09-2008 21:24:

No tutto ok avevo saltato la lettura di un risultato dal pdf del prof :D


Posted by Giumarini on 13-09-2008 21:34:

X khelidan:
ho visto che tu in alcuni post precedenti parlavi di "grafi implementati con alberi rb e liste di adiacenza"....anch'io sto cercando di usare gli alberi rb, ma non capisco perchè dici:

...un grafo fatto con rb + liste è molto più efficiente...


Io ho pensato di interpretare il piano cartesiano come un insieme di punti che appunto inserisco nell'albero rb usando una relazione ">" rispetto alle coordinate....però ancora ho il dubbio di come, sucessivamente potrò trovare il percorso ottimo.
Il fatto che tu parli di "grafo", mi fa pensare che la tua soluzione sia molto più portata al trovare un percorso che non la mia....
Se mi dessi delucidazioni a riguardo te ne sarei estremamente grato....
Ciao e grazie!


Posted by khelidan on 14-09-2008 09:48:

Originally posted by Giumarini
X khelidan:
ho visto che tu in alcuni post precedenti parlavi di "grafi implementati con alberi rb e liste di adiacenza"....anch'io sto cercando di usare gli alberi rb, ma non capisco perchè dici:



Io ho pensato di interpretare il piano cartesiano come un insieme di punti che appunto inserisco nell'albero rb usando una relazione ">" rispetto alle coordinate....però ancora ho il dubbio di come, sucessivamente potrò trovare il percorso ottimo.
Il fatto che tu parli di "grafo", mi fa pensare che la tua soluzione sia molto più portata al trovare un percorso che non la mia....
Se mi dessi delucidazioni a riguardo te ne sarei estremamente grato....
Ciao e grazie!


Premetto che io facevo un discorso generale,non l'ho applicato a questo progetto( io l'esame lo già fatto,sto solo dando una mano ed un amico),sul libro ti spiegano come implementare un grafo mediante liste di liste,ma è la stessa cosa con un rb e liste,il concetto qual'è,utilizzi l'albero come stai facendo tu,però per ogni nodo utilizzi una o più liste le quali contengono dei puntatori ad altri nodi dell'albero che sono adiacenti,vicine come le vuoi chiamare al nodo in questione,ora questo è il concetto generale,al momento non ti so dire se sia la cosa più efficiente da fare qui,certo posso dire che usare la matrice è assolutamente sbagliato per i motivi di cui sopra,ma addirittura lo dice pure il prof nel pdf

__________________
Khelidan


Posted by carla86 on 14-09-2008 10:17:

Scusate la domanda ke magari può sembrare sciocca...
Ma non so proprio come fare per la stringa del colore e per il nome dell'agente.
Voi come fate? xke il testo dice ke deve essere una stringa arbitraria e nelle note di pagina 5 specifica di non usare costanti..
Grazie!!


Posted by Monska on 14-09-2008 10:31:

Si mi sono reso conto della cosa della matrice...non avevo capito bene quella nota!!!

Domanda stupida: qualcuno potrebbe farmi un elenco delle struttura dati e degli algoritmi studiati durante il corso?
Grazie mille.

__________________
Che tu possa avere sempre il vento in poppa,
che il sole ti risplenda in viso,
e che il vento del destino ti porti in alto a danzare con le stelle.


Posted by Gehur on 14-09-2008 10:45:

carla86:
io ho una lista di colori associata al nome dell'agente, per stringa arbitraria intende che non ci devono essere limiti sulla lunghezza del nome agente/colore

Monska:
le strutture sono liste, pile, stack, alberi e grafi implementate in varie maniere, gli algoritmi comprendo quelli di ordinamento, più
algoritmi per il cammino minimo per grafi, non ti ho scritto i nomi perchè sono complicatri da scrivere

ma tu stai facendo il progetto senza sapere un minimo della materia?? comunque per sapere di + ti conviene guardare il sito del prof (http://homes.dsi.unimi.it/~torelli/argomenti05.html) e il libro di testo..

piuttosto nessuno che mi da dritte su come leggere da un file, come cavolo posso prendere i parametri per la funzione input??


Posted by khelidan on 14-09-2008 17:29:

Originally posted by carla86
Scusate la domanda ke magari può sembrare sciocca...
Ma non so proprio come fare per la stringa del colore e per il nome dell'agente.
Voi come fate? xke il testo dice ke deve essere una stringa arbitraria e nelle note di pagina 5 specifica di non usare costanti..
Grazie!!


guarda nei vecchi progetti e cerca la funzione leggi_stringa,ormai è di dominio pubblico! ;) c'è anche nel mio in filez

__________________
Khelidan


Posted by khelidan on 14-09-2008 17:30:

Originally posted by Gehur

piuttosto nessuno che mi da dritte su come leggere da un file, come cavolo posso prendere i parametri per la funzione input??


idem per te cerca nei vecchi progetti,queste funzioni son sempre le stesse

__________________
Khelidan


Posted by Monska on 15-09-2008 01:52:

Originally posted by Gehur
Monska:
le strutture sono liste, pile, stack, alberi e grafi implementate in varie maniere, gli algoritmi comprendo quelli di ordinamento, più
algoritmi per il cammino minimo per grafi, non ti ho scritto i nomi perchè sono complicatri da scrivere

ma tu stai facendo il progetto senza sapere un minimo della materia?? comunque per sapere di + ti conviene guardare il sito del prof (http://homes.dsi.unimi.it/~torelli/argomenti05.html) e il libro di testo..

Non ho frequentato il corso però C lo uso da un po', quei tipi di strutture dati le conosco tutte, nel senso che saprei scrivere codice che le implementa, mentre per quanto riguarda gli algoritmi avevo visto Dijkstra in un corso di reti ma per gli altri, tipo ordinamento, uso la mia immaginazione!
Se qualcuno potesse darmi anche la lista degli algoritmi comunque sarei molto grato...

Monska

__________________
Che tu possa avere sempre il vento in poppa,
che il sole ti risplenda in viso,
e che il vento del destino ti porti in alto a danzare con le stelle.


Posted by GiKappa on 15-09-2008 15:13:

ciao ragazzi,
voi come avete implementato la funzione per le relazioni?

perchè secondo me bisognerebbe farla dinamica perchè aggiungendo relazioni se ne possono creare altre.

ad esempio:

l'agente uno ha come relazione "rosso, giallo"

eseguo il comando: a uno verde giallo

quindi aggiungo alle relazioni "verde, giallo", ma dovrei aggiungere anche "rosso, verde"

avete qualche idea?


Posted by Monska on 15-09-2008 18:17:

Io ho fatto in codesta guisa:
ho implementato una struttura composta dal colore e 2 puntatori,
e poi in pratica una lista dinamica di teste di altre liste conteneti i colori.
Da qui tiro fuori le mie relazioni!!!
Ora sono io sono in ballo con la creazione dei percorsi...

Monska

__________________
Che tu possa avere sempre il vento in poppa,
che il sole ti risplenda in viso,
e che il vento del destino ti porti in alto a danzare con le stelle.


Posted by delleroby on 16-09-2008 16:32:

Aiutooooo

Ragazzi mi sono incasinato su una cavolata incredibile....
come faccio a sapere se una lista è vuota???Vi faccio capire
ho usato una lista doppiamente puntata e questa condizione mi incasina tutto.....

if (nuovo->relazioni_colore == NULL)


potete aiutarmi???
cambiare ttt in liste unidirezionali è troppo lungo..
per favore aiuto.....


(ho sbagliato ad aprire un thread nuovo scusatemi)


Posted by Gehur on 19-09-2008 10:37:

ragqazzi, ma voi nella funzione UNIONE(gianni,alberto), se uno dei 2 nomi non esite , uscite senza fare nulla??


Posted by GiKappa on 19-09-2008 11:12:

io non considero il caso in cui uno dei due agenti non esista. alla fine il prof non ne parla nel testo, quindi si suppone che gli input siano inseriti sempre correttamente


Posted by Gehur on 19-09-2008 13:20:

intanto ho chiesto chiarimenti al prof, ma penso che sia un'implementazione libera, per dire io ho pensato di non eseguire nulla se uno dei due nomi manca..

altri pareri a riguardo??


Posted by Monska on 19-09-2008 15:04:

Anche io prendo per certo che tutti gli input siano fatti correttamente, ho messo dei controlli solo quando mi veniva in mente di farlo!
Se metti un nome che non esiste io stampo agente non trovato, come quando cerchi di calcolare un percorso per un agente inesistente, però se metti nell'input un file inesistente mi sa che vado in segmentation fault!!!

Monska

__________________
Che tu possa avere sempre il vento in poppa,
che il sole ti risplenda in viso,
e che il vento del destino ti porti in alto a danzare con le stelle.


Posted by gicagi on 19-09-2008 17:30:

in genere non bisogna fare dei controlli sulla correttezza dell'input.....se leggete bene il testo lo dice...


Posted by darkshadow on 22-09-2008 23:12:

Originally posted by Monska
Anche io prendo per certo che tutti gli input siano fatti correttamente, ho messo dei controlli solo quando mi veniva in mente di farlo!
Se metti un nome che non esiste io stampo agente non trovato, come quando cerchi di calcolare un percorso per un agente inesistente, però se metti nell'input un file inesistente mi sa che vado in segmentation fault!!!

Monska



io su questo starei attento anche perchè nel testo c'è un esempio in cui l'agente non esiste ma cmq il percorso ottimo esiste. Infatti se guardi nel testo c'è l'agente alfa che non ha relazioni e quindi è come se non esistesse ma i percorsi da una certa cella ad un altra ci sono lo stesso.

Ad ogni modo c'è qualcuno che ha già finito il progetto??

__________________
by Ð@rk§h@ÐØw


Posted by Monska on 23-09-2008 08:19:

Be penso che se un agente non esiste non possa nemmeno compiere percorsi, di conseguenza lascio così non sto a cambiare per sta cosa!

Monska

__________________
Che tu possa avere sempre il vento in poppa,
che il sole ti risplenda in viso,
e che il vento del destino ti porti in alto a danzare con le stelle.


Posted by darkshadow on 23-09-2008 08:40:

Originally posted by Monska
Be penso che se un agente non esiste non possa nemmeno compiere percorsi, di conseguenza lascio così non sto a cambiare per sta cosa!

Monska


non è vero!
Perchè se l'agente non esiste ma si sposta su celle dello stesso colore il percorso ottimo esiste.


DS.

__________________
by Ð@rk§h@ÐØw


Posted by khelidan on 23-09-2008 09:47:

Originally posted by darkshadow
non è vero!
Perchè se l'agente non esiste ma si sposta su celle dello stesso colore il percorso ottimo esiste.


DS.


Ma non è un controsenso,se non esiste come fa a muoversi?

__________________
Khelidan


Posted by darkshadow on 23-09-2008 09:53:

 

Si sposta se e solo se la cella in cui mi sposto è dello stesso colore oppure per celle diverse ma dove c'è di mezzo una cella bianca.

Come ho detto prima guardate l'esempio nel testo quello sull'agente alfa. Alfa non ha colori il che significa che non esiste eppure per alfa esistono percorsi per andare da una certa cella ad un altra.

__________________
by Ð@rk§h@ÐØw


Posted by khelidan on 23-09-2008 10:28:

ok,in effetti non si può dire che non esista,ma solo che non ha colori equivalenti

__________________
Khelidan


Posted by darkshadow on 23-09-2008 10:31:

 

cmq qualcuno è risucito a finire il progetto?? o a che punto siete??

__________________
by Ð@rk§h@ÐØw


Posted by Gehur on 23-09-2008 10:36:

io ci ho rinunciato, ero troppo stressato..


Posted by Monska on 23-09-2008 13:43:

Io sono dietro con il percorso ottimo...per il resto dovrebbe essere tutto ok

__________________
Che tu possa avere sempre il vento in poppa,
che il sole ti risplenda in viso,
e che il vento del destino ti porti in alto a danzare con le stelle.


Posted by darkshadow on 24-09-2008 22:17:

 

oggi è scaduto il tempo per la consegna. qualcuno ha finito il progetto??

__________________
by Ð@rk§h@ÐØw


Posted by GiKappa on 24-09-2008 23:14:

io non l'ho finito!

comunque la prossima settimana vorrei chiedere al prof un appello straordinario per ottobre-novembre per chi si vorrebbe laureare entro quest'anno accademico (in modo da avere un tentativo in più). voi ci stareste ad appoggiarmi?


Posted by Monska on 25-09-2008 08:49:

Io l'ho finito ma non funziona bene il calcolo del percorso!
Ho consegnato ieri la versione digitale e oggi quella cartacea.
Spero possa avere clemenza e mi faccia andare all'orale!
A presto e speriamo con buone nuove!

Monska

__________________
Che tu possa avere sempre il vento in poppa,
che il sole ti risplenda in viso,
e che il vento del destino ti porti in alto a danzare con le stelle.


Posted by Giumarini on 26-09-2008 10:54:

Originally posted by GiKappa
io non l'ho finito!

comunque la prossima settimana vorrei chiedere al prof un appello straordinario per ottobre-novembre per chi si vorrebbe laureare entro quest'anno accademico (in modo da avere un tentativo in più). voi ci stareste ad appoggiarmi?


Non sono tanto ottimista da pensare che farà un appello straordinario (con tanto di progetto e tutto)....però lo spero tanto, quindi chiaro che appoggierei l'idea!!
Ciaoo


Posted by FalParSi on 27-09-2008 15:17:

anch'io sarei mmmooollltttooo favorevole per un appello straordinario da qui a gennaio, ma dubito fortemente...:cry:
Vedremo lunedì...


Posted by delleroby on 27-09-2008 16:07:

Ragazzi per un'appello straordinario ci starei anche io...spero ci stia anche il prof....

speriamo....


Posted by Fenix on 27-09-2008 19:51:

Ma alla fine ki ha consegnato? nessuno??


Posted by jamez-hetfield on 29-09-2008 09:41:

Uei..nessuno ha news sul calendario orali?!


Posted by valterlimo on 30-09-2008 13:12:

sono usciti i calendari!


Posted by Monska on 30-09-2008 14:05:

Qualcuno sa darmi dritte sull'orale? Domande tipo o cose del genere?

Monska

__________________
Che tu possa avere sempre il vento in poppa,
che il sole ti risplenda in viso,
e che il vento del destino ti porti in alto a danzare con le stelle.


All times are GMT. The time now is 10:18.
Show all 98 posts from this thread on one page

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