Dominion Strategy Forum

Please login or register.

Login with username, password and session length
Pages: [1]

Author Topic: Challenge: Mint/FG vs Thief/FG  (Read 3141 times)

0 Members and 1 Guest are viewing this topic.

blueblimp

  • Margrave
  • *****
  • Offline Offline
  • Posts: 2849
  • Respect: +1559
    • View Profile
Challenge: Mint/FG vs Thief/FG
« on: February 09, 2012, 03:34:26 pm »
+4

Your opponent opens Mint/Fool's Gold (the 3rd-strongest opening in the game, according to CouncilRoom.com). Sadly, you got a 4/3 split. But wait! Thief is available (voted 2nd-worst card in the game in the poll What is the worst card in Dominion?).

My initial simulations show that the match Mint/FG vs Thief/FG is basically even, with a difference of less than 1% that could be coming from variance alone--see the bottom of this post for detailed results. The challenge is to improve either bot enough to obtain a significant lead. I've included bots in this post, which are simple modifications to BMU and should leave a lot of room for optimization.

(Note: I haven't found a discussion of this elsewhere, although there was a related puzzle thread that assumed perfect shuffle luck: Win the Fool's Gold rush - as second player!.)

For this post, I want to check how all bots I post fare against straight money. I'll use WanderingWinder's Big Money Ultimate bot, which is included with Geronimoo's simulator and is also posted in the thread Project: Optimizing Big Money X. I won't bother comparing against the included Thief bot, because it's computer-generated and only narrowly better than BMU.

The bots:
  • Mint/Fool's Gold: This bot is always given a 5/2 opening, and must open Mint/Fool's Gold.
  • Thief/Fool's Gold: This bot is always given a 4/3 opening. You're allowed to choose any opening you want, although you probably want to do Thief/Fool's Gold.
  • Fool's Gold Rush: The only kingdom card this bot may buy is Fool's Gold. The point of this bot is just to have a baseline for Thief/FG and Mint/FG, so don't worry about it too much. This is NOT the bot included with the simulator because that bot is computer-generated and awful. This bot gets a random opening always (not that it should matter).
If you want and it helps significantly, it's fine if the Mint/FG bot buys a Thief at some point or the Thief/FG bot buys a Mint at some point. That's not really the point of the challenge and I'd be surprised if it helps much, but it'd be unfair to forbid it. I tried adding an opportunistic-Mint rule to Thief/FG, and it didn't make any noticeable difference.

Here are the results with the bots I've posted. Code follows after.

Results vs each other (using Ultimate Simulation for accuracy!):
- Mint/FG vs Thief/FG: 47 : 48
EDIT: WanderingWinder found the opposite of what I initially had here, which was a tiny lead for Mint/FG. I re-ran and found there is some variance even on ultimate, but it seems to hover around this 47:48 split.

Results vs FG:
- Mint/FG vs FG: 72 : 23
- Thief/FG vs FG: 59 : 36

Results vs BMU:
- Mint/FG vs BMU: 97 : 2
- Thief/FG vs BMU: 63 : 31
- FG vs BMU: 66 : 28

Mint/Fool's Gold:
Code: [Select]
<player name="Mint/Fool's Gold"
 author="blueblimp"
 description="The 3rd-strongest opening in the game on CouncilRoom.com. Requires a 5/2 split.XXXXNote: Provinces can't use a money-in-deck condition because that doesn't work well with Fool's Gold.">
 <type name="UserCreated"/>
 <type name="TwoPlayer"/>
 <type name="Combo"/>
 <type name="Bot"/>
 <type name="Province"/>
 <type name="BigMoney"/>
   <buy name="Province"/>
   <buy name="Duchy">
      <condition>
         <left type="countCardsInSupply" attribute="Province"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="4.0"/>
      </condition>
   </buy>
   <buy name="Estate">
      <condition>
         <left type="countCardsInSupply" attribute="Province"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Mint">
      <condition>
         <left type="countCardsInDeck" attribute="Mint"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="1.0"/>
      </condition>
   </buy>
   <buy name="Fool$s_Gold"/>
   <buy name="Gold"/>
   <buy name="Duchy">
      <condition>
         <left type="countCardsInSupply" attribute="Province"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="6.0"/>
      </condition>
   </buy>
   <buy name="Silver"/>
