Zach Wegner wrote:Tord Romstad wrote:
Perhaps there is a need for an MTD version of Glaurung?
Sigh. So many things to do, so little time. Sometimes I envy all those programmers who are content with just writing a chess engine.
Don't do it Tord!!
I probably won't. I could probably make a simple MTD version without much time and effort, but it would be much weaker than the normal version, and people would too easily conclude that MTD isn't good. Writing an MTD version of comparable strength to the PVS version would be a big task, and my time is probably better spent doing other things.
Zach Wegner wrote:I'd rather see a shogi or go engine, really.
Go is unlikely, at least in the near future. It's a great game, but I can't stand watching the ugly games played by the current generation of go programs (and my own program would of course be far worse, especially in the beginning). Shogi is more attractive from this point of view, but it's a pity that there isn't much of a shogi programming community outside Japan.
In the nearest future, I'll have to concentrate on completing my chess evaluation function with space and development, adding bitbases, improve my GUI, and finish the iPhone port of Glaurung. Maybe I'll give shogi a try after that.
Zach Wegner wrote:I sympathize. I have tons of projects that I'd like to do, such as rewriting my Go program (maybe/partially in Lisp??). I only have so much I would like to do in chess, but I have spent an awful lot of time recently doing bugfixes and stuff that I could've put off for at least a few months, when I'd be done with my Summer of Code project.
What's your Summer of Code project about?
But if you really want to satisfy those who need an MTD(f) program, how about releasing Gothmog?

Too embarrassing, and it wouldn't be useful to the community. It is too ugly and messy to be understandable, and not sufficiently strong to prove that MTD(f) is competitive.
Dann Corbit wrote:I always liked the search variant called {IIRC} C-Star, which uses mtd(f) like probing, but in a binary search rather than a linear search. There is something very appealing to me about that method.
The advantage of progressing by tiny steps like in plain MTD(f) is that all searches except the first are usually very fast, because you get a huge number of hash cutoffs. This advantage mostly disappear if you do a binary search. In practice, I think most programs use a hybrid approach. Gothmog did this: At each iteration, it started with a plain MTD(f) search, but if the search failed in the same direction multiple times, it started gradually increasing the step size, before finally converging towards the right value by something similar to a binary search.
Tord