• API
• FAQ
• Tools
• Archive
SHARE
TWEET

# Untitled

a guest Jul 17th, 2019 61 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
1. a_matrix = []
2. infection = {}
3. seeds = []
4.
5. def fill_matrix():
6.     global threshold
7.     global numNodes
8.     global firstNode
9.
10.     fileVectors = open("decisionTestText.txt")
15.
16.     lastComma = -1
17.     while(not seededNodes.find(",", lastComma + 1) == -1):
18.         seeds.append(int(seededNodes[lastComma+1: seededNodes.index(",", lastComma+1)].strip())-firstNode+1)
19.         lastComma = seededNodes.index(",", lastComma + 1)
20.
21.     seeds.append(int(seededNodes[lastComma+1:].strip())-firstNode+1)
22.
23.     for i in range(numNodes):
24.         if not i+1 in seeds:
25.             infection.update({i+1: 0})
26.         else:
27.             infection.update({i+1: 1})
28.
29.     rowArray = []
30.     for i in range(numNodes):
31.         rowArray.append(0)
32.     for j in range(numNodes):
33.         a_matrix.append(rowArray.copy())
34.
35.
36.     for line in fileVectors:
37.         first = int(line[0:line.index(",")].strip())-firstNode+1
38.         second = int(line[line.index(",")+1:].strip())-firstNode+1
39.
40.         a_matrix[first-1][second-1] = 1
41.         a_matrix[second-1][first-1] = 1
42.
43.     fileVectors.close()
44.
45. def check_infection(node):
46.     infectedCount = 0
47.     friendCount = 0
48.     for i in range(len(a_matrix[node-1])):
49.         if a_matrix[node-1][i] == 1:
50.             friendCount += 1
51.             if infection.get(i+1) == 1:
52.                 infectedCount += 1
53.
54.
55.     if not friendCount == 0 and infectedCount/friendCount > threshold:
56.         infection[node] = 1
57.
58.
59. def main():
60.     print("\n\n")
61.
62.     fill_matrix()
63.     new_infection = {}
64.     counter = 0
65.
66.     for i in range(numNodes):
67.         new_infection.update({i+firstNode-1:0})
68.
69.     while not new_infection == infection:
70.         changedArray = []
71.
72.         print("t" + str(counter) + ":", end = ' ')
73.         for i in infection:
74.             if not infection.get(i) == new_infection.get(i):
75.                 changedArray.append(i+firstNode - 1)
76.         print(changedArray)
77.
78.         new_infection = infection.copy()
79.
80.         for i in range(len(a_matrix)):
81.             check_infection(i+1)
82.
83.         counter += 1
84.
85.     print("\n")
86.
87. main()
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy.

Top