In my chess program I tried out several "good ideas" that did not improve performance:
1) Mate distance pruning
2) Futility pruning in Quiescence search
3) LMR
4) Hash table ( This I have to try out again)
Are there more good ideas that may not work ?
I like to have warnings in advance.
"Good ideas" that may not work
Moderators: hgm, Rebel, chrisw
-
- Posts: 30
- Joined: Thu Mar 30, 2006 6:12 pm
Re: "Good ideas" that may not work
I can give you a general warning: Anything that is implemented badly might 'not work'.
-
- Posts: 7221
- Joined: Mon May 27, 2013 10:31 am
Re: "Good ideas" that may not work
5) History heuristic (not killer moves)Henk wrote:In my chess program I tried out several "good ideas" that did not improve performance:
1) Mate distance pruning
2) Futility pruning in Quiescence search
3) LMR
4) Hash table ( This I have to try out again)
Are there more good ideas that may not work ?
I like to have warnings in advance.
6) lazy evaluation when normal evaluation is fast enough
7) alfa beta instead of pvs
-
- Posts: 7221
- Joined: Mon May 27, 2013 10:31 am
Re: "Good ideas" that may not work
8) MTD(f)Henk wrote:5) History heuristic (not killer moves)Henk wrote:In my chess program I tried out several "good ideas" that did not improve performance:
1) Mate distance pruning
2) Futility pruning in Quiescence search
3) LMR
4) Hash table ( This I have to try out again)
Are there more good ideas that may not work ?
I like to have warnings in advance.
6) lazy evaluation when normal evaluation is fast enough
7) alfa beta instead of pvs
9) Aspiration windows
-
- Posts: 1600
- Joined: Mon Feb 21, 2011 9:48 am
Re: "Good ideas" that may not work
You are very hard on your engine.
Something worked, or not.
Something worked, or not.
-
- Posts: 6442
- Joined: Tue Jan 09, 2007 12:31 am
- Location: PA USA
- Full name: Louis Zulli
Re: "Good ideas" that may not work
yolin wrote:I can give you a general warning: Anything that is implemented badly might 'not work'.
-
- Posts: 7221
- Joined: Mon May 27, 2013 10:31 am
Re: "Good ideas" that may not work
Some combinations of good ideas may not workzullil wrote:yolin wrote:I can give you a general warning: Anything that is implemented badly might 'not work'.
-
- Posts: 3232
- Joined: Mon May 31, 2010 1:29 pm
- Full name: lucasart
Re: "Good ideas" that may not work
In my experience, all of these things, if implemented correctly, work. Except perhaps lazy eval.Henk wrote:5) History heuristic (not killer moves)Henk wrote:In my chess program I tried out several "good ideas" that did not improve performance:
1) Mate distance pruning
2) Futility pruning in Quiescence search
3) LMR
4) Hash table ( This I have to try out again)
Are there more good ideas that may not work ?
I like to have warnings in advance.
6) lazy evaluation when normal evaluation is fast enough
7) alfa beta instead of pvs
There's no point even discussing it. The proof is in the pudding.
Instead of trying everything at once, and giving up because it doesn't work, you need to be more patient and scientific about it. Do one thing and do it right, and debug and fix it until you understand it thouroughlly, and you will see what is wrong with your implementation.
You need to start from the basics, and get alpha/beta + hash table to work correctly, and really test it, before you try anything else.
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.
-
- Posts: 4368
- Joined: Fri Mar 10, 2006 5:23 am
- Location: http://www.arasanchess.org
Re: "Good ideas" that may not work
If implementing a hash table does not give you a performance increase, then you are certainly doing it wrong.
(It is fairly easy to get this wrong. Look at a simple example like MSCP - http://marcelk.net/mscp/ - to see how to do it).
(It is fairly easy to get this wrong. Look at a simple example like MSCP - http://marcelk.net/mscp/ - to see how to do it).
-
- Posts: 303
- Joined: Sat Apr 28, 2012 6:18 pm
- Location: Austin, TX
Re: "Good ideas" that may not work
Hmm, perhaps your list of things that did work would be more interesting.Henk wrote:In my chess program I tried out several "good ideas" that did not improve performance:
1) Mate distance pruning
2) Futility pruning in Quiescence search
3) LMR
4) Hash table ( This I have to try out again)
Are there more good ideas that may not work ?
I like to have warnings in advance.
BTW, what is the name of your program?