best move changes always

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Inmann

best move changes always

Post by Inmann »

At first i want to introduce me again (Older members may remember me)
In the 90s, i programmed "InmiChess". Due to time lack i stopped programming on it in 2000. InmiChess has implemented all "stand of the art" things and plays somewhat "ok".
Having more time now, and interest comes back, i started again to look into the source and let it play some matches......

The Question.
Looking into games of my program, there are often more or less 'non tactical positions', where my "dumb program" switches between two moves at each ply, with a score difference not worth it. (more or less random).
Evaluating a new "best move" is extremly time consumating, so while switching the best moves, it doesnt get deep in search and misses tactical things in deep plys.. (Hope that is understandable)

Any implementations known, which prevent "dumb switchings"?

I can't just implement, to not reevaluate the "new best move", if score differs only a little, cause in my program, i more or less only get back, that ist better. Only at reevaluating with more open window, i know how much its better...

greetings
Werner[/b]
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: best move changes always

Post by mcostalba »

Rounding up evaluation score with a "grain" ?


http://talkchess.com/forum/viewtopic.ph ... tion+grain


Two similar evaluations end up to have the same score so a fail high does not occurs any more.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: best move changes always

Post by bob »

Inmann wrote:At first i want to introduce me again (Older members may remember me)
In the 90s, i programmed "InmiChess". Due to time lack i stopped programming on it in 2000. InmiChess has implemented all "stand of the art" things and plays somewhat "ok".
Having more time now, and interest comes back, i started again to look into the source and let it play some matches......

The Question.
Looking into games of my program, there are often more or less 'non tactical positions', where my "dumb program" switches between two moves at each ply, with a score difference not worth it. (more or less random).
Evaluating a new "best move" is extremly time consumating, so while switching the best moves, it doesnt get deep in search and misses tactical things in deep plys.. (Hope that is understandable)

Any implementations known, which prevent "dumb switchings"?

I can't just implement, to not reevaluate the "new best move", if score differs only a little, cause in my program, i more or less only get back, that ist better. Only at reevaluating with more open window, i know how much its better...

greetings
Werner[/b]
You can easily do this if you want. The solution is that after you search the first move and get a score of V, you start to search with an alpha-beta window of V+x, V+x+1, rather than the normal V, V+1. This means that a new score has to be at least X better before it will get backed up to the root. X can be whatever you want.
swami
Posts: 6640
Joined: Thu Mar 09, 2006 4:21 am

Re: best move changes always

Post by swami »

Hi Bob, Sorry for OT, I sent you a mail yesterday, don't know if it arrived at your mail box. I've also sent you a pm just in case and that too didn't seem to have notified you by email either.

Best Regards.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: best move changes always

Post by bob »

swami wrote:Hi Bob, Sorry for OT, I sent you a mail yesterday, don't know if it arrived at your mail box. I've also sent you a pm just in case and that too didn't seem to have notified you by email either.

Best Regards.
Got 'em, thanks. No idea what the .bin was all about...
User avatar
Kirill Kryukov
Posts: 492
Joined: Sun Mar 19, 2006 4:12 am

Re: best move changes always

Post by Kirill Kryukov »

Inmann wrote:At first i want to introduce me again (Older members may remember me)
In the 90s, i programmed "InmiChess". Due to time lack i stopped programming on it in 2000. InmiChess has implemented all "stand of the art" things and plays somewhat "ok".
Having more time now, and interest comes back, i started again to look into the source and let it play some matches......
Hi Werner!

Recently (this year) InmiChess played 1000+ games in my tournament, where it is currently ranked 82-nd. It will be great to see the development continue!

Sorry for off-topic,
Best regards,
Kirill
Uri Blass
Posts: 10282
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: best move changes always

Post by Uri Blass »

bob wrote:
Inmann wrote:At first i want to introduce me again (Older members may remember me)
In the 90s, i programmed "InmiChess". Due to time lack i stopped programming on it in 2000. InmiChess has implemented all "stand of the art" things and plays somewhat "ok".
Having more time now, and interest comes back, i started again to look into the source and let it play some matches......

The Question.
Looking into games of my program, there are often more or less 'non tactical positions', where my "dumb program" switches between two moves at each ply, with a score difference not worth it. (more or less random).
Evaluating a new "best move" is extremly time consumating, so while switching the best moves, it doesnt get deep in search and misses tactical things in deep plys.. (Hope that is understandable)

Any implementations known, which prevent "dumb switchings"?

I can't just implement, to not reevaluate the "new best move", if score differs only a little, cause in my program, i more or less only get back, that ist better. Only at reevaluating with more open window, i know how much its better...

greetings
Werner[/b]
You can easily do this if you want. The solution is that after you search the first move and get a score of V, you start to search with an alpha-beta window of V+x, V+x+1, rather than the normal V, V+1. This means that a new score has to be at least X better before it will get backed up to the root. X can be whatever you want.
Did you test this idea to see if it can give some elo points to Crafty?

I think that it may be also interesting to test negative x in the first iterations(for example as long as you did not use more than 2% of the target time).

The idea is that you may get some differnet information in the hash and maybe this different information can help for better order of moves later.

Uri
Inmann

Re: best move changes always

Post by Inmann »

Amazing, that the 9 year old proggy still can play at all :D
You used the CB Version. Think i will continue on the WB Version.
But will take some time till i offer the "new version" on my homepage...
Inmann

Re: best move changes always

Post by Inmann »

You can easily do this if you want. The solution is that after you search the first move and get a score of V, you start to search with an alpha-beta window of V+x, V+x+1, rather than the normal V, V+1. This means that a new score has to be at least X better before it will get backed up to the root. X can be whatever you want.
I like this idea :D
Will test it next days. Think i will try to increase x in getting deeper in search. Maybe the idea can help getting one ply deeper too :-)

Werner

[Your extremly fast and useful answers did not change since I left in 2000.Thanks.]
User avatar
Kirill Kryukov
Posts: 492
Joined: Sun Mar 19, 2006 4:12 am

Re: best move changes always

Post by Kirill Kryukov »

Inmann wrote:Amazing, that the 9 year old proggy still can play at all :D
You used the CB Version. Think i will continue on the WB Version.
But will take some time till i offer the "new version" on my homepage...
Yes it holds its own very well for a year 2000 engine! It is one of the oldest engines participating I still test actively.

The best part of it - it is reliable and stable. It never crashed or lost on tmie on my memory. You can be proud of that. (Recently I encountered so many bugged engines that I am happy to see every single stable one).

I use version 3.06N because 3.06 is bigger than 3.05. So I figured it's the latest version. Usually I prefer Winboard over Chessbase. But my best hope is of course UCI. :roll:

Good luck with future progress! :D

Best,
Kirill