Watts Strogatz model

powamaker
Ciao a tutti!!! :)

Sto cercando di creare un piccolo network con il C++ e voglio utilizzare il modello di Watts e Strogatz. Ho un dubbio che mi assale però: dopo aver costruito il cerchio iniziale con i vari legami devo considerare ogni legame di ogni nodo e andare a rilegare (il cosiddetto rewiring). Dato il nodo a che ha un legame con il nodo b io estraggo un numero casuale e se questo è maggiore di beta lascio il legame com'era, altrimenti lego il mio nodo con un nodo a caso scelto fra tutti i nodi facenti parte dell'insieme che esclude il nodo di partenza e quelli con cui ha già un legame.

E' giusto quello che ho scritto?

Grazie a tutti in ogni caso!!!

:roll:

Risposte
powamaker
UP

powamaker
UP

apatriarca
Mi sembra un algoritmo di uso molto specialistico e sinceramente non ne avevo mai sentito parlare. Ma in base a quello che leggo da wikipedia mi sembra che la tua descrizione sia corretta.

powamaker
Grazie mille per la risposta :) ! Quindi anche secondo te quando faccio il rewiring devo considerare fra i nodi possibili candidati solo quelli che non mi porterebbero ad un "legame doppio"? Perché continuo a non capire se e quando sia possibile che un legame venga rotto nel senso che così facendo non si andrebbe mai al di sotto di un numero medio di legami per ogni nodo :|

apatriarca
Non ho capito la domanda..

powamaker
Scusami, voglio dire che quando faccio il rewiring sostanzialmente stacco un nodo da un altro limitrofo e casualmente lo lego ad un altro. Nel cercare questo secondo modo casuale, devo fare una ricerca solo fra quelli a cui il nodo di partenza non è ancora collegato, vero?
Il dramma che mi assale è che se inizialmente (prima del rewiring) ogni nodo è legato ad altri 4 nodi per esempio, dopo aver effettuato il rewiring avrà comunque almeno 4 legami o più, quello resta un numero minimo!

apatriarca
Quando sostituisci l'arco \((i, j)\) con \((i,k)\), il nodo \(j\) perderà un legame mentre \(k\) ne guadagnerà uno. Non è quindi vero che alla fine saranno tutti uguali.

powamaker
E' corretto, ma ci sarà sempre un numero minimo di collegamenti, vero? E quando arriverò a fare il rewiring di j dovrò staccare solo i suoi legami con i vicini e non quelli che sono già stati creati dal rewiring dei nodi precedenti, giusto?

Scusa la quantità di domande, ma voglio avere ben chiaro il tutto :(

apatriarca
No, un nodo potrebbe anche venire scollegato completamente dal grafo anche se è molto poco probabile. Non ho visto scritto da nessuna parte che nodi successivi non possano modificare un nodo creato da un precedente rewiring. Ma in effetti mi aspetto un comportamento diverso nei due casi.

powamaker
Ora dovrebbe essermi tutto chiaro, grazie :) !

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.