Type group packing still retarded #23
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What happened
The Planswalker and Enchantment group together are 3 cards. Rather than having these groups go along side the Sorcery group (ideally on the left) which would have left 1 wasted space, 4 wasted spaces are produced by Sorcery group and the Planswalker and Enchantment group are along side the Land group creating an extra 9 wasted spaces.


What should have happened
After determining the ideal 'wrap' group around the commander, the artifact group, the algorithm should have looked at all the groups and tried to determine groups that are already perfect blocks, such as Creatures and Lands - then these groups should be considered blocks unto themselves and not used in any blocks of blocks trying to solve for ideal packing. After finding ideal blocks, the algorithm should move on to progressively less ideal group sizes and then seen if any of the remaining groups starting from smaller sizes up would be able to combine with it for a more or even ideal paired (or potential more groups than just two) total card, that is some (ideally even) multiple of the number of card columns. The method for determining an 'ideal' block is that the number of cards is evenly divisible by the number card columns on the board in question. So in the example deck, the 36 lands in a 6 card column board should be considered ideal as 6x6 is 36, similarly the Sorcery, Enchant, and Planswalker groups should have been considered a near ideal group and thus a block as 14+2+1=17 and 17 is almost perfectly divisible by 6 (6x3=18, 17 is very close to 18). When forming an ideal block starting with Sorcery 14 would have left 4 empty spaces until a multiple of 6, 18. With those four spaces, we can see the 2 group size enchant will fit and then with 16 there are 2 spaces left and clearly the 1 sized group of planswalkers can fit into a 2 empty space hole. Now there will need to be check on all of these groups being able to pick dimensions that can be next to each other as this is still a group of groups, but in this case it can work out well. If it fails because of dimensional incompatibility to be work perfectly by starting off with just card counts, one or more groups may need to be expelled from the group of groups, but it should get us closer more efficiently faster to a correct group of group block. Once a block containing one more groups is identified those groups should be locked and not considered in any further group of group blocks, reducing and simplifying the solve space. This should be done until all the groups are in blocks and then the block arranged so that the most wasted/empty space is to the bottom and to the left of the whole board. Similarly when a group of groups is forming into a block, the groups within that block should arrange themselves so that the wasted space they create (if any) is as to the left and bottom of the block as possible.
Category
Context
Verified fixed and deployed in Cassandra 0.5.29.
Proof:
The Lab packing search now preserves ideal/full support blocks and improves grouped support-slot placement instead of wasting slots beside large perfect groups. Closing as fixed.