EA analyzer
Analyzer software for results of evolutionary algorithm experiments.
EA Analyzer Howto
The analyzer.py
program expects at least two command line arguments:
a name, which identifies a given set of optimizers and test functions
at least one directory name. It will then look into this directory for catalog
files. For each catalog file it finds, it considers the catalog file’s path as foo/bar/catalog
and uses foo
as an optimizer name and bar
as a test function name.
The program then creates a parameter file named analyzer
name.py
and runs the user’s favourite text editor (looking for the environment variables VISUAL
or EDITOR
, and if none is set, defaulting to /usr/bin/editor
) to allow the user to edit the parameter file. A typical parameter file looks like this (interleaved with pedagogical comments):
Begin parameter file
# Config file
This is the list of opimizers that have been found.
optimizers = [
'CSPDE-40x5-0.2-0',
'DEwSAcc-200',
'PDE-40x5-0.2',
]
And those are the test functions.
functions = [
'Ackley-500',
'Alpine-500',
'Schwefel-500',
]
The translation tables below allow to hide the (ugly) directory names in the resulting tables and graphs and replace them with shorter and/or more significant names
# Translation tables (python dict)
# Maps internal/file name to displayed name
translate = {
#"CSPDE-40x5-0.2-0": "CSPDE-40x5-0.2-0",
#"DEwSAcc-200" : "DEwSAcc-200",
#"PDE-40x5-0.2" : "PDE-40x5-0.2",
#"Ackley-500" : "Ackley's path",
#"Alpine-500" : "Alpine",
#"Schwefel-500" : "Schwefel's",
}
# Maps internal/file name to LaTeX-friendly filename (no space, no underscore)
translate_fn = {
}
# Where the optimizers/function files are
root = '/space/mweber/graphs/multi'
# The datatypes of the fields
fields = {'Fitness': float}
# Resampling parameters
start_value = 0
rate_value = 100
stop_value = 500000
# Take at most this many files
max_files = 50
# Load limited, pre-summarized data
#pickled = "experiments.pickled"
# The modules to use
_modules = [
# AvgMinMedMaxTable: Generates an average, median, minimum and maximum table, wih optionally a results histogram
# Parameters: results_graph = False, filename = "avg_min_med_max.tex", field = "Fitness"
#"AvgMinMedMaxTable()",
# AvgStdevTable: Generates an average + standard deviation table
# Parameters: filename = "avg_stdev.tex", field = "Fitness"
#"AvgStdevTable()",
# CSVTable: Generates a set of CSV files of the results of one given optimizer for multiple statistical estimators
# Parameters: optimizer, stats = ['avg', 'med', 'min', 'max']
#"CSVTable()",
# DistributionGraphTable: Generates a table with result distribution graphs for each (function, optimizer) pair
# Parameters: filename = "dist_graph_table.tex", nb_bins = 25, field = "Fitness"
#"DistributionGraphTable()",
# EPSGraph: Generates a GNUplot plot file for generating EPS graphs of trends
# Parameters: specs = { 'Fitness_avg': ['Fitness', ['avg'], "using 1:2"] }, data_filename_root = 'data', gnuplot_filename = 'plot_eps_%s.gpi', nb_points = 50
#"EPSGraph()",
# HolmTestTable: Generates a table of the results of the Holm procedure
# Parameters: threshold = 0.05, filename = "holm_test.tex", field = "Fitness"
#"HolmTestTable()",
# PNGGraph: Generates a GNUplot plot file for generating PNG graphs of trends
# Parameters: specs = { 'Fitness_avg': ['Fitness', ['avg'], "using 1:2"] }, data_filename_root = 'data', gnuplot_filename = 'plot_png_%s.gpi', nb_points = 500
#"PNGGraph()",
# QtestTable: Generates a Q test table
# Parameters: show_threshold = False, threshold = 0.05, filename = "q_test.tex", field = "Fitness"
#"QtestTable()",
# RankTable: Generates a table where the algorithms are ranked.
# Parameters: threshold = 0.05, comparison_function = wilcoxon_rank_sum_test, filename = "rank.tex", field = "Fitness"
#"RankTable()",
# ScalabilityTable: Generates a scalability table for one given optimizer across function and function dimensionality
# Parameters: optimizer, filename = "scalability.tex", field = "Fitness"
#"ScalabilityTable()",
# TtestTable: Generates a T test table, for each function, comparing against the "reference" algorithm
# Parameters: reference, threshold = 0.05, filename = "t_test.tex", field = "Fitness"
#"TtestTable()",
# WilcoxonRankSumTestTable: Generates a Wilcoxon's Rank-Sum test table for each function, comparing against the "reference" algorithm
# Parameters: reference, threshold = 0.05, filename = "wilcoxon_rank_sum_test.tex", field = "Fitness"
#"WilcoxonRankSumTestTable()",
# WilcoxonSignedRankTestTable: Generates a table of the results of the Wilcoxon Signed-Rank test over all the functions
# Parameters: reference, threshold = 0.05, filename = "wilcoxon_signed_rank_test.tex", field = "Fitness"
#"WilcoxonSignedRankTestTable()",
]
# Where the results are written
output_directory = "/space/mweber/graphs/multi/results_test1"`
Activities 
-
Thursday June 14 2012
-
Push
15:37
-
-
Thursday May 24 2012
-
Push
16:40
-
-
Thursday May 10 2012
-
Push
08:14
-
-
Wednesday May 09 2012
-
Push
13:51
-
Push
11:51
-
-
Tuesday May 08 2012
-
Push
16:25
-
Push
12:32
-
-
Monday May 07 2012
-
Push
16:38
-
-
Thursday May 03 2012
-
Push
08:15
-
-
Thursday April 19 2012
-
Push
20:00
-
Push
11:52
-
-
Monday April 02 2012
-
Push
14:44
-
-
Friday March 23 2012
-
Push
13:17
-
-
Tuesday March 13 2012
-
Push
11:58
-
-
Thursday March 08 2012
-
Push
11:39
-
Push
11:19
-
Push
09:37
-
-
Friday February 24 2012
-
Push
15:31
-
-
Friday February 17 2012
-
Push
15:12
-
-
Tuesday February 14 2012
-
Push
14:21
-
-
Monday February 13 2012
-
Push
14:30
-
-
Friday February 10 2012
-
Push
11:08
-
-
Thursday February 09 2012
-
Push
17:32
-
Push
15:58
-
-
Wednesday February 08 2012
-
Push
16:28
-
Push
15:52
-
-
Monday January 30 2012
-
Push
16:18
-
-
Friday January 20 2012
-
Push
16:41
-
-
Friday January 13 2012
-
Push
16:58
-
-
Wednesday January 11 2012
-
Push
09:20
-