Author Topic: Games against Programs  (Read 318 times)

GothicChessInventor

  • Full Member
  • ***
  • Posts: 176
    • View Profile
Re: Games against Programs
« Reply #45 on: March 30, 2018, 02:22:26 pm »
So searching the gating moves in QS should definitely ameliorate things. But it does not solve it entirely; in the same posting I also mention that you have to prevent the stand pat...

I already discharge stand pat. I don't restrict where else in the search I test for gating moves, so it's in Quiescence() and in the nominal Search() routine. The ONLY instance where my current setup is vulnerable is if it takes more than 2 consecutive moves to gate a piece AT THE END of running every non-quiescent position to (otherwise) perfect tranquility at the current depth + extended depth. The deepest such probe I have seen so far is 47-ply at nominal depth 13, and there must be virtually no chance a program could have played best moves in a pv line that deliberately delayed gating one or more pieces for so long due to their being greater rewards to reap afterward. There might be a dozen such positions in all of 64-bits worth of search space.

Focussing on one particular position is very dangerous.

You're jumping to conclusions. I have a growing suite of test positions that run automated with a single command. I have a text dump of the results. In each improved code set, fewer nodes were examined, time to depth decreased appreciably, the pv lines stabilized and made sense up to 2-ply sooner, the branching factor decreased, and the numerical score for the line made more and more sense. If I published all of my tests here, I wouldn't have enough time to get all of my tests done :)

In computer Chess it is almost always possible to find a search technique that speeds up finding the good move in that position, but turns out to weaken the engine in real games.

That does not apply here. This is a massive improvement to the code. Massive. As in worth probably 300 elo compared to the old program. This was a huge improvement, mostly because the older technique was so poorly matched to the task at hand. Just look at the positions the program used to misplay: Losing a Queen for a Hawk after move 2 of the game after a deep search vs. now it finds the correct defensive move in 1.5 seconds with NO SPECIFIC KNOWLEDGE aimed at correcting the miscue. This was search improvement, not knowledge encoding.
« Last Edit: March 30, 2018, 02:47:54 pm by GothicChessInventor »

HGMuller

  • Global Moderator
  • Full Member
  • *****
  • Posts: 122
    • View Profile
Re: Games against Programs
« Reply #46 on: March 30, 2018, 03:40:46 pm »
I don't understand what you mean by "discharge stand-pat".