In [16]:
import numpy as np
import pandas as pd
import matplotlib
import matplotlib.pyplot as plt
matplotlib.style.use('ggplot')
%matplotlib inline
import scipy.stats.mstats

import os

In [17]:
ordered = pd.read_csv("OrderedAntAlgorithm.dat", sep=" ")
composed = pd.read_csv("OrderedAntAlgorithm >> SimAnnealAlgorithm.dat", sep=" ")
unordered = pd.read_csv("UnorderedAntAlgorithm.dat", sep=" ")
sim_anneal = pd.read_csv("SimAnnealAlgorithm.dat", sep=" ")

In [22]:
plt.title('Evaluation time on full graphs')

lines = []
for name, df, color in [('ordered',    ordered,    'tab:green'), 
                        ('composed',   composed,   'tab:cyan'), 
                        ('unordered',  unordered,  'tab:red'), 
                        ('sim_anneal', sim_anneal, 'tab:purple')]:
    mean = df.groupby('GRAPH_SIZE').mean()
    line, = plt.plot(mean.index.values, mean['TIME'], label=name, color=color)
    lines.append(line)
    variance = df.groupby('GRAPH_SIZE').var()
    trim_variance = df.groupby('GRAPH_SIZE').apply(lambda x: x.apply(scipy.stats.mstats.trimmed_var))
    max_var = variance['TIME'].max()
    max_trim_var = trim_variance['TIME'].max()
    print(f'{name} has {max_var} as maximal variance and {max_trim_var} as maximal trimmed varia')
plt.legend(handles=lines)
plt.ylabel('time (sec)')
plt.xlabel('Number of nodes')
plt.show()


ordered has 12.223421995169984 as maximal variance and 6.958452753547907 as maximal trimmed varia
composed has 11.757216180508694 as maximal variance and 4.896001973837226 as maximal trimmed varia
unordered has 56411.105570062224 as maximal variance and 10.080270244697942 as maximal trimmed varia
sim_anneal has 0.03422981749111574 as maximal variance and 0.006215322930097774 as maximal trimmed varia

In [24]:
plt.title('Related error on full graphs')

lines = []
for name, df, color in [('ordered',    ordered,    'tab:green'), 
                        ('composed',   composed,   'tab:cyan'), 
                        ('unordered',  unordered,  'tab:red'), 
                        ('sim_anneal', sim_anneal, 'tab:purple')]:
    mean = df.groupby('GRAPH_SIZE').mean()
    line, = plt.plot(mean.index.values, mean['RELATED_ERROR'], label=name, color=color)
    lines.append(line)
    variance = df.groupby('GRAPH_SIZE').var()
    trim_variance = df.groupby('GRAPH_SIZE').apply(lambda x: x.apply(scipy.stats.mstats.trimmed_var))
    max_var = variance['RELATED_ERROR'].max()
    max_trim_var = trim_variance['RELATED_ERROR'].max()
    print(f'{name} has {max_var} as maximal variance and {max_trim_var} as maximal trimmed varia')
plt.legend(handles=lines)
plt.ylabel('Procent of error')
plt.xlabel('Number of nodes')
plt.show()


ordered has 0.0013251483651419759 as maximal variance and 5.792554805026982e-05 as maximal trimmed varia
composed has 4.5141391188096924e-05 as maximal variance and 2.547493012744781e-05 as maximal trimmed varia
unordered has 0.0 as maximal variance and 0.0 as maximal trimmed varia
sim_anneal has 3.551130574552798e-05 as maximal variance and 1.6857978936182538e-05 as maximal trimmed varia

In [26]:
plt.title('Error on full graphs')

lines = []
for name, df, color in [('ordered',    ordered,    'tab:green'), 
                        ('composed',   composed,   'tab:cyan'), 
                        ('unordered',  unordered,  'tab:red'), 
                        ('sim_anneal', sim_anneal, 'tab:purple')]:
    mean = df.groupby('GRAPH_SIZE').mean()
    line, = plt.plot(mean.index.values, mean['ERROR'], label=name, color=color)
    lines.append(line)
    variance = df.groupby('GRAPH_SIZE').var()
    trim_variance = df.groupby('GRAPH_SIZE').apply(lambda x: x.apply(scipy.stats.mstats.trimmed_var))
    max_var = variance['ERROR'].max()
    max_trim_var = trim_variance['ERROR'].max()
    print(f'{name} has {max_var} as maximal variance and {max_trim_var} as maximal trimmed varia')
plt.legend(handles=lines)
plt.ylabel('Procent of error')
plt.xlabel('Number of nodes')
plt.show()


ordered has 13240.777777777777 as maximal variance and 808.0875 as maximal trimmed varia
composed has 777.1001010101008 as maximal variance and 440.75609375000005 as maximal trimmed varia
unordered has 0 as maximal variance and 0.0 as maximal trimmed varia
sim_anneal has 543.5555555555554 as maximal variance and 215.05609375 as maximal trimmed varia

In [27]:
sim_anneal = pd.read_csv("../simulated_annealing_iteration_parameter/sim_anneal.dat", sep=" ")

plt.title('Evaluation time on full graphs')

lines = []
for name, df, color in [('sim_anneal', sim_anneal, 'tab:green')]:
    mean = df.groupby('GRAPH_SIZE').mean()
    line, = plt.plot(mean.index.values, mean['TIME'], label=name, color=color)
    lines.append(line)
    variance = df.groupby('GRAPH_SIZE').var()
    trim_variance = df.groupby('GRAPH_SIZE').apply(lambda x: x.apply(scipy.stats.mstats.trimmed_var))
    max_var = variance['TIME'].max()
    max_trim_var = trim_variance['TIME'].max()
    print(f'{name} has {max_var} as maximal variance and {max_trim_var} as maximal trimmed varia')
plt.legend(handles=lines)
plt.ylabel('time (sec)')
plt.xlabel('Number of nodes')
plt.show()


sim_anneal has 6.419953585318495 as maximal variance and 0.3651327716188696 as maximal trimmed varia

In [28]:
plt.title('Related error on full graphs')

lines = []
for name, df, color in [('sim_anneal', sim_anneal, 'tab:green')]:
    mean = df.groupby('GRAPH_SIZE').mean()
    line, = plt.plot(mean.index.values, mean['RELATED_ERROR'], label=name, color=color)
    lines.append(line)
    variance = df.groupby('GRAPH_SIZE').var()
    trim_variance = df.groupby('GRAPH_SIZE').apply(lambda x: x.apply(scipy.stats.mstats.trimmed_var))
    max_var = variance['RELATED_ERROR'].max()
    max_trim_var = trim_variance['RELATED_ERROR'].max()
    print(f'{name} has {max_var} as maximal variance and {max_trim_var} as maximal trimmed varia')
plt.legend(handles=lines)
plt.ylabel('Procent of error')
plt.xlabel('Number of nodes')
plt.show()


sim_anneal has 2.6014102400339034e-05 as maximal variance and 1.2724922801686116e-05 as maximal trimmed varia

In [ ]: