Re: Python in Complex Networks

Messaggioda vict85 » 16/04/2019, 17:53

Un grafo è solo una rappresentazione formale di un insieme di relazioni che intercorrono tra gli elementi di un qualche insieme.

Per esempio, in NDS la rete stradale è rappresentata come un grafo orientato i cui vertici sono i segmenti di strada (con una direzione) e gli archi sono le possibili connessioni tra quel segmento e gli altri segmenti "attigui"1. Il costo di un arco è il costo di percorrere il segmento e poi entrare nell'altro. Ma la rete stradale e il problema di trovare il miglior percorso tra due segmenti è un problema che nasce ben prima che le persone abbiano sentito il bisogno di costruire una mappa digitale della rete stradale. Nota inoltre che il problema di trovare il percorso minimo (e i problemi connessi) non è un problema "del grafo di una rete stradale" ma può essere posto su ogni grafo.

Suppongo tra l'altro che il termine rete biologica significhi qualcosa come "un grafo che descrive relazioni biologiche", quindi non penso che abbiano poi nulla di così speciale da richiedere implementazioni diverse (seppur i problemi su tali grafi possano essere meno comuni in altri campi).

Sinceramente mi sfugge la relazione tra grafo e immagine (un immagine è una matrice rettangolare i cui elementi sono "colori").

Prima di pensare a come caricare i dati dovresti ragionare sul determinare un insieme di elementi in relazioni tra di loro e un problema su tale insieme che può essere espresso usando la terminologia della teoria dei grafi, Senza questi due elementi non c'è nulla che tu possa risolvere usando un computer o su cui puoi avere supporto.

Se il problema è che tu non sai da dove partire a scegliere questo insieme e questo problema, allora ti invito a pensare a quale parte del corso ti è piaciuta di più e che vorresti approfondire.

Note

  1. Si, lo so, è un po' l'inverso di quello che uno farebbe intuitivamente.
vict85
Moderatore
Moderatore
 
Messaggio: 9629 di 19253
Iscritto il: 16/01/2008, 00:13
Località: Berlin

Re: Python in Complex Networks

Messaggioda mic_1 » 17/04/2019, 09:46

Ti ringrazio per la risposta ma forse non ci siamo capiti.
Non ti sto chiedendo di spiegarmi la teoria dei grafi.

Ora ipotizzando un sistema biologico che ha uno specifico grafo differente dalla rete stradale, io devo partire da un certo numero di nodi e di links/edge.

Queste info le ipotizzo io??? Le prendo da una immagine di un grafo scaricato dal web? o da un file sempre scaricato dal web???

Su cytoscape ad esempio ci sono immagini di grafi a cui è presente un nome per ogni nodo.
Considerato che ci sono grafi con dei nodi "HUB" che sono quelli con grado più alto a cui sono connessi altri nodi di grado inferiore.

Anche qui non ti sto chiedendo quale grafo usare per un det argomento ma solo come procedere.

Ne approfitto per chiederti una info pratica, di procedura informatica:
Una volta inizializzate le variabili devo associare un valore ai nodi? li ipotizzo un numero infinito? oppure assegno un valore di 1745 nodi?
Una rete non ha una fine... penso... ne ipotizzo io un numero?

oppure devo precedere inversamente realizzando io stessa la grafica del Grafo preso in esame per quel determinato argomento oltre ai calcolo delle varie proprietà di una rete? Magari con una interfaccia grafica che visualizzi i diversi grafici?

Grazie
mic_1
Junior Member
Junior Member
 
Messaggio: 118 di 386
Iscritto il: 11/01/2011, 18:11

Re: Python in Complex Networks

Messaggioda mic_1 » 17/04/2019, 10:17

Ho trovato tra le primissime pagine del materiale di studio questo (ovviamente non lo avevo preso in considerazione sbadatamente):

Esame finale
Elaborato (report con dati, algoritmi, riferimenti):
- compilativo (es. commento ad articoli)
- progetto originale (es. analisi e misure su network
empirici, ricostruzione di network da dati reali, modelli
dinamici su network)
Da soli o IN GRUPPO
(in python ed in ambito biologico)


Io sto chiedendo aiuto a voi. Mi potete aiutare a capire come procedere????
Ho provato a contattare il prof ma nulla.
Il progetto si può fare anche in gruppo ma ahimè non ho trovato nessuno per cui me la devo cavare da solo.
Voi potete darmi due dritte su come muovermi? Chiedo tanto?

Grazie mille
mic_1
Junior Member
Junior Member
 
Messaggio: 119 di 386
Iscritto il: 11/01/2011, 18:11

Re: Python in Complex Networks

Messaggioda apatriarca » 17/04/2019, 13:24

mic_1 ha scritto:Queste info le ipotizzo io??? Le prendo da una immagine di un grafo scaricato dal web? o da un file sempre scaricato dal web???

Su cytoscape ad esempio ci sono immagini di grafi a cui è presente un nome per ogni nodo.
Considerato che ci sono grafi con dei nodi "HUB" che sono quelli con grado più alto a cui sono connessi altri nodi di grado inferiore.

