Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente |
matematica:asd:asd_17:progetto_17 [08/06/2018 alle 17:03 (7 anni fa)] – Roberto Grossi | matematica:asd:asd_17:progetto_17 [06/12/2018 alle 18:54 (6 anni fa)] (versione attuale) – [Progetto 2] Roberto Grossi |
---|
===== Progetto di ASD, anno accademico 2017/18 ===== | ===== Progetto di ASD, anno accademico 2017/18 ===== |
| |
Questo progetto viene valutato in trentesimi e sostituisce l'esame scritto del corso o il seminario, e non necessita la presentazione del mini-progetto. Quest'anno sono disponibili due progetti su grafi, di cui ne va scelto uno. | Questo progetto sostituisce l'esame scritto del corso o il seminario, e non necessita la presentazione del mini-progetto. Quest'anno sono disponibili due progetti su grafi, di cui ne va scelto uno. |
| |
In entrambi i progetti, ciascun grafo di input è memorizzato in un file testuale nel seguente formato: la prima linea contiene il numero N di vertici del grafo e le N linee seguenti contengono ciascuna una coppia di interi I e D_I separati da uno spazio, a indicare che il vertice I ha grado D_I, dove I = 0, 1, 2, ..., N-1. Infine, le rimanenti linee contengono ciascuna una coppia di interi I e J separati da uno spazio, a indicare che l'arco (I,J) appartiene al grafo (ignorare i self-loop del tipo I I). | In entrambi i progetti, ciascun grafo di input è memorizzato in un file testuale nel seguente formato: la prima linea contiene due interi separati da uno spazio: il numero N di vertici e il numero M degli archi del grafo; le M linee successive contengono ciascuna una coppia di interi I e J separati da uno spazio, a indicare che l'arco (I,J) appartiene al grafo (ignorare i self-loop del tipo I I). |
| |
==== Progetto 1 ==== | ==== Progetto 1 ==== |
Questo progetto utilizza la rete NetInf come grafo (preso da http://snap.stanford.edu/netinf/), i cui nodi rappresentano siti web di informazione e gli archi sono orientati e indicano chi ha copiato chi. Inoltre sono disponibili i ranking di tali siti, forniti dal servizio Alexa di Amazon (https://www.alexa.com). Utilizzando queste informazioni, occorre definire una nozione di similitudine tra i nodi del grafo, utilizzando soltanto la struttura del grafo (nodi e archi) e il ranking dei nodi. Per verificare se il risultato ottenuto ha senso, si può successivamente guardare il nome del sito e l'eventuale contenuto sul web. | Questo progetto utilizza la rete NetInf come grafo (preso da http://snap.stanford.edu/netinf/), i cui nodi rappresentano siti web di informazione e gli archi sono orientati e indicano chi ha copiato chi. Inoltre sono disponibili i ranking di tali siti, forniti dal servizio Alexa di Amazon (https://www.alexa.com). Utilizzando queste informazioni, occorre definire una nozione di similitudine tra i nodi del grafo, utilizzando soltanto la struttura del grafo (nodi e archi) e il ranking dei nodi. Per verificare se il risultato ottenuto ha senso, si può successivamente guardare il nome del sito e l'eventuale contenuto sul web. |
| |
Dati da scaricare: {{ :matematica:asd:asd_17:netinf.zip |}} | * Dati da scaricare: {{ :matematica:asd:asd_17:netinf.zip |}} |
| * Lettura consigliata (scaricabile dal dominio unipi.it): https://www.sciencedirect.com/science/article/pii/S037843711000991X |
| |
| |
==== Progetto 2 ==== | ==== Progetto 2 ==== |
| |
ccc | Questo progetto utilizza reti sociali come grafi in input (presi da http://snap.stanford.edu/). Lo scopo è quello di definire una nozione di comunità (ossia un grafo coeso, in cui i nodi sono più collegati tra di loro che rispetto agli altri). Esempi noti sono le clique, k-plessi, quasi-clique, k-core, ecc. Definizioni originali introdotte nel progetto sono apprezzate. Scelta una nozione, occorre progettare e implementare un algoritmo efficiente per identificare tali comunità all'interno della rete. |
| |
| * Dati da scaricare: http://snap.stanford.edu/data/ |
| * Letture consigliate: https://arxiv.org/pdf/0906.0612.pdf, http://www.faculty.ucr.edu/~hanneman/nettext/C11_Cliques.html |
| |
| |
| ==== Conversione di formati ==== |
| |
| Per convertire il formato testuale dei grafi (essendocene diversi), è possibile usare il seguente comando |
| |
| <code>gutil convert input.nde output.oly</code> |
| |
| È possibile scaricarsi l'eseguibile (compilato per Linux e Mac OS X) oppure compilarsi il sorgente (da github dove c'è anche il readme): |
| |
| * {{ :matematica:asd:asd_17:gutil.zip |gutil eseguibile}} |
| * [[https://github.com/veluca93/graph_utils|gutil sorgente]] |