News update: I just checked my spam folder and found EXACTLY WHAT I NEEDED: an excuse to post something meaningful in my Spider Solitaire blog after it ran dry for more than a month. I should probably check this folder more often from now on.
With the Sinquefield Cup finally over, I think now is a good time to give my thoughts on the scandal.
Strictly speaking, this doesn’t really belong in a blog that purports to talk about the Spider Solitaire, the whole Spider Solitaire and nothing but the Spider Solitaire, but I believe that Chess and Spider have (at least) one thing in common: strong players always get the raw end of the deal when it comes to cheating accusations. Besides, I have an IM title or better in both disciplines 😊
The basic problem is strong players just “know” when something is off – but good luck expressing the word “know” in language that a layman and understand and a lawyer cannot argue with. I count myself lucky I was able to actually prove that dodgy Spider Solitaire servers do exist.
Here is my opinion on the whole saga – which I have listed in dot point form. I will not attempt to justify these dot points. No doubt every man, dog and millipede on the planet has formed their own opinion on the matter. Googling various facts and coming to your own conclusions is left as the proverbial exercise for the reader.
Niemann is an rot13(nffubyr)
Niemann should never have been invited to play in the first place
Niemann has form when it comes to being an rot13(nffubyr) and cheating
Carlsen has good reason to withdraw, even without evidence of cheating. If cheating is proved then that is icing on the cake if you pardon the terrible cliché!
Carlsen doesn’t owe anyone an apology or explanation. If the tournament organisers wish to defend 2+2=5 (i.e. invite Niemann) that’s not Carlsen’s problem. Maybe Carlsen could have handled things better with hindsight, but his options weren’t great to begin with.
FWIW, I have a proposal for solving the cheating problem in chess, called the Useless Task Protocol. This is an attempt to give more “bargaining power” to the experts. Again, I will not attempt to justify the motivation behind this protocol and leave it as an exercise for the reader. If you can see where I am coming from, then chances are you have the right analytical mindset to excel at Spider Solitaire 😊
Useless Task protocol
I wish to propose a new rule for competitive chess:
That’s all there is to it. Just move your king towards the centre and leave your opponent with the “know-what’s-coming-but-can’t-do-much-about-it problem”. It doesn’t matter if you resign, get mated or your opponent starts playing random moves. You could have a dead drawn (or indeed a winning) position and still elect to call opponent for cheating. You can take a punt, knowing the worst that can happen is your game is counted as a loss. You could end up looking like a goose but there is no possible universe where can you get sued for defamation.
If your king can’t (legally) reach the centre, you can still call your opponent if you’re willing to risk heavy penalties for a false alarm. Conversely there is no compulsion to call opponent for cheating if your King is on e4 but you believe your opponent is legit.
I proposed this rule after the cheating scandal involving Nikhil Kamath and Vishy Anand, but nobody took it seriously. I do not claim it’s a perfect solution, but something worth mulling over. The diagram above shows a plausible position that might have arisen if the Useless Task Protocol was being used (I would recommend White should wait for Black’s next move before stopping the clock).
Recently I came across the term “quiet quitting” when googling/facebooking on my mobile phone. Wikipedia defines it as doing exactly what the job requires, not more or less. It is also known as “work to rule”. QQ is related to the concept of lying flat or Tang ping, not to be confused with planking.
If you’re unfamiliar with quiet quitting, your first thought could be “rot13(jul gur shpx) is it called quiet quitting?!?!?”. That was my first thought as well. I was even on the verge of asking this question on Facebook, but my gut told me not to bother since several others must have done the same by now.
I would define QQ as playing on auto-pilot. This could manifest itself in various ways:
If you find a good move (or plan) don’t bother looking for a better one
Don’t bother looking for a chance to remove a complete suit.
Consulting a random number generator when faced with a difficult decision
A general theme is QQ tends to affect decision-making skills, rather than knowledge of the fundamentals. For instance, if you have some experience in the Royal Game you probably know that with two empty columns a run of four cards like 8-7-6-5 can be shifted onto a Nine, even if they were all different suits – and this is not something you are likely to forget, even if you were in quiet quitting mode.
I believe the average player is more likely to quiet quit if a game is going extremely well or extremely badly (since small errors are less likely to result in the loss of a game that should be won). Yes, there are other “human factors” such as tiredness, or something else bothering the player that is not Spider Solitaire related. Of course, that raises the question of why a player chose to play the game in the first place. Then again, somebody could be “born to quiet quit” and never reach their full potential despite playing for an extended period of time. I know of one such Scrabble player at work who is very low-rated despite playing the game for umpteen thousand umpteen hundred and umpty ump years. She was probably there for the “social aspect” of the game, rather than the love of problem-solving or the thrill of finding a power-play with lousy-looking tiles.
QQ in a nutshell
In a nutshell, if I were pressed to come up with a reasonable definition of QQ in the context of SS, then QQ means playing without thinking. Regardless of your playing strength, this should imply a lesser win rate than expected. How much of a loss would be anybody’s guess, and I don’t see anyone writing their Ph. D. on this topic any time soon.
I do not see myself playing Spider Solitaire unless I put in my absolute best effort. That’s just my nature. I need a compelling reason to not go above and beyond. If I am tired or bothered by something unrelated to the Royal Game, I wouldn’t be playing in the first place.
Okay I agree that QQ is a garbage term and I only used it here in order to “score” a third digression before Steve’s game draws to a close. It really should be something as bland as “playing on autopilot” but then there would be no reason for me to blog about it in the first place 😉
What are your thoughts on quiet quitting (with or without a Spider Solitaire context)?
When I first started this blog, I was under the impression that Spider Monkeys are intelligent creatures, able to recognise legal moves in a game of Spider Solitaire and play at lightning-fast speed – albeit with less than optimal strategy. But Wikipedia says I wasn’t even close. In fact, I wasn’t even aware that Spider Monkeys are a thing, and I only found out by complete accident when trying to lit-review a subject I know very little about, but my supervisor wants me to look at.
At least I have learnt that spider monkeys are New World monkeys belonging to the genus Ateles, part of the subfamily Atelinae, family Atelidae. Reading the rest of the Wikipedia article and summarising the important bits in a paragraph or two is left as an exercise for the reader.
Anyways, that’s enough digressing for now. Back to the game …
It’s been a busy weekend – but I’m not complaining 😊
On Friday my younger brother (the one without a Fields Medal) came over from Sydney with his partner and two children. I have also taken leave from work, starting on Friday and finishing the following Friday (8th April). Someone else and his family was supposed to come along for dinner, but the Coronavirus gods decreed otherwise.
But it’s not all doom and gloom with the Adelaide Crows winning an epic showdown against their bitter rivals Port Adelaide, and my niece has shown some promising signs as an artist. Over the past few years, she’s getting pretty good with happy stars and now she is moving on to bigger and better things, including Spider Solitaire.
My younger brother and his family are leaving this afternoon. After that it’s back to round 3 of the first game in our 5-point match with a Backgammon doubling cube showing the number ‘8’ face up. No pressure!
It’s official. I believe many Spider Solitaire programs are biased – both for mobile phone and PC. Biased means if a player wins too many games, then the software will stack the cards against him in subsequent deals. Apologies if this comes across as a broken record, but “spider-software-bashing” is what inspired me to create this blog in the first place.
Let me state at the outset this is only my belief, and it comes with a number of caveats. I won’t expect regular readers to agree with my POV, but at least they can hopefully see where I am coming from. Following the rot13(erirefr fuvg fnaqjvpu) principle, I will start with a large number of caveats, then bring in the good stuff, and finally summarise these caveats. I assume we are always playing at the four-suit level (although it is possible to perform similar experiments with less than four suits).
Firstly, I don’t expect regular players to be able to reproduce my results. You will need a very good aptitude at the game. In particular you must be able to win practically every game at the four-suit level with enough perseverance and skill. Fortunately undo/restart is permissable (but not reject). Once you reach that ability you also need a “burn-in period” i.e., play enough hands to let the software deduce you have a good very aptitude for the game.
Secondly, I don’t have very many data points. The point of this article is to merely explain why I believe many programs are biased, and I am not claiming conclusive proof. Ideally, if time permits, I would prefer to play 100 games instead of 10. Oh, did I mention I am returning to work on Monday? In any case, if you are intelligent enough to play decently at the four-suit level then you are intelligent enough to draw your own conclusions.
I have no convincing explanation of what a software developer would gain by rigging the RNG.
A conclusive proof will entail some detailed knowledge of statistics (e.g. what is the meaning of statistically-significant, Komolgorov-Smirnov test, etc). I am nowhere near being in a position to submit a paper to Journal of the American Statistical Association.
I tested this on an earlier version of Ninja Monkey’s code, not the one I’m currently using now for the current game.
If you are stuck at 10-20% win rate then the bias is either non-existent, or doesn’t concern you. If you are winning above 20% then this is probably relevant. If you are serious about improving your game then all bets are off: your win rate is irrelevant and this is most definitely worth paying attention to.
I write this with a heavy heart – one of my readers plays a certain online server, which I now suspect to be biased.
Now Onto My Actual Claims
The certain online server in question is this one. Initially I thought this was kosher after some “experimentation”. However, one of my recent losses cut a little too close to the bone. I then made a serious effort to win 10 consecutive games for the first time – using RESTART if necessary. Note that the software forbids undoing 2 or more moves in a row (and single undo is illegal after dealing a row or removing a suit). I immediately sensed something was off.
I did manage to win all 10 games, but most of them were practically unwinnable without undo/restart. And not for lack of trying. Needless to say, if a Spider Solitaire program penalises a player who wins a few too many with undo/restart, then you can guess how it will treat a player who wins a few too many without these privileges.
As you might have guessed, I recorded the identity of every card in each of the 10 hands and ran Ninja Monkey’s algorithm. NM played each hand 50 times, for a total of 500 hands. Only for 2 hands did NM manage to win at least once. Whereas for random hands, NM should practically always win at least one in 50. I had similar results for a number of different programs.
Admittedly I may have tilted after a few games and failed to play to the best of my ability. But if anyone accuses NM of doing the same to corroborate my claims I don’t wanna hear about it.
I should point out one or two hands were grannies. Not exactly walkovers, but I would expect even my grandma will have a legit chance of winning sans undo. The term GRANNIE was apparently coined by a Scrabble expert – if you get all the power tiles then even your grandma can’t rot13(shpx) it up. In any case, one of my victories can safely be described as an EARNING.
My gut feeling says the software company wants to “equalise the players” so that (ideally) every single hand is either won by every player or lost by every player. Hopefully I don’t need to explain why this is a very bad idea.
Since it is beyond the scope to discuss the detailed mathematic specificity (with apologies to Kevin Rudd), I will simply present the initial game state for each of the 10 hands. I recommend the reader play the hands out for himself – first attempt to win without undo/restart, and if that fails then see how easy/difficult it is to win with undo/restart. The reader can also perform a control experiment by dealing 10 random hands. For extra credit: try to guess which two hands gave Ninja Monkey at least one victory in 50 tries.
List Can Be Any Colour As Long As It’s Black
As a result of this experiment, I have personally black-listed a number of Spider Solitaire programs, both for PC and mobile. From now on I only accept recognised programs like Microsoft Windows, or programs with source code (e.g. a GitHub project).
Conversely if something looks like a basic implementation of Spider from someone who is learning the ropes of version-control in GitHub, then it is reasonable to assume there is no effort to punish a player who wins too often.
Yes, I hear you say, what possible motive do software developers have for punishing players who perform too well? True, not all Spider apps offer players a chance to enter competitions for “free” provided they sign up for PayPal, give away credit card details, their home and work addresses and the number of times they use the toilet every day. I was asking the exact same question and don’t have an answer. What I do know is that my numbers don’t lie – if Ninja Monkey says something is off, then Ninja Monkey says something is off.
IMHO, the onus should therefore be on software developers to prove they are kosher. Guilty until proven innocent if you pardon the inversion of a terrible cliché. If you can write a decent half-page essay on poker player Veronica Brill without help from Google, then you will certainly know where I am coming from.
I have decided many Spider Solitaire programs are not worth playing for both mobile phone and PC and I have blacklisted a number of those. But I wish to reiterate the fact this is my opinion only and my claims may well be difficult to substantiate for average players. Do not expect to see my name in lights if you subscribe to Journal of the American Statistical Association. But at least the reader has something to go on if he wishes to investigate for himself.
Finally, I wish to apologise if this comes across as a long-winded rant. But I believe this topic was worthy of more than the usual number of paragraphs.
And if you believe that some program is biased then you can also sit back and listen to the beat.
Some time ago, I discovered that an “intelligent random move algorithm” can get a lousy win rate playing the Royal Game without rot13(haqb). By lousy, I mean around the vicinity of 6% – but lousy also means better than 0%. The basic gist of my algorithm is to repeatedly apply the following heuristics when choosing a sequence of moves:
basic tree search (i.e. examine N random different options, choose the best one)
static evaluation function (rewards in-suit builds, turnovers, moving suits to foundations etc)
multiple-move look-ahead, stopping as soon as at least one new card is turned over.
super-moves (a term borrowed from Freecell) to traverse the search space more efficiently
Apparently, this is enough to get around a 6% win ratio on random deals. I haven’t thoroughly tested this on a large number of data points, so this should be taken with a pinch of NaCl. But why not enlist the help of other Spider Solitaire or programming enthusiasts to boost the win rate even further?
So, I’ve decided to take the plunge and sign up for a GitHub account. Today, I have just created an account and uploaded my first project. My mad coding skillz aren’t nearly half as good as my mad Sudoku or Spider Solitaire skillz so hopefully I can keep my faux pas count to a minimum 😊 At least my actual job has provided me with some experience working with code repositories so I’m not totally out on a limb.
The current state of my project is a bare-bones AI, with plenty of room for improvement – a deliberate choice on my part. For instance, I explicitly stated in the readme.md file that one possible “to-do” is constructing a test suite to sanity-check that the AI scores a high/low/zero win rate for an easy/hard/impossible hand. I could have put in the effort to make the best possible AI before releasing it into the wild, but that’s not exactly in the spirit of collaboration with external programmers.
I already know at least one work colleague with a GitHub account and a number of “fun colleagues” from the Cracking the Cryptic discord server. With Christmas holidays around the corner (not to mention some flex leave arrangements) I should be in a good position to devote some serious time to this project.
I believe a good way to get some traction happening on my Spider Solitaire project is to return the favour for other people on GitHub. If I can spend some time “building reputation” (if you will), then I might find out that rot13(Xnezn nva’g n ovgpu) after all.
It’s official: after achieving victory on the Four-Suit version of Spider Solitaire sans rot13(haqb), with one impostor trying to rot13(shpx) things up at every opportunity I have decided to award both Bart Wright and Schistocerca Americana the title of International Master. It’s a bit of a misnomer in that we don’t get to travel all over the world to play in tournaments and prove we can mix it with the best – but I will stick with the IM title because it is considered the next level below GM and both players certainly displayed an extremely high level of skill. The other reason for the IM title is because it allows Spider GM to showcase himself at his brilliant worst. If you would like to guess the punchline before reading on, I have inserted the usual spoiler blocker.
In Chess, all titles are obtained by playing in enough tournaments and getting a sufficiently high score against decent opposition. Players can achieve “norms” in individual tournaments and you need enough norms to prove you didn’t get lucky in a single tournament. Your rating also needs to be sufficiently high. The good news is you don’t lose your title after a dip in your rating (or a string of bad tournaments), so you keep your title for life – save for something incredibly stupid, such as an arbiter finding compromising images of Stockfish recommending the best move on your mobile phone. This is fair enough: if there was no guarantee of keeping your title there would be much less incentive to achieve it in the first place. A GM title implies that your ability/talent is enough to mix it with the world’s best, provided you are willing to put in the time and effort and life doesn’t get in the way. An IM title is pretty much the same thing except “the next level down”. Then you get Federation Master titles and of course you can also add a W-hook (using the Scrabble vernacular) for female players. Hence WGM, WIM and so on.
Unfortunately, IM Schistocerca Americana is a bit of a mouthful even for somebody who recently composed a work-related rap song to the tune of Million Voices by Otto Knows. Therefore, he gets the indignity of being renamed IM Bug. And Bart Wright suffers an even worse fate: