From 094b2aad1ebb577ba9e4798011c21527d677b858 Mon Sep 17 00:00:00 2001 From: Anton Beloglazov Date: Tue, 25 Dec 2012 18:07:29 +1100 Subject: [PATCH] MHOD: disabled handling skipped steps as a special case --- neat/locals/overload/mhod/core.py | 32 ++++++++++++------------- tests/locals/overload/mhod/test_core.py | 16 ++++++------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/neat/locals/overload/mhod/core.py b/neat/locals/overload/mhod/core.py index 20a5f7c..f004325 100644 --- a/neat/locals/overload/mhod/core.py +++ b/neat/locals/overload/mhod/core.py @@ -123,14 +123,14 @@ def mhod(state_config, otf, window_sizes, bruteforce_step, learning_steps, :rtype: tuple(bool, dict) """ utilization_length = len(utilization) - if utilization_length == state['time_in_states'] and \ - utilization == state['previous_utilization']: - # No new utilization values - return False, state +# if utilization_length == state['time_in_states'] and \ +# utilization == state['previous_utilization']: +# # No new utilization values +# return False, state number_of_states = len(state_config) + 1 previous_state = 0 - state['previous_utilization'] = utilization +# state['previous_utilization'] = utilization state['request_windows'] = estimation.init_request_windows( number_of_states, max(window_sizes)) state['estimate_windows'] = estimation.init_deque_structure( @@ -175,17 +175,17 @@ def mhod(state_config, otf, window_sizes, bruteforce_step, learning_steps, state['previous_state'] = current_state state_n = len(state_config) - if utilization_length > state['time_in_states'] + 1: - for s in utilization_to_states( - state_config, - utilization[-(utilization_length - state['time_in_states']):]): - state['time_in_states'] += 1 - if s == state_n: - state['time_in_state_n'] += 1 - else: - state['time_in_states'] += 1 - if current_state == state_n: - state['time_in_state_n'] += 1 +# if utilization_length > state['time_in_states'] + 1: +# for s in utilization_to_states( +# state_config, +# utilization[-(utilization_length - state['time_in_states']):]): +# state['time_in_states'] += 1 +# if s == state_n: +# state['time_in_state_n'] += 1 +# else: + state['time_in_states'] += 1 + if current_state == state_n: + state['time_in_state_n'] += 1 if log.isEnabledFor(logging.DEBUG): log.debug('MHOD utilization:' + str(utilization)) diff --git a/tests/locals/overload/mhod/test_core.py b/tests/locals/overload/mhod/test_core.py index da336bb..3ce75f1 100644 --- a/tests/locals/overload/mhod/test_core.py +++ b/tests/locals/overload/mhod/test_core.py @@ -152,14 +152,14 @@ class Core(TestCase): learning_steps, time_step, migration_time, utilization, state) self.assertTrue(decision) - with MockTransaction: - utilization = [1.0, 1.0] - state['previous_utilization'] = [1.0, 1.0] - state['time_in_states'] = 2 - expect(estimation).select_best_estimates.never() - decision, _ = c.mhod(state_config, otf, window_sizes, bruteforce_step, - learning_steps, time_step, migration_time, utilization, state) - self.assertFalse(decision) +# with MockTransaction: +# utilization = [1.0, 1.0] +# state['previous_utilization'] = [1.0, 1.0] +# state['time_in_states'] = 2 +# expect(estimation).select_best_estimates.never() +# decision, _ = c.mhod(state_config, otf, window_sizes, bruteforce_step, +# learning_steps, time_step, migration_time, utilization, state) +# self.assertFalse(decision) def deque_maxlen(coll):