Reinfeld wrote:Nick (good to see you!) asks: - R.
I was just thinking the same R! It's good to see you posting again
Why should a computer play like a human? Because I don't want a perfect opponent. That's no fun. Indeed, I can't compete with that. I want an imperfect foe, and I want a better vision of imperfection - a sweeter spot - than comps old or new have managed to provide. That is the goal.
Now that is something we all want. It's partially the reason why I am currently trying out the old DOS, Amiga's and Atari's running at faster speeds. What Millennium is doing too is in my opinion moving in the right direction. Use an ARM processor around 600 MHz and load these old Morsch, King, Schroeder and Kittinger programs into it and voila!, you will probably then have what people are craving for. Unfortunately so far Millennium has just stuck to the one Lang program and that is becoming tiresome as you cannot play the same Lang's over and over again.
Right. But I have about six of these old toasters at hand any day of the week while I watch movies and fool around. They're the machines we all play. We are average. They are average. That's the hobby. It's still interesting to explore and understand their parameters, and consider whether they have any lessons to teach about programming within defined limits, especially when it comes to endgames. We've all played played comp-on-comp matches that featured interminable engdames. It's a cliche.
It's the same old problem, the old programs in order to improve in this area without endgame assistance need more horsepower. The 5 or 6 ply that they reach in search is just not enough for them to make improved endgame choices. They need to reach at least 10-14 ply in endgames to see decent unassisted endgame improvements. Their problem is mostly a result of search depth limitations.
Perhaps I'm not expressing myself very well. I used Brian's statement as an example of what I'm thinking about human-style play, not as clear-cut proof that humans are better than comps, old or new, which would be silly. I don't think Brian is arguing that broadly, either - but he still has a point.
If these old programs were to play on Millenniums Exclusive Arm Processor you would see more games resembling just what you are requesting, --- games that resemble human style play. These older programs are not as advanced as modern programs and therefore you would see moments or genius and moments of blunders... very human like.
Of course you're right that Miami gets there eventually, and simply takes longer. But it's still worth asking why it takes longer, because Miami's choice is wrong. Brian's point is that an average player knows enough about chess to know that pushing the h-pawn in his example is the fastest way to win, regardless of calculation.
Miami is a tiny program that mostly relies only on search depth. Ok some little knowledge was written into it like how to win with Rook, King against King in an endgame but that's all very limited because of its program size. So really to see improvement it needs more speed.
He self-identifies as a weak player, yet in the example he describes, he's a better player than creaky old Miami, because he knows the faster solution on principle/intuition, not a tablebase. Miami, in spite of being a toaster, is not a stupid player. It's a GK 2000 - it beats most of us most of the time. So why is it so stupid in this position? What would it take to make it (or any other program) smarter, without a tablebase?
It's back to speed. If it were able to convert the 25 minutes into 30 seconds per move, this position wouldn't be discussed right
More generally, why are all the old comps so crappy at endgames? Was/is there a way to address that deficiency, by programming in a manner that involves principle rather than brute-force searching or tablebases? This was Botvinnik's quest in programming, though he failed. Which major programmer came closest to solving this problem without hashtables and tablebases? How? (I tend to think it's a question of Lang vs. Schroder, but that's me).
It also goes back to what Ron Nelson wrote about. The manufacturers in order to keep the manufacturing cost down to its barest minimum, the manufacturers settle on the very cheapest workable electronics and chips. So the programs besides having to work in the smallest of ROM's where further stripped down so that they could add marketing bells and whistles such as teach modes and 100 best games of chess in history etc. Even then they were concerned that they may not sell enough computers if the computer beats the Walmart shoppers all the time. They were not interested in obtaining the programmers improved chess strategies as it would cost them more.
Let's separate raw strength from the idea of intuition. Hiarcs and other modern programs rely on tablebases to find the swiftest path to a simple endgame. That's not intuition in the way I think of it, i.e., the sense of playing on general principles rather than perfect, stored calculation. Brian can't calculate the win perfectly, but he knows where it starts, because he makes the heuristic leap. An ideal "human" program ought to know the same thing, and make the right move on principle rather than calculation. How might that tendency be programmed?
Only the Chessmaster series tried to get somewhere on this front. I realize some dedicateds allow you to tune for style (aggressive, passive, etc.). Is there more that can be done? Let me imagine an ideal personality: La Bourdannais.
His opening knowledge is limited and specific. This can be programmed. He is an attacker. This can also be tuned. He has limited positional knowledge. He knows a few endgames. He is a romantic who will seek or force trappy but unsound sacs. What is his temperament? How does he respond to unexpected counters? Does he wilt, or become more resolute? Is it possible to tune a dedicated to play in this manner?
Compare this to a programmed player called Silman. This player knows his openings, but relies on targets and the interplay of minor pieces. He has a vast store of endgames. He will play on principle. Can you tune a dedicated Silman personality? Which machine would come closest?
I am not a programmer so I don't know, but I imagine that modern programs have become much broader in chess knowledge. Hence their increased size to 1-2 MB compared to what was considered huge with 16/32/64 KB on dedicated computers.
The only area where modern engines have not improved in are the endgames as they tend to solely rely on endgame table bases nowadays. Therefore if you were to slow them down to say 5 or 6 ply and then actually play these endings without table bases, they would be worse than even a Miami!
Wouldn't it be nice if you had Chessmaster 9K or 10K on a dedicated chess computer? You would be in personality development heaven !!
As a side note if you click here:
https://lichess.org/Z6hy0Tfp
Both Amiga 68060 Checkmate Aggressive and Millennium Chess Genius played this game averaging 9 centipawn loss. A centipawn is 1/100th of a pawn in value. Also Checkmate played the whole game with just 2 inaccuracies and MCG with 3 inaccuracies! An inaccuracy = 1/2 pawn (0.5 loss)
Blunder = 300 centipawns
Mistake = 100 centipawns
Inaccuracy = 50 centipawns
As a note I read somewhere that Gary Kapsarov averaged 13 Centipawn loss based on Crafry engine. The above for Checkmate and Millennium is based on Stockfish 8. So I don't know if Kasparov's average would improve or worsen under Stockfish 8. I would expect probably worsen a little since Stockfish 8 is considerably stronger.
But hey what more can you expect from a dedicated chess computer! The 9 average centipawn loss in this game by both programs is 44% better than Kasparov's average of 13!
Grandmasterly!! regards ...