-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscore.py
34 lines (30 loc) · 1007 Bytes
/
score.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import csv
from math import sqrt
from sys import argv
if len(argv) != 2:
raise ValueError("len(argv) != 2")
lines = []
with open(argv[1], 'r') as csvfile:
reader = csv.reader(csvfile, delimiter=";")
for line in reader:
lines.append(line)
distances = {}
utilities = {}
for line in lines:
try:
for i in range(3):
agent_name = line[12 + i]
agent_name = agent_name[:agent_name.rindex("@")]
utility = float(line[15 + i])
distance = float(line[10])
utilities.setdefault(agent_name, []).append(utility)
distances.setdefault(agent_name, []).append(distance)
except ValueError:
pass
except IndexError:
pass
pad = 20
for agent in utilities:
avg_utility = sum(utilities[agent]) / len(utilities[agent])
avg_dist = sum(distances[agent]) / len(distances[agent])
print((agent + ":").ljust(pad), "dist2Nash =", str(avg_dist).ljust(pad), "utility =", str(avg_utility).ljust(pad))