Fixed bugs the state initialization of multisize estimation

This commit is contained in:
Anton Beloglazov 2012-12-03 12:41:56 +11:00
parent f6471aeb28
commit 663bf8a061
2 changed files with 22 additions and 5 deletions

View File

@ -268,7 +268,8 @@ def init_request_windows(number_of_states, max_window_size):
:return: The initialized request windows data structure.
:rtype: list(deque)
"""
return number_of_states * [deque([], max_window_size)]
return [deque([], max_window_size)
for _ in range(number_of_states)]
@contract
@ -284,12 +285,12 @@ def init_variances(window_sizes, number_of_states):
:return: The initialized variances data structure.
:rtype: list(list(dict))
"""
data = dict(zip(window_sizes, len(window_sizes) * [1.0]))
variances = []
for i in range(number_of_states):
variances.append([])
for j in range(number_of_states):
variances[i].append(dict(data))
variances[i].append(dict(zip(window_sizes,
len(window_sizes) * [1.0])))
return variances
@ -306,12 +307,12 @@ def init_deque_structure(window_sizes, number_of_states):
:return: The initialized 3 level deque data structure.
:rtype: list(list(dict))
"""
data = dict((size, deque([], size)) for size in window_sizes)
structure = []
for i in range(number_of_states):
structure.append([])
for j in range(number_of_states):
structure[i].append(dict(data))
structure[i].append(dict((size, deque([], size))
for size in window_sizes))
return structure

View File

@ -110,3 +110,19 @@ class Core(TestCase):
def test_issue_command_deterministic(self):
self.assertEqual(c.issue_command_deterministic([1]), False)
self.assertEqual(c.issue_command_deterministic([]), True)
def test_mhod(self):
from pprint import pprint
state_config = [0.99]
otf = 0.2
window_sizes = [30, 40, 50, 60, 70, 80, 90, 100]
bruteforce_step = 0.2
learning_steps = 30
time_step = 300
migration_time = 20.
state = c.init_state(window_sizes, 2)
utilization = [0.859]
pprint(state)
pprint(c.mhod(state_config, otf, window_sizes, bruteforce_step, learning_steps,
time_step, migration_time, utilization, state))