-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Basically permutate the order of each assertion to see how much of the feasible combinatoric set is reduced by that assertion. The overall purpose would be to see how many clues are required to narrow down the feasible set. Some clue set might be much more restrictive causing a solver to find the answer much more quickly. For example a = 1 is a very restrictive clue while a = 1|2 if b = 2|3 imposes very weak restrictions on the feasible domain. domain(a = 1:3, b = 1:3) After clue a = 1 range is reduced to (a=1, b=1:3) or three outcomes while after a = 1|2 if b = 2|3 the range is reduced to [(1,2),(1,3),(2,2),(2,3),(3,1),(3,2),(3,3) or seven outcomes.
Also an interesting feature would be to see how much the range of outcomes is reduced given each clue. For example a = 1 might be a more restive clue in terms of restricting the domain compared with a = b even though the later might restrict the total number of feasible outcomes more (or in this case equally). Range after a = 1 is (a=1,b=1:3) while after a=bthe range is now((1,1),(2,2),(3,3))`. I am not sure what this tells us. I suspect the second is harder to solve with.