def test_case_3(self): out = powerset([1,2]) out = list(map(lambda x: set(x), out)) self.assertTrue(len(out) == 4) self.assertTrue(set([]) in out) self.assertTrue(set([1]) in out) self.assertTrue(set([2]) in out) self.assertTrue(set([1,2]) in out)
def test_Iterative_method(self): ''' Checks if output is correct. ''' input_list, correct_output = self.SetUp() output = powerset(input_list) self.assertEqual(output, correct_output)
def __init__(self, total_users, users_per_round, num_glob_iters, policy, c, beta, tau_max, alpha=0.9): self.num_glob_iters = num_glob_iters self.users = [] self.selected_users = [] self.users_per_round = users_per_round for i in range(total_users): user = User(user_id=i, tau_max=tau_max, c=c, alpha=alpha) self.users.append(user) self.tau_max = tau_max # max delay time in seconds self.policy = policy # scheduling policy if self.policy == 'CS-UCB-Q': # update policy optimal reward self.mu_opt = 0 user_groups = powerset([n for n in range(total_users) ]) # all available chosen groups for group in user_groups: if group: p = 1 for n in range(total_users): if n in group: p *= self.users[n].alpha else: p *= 1 - self.users[n].alpha self.mu_opt += p * sorted( [self.users[n].mu for n in group], reverse=True)[min( self.users_per_round - 1, len(group) - 1)] else: self.mu_opt = sorted([user.mu for user in self.users], reverse=True)[self.users_per_round - 1] self.kapa = ceil( len(self.users) / self.users_per_round) # total rounds for first exploration self.sigma_pi = [0] # cumulative regret values for policy pi self.fails = [0] # cumulative counter for failed clients self.beta = beta
def test_case_5(self): out = powerset([1,2,3,4]) out = list(map(lambda x: set(x), out)) self.assertTrue(len(out) == 16) self.assertTrue(set([]) in out) self.assertTrue(set([1]) in out) self.assertTrue(set([2]) in out) self.assertTrue(set([1,2]) in out) self.assertTrue(set([3]) in out) self.assertTrue(set([1,3]) in out) self.assertTrue(set([2,3]) in out) self.assertTrue(set([1,2,3]) in out) self.assertTrue(set([4]) in out) self.assertTrue(set([1,4]) in out) self.assertTrue(set([2,4]) in out) self.assertTrue(set([1,2,4]) in out) self.assertTrue(set([3,4]) in out) self.assertTrue(set([1,3,4]) in out) self.assertTrue(set([2,3,4]) in out) self.assertTrue(set([1,2,3,4]) in out)
def test_case_1(self): out = powerset([]) out = list(map(lambda x: set(x), out)) self.assertTrue(len(out) == 1) self.assertTrue(set([]) in out)