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 19811 times)

0 Members and 1 Guest are viewing this topic.

TheExpressicist

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

I like the idea of trying it with a sample kingdom. Just created one in Goko.

Bishop, Vault, Haggler, Cache, Border Village
Village, Wishing Well, Masquerade, Familiar, Ironmonger

Simple Version:
1. Are there +2 actions? Village. Are there +2 cards? Vault, Masquerade.
2. Are there junk attacks? Masquerade and Familiar. Take 2.
3. Are there trashers? Masquerade. Take 2.
4. Are there gainers? Haggler. Take 2.
5. Are there discard attacks? No.
So your engine components are: Village/Border Village, Vault, Masquerade, Haggler.

The Complex Version:
1. X=18, Y=10, Z=3. (Trashing, Junking).
2. +13 Actions = 7 Villages. Z=10
3. +18 Cards = 7 Villages + 6 Vault/Masquerades. Z=16
4. 4 Treasure (7 $5 cards). Z=20
5. Already purchased Masquerades. +5 to Y for cursing. Y=15
6. Haggler is a "pure" gainer, and you are taking 2, so -4 to Z. Z=15
7. Z=15 is = than Y=15, so the "complex version" suggests that this engine might be a bit too slow to beat Big Money.

So your "Rules" would be:
1. Open Masquerade/Masquerade.
2. If $6, Border Village.
3. If $5+, Haggler (max 2).
3. If Terminals>Villages: Village.
4. If $5+, Vault.
5. Silver

This is interesting because it presents the choice of Masquerade vs. Familiar. I'm inclined to think Masquerade is the stronger open, especially if you open with two of them because you'll be able to dish out and trash the curses faster than a Familiar-player can deal them to you. And the "Complex Version" suggests that the engine may be too slow to beat BM. But the Haggler serves as a +$2 and the Vault can give you coins, so 4 treasure may be unnecessary. When you run the above heuristic through the simulator vs. a Big Money deck that plays 1 Masquerade, 1 Vault, they're a dead heat at 50% each.




« Last Edit: February 04, 2014, 03:15:21 pm by TheExpressicist »
Logged

SCSN

  • Mountebank
  • *****
  • Offline Offline
  • Posts: 2227
  • Respect: +7140
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #26 on: February 04, 2014, 03:08:43 pm »
+1

Both strategies are completely dead against Bishop...
Logged

TheExpressicist

  • Conspirator
  • ****
  • Offline Offline
  • Posts: 200
  • Respect: +203
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #27 on: February 04, 2014, 03:17:43 pm »
0

Both strategies are completely dead against Bishop...

That is definitely the one glaring weakness in this algorithm (ignoring alt-VP). How would you do Bishop?
Logged

Mic Qsenoch

  • 2015 DS Champion
  • *
  • Offline Offline
  • Posts: 1709
  • Respect: +4329
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #28 on: February 04, 2014, 03:35:14 pm »
0

Both strategies are completely dead against Bishop...

That is definitely the one glaring weakness in this algorithm (ignoring alt-VP). How would you do Bishop?

Do you mean "How would you incorporate Bishop into the heuristics?" or "How would you use Bishop on this board?" Bishop is hard, you can't evaluate it without knowing the other cards on the board. Here it has great support from both Haggler and Border Village. It has potential to score a lot of points. On a lot of boards Bishop can only produce a handful of VP, while seriously accelerating your opponent. Since there's no +buy on this board, the extra VP per turn can be very important.

Your original analysis also doesn't account for Border Village (you don't need as many purchases as your heuristic suggests since you can get Border Village/other piece in one turn. You definitely don't need a lot of treasure here either. You'll never need to produce more than $8, and a lot of your engine pieces can be gained off BV or Haggler. Haggler is also a good example of a gainer which will regularly gain more than 3 pieces for your deck. I'm confident the deck can work with fewer than 6 Vaults/Masqs, which also lowers the number of turns you need to build.
Logged

TheExpressicist

  • Conspirator
  • ****
  • Offline Offline
  • Posts: 200
  • Respect: +203
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #29 on: February 04, 2014, 03:46:17 pm »
0

That is definitely the one glaring weakness in this algorithm (ignoring alt-VP). How would you do Bishop?
Do you mean "How would you incorporate Bishop into the heuristics?" or "How would you use Bishop on this board?"

Just on this board. I'm sure Bishop could be worked into the heuristic somehow but that's a task for a different day.

Quote
Your original analysis also doesn't account for Border Village

Yeah, Border Village now that I'm thinking about it would count as a "Gainer". I think it still needs a little bit of treasure to get past that first hump, and to replace what gets trashed with Masquerade. In general though I think the heuristic did a pretty good job of coming up with an engine strategy for a beginner to follow.
Logged

soulnet

  • Mountebank
  • *****
  • Offline Offline
  • Posts: 2142
  • Respect: +1751
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #30 on: February 04, 2014, 03:50:46 pm »
0

I see the possibility of a pseudo-golden deck here, that does not touch Provinces. May be difficult with Masq on the board, though, you need some kind of fodder just in case. But BV/Haggler gains into Bishop trashing seems like you can get to a place in which you easily get more than 6 VP per turn without buying any green or thicken your deck at all.

BTW, in the heuristic, you should really consider Ironmonger a +Actions. In this board, I think I would open Ironmonger/Masq. Ironmonger is a great cycler and can get you to $5 for Haggler. Afterwards, it will become an almost Village, which is fine. It also costs $4, so it can be a much better gain than Village to eventually trash to Bishop.
Logged

TheExpressicist

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

BTW, in the heuristic, you should really consider Ironmonger a +Actions. In this board, I think I would open Ironmonger/Masq. Ironmonger is a great cycler and can get you to $5 for Haggler. Afterwards, it will become an almost Village, which is fine. It also costs $4, so it can be a much better gain than Village to eventually trash to Bishop.

Good call. Opening Ironmonger/Masq gives you a much better chance of hitting $5 without having to buy treasure. Early game, it's pretty much always going to be +1c/+1a/+$1. And late game it's almost always going to be a Village+filtering.

Yeah, I thought about the possibility of a Golden deck, but the two-pronged risk of getting passed garbage, and being forced to pass good stuff can get really tough. If your opponent tries to go Golden, you can just pick up a Bishop and a couple copper. Your engine can still reliably go off, and you pass them the copper, and you use BV/Haggler to pick up high-$ cards for Bishop to churn through.
« Last Edit: February 04, 2014, 04:03:21 pm by TheExpressicist »
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 #32 on: February 04, 2014, 04:02:57 pm »
0

Now, I haven't been looking at the exact numbers here to determine whether they are at all accurate or not. When I think about how a new player would go about improving their game, I imagine that wouldn't immediately be able to tell whether the potential for an engine even exists at all. By re-evaluating the board after the game, by playing against an opponent who demonstrates the engine, or by reading up on a specific suggestion as to how one can build an engine on that board, a new player can learn gradually learn how to improve their board analysis skills as they find common threads within all the examples they've seen.

