2,004 karma · joined March 17, 2010
Then I joined Harmonix Music Systems, where I did code and game design on a bunch of music games, including Guitar Hero and Rock Band.
Most recently I did machine learning research in the Algorithmic Systems Group at Analog Garage, a division of Analog Devices.
https://senseis.xmp.net/?DisputeMeroJasiek https://senseis.xmp.net/?DisputeMeroJasiek%2FDiscussion
(FWIW, I am 2000 USCF and an expected value of 0.24 vs a 2200 and 0.76 vs an 1800 feels quite reasonable to me.)
Now think about a random-gap list with five million entries. With that many entries, will the gaps balance out? In the best case, five of them end up in the range from 0 to 1 millionth, five of them end up in the range from 1 millionth to 2 millionths, etc. But we've already seen what it looks like to have five uniform random numbers in a range (whether it's big or small doesn't matter); the gaps tend to be really varied. So we're going to get this sort of imbalance between gap sizes (viewed as a ratio) no matter how many entries we insert.
One other thought experiment: the article mentioned a page with a gap size of one billionth. How many pages will it take for that to balance out so that page doesn't have an unusually small gap any more? How many pages does Wikipedia have?
(This is similar to the reason that infinite space packed with marbles has the same packing density as infinite space packed with bowling balls.)
(Of course, as with all historical players, he would be stronger if he were re-animated today and exposed to modern principles and openings.)
1800 is still in the "learning how to play well" stage but getting there from a standing start in 6 months is indeed nice progress. He doesn't seem to claim it's anything more than that, which I appreciate.
I've never made a system that ambitious again, but one thing I've learned from that experience is to never ever call global rand(); always always create your own RNGs that you can run explicitly, and if you have multiple systems that can be disabled independently (e.g., we were able to turn off graphics during our replays), give them each their own RNG.
One thing that surprised me is that it also found a bunch of bugs waiting to happen (uninitalized variables / dangling pointer sort of stuff) that would trigger an error when replaying from a file didn't produce the same results as the original play (we had a checksum of game state that we could check).
Yes.
"Unlike previous studies that have largely overlooked the downstream processing activities associated with Alaskan pollock, this study examined all the components of the supply chain, from fishing through the retail display case." [https://news.ucsc.edu/2020/01/mckuin-fish.html]
It's worth pointing out that when Sibelius was first released, it was hugely nicer to use than the industry-leading product at the time (Finale).
Ultima Underworld II, of course, was designed to be an Ultima game from the start.
There have been a few projects to make these games playable on computers over the years, but http://18xx.games/, launched this year, is in my opinion clearly the best (disclaimer: I'm a contributor to the codebase). Ideally you can find a game with experienced players who are eager to help a newbie learn the ropes.
"Chess problem" is a term of art that refers to an artificial composed position with a unique solution that is constructed to both be a challenge to the solver and have aesthetic value. They often have constraints on the solution such as that White must deliver checkmate in two moves (three ply). This is what I assume you're referring to.
A position from an actual game (or that easily could have been) that demonstrates a tactic (or combination of them) is generally known as a "chess puzzle", largely because the term "chess problem" was already squatted on.
Somewhere in between the two is the "study", which is a constructed position, less artificial than a chess problem but still very carefully made to have a unique solution that walks a tightrope and generally requires absolutely exact calculation rather than working by general tactical principles.
This is also why I always type in all the examples from programming books instead of cutting and pasting.