Dominion Strategy Forum

Please login or register.

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

Author Topic: Beginner's heuristics for evaluating engines  (Read 19767 times)

0 Members and 1 Guest are viewing this topic.

TheExpressicist

  • Conspirator
  • ****
  • Offline Offline
  • Posts: 200
  • Respect: +203
    • View Profile
Beginner's heuristics for evaluating engines
« on: February 03, 2014, 02:05:45 pm »
+3

Note
A.) I wasn't sure if this should be incorporated into the previous thread or not, but I feel like both the intention and the direction of the conversation will take are quite different.
B.) The goal of this is to provide a specific heuristic for new players to follow, rather than a conceptual overview of the subject. I feel like the subject of what constitutes a good engine and the tactical concerns involved have already been gone over in great detail by people far more skilled at Dominion tactics than myself.
C.) The inevitable disclaimer: My knowledge regarding engines is primary relegated to the realm of probabilities and statistics, not practical experience. For the most part, these "rules of thumb" are *statistically* sound. In other words, if you assemble a deck according to these rules, statistically speaking you'll have an engine that reliably should be able to buy 4 Provinces before Big Money would be able to. But there is an entire world of difference between statistics and practical application, and furthermore, "rules of thumb" place far more value on simplicity rather than accuracy.
D.) As such, I am extremely open to constructive criticism, destructive criticism, tarring and feathering, suggestions, discussions, etc. By no means are these exhaustive and by no means am I an authority on engine building. I'm simply someone who knows too much about statistics with too much time on his hands.

With that said, here goes:

Simple Version:
1. Are there cards that provide +2 Actions, and cards that provide +2 (or more) Cards? If no, don't play engine.
2. Are there junk attacks? If so, take two if it has effects, take one if it's vanilla.
3. Are there trashers? If so, buy one. If it provides a good benefit in addition to trashing, buy 2.
4. Are there gainers? If so, buy one. If you don't have any trash-for-benefit, buy 2.
5. Are there discard attacks? If so, buy one.

Building the Engine
Prioritize your buys/actions as follows:

1. Buying or playing junk attacks.  (If your junk attacks cost $5, you typically want to purchase at least 1 silver in your open.)
2. Buying or playing trashers.
3. Buying or playing gainers.
4. Buying non-terminal +Cards with useful effects and/or >+1 card. (e.g. Market, Laboratory, Scrying pool, Ironmonger, etc.)
5. Buying +Actions, if you have more terminal actions than +Action cards.
6. Buying Terminal Actions with +Cards.
7. Buying Terminal Actions without +Cards.
8. Buying Treasure (if necessary)

Complicated Version:
Determining whether your engine is viable, then optimizing it:
1. Start with the following three numbers: X=18, Y=10. Z=0.
    X represents the number of cards you'll need to draw to cycle through your deck reliably.
    Y represents the number of turns you have before a well-constructed Big Money deck can start greening.
    Z represents the number of turns it will take you to construct your engine.