</player>

Thief/Fool's Gold:
Code: [Select]
<player name="Thief/Fool's Gold"
 author="blueblimp"
 description="Adding a Thief to a Fool's Gold strategy does well and is roughly even against a Mint/Fool's Gold opening.">
 <type name="Attacking"/>
 <type name="UserCreated"/>
 <type name="TwoPlayer"/>
 <type name="Combo"/>
 <type name="Bot"/>
 <type name="Province"/>
   <buy name="Province"/>
   <buy name="Duchy">
      <condition>
         <left type="countCardsInSupply" attribute="Province"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="4.0"/>
      </condition>
   </buy>
   <buy name="Estate">
      <condition>
         <left type="countCardsInSupply" attribute="Province"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Thief">
      <condition>
         <left type="countCardsInDeck" attribute="Thief"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="1.0"/>
      </condition>
   </buy>
   <buy name="Fool$s_Gold"/>
   <buy name="Gold"/>
   <buy name="Duchy">
      <condition>
         <left type="countCardsInSupply" attribute="Province"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="6.0"/>
      </condition>
   </buy>
   <buy name="Silver"/>
</player>

Fool's Gold Rush:
Code: [Select]
<player name="Fool's Gold Rush"
 author="blueblimp"
 description="Preferring Fool's Gold over Gold does quite well against BMU.">
 <type name="UserCreated"/>
 <type name="Bot"/>
 <type name="TwoPlayer"/>
 <type name="Province"/>
 <type name="SingleCard"/>
 <type name="BigMoney"/>
 <type name="Generated"/>
   <buy name="Province"/>
   <buy name="Duchy">
      <condition>
         <left type="countCardsInSupply" attribute="Province"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="4.0"/>
      </condition>
   </buy>
   <buy name="Estate">
      <condition>
         <left type="countCardsInSupply" attribute="Province"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Fool$s_Gold"/>
   <buy name="Gold"/>
   <buy name="Duchy">
      <condition>
         <left type="countCardsInSupply" attribute="Province"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="6.0"/>
      </condition>
   </buy>
   <buy name="Silver"/>
</player>
« Last Edit: February 09, 2012, 05:30:38 pm by blueblimp »
Logged

ftl

  • Mountebank
  • *****
  • Offline Offline
  • Posts: 2056
  • Shuffle iT Username: ftl
  • Respect: +1345
    • View Profile
Re: Challenge: Mint/FG vs Thief/FG
« Reply #1 on: February 09, 2012, 03:39:17 pm »
0

Ooh, clever!
Logged

Davio

  • 2012 Dutch Champion
  • *
  • Offline Offline
  • Posts: 4787
  • Respect: +3412
    • View Profile
Re: Challenge: Mint/FG vs Thief/FG
« Reply #2 on: February 09, 2012, 03:50:01 pm »
0

Maybe use Dominiate instead of Geronimoo's so you can optimize the reaction?

Geronimoo's reaction is programmed pretty decently: it trashes FG only if the player already has a regular Gold and only if there's just one FG in the player's hand.

But Dominiate lets you program a custom reaction and has a better standard algorithm imo:
  # `foolsGoldTrashPriority` will trash a Fool's Gold for a real Gold if
  # it's nearing the endgame (5 gains or less), there is one FG in hand,
  # and losing it will not change its buy.

I especially like the last one: Losing it will not change its buy.
Logged

BSG: Cagprezimal Adama
Mage Knight: Arythea

HiveMindEmulator

  • Mountebank
  • *****
  • Offline Offline
  • Posts: 2222
  • Respect: +2118
    • View Profile
Re: Challenge: Mint/FG vs Thief/FG
« Reply #3 on: February 09, 2012, 04:00:22 pm »
0

I would have actually been afraid to open Mint with Thief on the board, but it's really interesting that it's a slight favorite, or at least close.
Logged

WanderingWinder

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 5275
  • ...doesn't really matter to me
  • Respect: +4381
    • View Profile
    • WanderingWinder YouTube Page
Re: Challenge: Mint/FG vs Thief/FG
« Reply #4 on: February 09, 2012, 04:11:20 pm »
0

When I use your bots on Ultimate sim, fixed 5/2 against fixed 4/3, not specifying a starting player, I get thief/FG to win 48.028 - 47.391
So....

blueblimp

  • Margrave
  • *****
  • Offline Offline
  • Posts: 2849
  • Respect: +1559
    • View Profile
Re: Challenge: Mint/FG vs Thief/FG
« Reply #5 on: February 09, 2012, 05:21:36 pm »
0

When I use your bots on Ultimate sim, fixed 5/2 against fixed 4/3, not specifying a starting player, I get thief/FG to win 48.028 - 47.391
So....

I re-ran it a couple times and it seems like there's a bit of variation even on ultimate, around ~1%. Somebody comfortable with statistics should be able to say how much. (Or I might have swapped the results by accident. Hard to say for sure.)

Anyway, I think it's safe to say that they are pretty much even, so I've edited the original post to reflect that.
« Last Edit: February 09, 2012, 05:26:19 pm by blueblimp »
Logged

WanderingWinder

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 5275
  • ...doesn't really matter to me
  • Respect: +4381
    • View Profile
    • WanderingWinder YouTube Page
Re: Challenge: Mint/FG vs Thief/FG
« Reply #6 on: February 09, 2012, 05:29:53 pm »
0

When I use your bots on Ultimate sim, fixed 5/2 against fixed 4/3, not specifying a starting player, I get thief/FG to win 48.028 - 47.391
So....

I re-ran it a couple times and it seems like there's a bit of variation even on ultimate, around ~1%. Somebody comfortable with statistics should be able to say how much. (Or I might have swapped the results by accident. Hard to say for sure.)

Anyway, I think it's safe to say that they are pretty much even, so I've edited the original post to reflect that.
If you simply change your thief bot to buy two, you get up to about a 5% victory for it. Pretty small, but it ain't nothing.

blueblimp

  • Margrave
  • *****
  • Offline Offline
  • Posts: 2849
  • Respect: +1559
    • View Profile
Re: Challenge: Mint/FG vs Thief/FG
« Reply #7 on: February 09, 2012, 05:34:58 pm »
0

I would have actually been afraid to open Mint with Thief on the board, but it's really interesting that it's a slight favorite, or at least close.

Yeah, I expected Thief/FG to do even better. And I think that the Mint/FG bot might be pretty bad, since it suffers a lot from dilution that a human player (or smarter bot) might deal with more intelligently.

When I use your bots on Ultimate sim, fixed 5/2 against fixed 4/3, not specifying a starting player, I get thief/FG to win 48.028 - 47.391
So....

I re-ran it a couple times and it seems like there's a bit of variation even on ultimate, around ~1%. Somebody comfortable with statistics should be able to say how much. (Or I might have swapped the results by accident. Hard to say for sure.)

Anyway, I think it's safe to say that they are pretty much even, so I've edited the original post to reflect that.
If you simply change your thief bot to buy two, you get up to about a 5% victory for it. Pretty small, but it ain't nothing.

Thanks, I see that improvement too. When I tried a second Thief before, it didn't help, but I think that's because I bought it after the FG's were all gone, when it was too late to steal much.
Logged
Pages: [1]
 

Page created in 0.042 seconds with 21 queries.