Exemplo n.º 1
0
def runthis():
	fin = open("common.txt")
	String = fin.readlines()
	fin.close()
	
	for i in range(len(String)):
		String[i] = String[i][:-1]
	
	Mapping = {'a': 1, 'b': 2, 'c':3, 'd':4, 'e':5, 'f':6, 'g':7, 'h':8, 'i':9, 'j':10, 'k':11, 'l':12, 'm':13, 'n':14, 'o':15, 'p':16, 'q':17, 'r':18, 's':19, 't':20, 'u':21, 'v':22, 'w':23, 'x':24, 'y':25, 'z':26}
	
	'''
	numericals = []
	for i in range(len(String)):
			numericals.append((String[i], Mapping[String[i][0]], Mapping[String[i][1]], Mapping[String[i][2]]))
	print numericals
	'''
	
	G = nx.Graph()
	for i in range(len(String)):
		for j in range(i+1, len(String)):
			if String[i][0] == String[j][0] and String[i][1] == String[j][1] and String[i][2] != String[j][2] or String[i][0] == String[j][0] and String[i][1] != String[j][1] and String[i][2] == String[j][2] or String[i][0] != String[j][0] and String[i][1] == String[j][1] and String[i][2] == String[j][2]:
				G.add_edge(String[i], String[j])


	fin = open("wordmorph.Mygml", 'w')
	string = pickle.dumps(G)
	fin.write(string)
	fin.close()
	
	AtoB.createRealWorld("wordmorph")
	
	print "Number of words:", len(String)
	print "Drawing Graph..."
	nx.draw(G)
	plt.show()
Exemplo n.º 2
0
def runthis():
	fin = open('p2p-Gnutella08.txt','r')
	String = fin.read()
	fin.close()
	ConnectionList = String.rsplit()[29:]
	EdgeList = []
	for i in range(0,len(ConnectionList),2):
		EdgeList.append((int(ConnectionList[i]), int(ConnectionList[i+1])))
	G = nx.Graph()
	G.add_edges_from(EdgeList)
	G = nx.subgraph(G,range(500))
	
	fin = open("gnutella.Mygml", 'w')
	string = pickle.dumps(G)
	fin.write(string)
	fin.close()
	
	AtoB.createRealWorld("gnutella")
Exemplo n.º 3
0
#n = 200
edgeProb = 0.3
degree = 3

#name = "gnutella"
#trials = 10000

start = 100
end = 401
step = 20

x = []
plainAdamic = []
twoWayAdamic = []
for n in range(start, end, step):
	AtoB.createScaleFreeNetwork(n, degree)	
	G = nx.read_gpickle("SFN_" + str(n) + "_" + str(degree) + ".gpickle")

	result = AtoB.simple_query(G)
	plainAdamic.append(result[0])
	twoWayAdamic.append(result[1])
	x.append(n)

plt.plot(x, plainAdamic)
plt.plot(x, twoWayAdamic)
plt.xlabel("Number of Nodes")
plt.ylabel("Time Taken")
plt.title("Average time taken to compute the approximate shortest path for all the nC2 pairs")
plt.show()

#AtoB.createErdos(n,edgeProb)
Exemplo n.º 4
0
import numpy
import math
import AtoB
import matplotlib.pyplot as plt
import random
import networkx as nx
import pdb
import pickle
import generateGraph

print "Word Morph Game Network:"
print "The Path Concatenation Algorithm (PCA) has been applied to the above graph"
while(True):
	word1 = raw_input("Enter word 1: ")
	word2 = raw_input("Enter word 2: ")
	AtoB.main(0, "RW", 'wordmorph', [word1,word2])
	condition = raw_input("\nContinue? (Y\N): ")
	if condition != 'Y':
		break
Exemplo n.º 5
0
import numpy
import math
import AtoB
import matplotlib.pyplot as plt
import random
import networkx as nx
import pdb
import pickle

n = 200
edgeProb = 0.3
degree = 3

# name = "gnutella"

# AtoB.createErdos(n,edgeProb)
# G = nx.read_gpickle("EG_" + str(n) + "_" + str(edgeProb) + ".gpickle")

# AtoB.createScaleFreeNetwork(n, degree)
# G = nx.read_gpickle("SFN_" + str(n) + "_" + str(degree) + ".gpickle")

AtoB.createRealWorld(name)
G = nx.read_gpickle(str(name) + ".gpickle")

# AtoB.simple_query(G)
AtoB.comparison_query(G)
Exemplo n.º 6
0
import numpy
import math
import AtoB
import matplotlib.pyplot as plt
import random
import networkx as nx
import pdb
import pickle
import generateGraph

print "Gnutella P2P Network:"
print "Source: http://snap.stanford.edu/data/p2p-Gnutella08.html"
print "The Path Concatenation Algorithm (PCA) has been applied to an induced subgraph of the above graph consisting of 500 nodes"
while(True):
	node1 = int(input("Enter node 1: "))
	node2 = int(input("Enter node 2: "))
	AtoB.main(0, "RW", 'gnutella', [node1,node2])
	condition = raw_input("\nContinue? (Y\N): ")
	if condition != 'Y':
		break
