I recently got out the old Chess Challenger 7, and found it to still work, even better.
I was interested to know more about what its capabilities truly were. I found some enlightening posts in archives...
https://www.stmintz.com/ccc/index.php?id=16609
https://www.stmintz.com/ccc/index.php?id=216883
https://www.stmintz.com/ccc/index.php?id=217077
https://www.stmintz.com/ccc/index.php?id=217103
The information there is not entirely consistent, but there does seem to be agreement that level 4 used a full 4 ply search. What also does seem pretty certain is the statement of the levels written in the instructions that came with the machine:
CL1: Intermediate - 5s
CL2: Experienced - 15s
CL3: Advanced - 1:20m
CL4: Mate in 2 - 20m
CL5: Postal Chess - 24h
CL6: Excellent - 6m
CL7: Tournament - 3m
So that gives us a clear statement of processing time, or at least, what they wanted consumers to think about the processing time.
OK, so what is going on here? Well, to start with, let's assume that the fourth level, mate in 2, is indeed doing a four ply full width search. How else could they claim to solve any mate in 2 problem otherwise? And the first level is doing a 2 ply search. That seems highly likely and has been stated a few times in the archives.
Now, the rest of this may betray of profound misunderstanding of how chess programs work, or how they worked back then, but anyway, here goes... Since we know the supposed length of time each level takes for a move (or at least, the time they wanted to tell to the customers), and if we assume an average of 35 positions evaluated per ply, then we can work out the max number of positions each level might have to consider (35 raised to the power of the number of plies, right?)
And then if we assume a relatively constant amount of computing time to evaluate each move, then we should be able to figure this out if we can kinda sorta do the math that results in each level handling roughly the same number of moves per second?
Code: Select all
LEVEL MINS PLIES TOTAL POSITIONS POS./SEC NOTES
(35^plies)
CL1: Intermediate 0.08 2 1,225 245 Often actually much faster than 5 seconds, which would raise the pos./sec number
CL2: Experienced 0.25 2.6 10,341 689 two full width (2), three selective (0.6) ?
CL3: Advanced 1.33 3 42,875 537
CL4: Mate in 2 20 4 1,500,625 1250 Declared as 20 minutes, but is really 40? But 20 makes sense if evaluating mate in 2 problems with fewer total positions to consider?
CL5: Postal Chess 1440 5 52,521,875 607 OK, but one post above says the system couldn't handle more than 1 million positions due to memory constraints?
CL6: Excellent 6 3.5 253,651 704 three full (3), two selective (0.5) ?
CL7: Tournament 3 3.25 104,284 579 three full (3), one selective (0.25) ?
I have no idea how best to actually represent the weight of a selective search vs a full width search, but a decimal seemed like a reasonable cheap way out of that. A selective search is roughly 1/4 as much work as a full width search? I think this is going to be highly implementation dependent, so we probably can't do better than that without detailed knowledge of the algorithm(s)?
The 52 million positions in a full five ply search is a lot and in one post above, Fernando Villegas suggested that this would outstrip the available memory of the system. However, Ron Nelson himself reported that the Chess Challenger 7 only had 256KB of RAM (viewtopic.php?p=659317#p659317). So honestly, doing even a full four ply search with such limited RAM seems to me to be quite a technical trick, so maybe a full five was entirely plausible somehow?
Clearly the engineering approach was not at all what it would be today, where we take gobs of storage and RAM for granted. Information would have to have been compressed a lot, which is a lost art I think. Just look at the original version of the game Elite, a few years after Chess Challenger 7, which "stored" data for 256 star systems in only six hexadecimal numbers. See here: https://www.filfre.net/2013/12/elite/ I bet the Chess Challenger was doing at least a couple clever tricks to get by on such a tiny amount of RAM.
I think there's marketing reasons to suspect something like the above summary is more or less correct. Most people aren't going to wait around 20+ minutes for a move, let alone 24 hours. So the level 6 would have been dreamed up as a similar challenge to the level 4, but in a manageable amount of time. And then level 4 was billed as being for problems, to justify the time involved (and plausibly reduce the estimated time to 20 mins from 40 mins).
If would be interesting to compare the performance of level 4 vs level 6.
And then Level 7 was called "tournament" because it was an attempt to do the best it could within 3 minutes?
But what this suggests, no surprise, is that if you want the biggest challenge, you play on the postal level and you wait a day for a response from the machine. Which is no surprise I guess because they told us out of the gate that that level used the most time when evaluating moves.
If anyone has more info about how the Chess Challenger 7 worked, that would be great to hear. Also, if my math does not make sense, that would be good to know!
--Julian