Dominion Strategy Forum

Please login or register.

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

Author Topic: A day at the simulators  (Read 1099 times)

0 Members and 1 Guest are viewing this topic.

rod-

  • Conspirator
  • ****
  • Offline Offline
  • Posts: 213
  • Respect: +49
    • View Profile
A day at the simulators
« on: January 03, 2012, 05:09:05 pm »
+1

First, I was interested in finding out why DoubleJack was the defacto standard for all jack plays ; I'd done several solitaire games yesterday comparing different methods of early estate trashing + BM strategies, and i found that SingleJack was a much more consistent strategy, although slower by ~.5 turns in the BEST case. My 10 solitaire matches found that SingleJack was 4provinces in 13.6+/-0.9 turns while DoubleJack was 14.14+/-2.95.

Simulations of the two (unoptimized?) strategies against each other find a 48/52 in favor of SingleJack:
Default DoubleJack:
Code: [Select]
# Buys two Jacks of All Trades and otherwise plays a version of Big Money.
#
# This has no Colony rules, because it would be a terrible strategy in
# Colony games.
{
  name: 'DoubleJack'
  author: 'rspeer'
  requires: ["Jack of All Trades"]
  gainPriority: (state, my) -> [
    "Province" if my.getTotalMoney() > 15
    "Duchy" if state.gainsToEndGame() <= 5
    "Estate" if state.gainsToEndGame() <= 2
    "Gold"
    "Jack of All Trades" if my.countInDeck("Jack of All Trades") < 2
    "Silver"
  ]
}
SingleJack simply changes the < 2 to < 1 for Jack-buying.

However, from the solitaire matches, I'd found that the biggest obstacle to getting fast provinces was an early duchy, which had a way of ruining the deck's ability to function (worst being a game in which I was stuck at 7 from turns 13-19, primarily due to quick reshuffles making those duchies and extrajacks come back to haunt me).  After playing around with the "how soon can i buy duchies" I found that no strategic play could make DoubleJack beat SingleJack. 

Obviously, attack cards and other strategic combinations such as oasis may have a different result, but the simple "always buy two jacks" rule is one that can be challenged.   





Second:  Warehouse/Tunnel:


RR asked if Warehouse/Warehouse aiming to get tunnel was better than Warehouse/Tunnel in sims.  The first step was getting a good combo Bot to start out with:


Do you even buy golds?  It doesnt seem to make much difference, but 52-48 in favor of the gold-buying bot.
What order do you buy tunnels and warehouses AFTER the opening?  They really more or less tied here too.
How many warehouses do you buy?  Apparently 1 more than you have tunnels. 
How hard do you fight for tunnels in the mirror?  If you open W/T you need to fight hard to get a 5/3 split, but opening W/W you almost don't care if you get more than 3. 


Overall, I couldn't come up with anything that would make warehouse/tunnel better than 47/53 versus warehouse/warehouse:


Bots Below:
Code: [Select]

# Open Warehouse/Tunnel/Warehouse For Warehouse/Tunnel Board then fights for Tunnels
{
  name: 'WareTunnel'
  author: 'rod-'
  requires: ["Warehouse", "Tunnel"]
  gainPriority: (state, my) -> [
    "Province" if my.getTotalMoney() > 15
    "Duchy" if state.gainsToEndGame() <= 5
    "Estate" if state.gainsToEndGame() <= 2
    "Gold"
    "Duchy" if state.countInSupply("Tunnel") == 0
    "Tunnel" if my.countInDeck("Tunnel") < 1
    "Warehouse" if my.countInDeck("Warehouse") < 2
    "Tunnel" if my.countInDeck("Tunnel") < 6
    "Warehouse" if my.countInDeck("Warehouse") < my.countInDeck("Tunnel")+1
    ]
}
Code: [Select]
{

# Open Warehouse/Warehouse/Tunnel then maintains warehouse/tunnel parity on Warehouse/Tunnel Board
name: 'DoubleWareTunnel'
author: 'rod-'
requires: ["Warehouse", "Tunnel"]
gainPriority: (state, my) -> [
    "Province" if my.getTotalMoney() > 15
    "Duchy" if state.gainsToEndGame() <= 5
    "Estate" if state.gainsToEndGame() <= 2
    "Gold"
    "Duchy" if state.countInSupply("Tunnel") == 0
    "Warehouse" if my.countInDeck("Warehouse") < 2
    "Warehouse" if my.countInDeck("Warehouse") < my.countInDeck("Tunnel")+1
    "Tunnel" if my.countInDeck("Tunnel") < 6
  ]
}

It's possible that both of these bots get too many warehouses/tunnels, but whenever i lowered the count of warehouses, it was a bad thing.
Logged

Geronimoo

  • Saboteur
  • *****
  • Offline Offline
  • Posts: 1046
  • Respect: +838
    • View Profile
    • Geronimoo's Dominion Simulator
Re: A day at the simulators
« Reply #1 on: January 03, 2012, 06:21:02 pm »
0

rspeer's play rules for the Jack aren't as good as those in my simulator (he said so himself somewhere). In my simulator the doubleJack always beats singleJack (although by a slim margin). Looking at the graphs, it's clear singleJack starts greening earlier, but lacks the staying power in the end game of the doubleJack.
Logged
Pages: [1]
 

Page created in 0.063 seconds with 20 queries.