What I liked about the OP was that it mentions how certain classes will likely affect the flow of the game. Gainers will generally reduce the amount of time needed to acquire engine components (assuming the gainers can gain the engine components, so don't count Ironworks if your main engine component costs $5). How many cards will the gainer effectively get compared to if you didn't have it? I don't know, nor do I know how they might affect your deck building if they prevent you from getting the more costly engine components you need. I expect most people here to answer "depends on the board". Trashers may reduce the number of cards you need to draw, but by how much depends too much on the board and the trasher.

The point is, it's still useful for new players to understand how these kinds of cards affect their decks and the requirements they need to build a good engine. Even the most obvious effects might not get discovered by new players for a long time.

I am however very skeptical that any heuristic like this will help players actually win games if followed to the letter. Players may have to make many in-game adjustments in order to respond properly to their opponent, or even their own shuffle luck.

In addition, there are a lot of strange cards and strategies that are hard to capture in a general heuristic like this. Bishop was mentioned, but Goons also messes up many assumptions. One specific strategy I have in mind right now is a Poor House/Village/Cartographer strategy. Is it even an engine? This deck really doesn't need to draw itself, but the Cartographer's deck discarding acts like pseudo draw.

The only real issue I have is that I worry it will be too hard for new players to even understand what this heuristic is doing or trying to do. By the time they fully grasp the concepts, they may very well not be new players anymore, and will instead be at the stage where they will want to challenge certain aspects of the heuristic.

You already gave some rules of thumb for Big Money. This kind of analysis lends itself much more to Big-Money that it does to engines. At least with Big-Money, the assumptions can be verified to some extent by statistics. Engines? pfft, who can really program the optimal engine for a specific board. No one has a clue whether the numbers are right or wrong. There is just a big lack of precision in these kinds of numbers.
Logged

terminalCopper

  • Explorer
  • *****
  • Offline Offline
  • Posts: 331
  • Respect: +758
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #33 on: February 04, 2014, 04:33:18 pm »
+2

I don't know what kind of beginners you are talking about, but those I do meet, they usually want to have hints like "Junk Attacks are strong" or "Don't buy too many terminals".

Try telling them about X,Y and Z ...
Logged

SirPeebles

  • Cartographer
  • *****
  • Offline Offline
  • Posts: 3249
  • Respect: +5460
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #34 on: February 04, 2014, 05:00:14 pm »
+3

I don't know what kind of beginners you are talking about, but those I do meet, they usually want to have hints like "Junk Attacks are strong" or "Don't buy too many terminals".

Try telling them about X,Y and Z ...

This.  And the folks I play Dominion with tend to have PhDs in math.
Logged
Well you *do* need a signature...

Zappie

  • Thief
  • ****
  • Offline Offline
  • Posts: 95
  • Respect: +44
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #35 on: February 04, 2014, 05:35:23 pm »
+1

maybe you should present these ideas to goko so that they can make their bots more competative, without using different starting hands.
Logged

TheExpressicist

  • Conspirator
  • ****
  • Offline Offline
  • Posts: 200
  • Respect: +203
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #36 on: February 04, 2014, 05:53:22 pm »
0

I don't know what kind of beginners you are talking about, but those I do meet, they usually want to have hints like "Junk Attacks are strong" or "Don't buy too many terminals". Try telling them about X,Y and Z ...

True. To me the three basic skills of Dominion are understanding the basic strategies, identifying which is the dominant strategy, then tactically executing that strategy. Experts who are skilled at all three obviously don't need these heuristics, and total beginners don't have the context to understand them. If I were trying to teach someone who is completely new to Dominion, I would just point them at this website and tell them to read it for a few days.

This is for the people in the middle, who know already know the basic strategies, but struggle with identifying and executing the dominant strategies. The biggest mistakes I see mediocre players make is that they get too "creative" when choosing their strategy, and they "panic" too easily in the face of opposition. Having a specific evaluation criteria helps clarify which strategies are most dominant (even if it's a boring BM-variant). And having a specific set of rules to follow makes it much easier, (at least for me), to stick to that strategy and not abandon it halfway through. (Obviously you have to adapt based on what your opponent does, but most mediocre players tend to over-react far more often than they under-react.)

Logged

SirPeebles

  • Cartographer
  • *****
  • Offline Offline
  • Posts: 3249
  • Respect: +5460
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #37 on: February 04, 2014, 08:06:55 pm »
+1

Zappie makes a good point.

Expressicist, you keep calling these heuristics, but they just aren't.  Whether or not your point are good advice, they are not heuristics.  I try to imagine a context or skill level in which this advice would be worthwhile to a player, and I couldn't find one.  That is, until Zappie's post.  Your advice wouldn't be helpful to a human player, but rather you seem to be outlining some pseudocode for a mediocre AI.  Which isn't a bad thing, but you are going to get negative reactions when you present this as heuristics for human players.
Logged
Well you *do* need a signature...

DG

  • Governor
  • *****
  • Offline Offline
  • Posts: 4074
  • Respect: +2624
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #38 on: February 04, 2014, 09:07:36 pm »
0

Quote
Maybe you should present these ideas to goko so that they can make their bots more competative, without using different starting hands.

The bots seem to make immediate purchasing decisions based on the current game state, i.e. zero turns advance planning. They know to put villages with terminals, I think they select their preferred terminal cards in advance, but that's about it.
Logged

Witherweaver

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 6476
  • Shuffle iT Username: Witherweaver
  • Respect: +7868
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #39 on: February 04, 2014, 09:22:53 pm »
0

Quote
Maybe you should present these ideas to goko so that they can make their bots more competative, without using different starting hands.

The bots seem to make immediate purchasing decisions based on the current game state, i.e. zero turns advance planning. They know to put villages with terminals, I think they select their preferred terminal cards in advance, but that's about it.

There seems to be a ranking of cards by importance, independent of boards.  Like bots will almost always buy Jack if it's available, and almost always a Potion of there are Potion cost cards.  (In particular, bots love Golem; I've almost never seen them pass it up.)  Attack cards seem to have preference, too, like Witch and Swindler (which they love).  They seem to avoid a card like Masquerade, though.   However, it's not consistent.. sometimes they ignore Familiar and other Cursers (even when they're the best choice). 