Anche qui non ti sto chiedendo quale grafo usare per un det argomento ma solo come procedere.

Cercare di ottenere i dati dall'immagine potrebbe essere difficile. È di solito più semplice partire da un qualche formato di più semplice lettura (qualcosa di testuale e possibilmente standard). Suppongo tu possa esportare i tuoi grafi da Cytoscape, ma esistono dati online che puoi liberamente scaricare. Guardando sul sito di Cytoscape sembra che IMEx possa essere un buon punto di partenza per scaricare dei dati. In questo caso caricheresti un grafo già esistente e basato su dati reali e faresti probabilmente delle analisi su di essi. Un'alternativa è quella di fare analisi su grafi generati casualmente seguendo una qualche distribuzione. In questo caso il numero di nodi è probabilmente deciso a priori e dovrai scrivere un algoritmo che genera questa rete.

Una volta importata o generata la tua rete avrai bisogno di decidere che cosa vuoi farci. Puoi implementare qualche algoritmo su di essa per ottenere un qualche tipo di informazione dal tuo grafo (c'è l'imbarazzo della scelta..) oppure simulare un qualche tipo di modello dinamico (in questo caso il grafo suppongo possa essere un po' più piccolo).

C'è un qualche algoritmo o articolo o argomento che ti è piaciuto particolarmente e che potresti voler approfondire nel tuo progetto?
apatriarca
Moderatore
Moderatore
 
Messaggio: 5212 di 10435
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: Python in Complex Networks

Messaggioda mic_1 » 18/04/2019, 17:05

Grazie per le dritte!

Allora proverò ad usare i file usati da cytoscape. Ho cmq ricontattaro il prof nella speranza mi risponda. :roll:

Secondo te, siccome vorrei fare un unico progetto per i due esami, e nell'esame di Biologia è richiesta la gestione dei Big Data, posso integrarlo nello studio delle reti complesse?

Ho idea di Big Data con SQL su Database in ambito gestionale :roll: ma con Python e in più le reti... Boh... Mettere insieme tutte queste informazioni... Diciamo che non l'ho mai fatto prima :-D :?
Bisogna in tal caso considerare più tipologie diverse di reti connesse tra loro?

Secondo te si può fare? Grazie!!!
mic_1
Junior Member
Junior Member
 
Messaggio: 120 di 386
Iscritto il: 11/01/2011, 18:11

Re: Python in Complex Networks

Messaggioda apatriarca » 18/04/2019, 18:13

Non credo definirei un database in ambito gestionale "Big Data". Ci possono essere certamente molti dati, ma se è qualcosa che puoi gestire su una singola Workstation (diciamo qualcosa tipo quella su cui sto lavorando adesso - 6 core Xeon con 92GB di RAM) l'uso del termine Big Data è solo marketing e in realtà si sta facendo la stessa cosa che si è fatta negli ultimi 30 anni.

Alcuni Big Data sono in realtà strutturati come reti. Un esempio potrebbero essere social network come Facebook o Twitter. Ma nel campo biologico è per esempio disponibile da qualche parte la rete di neuroni di un ratto (https://people.maths.ox.ac.uk/tillmann/ ... esLevi.pdf). Non ti saprei dire come ottenere quei dati ma a mio parere potrebbe essere un esempio che rientri in entrambi i corsi.
apatriarca
Moderatore
Moderatore
 
Messaggio: 5213 di 10435
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: Python in Complex Networks

Messaggioda mic_1 » 18/04/2019, 18:17

ok. grazie mille!!! e Perdona la mia ignoranza..
ora provo a dare un'occhiata al tuo link :)
mic_1
Junior Member
Junior Member
 
Messaggio: 121 di 386
Iscritto il: 11/01/2011, 18:11

Re: Python in Complex Networks

Messaggioda mic_1 » 23/04/2019, 12:41

apatriarca ha scritto:Non credo definirei un database in ambito gestionale "Big Data". Ci possono essere certamente molti dati, ma se è qualcosa che puoi gestire su una singola Workstation (diciamo qualcosa tipo quella su cui sto lavorando adesso - 6 core Xeon con 92GB di RAM) l'uso del termine Big Data è solo marketing e in realtà si sta facendo la stessa cosa che si è fatta negli ultimi 30 anni.

Alcuni Big Data sono in realtà strutturati come reti. Un esempio potrebbero essere social network come Facebook o Twitter. Ma nel campo biologico è per esempio disponibile da qualche parte la rete di neuroni di un ratto (https://people.maths.ox.ac.uk/tillmann/ ... esLevi.pdf). Non ti saprei dire come ottenere quei dati ma a mio parere potrebbe essere un esempio che rientri in entrambi i corsi.



Ho contattato uno dei due prof per chiedere info sul file di dati reali... sperando risponda.. :P

Intanto vi ringrazio per i vostri consigli guida.
Appena avrò bisogno di qualche altra dritta provvederò ad aprire una nuova discussione.
Grazie :lol:
.
.
mic_1
Junior Member
Junior Member
 
Messaggio: 122 di 386
Iscritto il: 11/01/2011, 18:11

Precedente

Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite