import numpy as np
import matplotlib.pyplot as plt
import dill as pickle

# load data
N = np.load("agents.npy")
d = 4

# load sequences and cost functions
sequence = {}
local_functions = {}
for i in range(N):
    sequence[i] = np.load("agent_{}_sequence.npy".format(i))
    with open('agent_{}_function.pkl'.format(i), 'rb') as input:
        local_functions[i] = pickle.load(input)

# compute costs
iterations = sequence[0].shape[0]
cost = np.zeros(iterations)

for k in range(iterations):
    for i in range(N):
        cost[k] += local_functions[i].eval(sequence[i][k]).flatten()

# show plot
plt.figure()
plt.plot(cost)
plt.show()
