So this looks pretty cool, can you break down how you are calculating this? If its a legit script i mean which i hope it is.
Oh, it’s definitely legit. I ran some tests modeling some of the SSCI feature matches and I was surprised how well it performed given that I’m using a few hacks and haven’t yet implemented all the features I’d like.
It basically works by using the hypergeometric distribution to initialise a set of probabilities for different agenda counts in the opening hand (and as more cards are drawn). The secret sauce comes in how those probabilities are updated whenever cards are accessed (from R&D, Archives or HQ). Given the results of that access (hit or miss) the probabilities are updated using Bayesian probability.
So suppose you run HQ, access one card and don’t hit any agendas. The model can then eliminate the possibility that there are 5 agendas in HQ. Similar, since the probability of missing is quite unlikely if there were 4 agendas in hand, we can “penalise” the probability of 4 (but not eliminate it completely), while increasing the probabilities of 0 and 1, since they are more likely based on the results.
The model uses Kalman filtering to update itself at each step. So if you were to keep accessing and missing in HQ the probabilities of larger numbers of agendas would continue to be reduced further and further. Similarly, if you were to repeatedly access R&D and miss, the model can infer that it’s likely that its initial belief about HQ was erroneous, and it’s more likely that there are more agendas in HQ.
While totally on theme and point, hope you aren’t using it during octgn play. It’s not exactly kosher. Outside aides and all. As a training tool though, basic experimentation, or part of an ai it’s totally cool.
I refuse to believe any calculator that can’t take into consideration Jackson Howard usage and DBS and the behavior of the corp and the general game state can do better than a reasonable player who knows division. My OCTGN opponents are welcome to this sort of thing.
There’s no reason this can’t take Jackson into account. That’s a relatively trivial issue. There’s still the level of player patterns that this will miss, but the odds will be pretty accurate.
Care to toss the script on github or some such?
Well, you would have to input how much they overdrew on Jackson, when they actually used Jackson to put cards into R&D, how many cards they drew since then, and whether those cards (or cards in general) were selected in any way, including DBS, mulligans or lackthereof, tutoring, shuffling after Architect, and all kinds of other stuff. There’s also revealed/accessed cards to consider. You could definitely make a calculator to do those things, but you still are left with corp behavior as a major indicator of how many agendas are in HQ. At the end of the day, there’s so much that goes into it I don’t see a calculator as a particularly practical tool unless it’s just doing division after the player makes an estimate all of the messier work in their head.
I’ve programmed logic for Jackson, DBS and almost everything you describe. Some are partial hacks, but analysing real games is showing it’s remarkably adept at tracking in its present state.
Strategic play is not considered, but it’s substantially better at computation than humans which does give it an edge in some regards.
With that said, knowing how it works, there are ways to completely throw it off.
Considering I don’t play in public games on OCTGN, you have no reason to be concerned.
At present, I’m going to decline publishing the script, as it’s still a work in progress and I want to avoid support requests. And then there’s the possibility of arming a new wave of OCTGN runners with computer assisted hacking power which the community may not be in favour of.
It would be cool to come up with a community driven formula that most accurately could determine where agendas are. There is someone now writing an article for us that discusses the skill of tracking agenda density movement through the corp’s servers. This would fit right into that.