Dominion Strategy Forum

Please login or register.

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

Author Topic: Best Strategy Simulating Challenge 1  (Read 3158 times)

0 Members and 1 Guest are viewing this topic.

Graystripe77

  • Tactician
  • *****
  • Offline Offline
  • Posts: 421
  • 1.61803398874989...
  • Respect: +94
    • View Profile
    • Dreamkeeperscomic.com
Best Strategy Simulating Challenge 1
« on: August 22, 2011, 09:57:49 pm »
0

The goal of this topic is to introduce new and interesting strategies (Using Geronimoo's simulator) to as many people as possible by seeing who can create the most intriguing strategy using a predetermined set of cards.

Here is a set of 5 cards:

Courtyard
Coppersmith
Venture
Trading Post
Worker's Village

Who can come up with the most interesting (and hopefully good) strategy?

(Maybe I should have put this in puzzles and challenges)
« Last Edit: August 22, 2011, 10:05:15 pm by Graystripe77 »
Logged

michaeljb

  • Saboteur
  • *****
  • Offline Offline
  • Posts: 1422
  • Shuffle iT Username: michaeljb
  • Respect: +2114
    • View Profile
Re: Best Strategy Simulating Challenge 1
« Reply #1 on: August 23, 2011, 12:07:03 am »
0

78-19 vs BMU w/ random starts, more dominant if it gets to start 5/2.
I just took the BMU bot and added Trading Post, Ventures and Courtyards, it usually gets 1 or 0 Courtyards. It was the first strategy I thought of, not terribly creative, and of course I won't know how well it actually does in this set of 5 till I get some bots for it to play against.  ;D

edit: I just realized I had been mistakenly matching this against the 3p/4p BMU, not the 2p one...against the 2p BMU it does about 67-30. I may rework this some more but I guess it can still be a starting point for this challenge.

Code: [Select]
<player name="michaeljb Gray'sChallenge1">
   <buy name="Province"/>
   <buy name="Duchy">
      <condition>
         <left type="countCardsInSupply" attribute="Province"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="5.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="Trading_Post">
      <condition>
         <left type="countCardsInDeck" attribute="Trading_Post"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
   </buy>
   <buy name="Gold"/>
   <buy name="Venture"/>
   <buy name="Silver"/>
   <buy name="Courtyard"/>
</player>
« Last Edit: August 23, 2011, 12:17:24 am by michaeljb »
Logged
🚂 Give 18xx games a chance 🚂

DStu

  • Margrave
  • *****
  • Offline Offline
  • Posts: 2627
  • Respect: +1490
    • View Profile
Re: Best Strategy Simulating Challenge 1
« Reply #2 on: August 23, 2011, 01:47:13 am »
0

I think that's already Challenge #5, but anyway:

When you ignore the TradingPost and let it get an early CY even with more than $2, you beat michaeljb's bot by 64:33
Code: [Select]
<player name="mine">
   <buy name="Province"/>
   <buy name="Duchy">
      <condition>
         <left type="countCardsInSupply" attribute="Province"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="5.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="Gold"/>
   <buy name="Venture"/>
   <buy name="Courtyard">
      <condition>
         <left type="countCardsInDeck" attribute="Silver"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="0.0"/>
      </condition>
      <condition>
         <left type="countCardsInDeck" attribute="Courtyard"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
   </buy>
   <buy name="Silver"/>
   <buy name="Courtyard"/>
</player>
Logged

Thanar

  • Bishop
  • ****
  • Offline Offline
  • Posts: 123
  • Respect: +138
    • View Profile
Re: Best Strategy Simulating Challenge 1
« Reply #3 on: August 23, 2011, 02:11:18 am »
0

Here is my entry for the Challenge: Thanar Venture + Courtyard D4E2

It buys Ventures at 5, with no limit. It buys 1 Courtyard at higher priority than Silver, and it also buys more Courtyards when it can’t afford Silver. This leads to a Courtyard/Silver opening with 4/3, and Venture/Courtyard with 5/2. [Up to now this is functionally the same as the bot Dstu just posted.]

I also tweaked the Dutchy buy rule to start buying at 4 Provinces left (rather than 5 used by BMU) and found it worked a bit better.

Code: [Select]
<player name="Thanar Venture + Courtyard D4E2">
   <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="Gold"/>
   <buy name="Venture"/>
   <buy name="Courtyard">
      <condition>
         <left type="countCardsInDeck" attribute="Courtyard"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
   </buy>
   <buy name="Silver"/>
   <buy name="Courtyard"/>
</player>
Results
80% to 14% vs. BM - Big Money Ultimate
64% to 32% vs. michaeljb Gray’sChallenge1
47% to 43% vs. Dstu (which buys Dutchies at 5 Provinces left)

Logged

Geronimoo

  • Saboteur
  • *****
  • Offline Offline
  • Posts: 1059
  • Respect: +868
    • View Profile
    • Geronimoo's Dominion Simulator
Re: Best Strategy Simulating Challenge 1
« Reply #4 on: August 23, 2011, 04:14:00 am »
0

If you want to participate but find constructing a bot too hard, here's a little walkthrough how to use the bot editor.
Logged

WanderingWinder

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 5275
  • ...doesn't really matter to me
  • Respect: +4384
    • View Profile
    • WanderingWinder YouTube Page
Re: Best Strategy Simulating Challenge 1
« Reply #5 on: August 23, 2011, 10:00:55 am »
0

Here's what I've got:
Code: [Select]
<player name="SimStratChal1WW">
   <buy name="Province">
      <condition>
         <left type="countCardsInDeck" attribute="Gold"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="0.0"/>
      </condition>
   </buy>
   <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="Gold"/>
   <buy name="Duchy">
      <condition>
         <left type="countCardsInSupply" attribute="Province"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="5.0"/>
      </condition>
   </buy>
   <buy name="Venture"/>
   <buy name="Silver">
      <condition>
         <left type="countCardsInDeck" attribute="Silver"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
   </buy>
   <buy name="Courtyard">
      <condition>
         <left type="countCardsInDeck" attribute="Courtyard"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="1.0"/>
      </condition>
   </buy>
   <buy name="Silver"/>
   <buy name="Courtyard">
      <condition>
         <left type="countCardsInDeck" attribute="Courtyard"/>
         <operator type="smallerOrEqualThan" />
         <right type="countAllCardsInDeck"/>
         <extra_operation type="divideBy" attribute="8.0" />
      </condition>
   </buy>
</player>
Beats Thanar's ~46/44. I don't think there's going to be much improvement over this. I tried stuff with trading post, but it's losing by a pretty good stretch, as it turns out. I doubt Coppersmith is really going to do anything here, and Worker's village might be nice, except that I don't think the game will last long enough to prefer it to silver.

DG

  • Governor
  • *****
  • Offline Offline
  • Posts: 4074
  • Respect: +2624
    • View Profile
Re: Best Strategy Simulating Challenge 1
« Reply #6 on: August 23, 2011, 12:24:29 pm »
0

There's no point playing the simulator with courtyard/trading post. It gets the priorities wrong when that should be a rock solid 5/2 opening. It plays the trading post with the courtyard also in hand. When playing the courtyard it doesn't put the trading post back onto the deck (if it draws it). Courtyards probably belong in the "do not simulate" list along with hamlets and havens.

Courtyard/venture is also an extremely powerful opener and the simulator will hopefully get that one right.

« Last Edit: August 23, 2011, 01:18:55 pm by DG »
Logged

Graystripe77

  • Tactician
  • *****
  • Offline Offline
  • Posts: 421
  • 1.61803398874989...
  • Respect: +94
    • View Profile
    • Dreamkeeperscomic.com
Re: Best Strategy Simulating Challenge 1
« Reply #7 on: August 24, 2011, 01:46:53 pm »
0

OK, next challenge is in the challenges section. :)
Logged

