Dominion Strategy Forum

Please login or register.

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

Author Topic: Gray's Sim Challenge 3  (Read 4995 times)

0 Members and 1 Guest are viewing this topic.

Graystripe77

  • Tactician
  • *****
  • Offline Offline
  • Posts: 421
  • 1.61803398874989...
  • Respect: +94
    • View Profile
    • Dreamkeeperscomic.com
Gray's Sim Challenge 3
« on: August 25, 2011, 12:22:25 pm »
0

This time, you may include colony and platinum buy rules:

Alchemist
Island
Festival
Mint
Trading Post

May the best strategy win!
« Last Edit: August 25, 2011, 01:40:35 pm by Graystripe77 »
Logged

WanderingWinder

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 5275
  • ...doesn't really matter to me
  • Respect: +4386
    • View Profile
    • WanderingWinder YouTube Page
Re: Gray's Sim Challenge 3
« Reply #1 on: August 25, 2011, 01:22:10 pm »
0

Any strategy which includes steward will underperform rather drastically, since the sim doesn't know what it's doing really with steward

Graystripe77

  • Tactician
  • *****
  • Offline Offline
  • Posts: 421
  • 1.61803398874989...
  • Respect: +94
    • View Profile
    • Dreamkeeperscomic.com
Re: Gray's Sim Challenge 3
« Reply #2 on: August 25, 2011, 01:40:50 pm »
0

Changed.
Logged

Geronimoo

  • Saboteur
  • *****
  • Offline Offline
  • Posts: 1059
  • Respect: +868
    • View Profile
    • Geronimoo's Dominion Simulator
Re: Gray's Sim Challenge 3
« Reply #3 on: August 26, 2011, 07:44:43 am »
0

Code: [Select]
<player name="SimChalleng#3 - Geronimoo">
   <buy name="Colony">
      <condition>
         <left type="countCardsInDeck" attribute="Platinum"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="0.0"/>
      </condition>
   </buy>
   <buy name="Province">
      <condition>
         <left type="countCardsInSupply" attribute="Colony"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="4.0"/>
      </condition>
   </buy>
   <buy name="Duchy">
      <condition>
         <left type="countCardsInSupply" attribute="Colony"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="3.0"/>
      </condition>
   </buy>
   <buy name="Island">
      <condition>
         <left type="countCardsInSupply" attribute="Colony"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="3.0"/>
      </condition>
   </buy>
   <buy name="Estate">
      <condition>
         <left type="countCardsInSupply" attribute="Colony"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="1.0"/>
      </condition>
   </buy>
   <buy name="Platinum"/>
   <buy name="Trading_Post">
      <condition>
         <left type="countCardsInDeck" attribute="Trading_Post"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
   </buy>
   <buy name="Alchemist"/>
   <buy name="Potion">
      <condition>
         <left type="countCardsInDeck" attribute="Potion"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Festival">
      <condition>
         <left type="countCardsInDeck" attribute="Festival"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Island">
      <condition>
         <left type="countCardsInDeck" attribute="Island"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
   </buy>
   <buy name="Silver">
      <condition>
         <left type="countCardsInDeck" attribute="Trading_Post"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="1.0"/>
      </condition>
      <condition>
         <left type="countCardsInDeck" attribute="Silver"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
   </buy>
</player>
Logged

Graystripe77

  • Tactician
  • *****
  • Offline Offline
  • Posts: 421
  • 1.61803398874989...
  • Respect: +94
    • View Profile
    • Dreamkeeperscomic.com
Re: Gray's Sim Challenge 3
« Reply #4 on: August 27, 2011, 02:32:15 pm »
0

