7

I wanted to see if a computer can beat the same computer, on the same machine.

The first match is on chess.com, I played vs computer, I open two tabs, the first one is computer (white) vs me (black) and in the second tab, I play as white vs computer (black).

I played both games at the same time, the computer level is expert, rating 2000+. I waited for the computer in the first tab to make his move as white, I made the same move as white in the second tab, waited for black to make his move, made the same move in the first tab. It was a draw as you might expect.

[FEN ""]
 1. a3 d5 2. Nf3 Nc6 3. d4 Nf6 4. e3 Bg4 5. Bb5 e6 6. Bxc6+ bxc6 7. h3 Bxf3 8. Qxf3 Be7 9. Nc3 c5 10. O-O Bd6 11. dxc5 Bxc5 12. e4 Nxe4 13. Nxe4 dxe4 14. Qxe4 O-O 15. Bf4 Qe7 16. Rad1 Rae8 17. Rfe1 Rb8 18. b4 Bd6 19. Qe3 Rfd8 20. Bxd6 cxd6 21. c4 Qc7 22. Rc1 Rbc8 23. Rf1 Kh8 24. Qd2 Qd7 25. c5 d5 26. Rfe1 d4 27. Qg5 Qa4 28. Ra1 d3 29. Qf4 Rxc5 30. Qxf7 Rc3 31. Qe7 Re8 32. Qd6 Qb3 33. Qd7 Rf8 34. Qd6 Kg8 35. Re4 Rc2 36. Rf4 Rxf4 37. Qxf4 Qc4 38. Qb8+ Qc8 39. Qd6 Rc1+ 40. Rxc1 Qxc1+ 41. Kh2 d2 42. Qxe6+ Kf8 43. Qf5+ Ke7 44. Qe5+ Kd8 45. Qd5+ Kc7 46. Qe5+ Kb6 47. Qe6+ Kc7 48. Qe5+ Kd8 49. Qd6+ Kc8 50. Qe6+ Kb7 51. Qd5+ Kc7 52. Qe5+ 

But I wasn't satisfied with the first result, I have Shredder on my PC, so I redid the test, opened Shredder twice, played against full strength Shredder and mimic the moves, it was a draw too. I did the test at the highest level to eliminate blunders as much as possible.

[FEN ""]
1. d4 {0s} Nf6 {+0.06/5 0s} 2. Nf3 {28s} d5 {+0.12/13 0s} 
3. Bf4 {24s} Bf5 {+0.18/12 0s} 4. e3 {31s} e6 {+0.18/12 1s} 
5. Bd3 {34s} Bxd3 {+0.10/12 0s} 6. Qxd3 {12s} Bd6 {+0.11/12 
0s} 7. Nbd2 {37s (O-O)} O-O {+0.04/9 1s} 8. O-O {24:11m} 
Bxf4 {0.00/17 1s} 9. exf4 {22s} Qd6 {+0.08/12 0s} 10. f5 
{28s} exf5 {0.00/13 0s} 11. Qxf5 {13s} Nc6 {+0.04/13 0s} 
12. Rfe1 {33s} Rfe8 {0.00/13 0s} 13. c3 {21s} Ne7 {+0.07/12 
0s} 14. Qe5 {44s (Qh3)} Qb6 {-0.04/10 1s} 15. Rab1 {1:15m 
(b3)} Ng6 {-0.11/10 2s} 16. Qg3 {27s} Rac8 {-0.08/12 0s} 
17. Ne5 {36s (Qh3)} Re6 {-0.07/9 1s} 18. Nxg6 {18s} hxg6 
{-0.06/14 0s} 19. Re5 {16s} Rce8 {-0.17/14 0s} 20. Rxe6 
{31s} Rxe6 {-0.21/15 0s} 21. Qd3 {16s} Qd6 {-0.11/14 0s} 
22. Nf3 {1:04m} Qf4 {-0.06/14 0s} 23. Re1 {45s} Rxe1+ 
{-0.14/14 0s} 24. Nxe1 {12s} Qc1 {-0.04/14 0s} 25. Qe2 
{32s} g5 {0.00/14 0s} 26. h3 {16s} Ne4 {+0.02/14 0s} 27. g4 
{28s} c5 {+0.05/15 0s} 28. dxc5 {1:00m} Nxc5 {+0.09/12 1s} 
29. Qe8+ {17s} Kh7 {+0.01/16 0s} 30. Kg2 {44s} Qb1 
{+0.01/16 0s} 31. Nf3 {37s} f6 {+0.01/16 0s} 32. b4 {21s} 
Nd3 {0.00/17 0s} 33. Qh5+ {1:01m} Kg8 {0.00/20 0s} 34. Qe8+ 
{23s} Kh7 {0.00/19 0s} 35. Qh5+ {52s} Kg8 {0.00/20 0s} 
36. Qe8+ {6s} Kh7 {0.00/99 0s} 1/2-1/2

