Commit d0c176a6 authored by THAKARE AKSHAY HARIBHAU's avatar THAKARE AKSHAY HARIBHAU

Merge branch 'Nalgo' into 'algorand'

network generator

See merge request !8
parents 6113f258 41e9287d
......@@ -5,6 +5,12 @@
`pip3 install -r requirements.txt`
`pip3 install python-louvain==0.5`
`sudo pip3 install networkx`
`apt-get install python3-tk`
* Setup
* Configure Nodes and Links using Nodes.dat and Links.dat
......
......@@ -4,6 +4,10 @@ import sys
import networkx as nx
from networkx.algorithms import community
'''
Generates a file of nodes
'''
f = open("Nodes1.dat", "w")
for i in range(int(sys.argv[1])):
......@@ -12,27 +16,64 @@ for i in range(int(sys.argv[1])):
f.close()
# G = nx.Graph()
# G=nx.complete_graph(100)
# G1=nx.path_graph(100)
G2=nx.erdos_renyi_graph(int(sys.argv[1]),0.1)
# G3=nx.fast_gnp_random_graph(100,0.1)
# G4=nx.connected_caveman_graph(100,0)
# print(nx.is_connected(G2))
# print(G2.edges())
if nx.is_connected(G2):
'''
Generates a graph given degree sequence
'''
sequence = numpy.random.uniform(2,4.1,int(sys.argv[1])).round()
while 1:
sequence1 = numpy.random.random_integers(2,4,int(sys.argv[1]))
try :
G5 = nx.random_degree_sequence_graph(list(sequence1),tries=10)
break
except nx.NetworkXUnfeasible :
pass
except nx.NetworkXError:
pass
print(sorted(G5.degree()))
if nx.is_connected(G5):
print("Graph is connected")
f = open("Links1.dat", "w")
count = 0
for edge in G2.edges():
for edge in G5.edges():
# print(edge)
# print(str(edge[0])+'\t'+str(edge[1])+'\n')
f.write(str(edge[0])+'\t'+str(edge[1])+'\n')
count += 1
f.close()
print('Nodes: ',sys.argv[1],'Edges: ',count)
print('Nodes: ',sys.argv[1],'Edges: ',count)
'''
generates a file given nodes and randomly links
'''
# G2=nx.erdos_renyi_graph(int(sys.argv[1]),0.1)
#
# if nx.is_connected(G2):
# f = open("Links1.dat", "w")
# count = 0
# for edge in G2.edges():
# # print(edge)
# # print(str(edge[0])+'\t'+str(edge[1])+'\n')
# f.write(str(edge[0])+'\t'+str(edge[1])+'\n')
# count += 1
# f.close()
#
# print('Nodes: ',sys.argv[1],'Edges: ',count)
# G = nx.Graph()
# G=nx.complete_graph(100)
# G1=nx.path_graph(100)
# G3=nx.fast_gnp_random_graph(100,0.1)
# G4=nx.connected_caveman_graph(100,0)
# print(nx.is_connected(G2))
# print(G2.edges())
# nx.draw(G)
#
# from igraph import Graph
......
apturl==0.5.2
asn1crypto==0.24.0
backcall==0.1.0
Brlapi==0.6.6
certifi==2018.1.18
cffi==1.12.2
......@@ -7,14 +8,21 @@ chardet==3.0.4
command-not-found==0.3
cryptography==2.6.1
cupshelpers==1.0
cycler==0.10.0
decorator==4.4.0
defer==1.0.6
distro-info===0.18ubuntu0.18.04.1
ecdsa==0.13
httplib2==0.9.2
idna==2.6
igraph==0.1.11
ipython==7.5.0
ipython-genutils==0.2.0
jedi==0.13.3
kazam==1.4.5
keyring==10.6.0
keyrings.alt==3.0
kiwisolver==1.1.0
language-selector==0.1
launchpadlib==1.10.6
lazr.restfulclient==0.13.5
......@@ -23,23 +31,33 @@ louis==3.5.0
macaroonbakery==1.1.3
Mako==1.0.7
MarkupSafe==1.0
matplotlib==3.0.3
netifaces==0.10.4
numpy==1.16.2
networkx==2.3
numpy==1.16.3
oauth==1.0.1
olefile==0.45.1
pexpect==4.2.1
parso==0.4.0
pexpect==4.7.0
pickleshare==0.7.5
Pillow==5.1.0
prompt-toolkit==2.0.9
protobuf==3.0.0
ptyprocess==0.6.0
pycairo==1.16.2
pycparser==2.19
pycrypto==2.6.1
pycups==1.9.73
Pygments==2.3.1
pygobject==3.26.1
pymacaroons==0.13.0
PyNaCl==1.1.2
pyparsing==2.4.0
pyRFC3339==1.0
python-apt==1.6.3+ubuntu1
python-dateutil==2.8.0
python-debian==0.1.32
python-louvain==0.5
pytz==2018.3
pyxdg==0.25
PyYAML==3.12
......@@ -53,11 +71,13 @@ six==1.12.0
sortedcontainers==2.1.0
system-service==0.3
systemd-python==234
traitlets==4.3.2
ubuntu-drivers-common==0.0.0
ufw==0.36
unattended-upgrades==0.1
urllib3==1.22
usb-creator==0.3.3
wadllib==1.3.2
wcwidth==0.1.7
xkit==0.0.0
zope.interface==4.3.2
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment