def _min_conflicts_value(problem, assignment, variable):
    '''
    Return the value generate the less number of conflicts.
    In case of tie, a random value is selected among this values subset.
    '''
    return argmin(problem.domains[variable],
                  lambda x: _count_conflicts(problem, assignment, variable, x))
 def test_random_tie(self):
     a = 0
     for x in range(100):
         if argmin(['a', 'b', 'c'], lambda x: self.d[x]) == 'a':
             a += 1
     self.assertTrue(25 < a < 75)
 def test_return_max(self):
     self.assertEqual('b', argmin(['c', 'b'], lambda x: self.d[x]))
Beispiel #4
0
def _min_conflicts_value(problem, assignment, variable):
    '''
    Return the value generate the less number of conflicts.
    In case of tie, a random value is selected among this values subset.
    '''
    return argmin(problem.domains[variable], lambda x: _count_conflicts(problem, assignment, variable, x))