matematica:asd:asd_20:progetto_17
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
matematica:asd:asd_20:progetto_17 [13/05/2021 alle 15:24 (4 anni fa)] – Roberto Grossi | matematica:asd:asd_20:progetto_17 [21/05/2021 alle 11:41 (4 anni fa)] (versione attuale) – Roberto Grossi | ||
---|---|---|---|
Linea 9: | Linea 9: | ||
Il progetto si compone di varie fasi: | Il progetto si compone di varie fasi: | ||
- Scaricare e studiare il formato dei dati utilizzati da IMDB nel [[http:// | - Scaricare e studiare il formato dei dati utilizzati da IMDB nel [[http:// | ||
- | - [[https:// | + | - [[https:// |
- | - [[https:// | + | - [[https:// |
- | - [[https:// | + | - [[https:// |
- | - Costruire il suddetto grafo //G=(V,E)// utilizzando tali file. Utilizzare le liste di adiacenza per memorizzare il grafo (ed evitare problemi di eccessiva occupazione di memoria). | + | - Costruire |
+ | - Studiare la nozione di **centralità dei nodi nei grafi**, da applicare alle reti sociali, seguendo il materiale di [[http:// | ||
+ | - Progettare e implementare degli algoritmi per la centralità, | ||
- | Utilizza i dati dei trasporti locali della città di Parigi e chiede di realizzare un "city route planner", | ||
- | - utilizzare i dati per la città | + | //Nota sul formato dei file.// I file che terminano in *.tsv (tab separated values), sono utilizzati come formato semplice |
- | - scegliere | + | |
- | - prendere | + | |
- | - interrogare i dati con input: due qualunque fermate A e B, un orario P di partenza da A, un tempo limite T massimo di percorrenza; | + | |
- | - stimare | + | |
- | - elencare i mezzi per arrivare in orario (come stimato nel punto 5) | + | |
- | I dati per Parigi possono essere scaricati accedendo alle pagine di Microsoft Teams per il corso, nella sezione | + | < |
- | La descrizione dei campi utilizzati in tali dati si trova nel seguente articolo, a partire dalla pagina 10: [[https:// | + | A questo punto possiamo leggere ogni riga di '' |
- | + | ||
- | I dati forniti sono presi da un data set reale e non sono tutti strettamente necessari allo svolgimento del progetto. Occorre quindi procedere per gradi (che poi sono anche i criteri di valutazione del progetto): | + | |
- | + | ||
- | * definire chiaramente l’obiettivo | + | |
- | * capire quali sono i dati rilevanti per raggiungere l’obiettivo | + | |
- | * costruire un opportuno grafo basandosi su tali dati | + | |
- | * proporre e implementare una soluzione per il problema algoritmico su grafi che naturalmente emerge | + | |
- | + | ||
- | Si noti che il progetto va svolto modellando il problema come un problema su grafi (orientati o meno) in cui i nodi e gli archi sono etichettati. | + | |
- | + | ||
- | + | ||
- | //Nota.// Nella soluzione proposta è sempre possibile camminare tra due fermate, come alternativa agli altri mezzi, alla [[https:// | + | |
- | + | ||
- | //Nota sul formato dei file.// I file che terminano in *.csv (textual comma separated values), sono utilizzati come formato semplice di scambio: ogni riga testuale rappresenta un " | + | |
- | + | ||
- | < | + | |
- | + | ||
- | A questo punto possiamo leggere ogni riga di '' | + | |
< | < | ||
Linea 49: | Linea 27: | ||
string s; | string s; | ||
cin >> s; | cin >> s; | ||
- | string delimitatore = “;”; | + | string delimitatore = “\t”; |
string campo = s.substr(0, s.find(delimitatore)); | string campo = s.substr(0, s.find(delimitatore)); | ||
</ | </ | ||
+ | Per decomprimere i file *.tsv.gz lanciare il comando < | ||
+ | |||
+ | Per vedere le prime N linee di un file *.tsv (o le ultime N righe) lanciare il comando "head -N" (oppure "tail -N") seguito dal nome del file *.tsv, dove N è appunto il numero di righe che si vuole esaminare. Per vedere i singoli caratteri, i tab, ecc., lanciare il comando "od -c" seguito dal nome del file *.tsv. |
matematica/asd/asd_20/progetto_17.1620919470.txt.gz · Ultima modifica: 13/05/2021 alle 15:24 (4 anni fa) da Roberto Grossi