diff --git a/.gitignore b/.gitignore index 92bbd5ad68c5a10fd64da04de6567255560a46e0..71305e60a1056e58f281da4c2ab397539b63ba52 100644 --- a/.gitignore +++ b/.gitignore @@ -32,4 +32,4 @@ tmp/ .venv # Python cache files -*.pyc \ No newline at end of file +*.pyc diff --git a/execution/lib/trend_slope_computer.py b/execution/lib/trend_slope_computer.py index 3c780b29432a67e99444179451a206e20c485188..294226c35c0038a01804f7f5e8eb3a1e53c79b79 100644 --- a/execution/lib/trend_slope_computer.py +++ b/execution/lib/trend_slope_computer.py @@ -15,6 +15,5 @@ def compute(directory, filename, warmup_sec, threshold): Y_pred = linear_regressor.predict(X) # make predictions trend_slope = linear_regressor.coef_[0][0] - #print(linear_regressor.coef_) return trend_slope \ No newline at end of file diff --git a/execution/strategies/strategies/domain_restriction/lower_bound_strategy.py b/execution/strategies/strategies/domain_restriction/lower_bound_strategy.py index 1ebbf13ef75931e36fb8b62dde79011a406ed72a..b218731fc76d83347b4dbf10448f01615d378c0b 100644 --- a/execution/strategies/strategies/domain_restriction/lower_bound_strategy.py +++ b/execution/strategies/strategies/domain_restriction/lower_bound_strategy.py @@ -1,29 +1,4 @@ -# strats: -# default: not end subexp when suitable instances found, increasing the number of instances with each iteration -# H1 end subexp when suitable instances found, increasing the number of instances with each iteration. -# H2 start with suitable instances from experiments for the last lower dim value -> outer loop over dim values, tracking suitable instances -# H3 end subexp when suitable instances found, using binary search. - -# 3 Suchstrategien: -# 1. H0 (Teste alle) -# 2. H1 (Lineare Suche) -# 3. H2 (Binäre Suche) - -# Optional: Einschränkung des Suchraumes: -# 1. Keine Einschränkung -# 2. Untere Schranke - -# Fragen: Erkläre vorgehen, verstehen wir dasselbe? -# Zeithorizont? - -# linear regressor besprechen im lag_analysis.py skript - -# useful combinations - -# Zum Report: -# Gegenüberstellung Suchstrategie & keine Suchstrategie (im Idealfall wdh. von Experimenten) - - +# The lower bound strategy def execute(config): dim_value_index = 0 lower_bound_replicas_index = 0 diff --git a/execution/strategies/strategies/domain_restriction/no_lower_bound_strategy.py b/execution/strategies/strategies/domain_restriction/no_lower_bound_strategy.py index 2da59681902009bab42043f0b29efcb4fea8d8f9..e5dea56118460b0dfdc6b1c36ce2587b6752512b 100644 --- a/execution/strategies/strategies/domain_restriction/no_lower_bound_strategy.py +++ b/execution/strategies/strategies/domain_restriction/no_lower_bound_strategy.py @@ -1,3 +1,4 @@ +# The strategy where the domain contains all amounts of instances def execute(config): dim_value_index = 0 subexperiment_counter = 0 diff --git a/execution/strategies/strategies/search/binary_search_strategy.py b/execution/strategies/strategies/search/binary_search_strategy.py index 770a6c821679d62a5e1f5c0919708fc4bbb204cd..52992be5c2ee68523c064f4c1eb5fa273430511d 100644 --- a/execution/strategies/strategies/search/binary_search_strategy.py +++ b/execution/strategies/strategies/search/binary_search_strategy.py @@ -1,3 +1,4 @@ +# The binary search strategy import os from strategies.strategies.config import SubexperimentConfig diff --git a/execution/strategies/strategies/search/check_all_strategy.py b/execution/strategies/strategies/search/check_all_strategy.py index 3c8dc41f4e8ae36cbb6d7a9770cef735f608e9be..cd9f8e0b8c825267e3ae6c85e852c3da5b953686 100644 --- a/execution/strategies/strategies/search/check_all_strategy.py +++ b/execution/strategies/strategies/search/check_all_strategy.py @@ -1,5 +1,4 @@ -# Runs subexperiments for all numbers of replicas with an index > lower_replicas_bound_index - +# The check_all strategy import os from strategies.strategies.config import SubexperimentConfig diff --git a/execution/strategies/strategies/search/linear_search_strategy.py b/execution/strategies/strategies/search/linear_search_strategy.py index d6337d3d64ad1529f90b1bffe4ef92500ce11ef3..9471f685e1ad6eaec0bcb5d9e80c417b7ed5d413 100644 --- a/execution/strategies/strategies/search/linear_search_strategy.py +++ b/execution/strategies/strategies/search/linear_search_strategy.py @@ -1,4 +1,4 @@ -# Perform linear search to determine the lowest number of replicas which is suitable for the dimension value with an index > lower_replicas_bound_index +# The linear-search strategy import os from strategies.strategies.config import SubexperimentConfig diff --git a/execution/strategies/subexperiment_evaluation/noop_subexperiment_evaluator.py b/execution/strategies/subexperiment_evaluation/noop_subexperiment_evaluator.py deleted file mode 100644 index 7c520fbe621bff1d94f2c065062bf9a38d02392c..0000000000000000000000000000000000000000 --- a/execution/strategies/subexperiment_evaluation/noop_subexperiment_evaluator.py +++ /dev/null @@ -1,2 +0,0 @@ -def execute(config): - return \ No newline at end of file diff --git a/execution/theodolite.py b/execution/theodolite.py index 2f45bb4051ebfa91d1238b6ae09325943bba24b3..b37d16913a130664a733d67a68f4761c303219fd 100755 --- a/execution/theodolite.py +++ b/execution/theodolite.py @@ -26,9 +26,9 @@ search_strategy=sys.argv[10] if len(sys.argv) >= 11 and (sys.argv[10] == "linear print(f"Domain restriction of search space activated: {domain_restriction}") print(f"Chosen search strategy: {search_strategy}") -# use h3 +# domain restriction if domain_restriction: - # use h1 & h3 + # domain restriction + linear-search if search_strategy == "linear-search": print(f"Going to execute at most {len(dim_values)+len(replicas)-1} subexperiments in total..") experiment_config = ExperimentConfig( @@ -44,7 +44,7 @@ if domain_restriction: search_strategy=linear_search_strategy, subexperiment_executor=subexperiment_executor, subexperiment_evaluator=subexperiment_evaluator) - # use h2 & h3 + # domain restriction + binary-search elif search_strategy == "binary-search": experiment_config = ExperimentConfig( use_case=uc, @@ -59,7 +59,7 @@ if domain_restriction: search_strategy=binary_search_strategy, subexperiment_executor=subexperiment_executor, subexperiment_evaluator=subexperiment_evaluator) - # use h0 & h3 + # domain restriction + check_all else: print(f"Going to execute {len(dim_values)*len(replicas)} subexperiments in total..") experiment_config = ExperimentConfig( @@ -75,9 +75,9 @@ if domain_restriction: search_strategy=check_all_strategy, subexperiment_executor=subexperiment_executor, subexperiment_evaluator=subexperiment_evaluator) -# not use h3 +# no domain restriction else: - # use h1 & !h3 + # no domain restriction + linear-search if search_strategy == "linear-search": print(f"Going to execute at most {len(dim_values)+len(replicas)-1} subexperiments in total..") experiment_config = ExperimentConfig( @@ -93,7 +93,7 @@ else: search_strategy=linear_search_strategy, subexperiment_executor=subexperiment_executor, subexperiment_evaluator=subexperiment_evaluator) - # use h2 & !h3 + # no domain restriction + binary-search elif search_strategy == "binary-search": experiment_config = ExperimentConfig( use_case=uc, @@ -108,7 +108,7 @@ else: search_strategy=binary_search_strategy, subexperiment_executor=subexperiment_executor, subexperiment_evaluator=subexperiment_evaluator) - # use h0 & !h3 + # no domain restriction + check_all else: print(f"Going to execute {len(dim_values)*len(replicas)} subexperiments in total..") experiment_config = ExperimentConfig(