Evaluate the kingdom. If there is trashing but no junking, subtract 6 from X. If there is junking but no trashing, add 5 to X. If there is both, keep X at 18. Add 3 to Z if there is trashing.
2. Count enough +Actions to equal X-5. (Note: if you need more than 6 of a single card, consider diversifying.) Add this number to Z.
3. Count enough +Cards to equal X. Add this number to Z.
4. Count one treasure for every 2 cards in your engine that cost 5 or more. Then count enough treasure cards to bring the total money in your deck up to 10. (Subtract $5 from your total money if you are trashing). Add this number to Z.
5. That is the basis of your engine. Now you look to augment it. Start with Junk attacks. Count 1 if it's vanilla (e.g. Sea Hag/Maurauder), count 2 if it has effects (Mountebank, Witch, Ambassador, Masquerade). Add that number to Z. Add 5 to Y.
6. Go with Gainers next. Set aside a maximum of 2 gainers. (If you already have gainers in your deck like trash-for-benefit, set aside a maximum of 1). Subtract 2 from Z for each "Pure" Gainer you have in your deck. Subtract 1 from Z for each "limited" Gainer you have in your deck (e.g. cards like Remodel which don't do much good if you have a card full of copper).
7. Go with discard attacks next. Add 1 to Y for each discard attack you purchase. (Add 1 to Z if this is an additional purchase and doesn't replace something).
8. Is Z < Y? If not, consider a different non-engine strategy.

Building the Engine
Note the names of the cards you counted aside. These are the basic components of your engine. Forget about the quantities that you calculated previously. That was to determine if your engine is even viable in the first place.

Prioritize your buys/actions as follows:

1. Buying or playing junk attacks.  (If your junk attacks cost $5, you typically want to purchase at least 1 silver in your open.)
2. Buying or playing trashers.
3. Buying or playing gainers.
4. Buying non-terminal +Cards with useful effects and/or >+1 card. (e.g. Market, Laboratory, Scrying pool, Ironmonger, etc.)
5. Buying +Actions, if you have more terminal actions than +Action cards.
6. Buying Terminal Actions with +Cards.
7. Buying Terminal Actions without +Cards.
8. Buying Treasure (if necessary)


Greening:
I feel like greening strategies have been discussed by people with far more practical experience than myself, so I'll leave that be.

Conclusion & Example:

It sounds fairly complicated, but once you've done it once or twice, it's actually fairly simple.

So, let's apply this heuristic to the "first game engine".

1. There's trashing (Mine + Remodel) but no junking (-6 to X, and +3 to Z), so X=12, Y=10, Z=3.
2. You need 7 +actions (X=12, minus 5). Count 3 Villages and 1 Market (+4 to Z). Z=7
3. You need 12 +cards (X=12). You already have +4 due to Villages + Markets, so 3 Smithies will cover the remaining 9. (+3 to Z). Z=10
4. You have have $7 from copper and $1 from Market and -$5 for trashing, leaving you with $3. Thus you need 2 Silver, 1 Gold. (+3 to Z). Z=13.
5. No junk attacks.
6. You already have Mine (pure gainer, so -2) and Remodel (limited gainer, so -1), add a Workshop (pure, so -2, for a total of -5 to Z. Z=8)
7. You can replace 1 Silver with a Militia. (+0 to Z, +1 to Y. Z=8, Y=11)
8. Z=8 is less than Y=11. So you have a viable engine.

So you've got your pre-game strategy worked out. The minimum components of your engine: 1 Remodel, 1 Workshop, 1 Militia, 1 Mine, 1 Gold, 3+ villages, 1+ market, 3+ smithies. Now you go about buying.

1. You want your gainers first, so open Remodel/Workshop. (or Mine, if you can*).
2. You don't have much non-terminal card draw except for Market, so pick that up first.
3. At this point you will have 2 terminals, so stock up on Villages.
4. Then you're left with your terminal actions (3+ Smithies and one Militia). Go back and forth between these and Village.
5. Treasure? You probably won't need any since in almost every scenario you'll need Villages more.


« Last Edit: February 04, 2014, 02:54:20 pm by TheExpressicist »
Logged

itchiko

  • Baron
  • ****
  • Offline Offline
  • Posts: 53
  • Hear me roar
  • Respect: +81
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #1 on: February 03, 2014, 02:19:15 pm »
0

I am sorry but i find that pretty unreadable as it is.

Can you give us an explanation of what X, Y  and Z represents so we can follow the reasoning behind that heuristic?
Right now it feels like reading un-commented recursive code.

It seems X is the total drawing power you need to reach to draw your whole deck. but i have no idea what the other 2 values are.
Logged

TheExpressicist

  • Conspirator
  • ****
  • Offline Offline
  • Posts: 200
  • Respect: +203
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #2 on: February 03, 2014, 02:31:21 pm »
0

Ah, fair enough. (I added this to the OP as well)

X represents the number of cards you'll need to draw to cycle through your deck reliably.
Y represents the number of turns you have before a well-constructed Big Money deck can start greening.
Z represents the number of turns it will take you to construct your engine.



Logged

itchiko

  • Baron
  • ****
  • Offline Offline
  • Posts: 53
  • Hear me roar
  • Respect: +81
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #3 on: February 03, 2014, 02:43:09 pm »
0

OK that makes more sense now.

few remarks:
You are talking about the gainer but what about the +buy?
They are more tricky because their effects highly depends on the costs of the cards you needs. (hamlet can be gained easily with +buys but worker's village would be way harder).

in general you don't count into account the costs of cards for your engine (if all cards you need costs 5: you will have a lot of miss turns that will add to your Z quite a lot without adding more cards that you need).

Also it seems you are prepping for an engine that will get province + estate if i followed correctly, while possible i don't think that it is a good idea to push the beginner to learn engine on such tight engine.
I would have done the heuristic to prep for double province turns before BM guys got its fourth province.
Logged

itchiko

  • Baron
  • ****
  • Offline Offline
  • Posts: 53
  • Hear me roar
  • Respect: +81
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #4 on: February 03, 2014, 02:44:48 pm »
0

Also you will need +1 card to get a +buy if none of the +action or +cards you are using have a +buy.
Logged

TheExpressicist

  • Conspirator
  • ****
  • Offline Offline
  • Posts: 200
  • Respect: +203
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #5 on: February 03, 2014, 02:47:55 pm »
0

To explain the reasoning step-by-step

1a. On average you'll be able to trash probably 6 cards before you start greening, so that's 6 fewer cards you need to cycle through.
1b. On average you will split the curses/ruins with your opponent, adding 5 cards to your deck (requiring 5 more cards to cycle through.) If there's trashing and junking, they will more or less cancel each other out.

2a. X-5 is typically the number of +Actions you will need to sustain the amount of +Cards necessary to hit X. (This assumes three things, first that your +action source also provides +1 card. And secondly, that if you take all your terminal actions and average them together it will be approximately +2 cards per terminal action. And thirdly, that you need +1.5 actions approximately per terminal in order to cycle reliably.)

2b. Every +Action card you buy is 1 more turn it takes you to build your engine, hence adding that to Z.

3. Every +Card card you buy is 1 more turn it takes you to build your engine.

4a. You'll need ~1 treasure for every 2 cards necessary to your engine costing >$5, otherwise you won't be able to afford the necessary pieces fast enough.
4b. You need ~$10 total money in your deck if you want to be able to reliably buy 1 province each time your engine "goes off".
4c. You'll on average trash around 5 copper from your deck with your trashing cards.

5. Each attack card you buy is 1 more turn it takes to build your engine. With the speed at which you're cycling your deck, you really only need 1 vanilla attack card, but if the card has utility you want 2.
5a. The impact of curses on your opponents deck means it will take them approximately 1 more turn per curse (thus requiring 5 more turns if you split the curses)*.
*This number was arrived at statistically but can be verified with Simulators as well. Try DoubleWitch vs. BigSmithy where doublewitch hits 4 provinces in ~15 turns. In the mirror match, that bumps up to ~20 turns.

6. On average, each "gainer" will be played 3 times, but costs 1 turn to buy, for a net effect of 2 fewer turns. "Limited" gainers will on average get you something useful 2 times.

7. The average impact of a single purchased discard attack being played over the course of the game is ~1 lost turn for your opponent.
Logged

TheExpressicist

  • Conspirator
  • ****
  • Offline Offline
  • Posts: 200
  • Respect: +203
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #6 on: February 03, 2014, 02:59:09 pm »
0

You are talking about the gainer but what about the +buy?
They are more tricky because their effects highly depends on the costs of the cards you needs. (hamlet can be gained easily with +buys but worker's village would be way harder).

In most cases, my guess is cards with +Buy won't often "hit" more than once per game. By "hit" I mean let you purchase an extra key component of your engine in the early stages of the game. So the net impact on the number of turns needed to build the engine would be 0. That said, if you're going for a double-province turn, this changes things a bit. More on that below...

Quote
in general you don't count into account the costs of cards for your engine (if all cards you need costs 5: you will have a lot of miss turns that will add to your Z quite a lot without adding more cards that you need).

I ended up posting the following explanation after you posted your response, but the heuristic does attempt to address the cost issue: "4a. You'll need ~1 treasure for every 2 cards necessary to your engine costing >$5, otherwise you won't be able to afford the necessary pieces fast enough. "

Quote
Also it seems you are prepping for an engine that will get province + estate if i followed correctly, while possible i don't think that it is a good idea to push the beginner to learn engine on such tight engine.
I would have done the heuristic to prep for double province turns before BM guys got its fourth province.

Also it seems you are prepping for an engine that will get province + estate if i followed correctly, while possible i don't think that it is a good idea to push the beginner to learn engine on such tight engine. I would have done the heuristic to prep for double province turns before BM guys got its fourth province.

You can do that by altering Step 4 to $18 rather than $10, and then including a +Buy requirement. Example: In the "First Game Engine", you would need to add 2 gold and 1 silver during Step 4. This would increase the value of Z by 3, making the end result Z=11, Y=11. Incidentally, this theoretically indicates that going for the 2 Province turn may be an even stronger play than going for 1 Province per turn. I'd want to verify that though via simulation.
Logged

markusin

  • Cartographer
  • *****
  • Offline Offline
  • Posts: 3846
  • Shuffle iT Username: markusin
  • I also switched from Starcraft
  • Respect: +2437
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #7 on: February 03, 2014, 04:56:58 pm »
0

Well, the heuristic might be a bit confusing to beginners, but a good way for them to learn about the underlying limitations imposed by the game. Having a computer calculate X, Y, and Z could be neat.

At first glance. This stuff looks like a good starting point for evaluating engines. A really nice effort.
Logged

TheExpressicist

  • Conspirator
  • ****
  • Offline Offline
  • Posts: 200
  • Respect: +203
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #8 on: February 03, 2014, 05:49:41 pm »
0

Well, the heuristic might be a bit confusing to beginners, but a good way for them to learn about the underlying limitations imposed by the game. Having a computer calculate X, Y, and Z could be neat.

At first glance. This stuff looks like a good starting point for evaluating engines. A really nice effort.

Once I get all the heuristics hammered out, ideally what I want to do is make either an add-on to Salvager or an offsite calculator and have it so you can input a Kingdom and it will automatically spit out a suggested engine.
Logged

qmech

  • Torturer
  • *****
  • Offline Offline
  • Posts: 1918
  • Shuffle iT Username: qmech
  • What year is it?
  • Respect: +2320
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #9 on: February 04, 2014, 03:44:09 am »
+3

I find these posts fascinating.  Where do all the numbers come from?
Logged

TheExpressicist

  • Conspirator
  • ****
  • Offline Offline
  • Posts: 200
  • Respect: +203
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #10 on: February 04, 2014, 10:00:29 am »
+1

I find these posts fascinating.  Where do all the numbers come from?

X (the number of cards you'll need to draw to cycle through your deck reliably) = 18
A.   You start off with 10 cards. 
B.   In a "vanilla" setting (no +buy, no trashing/junking, no gaining), 8 is the maximum number of engine pieces you can buy (including treasure) before your deck is too slow to beat Big Money.
C.  Add these two together and you get 18.
D.  Note: the heuristic starts off by having you grab your +Actions first in order to ensure that you can't overload yourself on non-terminal draw.

Add 3 to Z if there is trashing.
A. 1 turn to purchase your trasher.
B. Your trashers will cost you ~2 turns worth of productivity, either because you are trashing your entire hand (like with Chapel or Count) or you are limiting your buying power (a one-shot trashing takes two cards out of your hand).

Enough +Actions to equal X-5.
A. This assumes that your +action source also provides +1 card, as is the case with almost all villages.
B. This assumes that if you take all your purchased terminals + treasure and average them together, it will amount to ~+2 cards each.
C. The statistics and simulations indicate that you need approximately +1.5 actions per terminal in your deck in order to reliably cycle every turn (assuming the conditions of A and B are accurate).
D. In a "vanilla" setting, the heuristic suggests you need +13 actions and +18 cards, which would require 9 terminal/treasures. Multiply that by 1.5, and you get 13.5 which is close enough to the 13 that the heuristic suggests.
E. In a "junking" setting, the heuristic suggests you need +18 actions and +23 cards, which would require 12 terminal/treasures. Multiply that by 1.5 and you get 18 which is equal to the 18 that the heuristic suggests.
F. In a "trashing" setting, the heuristic suggests you need +7 actions and +12 cards, which would require 6 terminal/treasures. Multiply that by 1.5 and you get 9, which is slightly more than the heuristic suggests.

Y = 10 represents the number of turns you have before a well-constructed Big Money deck can start greening.
Most good BM decks can reach 4 provinces by turn 15. Which means if your deck can't start to go off consistently by turn 10, you will not consistently beat BM (10 turns plus 4 turns of province purchases).

Count one treasure for every 2 cards in your engine that cost 5 or more. Then count enough treasure cards to bring the total money in your deck up to 10.
A. 1 treasure for every 2 cards that cost $5 or more in your engine is statistically optimal to ensure enough purchasing power to buy your components before the "time limit" imposed by Big Money.
B. Having $10 total in your deck ensures that you have ~95% chance to be able to buy a province in the event that your engine "goes off".

Start with Junk attacks. Count 1 if it's vanilla (e.g. Sea Hag/Maurauder), count 2 if it has effects (Mountebank, Witch, Ambassador, Masquerade). Add 5 to Y.

A. If your Junk attack is vanilla, you typically only want 1 in your deck if you're running an engine. You'll be cycling enough to ensure that you'll at least tie them in the Junk race.
B. If your junk attack provides value like +cards or +coins, you typically want 2 to ensure that you can play one almost every turn in the early stages of the game.
B1. The risk of terminal collision if you purchase 2 junk attacks is a non-factor. Either your opponent purchases 2 terminal attacks as well, in which case he or she is subject to the same risk you are. Or, he or she only purchases 1, in which case on average you are going to be able to play your terminals ~60% more often and almost certainly win the Junk race.
C. Both the statistics and the simulators indicate that 5 curses/junk will mean your Big Money opponent will take 5 turns longer to reach 4 provinces, hence adding 5 to Y.

Set aside a maximum of 2 gainers. (If you already have gainers in your deck like trash-for-benefit, set aside a maximum of 1). Subtract 2 from Z for each "Pure" Gainer you have in your deck. Subtract 1 from Z for each "limited" Gainer you have in your deck.
A. On average, each "gainer" will be played 3 times, but costs 1 turn to buy, for a net effect of 2 fewer turns needed to build your engine.
B. "Limited" gainers will on average get you something useful 2 times, and cost 1 turn to buy, for a net effect of 1 fewer turns needed to build your engine
C. More than 2 "pure" gainers is not helpful because of diminishing returns. (By the time you can buy your 3rd gainer, your cycling speed will be slower and you'll probably only get to play it twice, and the increased odds of terminal collision means that the net effect will be nearly 0).

Add 1 to Y for each discard attack you purchase.
A. On average you'll get to play your discard attacks 2-3 times during the window when the discard will actually impact your opponent's speed. The net impact of these attacks will result in one additional turn required for Big Money to reach its goal.
Logged

shark_bait

  • Saboteur
  • *****
  • Offline Offline
  • Posts: 1103
  • Shuffle iT Username: shark_bait
  • Luckyfin and Land of Hinter for iso aliases
  • Respect: +1868
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #11 on: February 04, 2014, 10:18:40 am »
0

This is cool that you are doing this, but modeling play without specific cards and neglecting the game state is just so hard to do accurately.

Take trashing for example.  Almost more important to how much you trash is when you trash.  A chapel that lands on turn 3 or 4 is 10 times better than a chapel that lands on turn 5.  The effectiveness of Count as trashing is dependent on whether you get a 5/2 opening with it, get it during turns 3 or 4 or miss and get it turn 5 or later.  Early trashing allows you to play said trasher more frequently making it more effective at thinning.  This is something that is inherent to the specific game, not the kingdom.  As such, a single formula that only accounts for information about the kingdom can not accurately represent how well a given engine will play.  I don't know how you would try to incorporate this sort of thing into your formula, but it's something that is just as important as the kingdom cards themselves. 
Logged
Hello.  Name's Bruce.  It's all right.  I understand.  Why trust a shark, right?

Is quite curious - Who is the mystical "Celestial Chameleon"?

DG

  • Governor
  • *****
  • Offline Offline
  • Posts: 4074
  • Respect: +2624
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #12 on: February 04, 2014, 10:27:00 am »
0

Quote
8 is the maximum number of engine pieces you can buy (including treasure) before your deck is too slow to beat Big Money

I'm not a big fan of those metrics. However I'll just discuss this statement. You may have only 8 turns before a big money deck starts buying provinces but an engine does not work under the same restrictions as a big money deck. It could buy multiple provinces or all the provinces in the same turn. It could end the game on piles with only a one point lead. It could gain multiple cards and even play them on the same turn. It could be able to win with alternate vp or victory points in a game where big money can't empty the province pile. It could find extra turns with outposts or possessions. In fact if anything is possible in dominion it is usually possible with engines and that makes engine decks the least suitable for metrics.

Anyway, most good engines (without a strong attack) will use extra buys or card gains to speed up development. This is probably a better rule of thumb for engine building than the metrics and it somewhat invalidates the metrics too.
Logged

Witherweaver

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 6476
  • Shuffle iT Username: Witherweaver
  • Respect: +7866
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #13 on: February 04, 2014, 10:35:38 am »
+1

Well, the heuristic might be a bit confusing to beginners, but a good way for them to learn about the underlying limitations imposed by the game. Having a computer calculate X, Y, and Z could be neat.

At first glance. This stuff looks like a good starting point for evaluating engines. A really nice effort.

Once I get all the heuristics hammered out, ideally what I want to do is make either an add-on to Salvager or an offsite calculator and have it so you can input a Kingdom and it will automatically spit out a suggested engine.

You could in theory use this to determine a bot's strategy too, right?  How do bots currently decide what strategy they take?
Logged

Mic Qsenoch

  • 2015 DS Champion
  • *
  • Offline Offline
  • Posts: 1709
  • Respect: +4329
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #14 on: February 04, 2014, 10:56:52 am »
+10

I'm not sure you answered qmech's question (maybe you did, I'm not qmech). I'm wondering where your "averages" come from (like the average impacts of trashers/gainers)?

More importantly, why the heck should we care about averages anyway? Chapel and Trade Route are the same card in your heuristic, but this is completely ridiculous. You also give Mine/Remodel as examples of trashers, but they don't reduce the number of cards in your deck at all.

Your method isn't very instructive on how to evaluate boards either, as there's no consideration of card interaction.  This is fundamental to reading a board. Things like Jack/Watchtower vs. discarders/junkers. Hoard plus Apprentice/Remodel/etc., all the little things that make Dominion interesting. And, more importantly for strategic considerations, these little interactions give engines a huge leg up over money strategies because engines can consistently take advantage of them.

Hunting Party = Lab with your method, Hunting Party does not equal Lab. This is a striking example of why it is weak strategy to think of cards only in terms of their "class" (trashers/gainers/junkers/draw), instead of thinking about cards in terms of both "class" and their overall strength within their class. And not only average strength, but strength on a particular board, which is influenced by the interactions I mentioned before.

Trash for benefit cards aren't adequately accounted for, and are hugely important to good engine play. They aren't always good deck thinners. These cards usually fall somewhere between trashers/gainers, with some other important effects depending on the card. And at the end of the game they can sometimes function as additional money/buys.

Engines are also capable of building and greening at the same time. Your method assumes a cut off where you stop acquiring engine pieces and start buying green cards. This is typical Big Money behavior, but is not as common with engines.

Your final deck goal is not typical of engines. Your end goal of ~$10 certainly isn't the "average" final production of engine decks in my experience. It's very common to be working towards at least Duchy+Province, but maybe multiple Provinces (or something like triple Gardens).

The other really important missing piece here is alt-VP, which is going to give you a longer game to build and use your engine. You no longer need to buy 4 provinces, you may not need to buy any Provinces at all. Alt-VP is one of the most important signs indicating an engine approach is viable, and you need to incorporate it in some way if you want your heuristics to be generally useful. This can include VP tokens as well, though mentioning these may be too specific for your guide.

Overall, I don't really like your approach because your heuristics are too sophisticated. I like my rules of thumb simple/stupid so that I can remember them easily and ignore them at will. I much prefer rules of thumb that focus on powerful cards and synergies. Anyway, those are my thoughts.

edit: I see there were some additional replies, I probably repeat some things others have said. That's what I get for writing a novel.
Logged

TheExpressicist

  • Conspirator
  • ****
  • Offline Offline
  • Posts: 200
  • Respect: +203
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #15 on: February 04, 2014, 11:31:19 am »
0

I'll address the criticisms in two separate posts. Let me start with the general theme of most of the criticisms, then I'll make a separate post addressing the individual criticisms. 

In general:

Most of the criticisms seem to be focused on the seemingly arbitrariness of the various quantities of cards/trashing/money/etc.

I was definitely not clear enough in the OP regarding this point: The important aspect of this is the play heuristics themselves, NOT the pre-game planning. The primary role of the pre-game planning is to identify which pieces you need to buy, NOT how many.

The reason it calculates "how many" of each card you need is to determine whether or not your engine is too slow to beat BM. In other words,  if you were able to magically arrange your deck as you see fit and your deck is STILL too slow to beat BM, you shouldn't play engine.

Logged

TheExpressicist

  • Conspirator
  • ****
  • Offline Offline
  • Posts: 200
  • Respect: +203
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #16 on: February 04, 2014, 11:57:35 am »
+1

Now for the specifics:


It doesn't account for the subtle card interactions e.g. Jack/Watchtower.
Agreed. This is what separates an expert Dominion player from a new person who simply follows a formula. You can only bring someone so far with simple algorithms. This will bring someone up to maybe the 80% mark. The other 20% you can't really shortcut, you just have to play until you can recognize these things.

It's too complicated for a "rule of thumb"
Partially agreed. You could replace the entire pre-game planning with "Are there +Cards, +Actions, and trashing/attacks/gainers? Good. Buy those according to the following rules..." I wanted something between a notch above "stupidly simple". Big Money more than fulfills the "stupidly simple" role.

Differences between cards of the same "class" are whitewashed over.
Yes, but in most cases those differences aren't going to matter. If Hunting Party is the only source of +Cards on the board, that's going to be your engine component. The fact that it filters may tweak the numbers slightly but it most likely isn't going to be enough to push an engine from "not viable" to "viable" territory if the board is not engine-friendly. Now, if there are two comparable cards, say both Lab AND Hunting Party, you have some decisions to make and it becomes board-dependent.

Trash-for-benefit isn't accounted for properly.
Remember that the "pre-game" planning is just for determining the viability of an engine, optimizing it, and identifying the component cards. There usually aren't a ton of options when it comes to trashers in general, or trash-for-benefits. If there's only 1 trasher on the board, you're most likely going to be buying it.

$10 is way too little for an engine/Often an engine can buy >1 province
Yes. The $10 is simply a minimum for your engine to be viable. If you follow the play heuristics, you will almost always have enough to buy more than 1 province (as long as the board supports it.)

Most good engines (without a strong attack) will use extra buys or card gains to speed up development.
Yes, this is accounted for in the pre-game planning.

It doesn't account for alt-VP
True. Hadn't thought about that.
Logged

soulnet

  • Mountebank
  • *****
  • Offline Offline
  • Posts: 2142
  • Respect: +1751
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #17 on: February 04, 2014, 12:01:29 pm »
+1

While reading, I came up with a handful of possible critiques, much (if not all) of which are not really suitable. I think my own, and possibly quite a few of the other criticism found in this thread, can be really summarized as: you do not have a good tradeoff between simplicity and usefulness.

When doing theoretical analysis like this, you simplify. That's ok. However, you are simplifying A LOT. And after that, you still have a heuristic/plan that is going to be pretty bad most of the time. I think is better to either simplify even more and evalute things like the optimal number of Jacks/Smitties/Wharves you need for BM+X, or the best ratio for Smitty/Village, FV/Wharf, etc, or things like that. You are trying to be general enough to encompass ANY kingdom, but at the same time simplify everything into 4 or 5 equivalence classes of cards and 3 integer indicators. I think that is doom to fail both the goal of actually giving you an all-in-one evaluation function AND providing some theoretical/empirical input on specific cards or interactions.

BTW, I do not think this is a possible task in Dominion, so I do not think you are doing this wrong, I just think you are trying to do a impossible thing. Notice that Dominion bots are horrible in base game and even more horrible with any extension. Androminion AI was also horrible. I suspect any serious attempt at an AI player of Dominion involves a lot of machine learning and specifical development, more than lots of general theorems.
Logged

TheExpressicist

  • Conspirator
  • ****
  • Offline Offline
  • Posts: 200
  • Respect: +203
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #18 on: February 04, 2014, 12:15:02 pm »
0

While reading, I came up with a handful of possible critiques, much (if not all) of which are not really suitable. I think my own, and possibly quite a few of the other criticism found in this thread, can be really summarized as: you do not have a good tradeoff between simplicity and usefulness.

When doing theoretical analysis like this, you simplify. That's ok. However, you are simplifying A LOT. And after that, you still have a heuristic/plan that is going to be pretty bad most of the time. I think is better to either simplify even more and evalute things like the optimal number of Jacks/Smitties/Wharves you need for BM+X, or the best ratio for Smitty/Village, FV/Wharf, etc, or things like that. You are trying to be general enough to encompass ANY kingdom, but at the same time simplify everything into 4 or 5 equivalence classes of cards and 3 integer indicators. I think that is doom to fail both the goal of actually giving you an all-in-one evaluation function AND providing some theoretical/empirical input on specific cards or interactions.

BTW, I do not think this is a possible task in Dominion, so I do not think you are doing this wrong, I just think you are trying to do a impossible thing. Notice that Dominion bots are horrible in base game and even more horrible with any extension. Androminion AI was also horrible. I suspect any serious attempt at an AI player of Dominion involves a lot of machine learning and specifical development, more than lots of general theorems.

Agreed re: simplicity vs. usefulness. I retooled the OP to include a "simplified" version that should be a lot easier to use for new players.
Logged

Mic Qsenoch

  • 2015 DS Champion
  • *
  • Offline Offline
  • Posts: 1709
  • Respect: +4329
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #19 on: February 04, 2014, 12:25:21 pm »
+4

Now for the specifics:


It doesn't account for the subtle card interactions e.g. Jack/Watchtower.
Agreed. This is what separates an expert Dominion player from a new person who simply follows a formula. You can only bring someone so far with simple algorithms. This will bring someone up to maybe the 80% mark. The other 20% you can't really shortcut, you just have to play until you can recognize these things.

You don't have to be an expert to see that Watchtower counters junkers/discarders. And you should be thinking about this stuff as a beginner player, as soon as you learn the rules. The interactions between cards in Dominion are simple and usually obvious, anybody can see this stuff immediately (the more esoteric/hidden interactions usually suck anyway). Tunnel combos with discarders, Wishing Well combos with Cartographer, Conspirator likes cantrips, Feodum goes with Trader. There's nothing advanced or mysterious about card synergies. The expert play comes from knowing the relative strengths of different stuff, i.e. which of these various cards and card interactions are the best for this board. Your heuristics don't bring someone to the 80% mark, it doesn't teach them to look for these things at all.

Quote
Differences between cards of the same "class" are whitewashed over.
Yes, but in most cases those differences aren't going to matter. If Hunting Party is the only source of +Cards on the board, that's going to be your engine component. The fact that it filters may tweak the numbers slightly but it most likely isn't going to be enough to push an engine from "not viable" to "viable" territory if the board is not engine-friendly. Now, if there are two comparable cards, say both Lab AND Hunting Party, you have some decisions to make and it becomes board-dependent.

You are wrong about this, and your suggestion that engine pieces are usually interchangeable is bad advice. HP is a million times better than Lab (hyperbole, but it's a lot better). Wharf is a million times better than Smithy. The viability of an engine depends on the strength of the pieces. You can't generally substitute Trade Route for Chapel and get the same results, you will be a turn or two (or three) slower and that is an eternity when playing an engine. Card prices play a big role here as well, big difference between acquiring a handful of Villages vs. a handful of Cities/Bazaars (I know you mention this, but I think you are underestimating it's effect).
 
Quote
Most good engines (without a strong attack) will use extra buys or card gains to speed up development.
Yes, this is accounted for in the pre-game planning.

The issue here is that you are underselling how much these cards can accelerate an engine, with the result that your heuristics will underestimate how often engines are viable.
« Last Edit: February 04, 2014, 12:30:16 pm by Mic Qsenoch »
Logged

soulnet

  • Mountebank
  • *****
  • Offline Offline
  • Posts: 2142
  • Respect: +1751
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #20 on: February 04, 2014, 01:28:26 pm »
+2

I will add a counterpoint to my own arguments: Something good that can be extracted is a simplified presentation on how each class influences an engine. I think the analysis would work much better if presented as a checklist instead of an algorithm trying to accomplish some definite result. Checklists, by their definition, are not expected to be all-encompassing nor to be exhaustive. Being an algorithm or rule of thumb expected to give a yes/no answer to engine viability is working heavily against you. Also, checklists ARE useful. Is pretty easy, especially online, to forget to check for +Buy, or to consider how fast you can build-up, etc. There are many engines that seem great because they run smoothly, but they can just not be built fast enough in a Province game.

Example:
1. Gainers add speed to engines. Check if there is a gainer that will work on cards you want many of.
2. Discard attacks will slow down the game, usually more a BM player than an engine player, both because the engine plays the attack more often, but also, because often an engine will only need a couple of key cards to get off the ground each turn. The stronger the Attack, the biggest edge it will give to an engine.
3. Junking attacks slow down the game, but they may affect the engine more than BM, so check carefully. Check if the engine can trash or pass through the junk, or is fast enough to play the attack more often and thus get an advantage or at least level the playfield.
...
Logged

TheExpressicist

  • Conspirator
  • ****
  • Offline Offline
  • Posts: 200
  • Respect: +203
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #21 on: February 04, 2014, 01:32:12 pm »
0

You don't have to be an expert to see that ... *insert card interactions*

Maybe you don't have to be an expert, but look at the Goko leaderboards. Scroll down to the 4000-5000 point range. There are tons of players who have played hundreds, if not thousands of games and are still barely .500 and have never broken 5000. If it were that simple, you wouldn't see such a glut of mediocrity.

Quote
You are wrong about this, and your suggestion that engine pieces are usually interchangeable is bad advice....  The viability of an engine depends on the strength of the pieces.

Yes, the I agree with that. However the whole point of the criteria is to deliberately undervalue the viability of an engine, for example, by dumbing Hunting Party down to the level of Lab. If you are at a skill level where you need to follow a heuristic like this, it's better to play it safe than sorry. It's easy to screw up building an engine. It's harder to screw up Big Money.

Quote
The issue here is that you are underselling how much these cards can accelerate an engine, with the result that your heuristics will underestimate how often engines are viable.

See above. The underestimation is deliberate. That said, I think you'll find if you look over your games, you'll find that in most cases, each +gain card tend to get played (and have meaningful impact) about 3 time per game.
Logged

soulnet

  • Mountebank
  • *****
  • Offline Offline
  • Posts: 2142
  • Respect: +1751
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #22 on: February 04, 2014, 01:36:44 pm »
+3

Maybe you don't have to be an expert, but look at the Goko leaderboards. Scroll down to the 4000-5000 point range. There are tons of players who have played hundreds, if not thousands of games and are still barely .500 and have never broken 5000. If it were that simple, you wouldn't see such a glut of mediocrity.

Rankings say nothing as they are relative. Even if every player in Goko were experts in building engines, roughly half would be below median.
Logged

TheExpressicist

  • Conspirator
  • ****
  • Offline Offline
  • Posts: 200
  • Respect: +203
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #23 on: February 04, 2014, 01:44:18 pm »
0

Maybe you don't have to be an expert, but look at the Goko leaderboards. Scroll down to the 4000-5000 point range. There are tons of players who have played hundreds, if not thousands of games and are still barely .500 and have never broken 5000. If it were that simple, you wouldn't see such a glut of mediocrity.

Rankings say nothing as they are relative. Even if every player in Goko were experts in building engines, roughly half would be below median.

So the better way for me to phrase it would be: "This will bring someone up to the point where they are better than roughly 80% of the current active Goko Dominion population."
Logged

Mic Qsenoch

  • 2015 DS Champion
  • *
  • Offline Offline
  • Posts: 1709
  • Respect: +4329
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #24 on: February 04, 2014, 02:12:32 pm »
+2

You don't have to be an expert to see that ... *insert card interactions*

Maybe you don't have to be an expert, but look at the Goko leaderboards. Scroll down to the 4000-5000 point range. There are tons of players who have played hundreds, if not thousands of games and are still barely .500 and have never broken 5000. If it were that simple, you wouldn't see such a glut of mediocrity.

Somebody has to lose the game, there will always be a glut of mediocrity even if the player base as a whole is getting better at the game (would consistently beat their past selves). The other reason there are terrible players with thousands of games is that lots of people don't try to improve their play. They would prefer to play "interesting" strategies, or they avoid attacks because they are "unsporting" or they just choose strategies they think will be the most fun. This is a perfectly cool and legitimate way to play the game, I bet a lot of these people are having way more fun than me. But these people don't learn much Dominion strategy, because their decisions aren't motivated by trying to win.

Getting better really is as simple as: "stop doing the things you do when you lose, do more of the things you do when you win." Lots of people refuse to do one or both of these things, so they never get better. The top players don't have magic Dominion brains, or even a lot of specific knowledge, they just have winning habits and good instincts (this is a kind of knowledge I suppose, but I couldn't write most of it down, a lot of the "explanations" in the forums for why strategy X is better than Y is just bs.)

Quote
Quote
You are wrong about this, and your suggestion that engine pieces are usually interchangeable is bad advice....  The viability of an engine depends on the strength of the pieces.

Yes, the I agree with that. However the whole point of the criteria is to deliberately undervalue the viability of an engine, for example, by dumbing Hunting Party down to the level of Lab. If you are at a skill level where you need to follow a heuristic like this, it's better to play it safe than sorry. It's easy to screw up building an engine. It's harder to screw up Big Money.

Ok, I can appreciate this approach, I learned the game by playing fairly conservatively (don't let SCSN know). Just to clarify, I'm not sure whether your method will under- or overvalue engines overall. No consideration of alt-VP and +buy will undervalue engines. The interchangeability will sometimes overvalue and sometimes undervalue, depends on the board. Mainly, I think your method will just be wrong a large enough portion of the time to make it not useful as a strategy tool, even for beginners. I guess the fair thing to do would be to try the method on a few sample kingdoms and see what happens, I may do it if I have the time.
« Last Edit: February 04, 2014, 02:16:17 pm by Mic Qsenoch »
Logged
Pages: [1] 2 3  All
 

Page created in 0.063 seconds with 21 queries.