Exemplo n.º 7
0
import numpy
import math
import AtoB
import matplotlib.pyplot as plt
import random
import networkx as nx
import pdb
import pickle

name = "gnutella"
trials = 10000

G = nx.read_gpickle(str(name) + ".gpickle")
result = AtoB.simple_query(G, trials)

print "The ratio of the time intervals taken to perform One-way Adamic walk and Two-way Adamic walk is " + str(float(result[0])/result[1])
print "Hence, Two-way Adamic walk is faster than One-way Adamic walk by a factor of " + str(float(result[1])/result[0])

ind = numpy.arange(2)
width = 0.15
plt.bar(ind, (result[0], result[1]), width)
plt.xticks(ind+width/2., ('One-way Adamic', 'Two-way Adamic') )

plt.xlabel("Number of Nodes")
plt.ylabel("Time Taken")
plt.title("Average time taken to compute the approximate shortest path for all the nC2 pairs")
plt.show()

#AtoB.createErdos(n,edgeProb)
#G = nx.read_gpickle("EG_" + str(n) + "_" + str(edgeProb) + ".gpickle")
Exemplo n.º 8
0
import numpy
import math
import AtoB
import matplotlib.pyplot as plt
import random
import networkx as nx
import pdb
import pickle
import generateGraph


#node1 = int(input("Enter node 1: "))
#node2 = int(input("Enter node 2: "))

#generateGraph.runthis()

#AtoB.main(0, "RW", 'gnutella', [node1,node2])
AtoB.main(0, "RW", 'gnutella', [0,1])
Exemplo n.º 9
0
import numpy
import math
import AtoB
import matplotlib.pyplot as plt
import random
import networkx as nx
import pdb
import pickle

n = 200
edgeProb = 0.3
degree = 3

name = "gnutella"
trials = 10000

#AtoB.createErdos(n,edgeProb)
#G = nx.read_gpickle("EG_" + str(n) + "_" + str(edgeProb) + ".gpickle")

#AtoB.createScaleFreeNetwork(n, degree)	
#G = nx.read_gpickle("SFN_" + str(n) + "_" + str(degree) + ".gpickle")

#AtoB.createRealWorld(name)
G = nx.read_gpickle(str(name) + ".gpickle")

AtoB.simple_query(G, trials)
#AtoB.comparison_query(G)
Exemplo n.º 10
0
#name = "gnutella"
#trials = 10000

start = 100
end = 401
step = 20

x = []
oneWayRandom = []
twoWayRandom = []
oneWayAdamic = []
twoWayAdamic = []

for n in range(start, end, step):
	AtoB.createScaleFreeNetwork(n, degree)	
	G = nx.read_gpickle("SFN_" + str(n) + "_" + str(degree) + ".gpickle")
	#AtoB.createErdos(n,edgeProb)
	#G = nx.read_gpickle("EG_" + str(n) + "_" + str(edgeProb) + ".gpickle")
	result = AtoB.comparison_query(G)
	oneWayRandom.append(result[0])
	twoWayRandom.append(result[1])
	oneWayAdamic.append(result[2])
	twoWayAdamic.append(result[3])
	x.append(n)

plt.plot(x, oneWayRandom)
plt.plot(x, twoWayRandom)
plt.plot(x, oneWayAdamic)
plt.plot(x, twoWayAdamic)
plt.xlabel("Number of Nodes")
Exemplo n.º 11
0
import numpy
import math
import AtoB
import matplotlib.pyplot as plt
import random
import networkx as nx
import pdb
import pickle

name = "gnutella"
trials = 100

G = nx.read_gpickle(str(name) + ".gpickle")
result = AtoB.comparison_query(G, trials)

ind = numpy.arange(4)
width = 0.15
plt.bar(ind, (result[0], result[1], result[2], result[3]), width)
plt.xticks(ind+width/2., ('One-way Random walk', 'Two-way Random walk', 'One-way Adamic walk', 'Two-way Adamic walk') )

plt.xlabel("Number of Nodes")
plt.ylabel("Average of (length of approx path / length of shortest path) over nC2 pairs")
#plt.title("Average time taken to compute the approximate shortest path for all the nC2 pairs")
plt.show()

#AtoB.createRealWorld(name)
#G = nx.read_gpickle(str(name) + ".gpickle")

#AtoB.simple_query(G)
#AtoB.comparison_query(G)
Exemplo n.º 12
0
import numpy
import math
import AtoB
import matplotlib.pyplot as plt
import random
import networkx as nx
import pdb
import pickle



numOfNodes = 100
degree = 3
edgeProb = 0.3

AtoB.createErdos(numOfNodes,edgeProb)
G = nx.read_gpickle("EG_" + str(numOfNodes) + "_" + str(edgeProb) + ".gpickle")

#AtoB.createScaleFreeNetwork(numOfNodes, degree)
#G = nx.read_gpickle("SFN_" + str(numOfNodes) + "_" + str(degree) + ".gpickle")
AtoB.Navigate(G)