I wasn't happy with that result either so I redid the test using shredder and it made the same exact moves!

This question is not about "how chess engines think", that topic is discussed many times on this site. I did my experiment because I wanted to see if the computer can beat itself on the same machine.

My HP laptop is core I5, 8GB ram ddr3 running Windows 7 64 bit. But I did the test on Chess.com servers as well and I still got the same results, I don't know what servers they use.

I used to have deep blue and it had an option where the engine can play against itself, and one side used to win, i can't find this option on shredder, but it seems that the computer won't be able to beat itself if you mimic its moves, in other words, when you explicitly tell deep blue to play vs deep blue, the engine starts making blunders so you can see one side winning, but if you do what i did, mimic its own moves in another window, it will be a draw.

I'm not going to analyze the games but some stuff were interesting to me:

  • In the first match on chess.com, any newbie would understand that you've got to do anything you can to promote the pawn on d2, exchange queens, promote the pawn and finish off the game.

  • In both games, black seemed more aggressive but unable to win.

I know that in computer vs computer competitions, they use super computers, but is there any chance for the computer to beat itself on the same machine?

I did the test on Shredder 3 times and it did the same moves! so i think they do

if d4
do Nf6

Which is why I'm disappointed, I expect the almighty shredder to use some AI, at least trying different openings, i didn't use any opening database, but one would expect shredder to come packed with some of the basic openings, neither was chess.com engine able to beat itself.

So is it possible to expect different results from computer vs same computer on the same machine?

4
  • Please write standard English, including capitals. (Interesting question, though.)
    – thb
    Jul 21, 2013 at 0:37
  • You write that you don't want to know how chess engines think, but to write a good answer I need to include an explanation into how computers and engines work (I prefer work, not think). The short answer is that it depends.
    – Halvard
    Jul 21, 2013 at 14:54
  • @Halvard yes, feel free to talk about anything in your answer, i just said that so the users can see my point, I don't want them to think that this is a duplicate, but in your answer, feel free to talk about anything at all
    – Lynob
    Jul 21, 2013 at 15:21
  • in my Houdini, I always find different results. I played it both at Tournament level with 3000 Elo since Arena just allow to that value. Jul 22, 2013 at 2:37

4 Answers 4

6

First a clarification:

You write:

in other words, when you explicitly tell deep blue to play vs deep blue, the engine starts making blunders so you can see one side winning, but if you do what i did, mimic its own moves in another window, it will be a draw.

This is not so. Mimicking the moves and having it explicitly play itself will not make (much of) a difference. The engines are not programmed so that if they know they play themselves they will play less accurately.

Determinism

As ldog wrote in his reply, there are several questions baked into one here. One is if you recreate the entire scenario exactly, will a computer make the same moves? If determinism holds true the answer will be yes, because even randomness is not really random (just something we cannot predict up front because of lacking understanding). Well, I will leave the philosophical discussion aside, because there are many factors that will make recreating the exact same scenario impossible.

Randomness

Most engines have opening books. In your case, maybe Shredder only has one line. Opening books are hard coded if-else code. The reason for this is that computers are not strong enough to analyze past human knowledge of the opening yet, so it makes sense to just add this knowledge in a more direct way. Most engines now do have a big book though. Here is where randomness comes into play. When it randomly chooses to play 1.e4 instead of 1.d4 it makes for a completely new game. Most commercial engines (Houdini, Fritz) and many free engines (Stockfish) also have settings for how random the book is.

Another randomness aspect is thinking while the opponent is thinking. Most newer engines do this. This means that even if you set it to a specific level it will also think on your time. On an engine like this, if you tried to mimic the moves, you might find that it suddenly plays differently because you are not able to play the moves in exactly the same number of milliseconds (and by that time the engine might just reach a deeper level).

