But why leave them out if having them is an improvement. It's not like they're difficult to implement. The point of my question was are they an improvement or a waste of time. That's processing time of course, not programming time, as I've probably spent more time discussing them on this forum than what it takes to implement them. In fact, I had already implemented them before I asked the question, but I was considering removing them completely (just from the search of course) or changing where they were in my move ordering. I think I'll do neither, although I may have it only generate rook and bishop promotions if queen promotion results in a draw. Knight promotions really need to be searched unless the queen promotion results in a capture, in which case the knight promotion should result in a hash cut anyway.nczempin wrote:I think once your engine reaches a certain strength, it really should play proper chess. However, if you are starting out, you can get a long way without them.bob wrote: I see no reason to omit them. Null-move makes them go quickly, and often the hash table cuts the trees off since any promotion gets ripped off the board instantly...
As I said, I am not eating my own dog food here, as Eden had them from very early on, perhaps even the first release
( I wanted it to follow the path of a human beginner, and those I would tell about underpromotions but then say "you'll usually want to promote to a queen, so don't worry about it". Games at low levels are not lost because there is a fork from a sub-promoted pawn.)
I still have the inefficient "Move" class that included the "promotedPiece".
But especially for a program like uMax, it will not be possible to increase the Elo/character by adding them.
uMax of course has very different goals than most of us, so in HGM's case he may not want to implement them for that engine.