[ninux-dev] Diff della topologia

Gabriel gabriel at autistici.org
Tue Nov 11 01:31:50 CET 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 10/11/2014 10:23, Leonardo wrote:
> On 11/09/2014 11:34 PM, Nemesis wrote:
>> On 11/09/2014 08:15 PM, Clauz wrote:
> 
> 
>>>> Potremmo,però , arrotondare tutto alla parte intera, e fare
>>>> il diff con quello. Così lo inseriamo nel db solo quando
>>>> cambia sensibilmente.
>>> Forse si potrebbe pensare a chiamate (o callback, etc) diverse
>>> dell'API: - chiamata che ritorna diff nella topologia comprese
>>> tutte le minime variazioni di costo sui link - chiamata che
>>> ritorna diff nella topologia come se tutti i link avessero peso
>>> 1 - chiamata che ritorna diff nella topologia quando il costo
>>> sui link supera un certo delta passato come parametro -
>>> chiamata che ritorna tutta la topologia corrente (quindi NON
>>> il diff), inclusi i costi
>>> 
>>> Clauz
>> 
>> Cominciamo col caso più semplice da realizzare e poi aggiungiamo
>> nuove feature una alla volta.
>> 
>> Ho creato il pacchetto python installabile: 
>> https://github.com/ninuxorg/netdiff
> 
> aspè, ma cosa volete fare? solo calcolare la differenza tra un
> grafo ed un altro usando networkx? nel senso, il numero di nodi ed
> archi che sono cambiati?
> 
> domande: - la funziona difference() vuole due grafi con lo stesso
> set di nodi. è quel che volete? - perchè un multigraph? in questo
> modo probabilmente avrai 2 edge per ciascun link. - se volete io ho
> una libreria per fare anche altre cose (calcolare la centralità dei
> nodi, la robustezza della rete, la distribuzione della lunghezza e
> qualità delle rotte, gli eventuali MPR ecc.. )
> 
> https://github.com/leonardomaccari/community_networks_analysis
> 
> 
Ho scelto il Multigraph perchè ipotizzavo ci potessero essere n link
ridondati tra due stessi nodi.

Effettivamente Leo aveva ragione, difference di networkx non fa al
caso nostro.
Ho reimplementato la differenza tra 2 grafi, ora sembra funzionare a
dovere [1]

Per poter effettuare dei test senza generarsi le topologie a manina ho
creato una classe a partire dallo script di Leo.

Questa classe permette di generare sotto-grafi a partire da una
topologia OLSR di partenza e li re-encoda in json.
Non sapevo dove metterla quindi per semplicità è nella cartella dei
test.[2]

Usando questa classe ho scritto un test per netdiff.


Gabriel

[1]: https://github.com/gabri94/netdiff/blob/master/netdiff/olsr1.py
[2]:
https://github.com/gabri94/netdiff/blob/master/tests/olsr1/Olsr_graph_gen.py
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBAgAGBQJUYVjzAAoJEESx6+O1zsXF8mQH/2T9fLM1E+IQIQF+vkm7tmdW
iJuvW8mNh4TVnLrIpuYc67aO+PBQOL2XfmHnJfK+ep251itg1OfIvQn5dM1oNUDA
gclAnmLRR/DQIpcTJLYQLWT9XQurrZuQIqEe5fCfkQHW3a7xGUonKD1VSy8mJm1J
w+S+l45mjxRWOdJvY+jhkFw8YbrpURyrdt9JXkCkVPiO+Y3twfqd73d+FHXgPiq+
a+8Mh3BMrcOKw3Y/bXW9KgDPr22XpDmQGNaB4iQcsplUQPdbf7IsqeWqbsVGggVh
Ju8EmSJENpY/ARL2s5s25EuMEJeenb48a6D7e9wDTFljRZg2f0oUQk7fXlx+SwA=
=m98Z
-----END PGP SIGNATURE-----



More information about the ninux-dev mailing list