AI

In addition to randomness, once the engine has left the book it might use AI. Here is a simple test you can do on Houdini: Play to any move until you see the evaluation change a bit one way or another. Then go back ten half moves and it might play differently. Although this is not AI it does take into account the analysis it has already done.

There are other engines, even open source projects that deal with more pure AI. These engines might not play the same move twice (especially if it lost) as it learns from previous experiences. You might read this question to understand why most commercial engines yet do not use AI, but it will probably happen soon.

Conclusion

Once you have randomness (and discard the impractical discussions leading from determinism) and/or AI in play you will see that if you pit two engines against each other on the same computer you will get different games and once in a while one side will beat the other.

So the answer depends on the engine and if you think of a practical test (and not a theoretical test). The computer it is played on should not matter, and mimicking actually makes it more likely that it will play differently.

4

Your question

So is it possible to expect different results from computer vs same computer on the same machine?

may be a bit too complex involving too many variables. Instead consider the simpler question

Do chess engines produce the same move given the same position and all settings being equal (ply depth, time controls)?

Clearly, if the answer to this question is yes, you should never expect a computer to deviate from its choices. From my understanding of how chess engines perform the search, the answer yes to this question is largely dependent on two factors

1) If two moves score identical position evaluations (this happens with probability 0 if scores are real valued) then the way the chess engine resolves tied moves need to be factored in when answering this question.

2) Largely, the dependency of the chess engine on randomness determines this. Move-ordering when searching the search-tree for a chess engine largely determines its playing strength. Inherently, choosing a move-order that performs well is not an exact science, and so different chess engines perform this differently. There is a general consensus on what empirically scores the highest, but this is where most chess engines differ. In particular, some chess engines may actually partially randomize the move order, in turn randomizing the actual move that the chess engine may play given everything else being equal. This is not generally a popular technique, but I have actually played a chess engine that does make different moves given the same position and no time controls. This is most likely due to its reliance on a probabilistic approach and hence dependency on randomness.

1

There are two separate questions in the OP. Addressing both of them:

So is it possible to expect different results from computer vs same computer on the same machine?

Yes, because chess engines aren't completely deterministic. See this question. The answers to that question deal with traditional engines. The newer neural-network based engines are less random than traditional engines, but still not completely deterministic, for similar reasons.

I wanted to see if a computer can beat the same computer, on the same machine.

Absolutely. The reason is simply that every move narrows the search tree. For example if you run Shredder in the starting position, it'll be searching everything from 1. e4 to 1. Na3. It'll eventually conclude that 1. Na3 is inferior to 1. e4, and not play 1. Na3, but it will still search 1. Na3. This is computing power that isn't going to searching the main branch. When Shredder is playing Black, it already knows what its opponent's first move is. It won't have to search for a response to 1. Na3 because those positions aren't happening.

That said, the most likely result of a computer vs. computer game is a draw, so chances are you'll need to play several times before you get a decisive result.

If you're interested, check out the Stockfish testing ground Fishtesting. Fishtesting tests new Stockfish patches against the old "master" version, accepting the patch if it beats the old version. As of time of writing, this is the most recent finished test. Note the results (in the yellow box at the top):

Total: 52195 W: 10011 L: 9955 D: 32229

The new version played 52,195 games against the old one, winning 10,011 times and losing 9,955 times, with 32,229 draws.

-1

Yes.

If the computer has two moves that evaluate equally it has to make a random choice which one to use. And if the depth is low or other factors keep it from making the best move then the first to make a mistake will likely lose.

In the end it is the next to last mistake that actually loses a game.

Clearly a computer PROGRAM can beat the same PROGRAM even if on the same computer hardware and each is made to play the other.

Often the games will be draws but wins are possible although should be rare with really good engines let loose to the max they can do even if it takes a lot of time.

2
  • 1
    If the computer has two moves that evaluate equally it has to make a random choice which one to use. This is incorrect, per chess.stackexchange.com/questions/26509/…
    – Allure
    Jan 28, 2020 at 0:06
  • Nonsense. It depends on which program is use. It may not be true on some program that picks equal moves alphabetically or the like but some programs will do it randomly which is the optimum way to do it. Jan 28, 2020 at 2:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.