Modeling mulligan rules and keep strategies
Compare full redraws, London-style, decreasing, and selective redraw rules.
Separate the rule from the keep policy
The rule determines how many cards are seen and where rejected cards go; the policy decides which hands to keep. The same rule can produce different results when one policy protects only targets and another also protects resources. DrawState prioritizes cards needed by the configured success condition.
Four redraw procedures
A full redraw replaces the whole hand at the same size. A London-style mulligan draws the original hand size each time, then bottoms one card per mulligan when keeping. A decreasing rule reduces the next hand by the configured amount. A selective redraw keeps needed cards and replaces the rest. Verify the actual destination and shuffle timing, not just the familiar name.
Design a comparison
Start with no mulligan, then change only the type and maximum attempts. Inspect final hand size, duplicates, and resource access with the success-rate gain. AND goals are sensitive to how partial combinations are valued, so define goals and tags to match a real keep decision.
Understand the limitation
The keep policy is not a complete game-playing AI. It does not optimize against an opponent or price every follow-up card. Treat the result as an estimate for a consistent policy aimed at the explicit goal.