michaeljb

  • Saboteur
  • *****
  • Offline Offline
  • Posts: 1422
  • Shuffle iT Username: michaeljb
  • Respect: +2114
    • View Profile
Re: Best Strategy Simulating Challenge 1
« Reply #8 on: August 24, 2011, 11:33:19 pm »
0

With Geronimoo's slightly updated simulator (he specifically mentioned improved Courtyard play), I added a rule to WW's bot after his second Duchy rule, so that it will buy Trading Post if and only if it gets the 5/2 opening draw. For random starts it has a very slim edge, but it has a significant advantage when it gets to start 5/2.

There are probably better/more general methods for restricting a 5-coster to the opening buy, but the rule I used was to buy a Trading Post if the number of cards in the deck is less than or equal to 11.

Moral of the story: WW built the best bot, but it should also open Trading Post when it can! I'm pleased that I found a good use for Trading Post. Now onto Gray's next challenge!

Code: [Select]
<player name="SimStratChal1WW ">
   <buy name="Province">
      <condition>
         <left type="countCardsInDeck" attribute="Gold"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="0.0"/>
      </condition>
   </buy>
   <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="Gold"/>
   <buy name="Duchy">
      <condition>
         <left type="countCardsInSupply" attribute="Province"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="5.0"/>
      </condition>
   </buy>
   <buy name="Trading_Post">
      <condition>
         <left type="countAllCardsInDeck"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="11.0"/>
      </condition>
   </buy>
   <buy name="Venture"/>
   <buy name="Silver">
      <condition>
         <left type="countCardsInDeck" attribute="Silver"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
   </buy>
   <buy name="Courtyard">
      <condition>
         <left type="countCardsInDeck" attribute="Courtyard"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="1.0"/>
      </condition>
   </buy>
   <buy name="Silver"/>
   <buy name="Courtyard">
      <condition>
         <left type="countCardsInDeck" attribute="Courtyard"/>
         <operator type="smallerOrEqualThan" />
         <right type="countAllCardsInDeck"/>
         <extra_operation type="divideBy" attribute="8.0" />
      </condition>
   </buy>
</player>
Logged
🚂 Give 18xx games a chance 🚂

HiveMindEmulator

  • Mountebank
  • *****
  • Offline Offline
  • Posts: 2222
  • Respect: +2118
    • View Profile
Re: Best Strategy Simulating Challenge 1
« Reply #9 on: August 26, 2011, 05:34:32 am »
0

^using total cards <= 11 could screw up if you play trading post on turn 3 and get $5. I think you need to additionally specify silver = 0.
Logged

michaeljb

  • Saboteur
  • *****
  • Offline Offline
  • Posts: 1422
  • Shuffle iT Username: michaeljb
  • Respect: +2114
    • View Profile
Re: Best Strategy Simulating Challenge 1
« Reply #10 on: August 26, 2011, 05:50:00 pm »
0

^using total cards <= 11 could screw up if you play trading post on turn 3 and get $5. I think you need to additionally specify silver = 0.
I guess if Council Room or Masquerade are in the kingdom this does matter, but for this particular puzzle that won't be a problem.
Logged
🚂 Give 18xx games a chance 🚂
Pages: [1]
 

Page created in 0.048 seconds with 20 queries.