Also, sometimes on Adventures (where the board is exactly the same), they'll choose different strategies with the same opening hand.
Logged

TheExpressicist

  • Conspirator
  • ****
  • Offline Offline
  • Posts: 200
  • Respect: +203
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #40 on: February 04, 2014, 10:31:34 pm »
0

Zappie makes a good point.

Expressicist, you keep calling these heuristics, but they just aren't.  Whether or not your point are good advice, they are not heuristics.  I try to imagine a context or skill level in which this advice would be worthwhile to a player, and I couldn't find one.  That is, until Zappie's post.  Your advice wouldn't be helpful to a human player, but rather you seem to be outlining some pseudocode for a mediocre AI.  Which isn't a bad thing, but you are going to get negative reactions when you present this as heuristics for human players.

Maybe these rules are just entirely self-centered because I have been using myself as the test case. So there's an example of a context/skill level where this is applicable. I had never played Dominion before Christmas. Put whatever stock you will in Goko's rankings but after ~500 games my ranking fluctuates between 5200 and 5700 give or take. The point of that isn't shameless self congratulation, it's a case study of the fact that following there's at least one context where these are applicable.
Logged

DG

  • Governor
  • *****
  • Offline Offline
  • Posts: 4074
  • Respect: +2624
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #41 on: February 05, 2014, 12:07:18 am »
0

Quote
There seems to be a ranking of cards by importance, independent of boards.  Like bots will almost always buy Jack if it's available, and almost always a Potion of there are Potion cost cards.  (In particular, bots love Golem; I've almost never seen them pass it up.)  Attack cards seem to have preference, too, like Witch and Swindler (which they love).  They seem to avoid a card like Masquerade, though.   However, it's not consistent.. sometimes they ignore Familiar and other Cursers (even when they're the best choice). 

The sometimes ignore stuff because they nearly always spend the coins they have. They will buy a gold for 6 coins instead of a witch. They will buy a cache for 5 coins instead of a potion in a familiar kingdom. This is another example of their turn by turn decision making.
Logged

flies

  • Minion
  • *****
  • Offline Offline
  • Posts: 629
  • Shuffle iT Username: flies
  • Statistical mechanics of hard rods on a 1D lattice
  • Respect: +348
    • View Profile
    • ask the atheists
Re: Beginner's heuristics for evaluating engines
« Reply #42 on: February 05, 2014, 08:59:28 am »
0

The "simple version" is pretty good.  I think you'd have a very hard time convincing anyone to count up X Y and Z (have you tried this?).  Beginners need strategy advice like what's in WW's article, which can be condensed into the one paragraph about "what you need to build an engine" for ppl who don't want to read the whole thing. 

I think the best thing you could do to prove to us that this is useful advice is to actually give it to some new players and tell us how they respond.  Edit: the only way you'll prove it to us is with empirical evidence bc it looks really dubious. 
« Last Edit: February 05, 2014, 09:07:06 am by flies »
Logged
Gotta be efficient when most of your hand coordination is spent trying to apply mascara to your beard.
flies Dominionates on youtube

TheExpressicist

  • Conspirator
  • ****
  • Offline Offline
  • Posts: 200
  • Respect: +203
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #43 on: February 05, 2014, 10:36:46 am »
0

I think the best thing you could do to prove to us that this is useful advice is to actually give it to some new players and tell us how they respond.  Edit: the only way you'll prove it to us is with empirical evidence bc it looks really dubious.

See above - I started playing Dominion a little bit more than a month ago, and following these heuristics has brought my ranking to the mid 5000s on Goko. Yes, I know that one case study isn't rigorous proof, and yes, Goko's rankings are definitely suspect and aren't a good indicator of skill. I fully recognize that there are a lot of flaws in my game.

The more important part about about having that ranking is that it's high enough to where I regularly get the opportunity to play against people much better than myself, and learn from them. That's the whole point of the heuristics; to elevate your game to the point where you can start learning first-hand from the big dogs. If you're stuck in the 4000-5000 range, (like most people who play Dominion, most of whom have played for much longer than I have), you're mostly going to get the opportunity to play against other mediocre players.
Logged

