To preface: I am a nerd. I apologize if my description of this is too nerdy (math-heavy/theoretical) for you. I am also a n00b. I apologize if I am missing some obvious thing that makes this whole argument pointless.
Inspiration: I've recently come to realize that many times (in the base game), I tend to buy too many terminal actions, so I'll draw two in my hand and I'm only able to play one.
Looking over the BM/Smithy strategy, it seems that for the length of game expected by that strategy -- where your deck grows to a size of 25-30 cards -- the correct number of terminal actions to buy is one. However, if I'm using lots of +Buy (maybe playing a Gardens game), my deck could grow larger, maybe to 50 cards. It would seem that having a second terminal action has a net benefit to my deck in this case. If I had 100 cards in my deck, two terminal actions would probably not be enough...
Does this only apply to the base game? Quite possibly. However, I think that a solid understanding of this concept would be helpful to decreasing the number of times I have a dead card in my hand, which would be a very good thing.
This gets complicated: As I thought more about this, I realized that in order to apply this to a variety of game situations, the analysis has to get a little more complicated -- something that gets more difficult to do in your head as you're playing -- something that relies on keeping track of several variables as the game progresses, such as how many cards are in your deck, how many and what kinds of terminal actions you've already bought, etc.
I think what I want to do is to start with simple situations, then add in more complicated stuff and see if I can still keep the complexity down to the back-of-the-envelope level. Even if I can't, at least I'll end up with a better theoretical understanding of how this concept works.
What stays the same, regardless of the kingdom cards: It seems that the issue at the heart of this is the following question -- How do I balance the risk of having my terminal actions collide (buying too many actions) against the wasted opportunity of not drawing my action cards on my turn (buying too few actions)? In other words, where is that "sweet spot"?
Obviously, the answer to this question is "it depends on your terminal action". Surely there are terminal actions that are so good that you can justify having two or three of them in a 20-card deck, just to make sure you can draw them more often (maybe Witch is a good example of this?); while there are other actions, where it's not a big deal if you can't play it every turn (Woodcutter, maybe? Remodel?); and probably everywhere in between.
I'm not asking to create a strict ranking of every terminal action card in this sense. What I think would be better is to have a rough idea of which cards you only want one of, and which cards are worth pushing the chance of a collision just to have multiple copies.
Also, I think a good metric to define here is %collision. It measures the likelihood that as I draw 5-card hands from a given deck, that I'll end up with at least one action card that I can't play (because it was in the same hand as another action card) before I have to re-shuffle.
Why %collision? There are other metrics I could have used here, but I think this metric is useful because once you know it, you can more clearly evaluate buying another terminal action card. If my %collision goes from 10% to 50% when I add this card to my deck, is it really worth it to only get 60% of the benefit out of this card? (in other words, I won't get to play my card 40% of the time, so I can think of it as having only 60% of its value)
Using this %collision metric, I'd like to break up this analysis into two parts: 1: computing %collision for a given deck, and 2: determining the appropriate %collision for each terminal action card.
1: Computing %collision: I'll start off by saying that I believe it's not possible to exactly compute %collision for a given deck. Shuffling mechanics would be difficult to simulate (though I think it's been done before on here), but to simulate it perfectly, there would need to be a way to determine what the "best" action card would be to play in any given situation, and I believe that depends on too many outside factors. I think simulations could make computing %collision a lot quicker in many cases, but since it would most often just be an approximation anyways, I'd like to make the goal of this section to compute a "reasonable" approximation for %collision using the simplest method possible.
The simplest case: 0 or 1 terminal actions in a deck of n cards. %collision is 0% here.
A little more complicated: 2 terminal actions in a deck of n cards. Consider the hand where you draw one action card, you have four other cards in that hand; if the other action card is one of those four, collision. If not, then no collision. %collision ~= 4/(n-1).
Wait a minute -- what if my terminal action card is Smithy (or Witch, or even Council Room)? There's a chance that as I draw more cards from my deck, I'll draw my second action dead! This isn't taken into account here, and it significantly increases your %collision!
Witch (+2 cards): %collision = 6/(n-1)
Smithy (+3 cards): %collision = 7/(n-1)
Council Room (+4 cards): %collision = 8/(n-1)
Deck - +0, +2, +3, +4
12 cards - 36%, 55%, 64%, 72%
15 cards - 28%, 43%, 50%, 57%
20 cards - 21%, 32%, 37%, 42%
25 cards - 17%, 25%, 29%, 33%
30 cards - 14%, 21%, 24%, 28%
40 cards - 10%, 15%, 18%, 21%
50 cards - 8%, 12%, 14%, 16%
Ouch. An interesting aside, though -- if I attempted to factor in the opportunity cost of buying a Silver instead of a Smithy in BM/Smithy, I would imagine that the average treasure value of the three extra cards you draw (multiplied by (1 - %collision)), compared to a Silver would probably require a very low %collision to make it worthwhile. This sort of goes into the next part of the analysis, though, where we determine the appropriate value of %collision for that particular situation.
The third terminal action: Calculations can get a little messy here without making some simplifying assumptions that will introduce a small amount of error, mainly that we will ignore the possibility of a collision of all three terminal action cards since it's unlikely, and it makes our estimates more conservative.
You can take the %collision you get from the two-terminal-actions formula and multiply it by 2.5 to get your new one, but the interesting metric here is just the difference between your old %collision and your new one, which will 1.5 times the %collision for going from one to two.
Adding in non-terminal actions: If we add in cards that give you +2 actions, you get into the theory of building more complex engines. Even the simplest case I can think of, Village/Smithy, involves calculations that are more complex than back-of-the-envelope calculations, and I also think that the %collision metric isn't as useful in that case.
I will assume that all non-terminal actions here are +1 action. In this case, the analysis is easy when you have +1 action, +0 cards, (even though I don't know of any +1 action, +0 cards actions in the base game) since that card will act exactly like a treasure card (as long as we don't draw it dead with our terminal action).
Speaking of that, I don't think it's a good idea to stick a Smithy in a Lab deck because of the danger of drawing Labs dead. I would think that a terminal action in a deck like this would more likely be an attack that gives you some coins, rather than a way to draw more cards, since that's what your non-terminal actions are for. Wouldn't you just use Library instead here? Please correct me if I'm wrong, though.
Anyways, if you have a non-terminal action like +1 action, +c cards, I think the easiest approximation to remember is to keep track of how much "extra drawing power" your deck has (which is just the sum of all the +c on these cards, I'll call it capital C), to get an idea for "average cards per hand" for your deck (for the curious, A = 5n/(n-C) where n is the total number of cards in your deck). We could replace the "4" in the two-terminal-actions formula with A and get the following terrible formula:
%collision = (5C + 4n)/(n(n-1))
If we make another simplifying approximation, we can take that two-terminal-actions formula and just replace (n-1) with (n-C) and still get a reasonably accurate formula for %collision:
%collision = 4/(n-C)
Intuitively it kind of makes sense to just modify the deck size here, and even though I have no mathematical justification for it, I plugged in a bunch of values into Excel and there's less than 2% error for values of C small enough where you would actually consider buying a second terminal action as part of your engine. Higher than that, and you would just continue to buy non-terminal actions.
The real usefulness of this formula comes when your deck gets to exceed 25 cards, and you have a few non-terminal actions in your deck; you can see how a C of 5 will add about 10% to your %collision here.
2: Determining the appropriate %collision for each terminal action card: This is where I'm not so helpful, because of my lack of experience. I know there are several terminal actions that you would never want more than one of, and they probably don't apply to this analysis. However, just thinking of the base set, I can think of lots of different terminal actions that might have different %collision values that make them worth it...
The "real" question: later in the game, when your deck has reached a large enough size to justify buying that second (or maybe third) terminal action card according to whatever numbers we come up with, is there any situation where you shouldn't just buy a green card instead? Maybe it's not useful in practice to compute %collision on the fly; but I think it would help me, a n00b, to understand what a deck "feels like" that has the appropriate number of terminal actions in it. Also, this could be another useful metric for comparing terminal action cards, at least in the absence of any +2 Actions cards.
Here's a list of all of the terminal action cards in the base set that seem to make use of the %collision metric. They will be accompanied by any simulation results I've done, simulations I plan to run, or questions/issues I have with simulation.
Adventurer - there is some protection here against action collision that sort of breaks the %collision math.
Chancellor - Probably only want one in your deck, and it probably messes with the %collision math too.
Chapel - Probably only want one in your deck, and since deck size isn't non-decreasing when you use this card, the %collision math doesn't quite benefit us here.
Library - there is some protection here against action collision that sort of breaks the %collision math.
Mine - Probably only want one in your deck.
Moneylender - Probably only want one in your deck.
Remodel - Probably only want one in your deck, and if you want more than one, collision isn't necessarily a bad thing.
Woodcutter - After running simulations, no benefit was seen in any circumstance I could come up with to buying a second Woodcutter -- %collision = 0%
Bureaucrat - After running simulations, no benefit was seen in any circumstance I could come up with to buying a second Burearcrat -- %collision = 0%
Smithy
Optimized: deck size = 22 (second Smithy)
%collision = 33.3%
Maximum: Buy second Smithy ASAP
deck size = 20 (third Smithy)
%collision <= 40%
Condition - 3-player game, one opponent spamming Militias
Council Room
Optimized: deck size = 23 (second CR)
%collision = 36.4%
Maximum: strategy: buy three Council Rooms ASAP. %collision doesn't seem to enter in here, it's tough to discern an optimal value here with these results, since the action costs $5 and the optimal play is just to buy it over silver.
%collision >= 45%
Condition - 3-player game, one opponent spamming Militias
Militia
Scenarios to test:
vs. BMU
opponent using Militia
opponent spamming Militia
opponent using Library
opponent spamming Library
opponent using Moat
opponent spamming Moat
Stress Test: vs. Village/Smithy engine?
Thief
Scenarios to test:
vs. BMU
opponent using Thief
opponent spamming Thief
opponent using Moat
opponent spamming Moat
Stress Test: vs. Chapel/BMU in a 4-player game?
Witch
Scenarios to test:
vs. BMU
opponent using Witch
opponent spamming Witch
opponent using Moat
opponent spamming Moat
opponent using Chapel
Stress Test: probably already covered
Moat
Scenarios to test:
vs. BMU
opponent using Bureaucrat
opponent spamming Bureaucrat
opponent using Militia
opponent spamming Militia
opponent using Spy
opponent spamming Spy
opponent using Thief
opponent spamming Thief
opponent using Witch
opponent spamming Witch
Stress Test: probably already covered, maybe a combinations of these in a 4-player game?
Workshop -- There has to be a better strategy for this card other than BMU + Workshop, right?
What are the correct questions to ask here? Perhaps there is a situation where no matter how large your deck is, you would never want anything more than your one terminal action. Perhaps there is a situation where, no matter how many collisions you risk, you want to buy as many terminal actions as you can just so you can have the highest chance of playing one every turn. I'm sure there's also every situation in between as well. I imagine like a histogram that makes a bell curve. Most terminal actions will be worth buying at a %collision in a certain range, with the better ones being higher.
The results I've gotten so far suggest two interesting %collision values:
1. The "vanilla" BMU + Terminal Action deck %collision (I'll call it the "optimized" %collision) - Based on simulation results, if your deck is large enough so that your %collision differential is less than this value, you should buy your next terminal action the next chance you get. Unless otherwise noted, the priority for this falls after buying a Gold, but before buying a Silver.
2. The highest possible %collision that could benefit you (I'll call it the "maximum" %collision) - I tried to set up a sort of "stress test" to find the highest optimal value for %collision under any circumstance. If your deck is small enough that your %collision exceeds this value, you should definitely wait to buy your next terminal action, no matter how bad you think it is.
These two boundary values of %collision give you three ranges: the "definitely buy" range, the "definitely don't buy" range, and the "use your judgement" range. The assumption here is that anything that will make you want to buy less terminal actions will either change your %collision, or be "it's time to buy victory point cards now". Nothing else is taken into account, so if there's anything I'm missing, please tell me.