<player name="Gray'sSimChallenge2-Graystripe77">
   <buy name="Colony">
      <condition>
         <left type="countCardsInDeck" attribute="Platinum"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="0.0"/>
      </condition>
   </buy>
   <buy name="Island">
      <condition>
         <left type="countAvailableMoney"/>
         <operator type="equalTo" />
         <right type="constant" attribute="8.0"/>
      </condition>
      <condition>
         <left type="countBuysLeft"/>
         <operator type="greaterOrEqualThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
      <condition>
         <left type="countCardsInSupply" attribute="Colony"/>
         <operator type="greaterOrEqualThan" />
         <right type="constant" attribute="6.0"/>
      </condition>
   </buy>
   <buy name="Province">
      <condition>
         <left type="countCardsInSupply" attribute="Colony"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="5.0"/>
      </condition>
   </buy>
   <buy name="Duchy">
      <condition>
         <left type="countCardsInSupply" attribute="Colony"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="4.0"/>
      </condition>
   </buy>
   <buy name="Island">
      <condition>
         <left type="countCardsInSupply" attribute="Colony"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="3.0"/>
      </condition>
   </buy>
   <buy name="Estate">
      <condition>
         <left type="countCardsInSupply" attribute="Colony"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Platinum"/>
   <buy name="Trading_Post">
      <condition>
         <left type="countCardsInDeck" attribute="Trading_Post"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
   </buy>
   <buy name="Alchemist"/>
   <buy name="Potion">
      <condition>
         <left type="countCardsInDeck" attribute="Potion"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Festival">
      <condition>
         <left type="countCardsInDeck" attribute="Festival"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Island">
      <condition>
         <left type="countCardsInDeck" attribute="Island"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Silver">
      <condition>
         <left type="countCardsInDeck" attribute="Trading_Post"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
      <condition>
         <left type="countCardsInDeck" attribute="Silver"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
   </buy>
   <buy name="Island"/>
</player>

This optimization plays 49:48 against geronimoo's strategy, but it doesn't look like it's going to get any better than that.
Logged

Geronimoo

  • Saboteur
  • *****
  • Offline Offline
  • Posts: 1059
  • Respect: +868
    • View Profile
    • Geronimoo's Dominion Simulator
Re: Gray's Sim Challenge 3
« Reply #5 on: August 28, 2011, 03:49:45 am »
0

You should use \[code\]\[/code\] to paste your bot on the forum (the # button). It's cleaner and easier to use.
And your bot doesn't really beat mine (just simulate it more than 1 time and you'll see). When win rates are so close to even, 10000 games is far too few to determine the dominant strategy.
But I do think you're on the right track to really improve the bot by adding more buy rules for Islands.
Logged

Graystripe77

  • Tactician
  • *****
  • Offline Offline
  • Posts: 421
  • 1.61803398874989...
  • Respect: +94
    • View Profile
    • Dreamkeeperscomic.com
Re: Gray's Sim Challenge 3
« Reply #6 on: August 28, 2011, 02:54:07 pm »
0

You should use \[code\]\[/code\] to paste your bot on the forum (the # button). It's cleaner and easier to use.
And your bot doesn't really beat mine (just simulate it more than 1 time and you'll see). When win rates are so close to even, 10000 games is far too few to determine the dominant strategy.
But I do think you're on the right track to really improve the bot by adding more buy rules for Islands.

Thanks, I didn't know the code paste thing. And I did simulate it 10 times, and 9 out of ten it beat your bot by 1%
Logged

tko

  • Young Witch
  • ****
  • Offline Offline
  • Posts: 129
  • Respect: +1
    • View Profile
Re: Gray's Sim Challenge 3
« Reply #7 on: August 29, 2011, 10:45:24 am »
0

This time, you may include colony and platinum buy rules:

Alchemist
Island
Festival
Mint
Trading Post

May the best strategy win!
Does the bot need to include a buy rule for every card in the list of 5?  For example, do I need to add a buy rule for Mint?
Logged

DStu

  • Margrave
  • *****
  • Offline Offline
  • Posts: 2627
  • Respect: +1490
    • View Profile
Re: Gray's Sim Challenge 3
« Reply #8 on: August 29, 2011, 11:17:59 am »
0

This time, you may include colony and platinum buy rules:

Alchemist
Island
Festival
Mint
Trading Post

May the best strategy win!
Does the bot need to include a buy rule for every card in the list of 5?  For example, do I need to add a buy rule for Mint?

if 0>1 buy Mint
Logged

tko

  • Young Witch
  • ****
  • Offline Offline
  • Posts: 129
  • Respect: +1
    • View Profile
Re: Gray's Sim Challenge 3
« Reply #9 on: August 29, 2011, 11:21:02 am »
0

2nd question, and this is a question about the simulator, but specifically related to a card in the list (Island).  Is there a buy rule for the # of turns?  For example, I want to see what it's like if I buy Island on turns 1 or 2, but not turns 3-6, though maybe turns 7-8 if my available coin is exactly 4, etc.
Logged

Geronimoo

  • Saboteur
  • *****
  • Offline Offline
  • Posts: 1059
  • Respect: +868
    • View Profile
    • Geronimoo's Dominion Simulator
Re: Gray's Sim Challenge 3
« Reply #10 on: August 29, 2011, 11:27:08 am »
0

There isn't a buy condition for #turns, but you can use the "total cards in deck" or "total $ in deck" or count cards in deck to check how far the game has progressed.
Logged

Graystripe77

  • Tactician
  • *****
  • Offline Offline
  • Posts: 421
  • 1.61803398874989...
  • Respect: +94
    • View Profile
    • Dreamkeeperscomic.com
Re: Gray's Sim Challenge 3
« Reply #11 on: August 29, 2011, 03:21:19 pm »
0

No, you do not have to include every single card in your strategy.
Logged

tko

  • Young Witch
  • ****
  • Offline Offline
  • Posts: 129
  • Respect: +1
    • View Profile
Re: Gray's Sim Challenge 3
« Reply #12 on: August 29, 2011, 03:39:55 pm »
0

So I'm new to using the simulator and I find it challenging.  When I compete against the strategies previously posted, almost every tweak I make worsens the results.  It seems that my strategy to buy a Gold if it's having trouble getting to Platinum, and to occassionaly buy a Mint if it guesses the situation is appropriate, makes it too slow.  And the problem is likely the way I play... I would probably buy a Gold but SimChalleng#3-Geronimoo would not.
Code: [Select]
<player name="SimChalleng#3 - tko attempt#2">
   <buy name="Colony">
      <condition>
         <left type="countCardsInDeck" attribute="Platinum"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="0.0"/>
      </condition>
   </buy>
   <buy name="Province">
      <condition>
         <left type="countCardsInSupply" attribute="Colony"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="4.0"/>
      </condition>
   </buy>
   <buy name="Duchy">
      <condition>
         <left type="countCardsInSupply" attribute="Colony"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="4.0"/>
      </condition>
   </buy>
   <buy name="Island">
      <condition>
         <left type="countCardsInSupply" attribute="Colony"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Potion">
      <condition>
         <left type="countCardsInDeck" attribute="Potion"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
   </buy>
   <buy name="Estate">
      <condition>
         <left type="countCardsInSupply" attribute="Colony"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="1.0"/>
      </condition>
   </buy>
   <buy name="Platinum">
      <condition>
         <left type="countCardsInDeck" attribute="Platinum"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
   </buy>
   <buy name="Alchemist">
      <condition>
         <left type="countCardsInDeck" attribute="Alchemist"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Platinum">
      <condition>
         <left type="countCardsInDeck" attribute="Platinum"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Alchemist">
      <condition>
         <left type="countCardsInDeck" attribute="Alchemist"/>
         <operator type="greaterOrEqualThan" />
         <right type="constant" attribute="3.0"/>
      </condition>
      <condition>
         <left type="countCardsInDeck" attribute="Alchemist"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="4.0"/>
      </condition>
   </buy>
   <buy name="Alchemist">
      <condition>
         <left type="countCardsInDeck" attribute="Alchemist"/>
         <operator type="greaterOrEqualThan" />
         <right type="constant" attribute="5.0"/>
      </condition>
      <condition>
         <left type="countBuysLeft"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="0.0"/>
      </condition>
   </buy>
   <buy name="Potion">
      <condition>
         <left type="countCardsInDeck" attribute="Potion"/>
         <operator type="equalTo" />
         <right type="constant" attribute="1.0"/>
      </condition>
      <condition>
         <left type="countCardsInDeck" attribute="Alchemist"/>
         <operator type="greaterOrEqualThan" />
         <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="Mint">
      <condition>
         <left type="countCardsInDeck" attribute="Mint"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
      <condition>
         <left type="countAvailableMoney"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="7.0"/>
      </condition>
      <condition>
         <left type="countCardsInPlay" attribute="Silver"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="1.0"/>
      </condition>
      <condition>
         <left type="countCardsInPlay" attribute="Potion"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
      <condition>
         <left type="countCardsInPlay" attribute="Gold"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
      <condition>
         <left type="countCardsInPlay" attribute="Platinum"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
      <condition>
         <left type="countCardTypeInDeck" attribute="Treasure"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="8.0"/>
      </condition>
   </buy>
   <buy name="Mint">
      <condition>
         <left type="countCardsInDeck" attribute="Mint"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
      <condition>
         <left type="countAvailableMoney"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="7.0"/>
      </condition>
      <condition>
         <left type="countCardsInPlay" attribute="Silver"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
      <condition>
         <left type="countCardsInPlay" attribute="Potion"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
      <condition>
         <left type="countCardsInPlay" attribute="Gold"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
      <condition>
         <left type="countCardsInPlay" attribute="Platinum"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
      <condition>
         <left type="countCardTypeInDeck" attribute="Treasure"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="7.0"/>
      </condition>
   </buy>
   <buy name="Festival">
      <condition>
         <left type="countCardsInDeck" attribute="Festival"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
   </buy>
   <buy name="Festival">
      <condition>
         <left type="countAvailableMoney"/>
         <operator type="greaterOrEqualThan" />
         <right type="constant" attribute="5.0"/>
      </condition>
      <condition>
         <left type="countAvailableMoney"/>
         <operator type="smallerOrEqualThan" />
         <right type="constant" attribute="7.0"/>
      </condition>
      <condition>
         <left type="countCardsInDeck" attribute="Festival"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="3.0"/>
      </condition>
   </buy>
   <buy name="Alchemist">
      <condition>
         <left type="countCardsInDeck" attribute="Alchemist"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="4.0"/>
      </condition>
      <condition>
         <left type="countBuysLeft"/>
         <operator type="greaterThan" />
         <right type="constant" attribute="1.0"/>
      </condition>
   </buy>
   <buy name="Gold">
      <condition>
         <left type="countCardsInDeck" attribute="Gold"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
      <condition>
         <left type="countCardsInDeck" attribute="Platinum"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Silver">
      <condition>
         <left type="countCardsInDeck" attribute="Silver"/>
         <operator type="smallerThan" />
         <right type="constant" attribute="2.0"/>
      </condition>
   </buy>
   <buy name="Island">
      <condition>
         <left type="countCardsInDeck" attribute="Island"/>
         <operator type="equalTo" />
         <right type="constant" attribute="0.0"/>
      </condition>
   </buy>
</player>
Logged

Geronimoo

  • Saboteur
  • *****
  • Offline Offline
  • Posts: 1059
  • Respect: +868
    • View Profile
    • Geronimoo's Dominion Simulator
Re: Gray's Sim Challenge 3
« Reply #13 on: August 30, 2011, 04:01:20 am »
0

So I'm new to using the simulator and I find it challenging.
Yes, it can be hard to put all your strategy into a good set of buy rules. You should probably start out with the most simple bot you can imagine that performs your basic strategy, check if it does what it should do by looking over a few Sample Games, then slowly add more buy rules and keep checking the Sample Games.
I looked over a few Sample games of your bot and found one immediate mistake: with $5/$2 it doesn't open Trading Post, but Potion which severely slows the bot down. Another problem is Mint which will keep copying Potions. That's not a mistake in your buy rules, but an implementation problem for me: the Mint Card will always copy the best treasure in hand regardless of what's in your buy rules. I'll try to correct that in a future release.
Logged

tko

  • Young Witch
  • ****
  • Offline Offline
  • Posts: 129
  • Respect: +1
    • View Profile
Re: Gray's Sim Challenge 3
« Reply #14 on: August 30, 2011, 09:08:08 am »
0

@Geronimoo: One smart play I saw the simulator make was hiding Mint under an Island... that was pretty good.
Logged

Geronimoo

  • Saboteur
  • *****
  • Offline Offline
  • Posts: 1059
  • Respect: +868
    • View Profile
    • Geronimoo's Dominion Simulator
Re: Gray's Sim Challenge 3
« Reply #15 on: August 30, 2011, 09:14:39 am »
0

Is that sarcastic :) ?

If it isn't, the reason it will frequently Island away a Mint is because I set its trash priority equal to that of Silver because most of the time Mint does its best work at the time you buy it. After that the card is often dead weight.
Logged

tko

  • Young Witch
  • ****
  • Offline Offline
  • Posts: 129
  • Respect: +1
    • View Profile
Re: Gray's Sim Challenge 3
« Reply #16 on: August 30, 2011, 09:19:53 am »
0

No sarcasm intended... the trashing value of Mint-buy and the Island'ing away of Mint (since it's done its job) seem like a win/win.
Logged
Pages: [1]
 

Page created in 1.896 seconds with 20 queries.