SirPeebles

  • Cartographer
  • *****
  • Offline Offline
  • Posts: 3249
  • Respect: +5460
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #44 on: February 06, 2014, 11:22:31 am »
+1

I think the best thing you could do to prove to us that this is useful advice is to actually give it to some new players and tell us how they respond.  Edit: the only way you'll prove it to us is with empirical evidence bc it looks really dubious.

The question isn't whether the advice helps someone improve.  The question is whether it is good advice.  Is it better than the more qualitative advice we tend to give our friends about engines?  So you'd have to give on new player these heuristics, and then give another player the more typical advice (say, WanderingWinder's article on engines, or even Geronimoo's article).  Then compare who improves more.
Logged
Well you *do* need a signature...

terminalCopper

  • Explorer
  • *****
  • Offline Offline
  • Posts: 331
  • Respect: +758
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #45 on: February 06, 2014, 03:06:52 pm »
+1

You have certainly improved your understanding of dominion by creating these heuristics, but not necessarily your play by using them.
This is why it doesn't prove anything if you leveled up.
Logged

TheExpressicist

  • Conspirator
  • ****
  • Offline Offline
  • Posts: 200
  • Respect: +203
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #46 on: February 06, 2014, 03:56:00 pm »
0

@terminalcopper and SirPeebles: I agree with both of you. Following these rules hasn't made me a better player, it's made me a player who can follow a set of heuristics.

As for SirPeebles' question of which improves people faster: qualitative advice or these heuristics, well it all depends on your definition of "improved". If your only goal is to increase your Goko ranking, then my guess is that yes, these heuristics are better.

If your goal is to develop a greater understanding of the game, then that's a very different story. I think it mostly has to do with your learning style. If you're an experimenter, then rigid heuristics are going to stifle your development. If you're an observer/mimicker, then these heuristics will raise your ranking enough to where you will get many more opportunities to play games against experts who are worth observing/mimicking.
Logged

eHalcyon

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 8689
  • Respect: +9187
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #47 on: February 06, 2014, 04:31:47 pm »
+1

I think you misunderstood terminalCopper's point.  That, or I'm misunderstanding it.

You were saying that your improved ranking proves that the heuristics are helpful in improving your play, even if it doesn't help a lot in making you a better player (sans heuristics). 

But tC is saying that, in the course of developing your algorithms and formulae, you have actually increased your understanding of the game.  Your rising rank is likely a reflection of your increased skill due to your greater understanding, not the usefulness heuristics.
Logged

TheExpressicist

  • Conspirator
  • ****
  • Offline Offline
  • Posts: 200
  • Respect: +203
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #48 on: February 06, 2014, 05:26:42 pm »
0

But tC is saying that, in the course of developing your algorithms and formulae, you have actually increased your understanding of the game.  Your rising rank is likely a reflection of your increased skill due to your greater understanding, not the usefulness heuristics.

Ah, I hadn't looked at it that way. That definitely could be the case.

If it is though, it underscores the point that the usefulness of these heuristics is highly dependent on your learning style. SirPeebles hit the nail on the head when he referred to this as "pseudocode for a mediocre AI."  One of the implications of that is, following these will only elevate you to the level of that mediocre AI, and never surpass it. Once you've reached that point, have these heuristics helped you or hurt you?

Like I mentioned earlier: if you are the type who learns by observing others and duplicating their successes, these will probably help you because now you'll have a lot more opportunities to do just that. If you are the type who learns by putting the pieces together on your own and don't like just mindlessly following someone else's path, then these probably will have hurt you because you'll basically have spent your formative period learning nearly nothing.
Logged

Witherweaver

  • Adventurer
  • ******
  • Offline Offline
  • Posts: 6476
  • Shuffle iT Username: Witherweaver
  • Respect: +7868
    • View Profile
Re: Beginner's heuristics for evaluating engines
« Reply #49 on: February 06, 2014, 05:51:25 pm »
+2

One thing that may be overlooked here, is that by following a heuristic like this, you're forced to do one of the most important things in Dominion: evaluate the board.  I personally am terrible at this, and sometimes just start buying stuff without figuring out what is best first.  I imagine that a lot of beginning players have this problem as well. 

So I think there is something valuable in that.
Logged
Pages: 1 [2] 3  All
 

Page created in 0.054 seconds with 20 queries.