This is a good example of old tech and new tech where the new tech is very accurate and very fast: Google’s music ID system.
The older systems used hashing and you had to have an almost exact match between the copyrighted content and the content you were checking. It was super slow, data-intensive, the whole 9 yards.
But along come the Google folks with finite state transducers and so on. They develop a much faster system that’s also accurate but can deal with “variations in …conditions”:
“Our acoustic modeling approach can tolerate variations in acoustic conditions more naturally than hashing, which is based on exact or almost exact matching of fingerprints.”
“.…identification accuracy of 99.5% on a database of over 15,000 songs running faster than real time.”
With AI-based bot detection, they also have “flex” in their detection to allow for anomalies and some differences in sequence - they’re analyzing the overall patterns with AI and so on.
And you’re right - the patterns change when botters change their bots to account for changes in a game. But what doesn’t change is that non-AI bots use simple delays, often static and not RNG-based between inputs. They also use the same repetitive “sequencing” of inputs for various activities. For example, in WoW a tell-tale sign for some bots is that they do pure keyboard turns because it’s easier to code, a really clumsy way to turn that doesn’t use mouse/camera at all. Most WoW players will mix in mouse/camera to turn. But bot detection doesn’t rely on any one thing.
Another thing to think about with these systems is that they rule you in and they rule you out pretty quickly so they won’t impact performance all the time- in other words, they only need a short interval of heavy input behavior to make a detection determination with high confidence. So once the system decides you’re a person, they might disable collecting input data for a while and then crank it up again later every so often. That kind of thing improves performance because you’re only detecting every so often.
On posting links, I can post links but the example I used that had SSN was a fictitious URL so I didn’t want people clicking on it or 1-click copy/pasting it because it’s not a real link. EX, I already posted this link in above comment:
Anyway - with false positives, think of someone randomly playing on a piano and coming up with Beethoven or the classic case of randomly typing on a typewriter and creating Shakespeare. Those are clear exaggerations to serve a point but the point is that long sequences of “symbols”, inputs in the case of bots, have a very clear pattern or signature when you analyze them in depth, especially when all of that input is time-referenced. The odds of you playing Diablo and winding up with the same input sequence patterns and the same delays between inputs in milliseconds, such that all that is the same as a bot are statistically very low.