"Good ideas" that may not work

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Henk
Posts: 7218
Joined: Mon May 27, 2013 10:31 am

"Good ideas" that may not work

Post by Henk »

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.
yolin
Posts: 30
Joined: Thu Mar 30, 2006 6:12 pm

Re: "Good ideas" that may not work

Post by yolin »

I can give you a general warning: Anything that is implemented badly might 'not work'.
Henk
Posts: 7218
Joined: Mon May 27, 2013 10:31 am

Re: "Good ideas" that may not work

Post by Henk »

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.
5) History heuristic (not killer moves)
6) lazy evaluation when normal evaluation is fast enough
7) alfa beta instead of pvs
Henk
Posts: 7218
Joined: Mon May 27, 2013 10:31 am

Re: "Good ideas" that may not work

Post by Henk »

Henk wrote:
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.
5) History heuristic (not killer moves)
6) lazy evaluation when normal evaluation is fast enough
7) alfa beta instead of pvs
8) MTD(f)
9) Aspiration windows
User avatar
velmarin
Posts: 1600
Joined: Mon Feb 21, 2011 9:48 am

Re: "Good ideas" that may not work

Post by velmarin »

You are very hard on your engine.

Something worked, or not. :?:
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: "Good ideas" that may not work

Post by zullil »

yolin wrote:I can give you a general warning: Anything that is implemented badly might 'not work'.


:lol: :lol: :twisted:
Henk
Posts: 7218
Joined: Mon May 27, 2013 10:31 am

Re: "Good ideas" that may not work

Post by Henk »

zullil wrote:
yolin wrote:I can give you a general warning: Anything that is implemented badly might 'not work'.


:lol: :lol: :twisted:
Some combinations of good ideas may not work
User avatar
lucasart
Posts: 3232
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: "Good ideas" that may not work

Post by lucasart »

Henk wrote:
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.
5) History heuristic (not killer moves)
6) lazy evaluation when normal evaluation is fast enough
7) alfa beta instead of pvs
In my experience, all of these things, if implemented correctly, work. Except perhaps lazy eval.

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.
jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: "Good ideas" that may not work

Post by jdart »

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).
Tom Likens
Posts: 303
Joined: Sat Apr 28, 2012 6:18 pm
Location: Austin, TX

Re: "Good ideas" that may not work

Post by Tom Likens »

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.
Hmm, perhaps your list of things that did work would be more interesting.
BTW, what is the name of your program?