There's no need to rely on such ugly brute force memory methods (basically tablebases) for forcing mate with R and K say. My TarraschToyEngine for example has no trouble forcing such mates, I just gave it a little bit of chess knowledge - use the rook to limit the opponent's king to a portion of the board, put your king a knights move away, then force it back further. Once it gets to the edge of the board mate looms up close enough for even the shallow search of a weak engine.Chessqueen wrote: ↑Thu Jan 21, 2021 2:04 am Can you write a small subroutine with endgame knowledge[/b] https://levelup.gitconnected.com/build- ... fb23bb3ec1
But it would be pointless injecting either type of code into Sargon 1978. It wouldn't be Sargon 1978 anymore. On the other hand introducing transposition tables as a code exo-skeleton would effectively just enable Sargon 1978 to run faster in the endgame (I hope anyway) and calculate all the way to mate. It would be an authentic approach sympathetic to the project as a whole.
But we are going around in circles, and it's no doubt very boring to other people on the forum. I think we should stop.
I'll post again if I do in fact try and do it, I don't know if I can justify putting more weeks of effort into Sargon 1978. I still need to get V1.01 properly released (basically add some timing code to get a better measurement of how much faster Sargon 1978 runs on modern machines).