Reply
 
LinkBack Thread Tools Display Modes
  #1   Report Post  
Old December 30th 08, 05:10 PM posted to rec.games.chess.computer
external usenet poster
 
First recorded activity by ChessBanter: Dec 2008
Posts: 6
Default Chess Programming: Quescent search

Most of the Chess programs I've examined handle quescence by
implementing a custom quescent search routine, oftentimes named
"Quesce".

I would think that a quescent search would be subject to all of the
same optimizations that occur in the general search such as alpha-beta
pruning, utilization of the transposition table, etc..., so my
question is why isn't quescent search just handled as a direct
extension of the main search (e.g. a position classified as unstable
is simply not considered a terminal position and therefore search
deeper). Why bother to implement a customized quescent search?

Any insights on this are appreciated.

-- Greg
  #2   Report Post  
Old December 30th 08, 06:16 PM posted to rec.games.chess.computer
external usenet poster
 
First recorded activity by ChessBanter: Jul 2006
Posts: 625
Default Chess Programming: Quescent search

* (18:10) schrieb:

Most of the Chess programs I've examined handle quescence by
implementing a custom quescent search routine, oftentimes named
"Quesce".

I would think that a quescent search would be subject to all of the
same optimizations that occur in the general search such as alpha-beta
pruning, utilization of the transposition table, etc..., so my
question is why isn't quescent search just handled as a direct
extension of the main search (e.g. a position classified as unstable
is simply not considered a terminal position and therefore search
deeper). Why bother to implement a customized quescent search?


You usually have optimizations beyond alpha-beta and transposition-
tables. Theses are usually not shared across normal search and quiescent
search.

And the fundamental difference of course is, you don't search all the
moves. Accordingly they are sorted differently.

Plus some convergence tricks like going back to normal search for one
ply when you are in check.

That's so many depth==0 tests (one for the recursion!) that you
are usually better off giving it its own function.

mfg, simon .... l
  #3   Report Post  
Old December 30th 08, 06:52 PM posted to rec.games.chess.computer
external usenet poster
 
First recorded activity by ChessBanter: Dec 2008
Posts: 6
Default Chess Programming: Quescent search

On Dec 30, 1:16*pm, Simon Krahnke wrote:
You usually have optimizations beyond alpha-beta and transposition-
tables. Theses are usually not shared across normal search and quiescent
search.

And the fundamental difference of course is, you don't search all the
moves. Accordingly they are sorted differently.

Plus some convergence tricks like going back to normal search for one
ply when you are in check.

That's so many depth==0 tests (one for the recursion!) that you
are usually better off giving it its own function.

mfg, * * * * * * * * * * * simon .... l


I was also thinking that the search could be in "quescent mode" when
it is searching the extra plys and thus could do additional things
such as only generate captures. I think you're saying that's
possible, but generally inefficient. I wonder if any existing
programs do it this way.

-- Greg
  #4   Report Post  
Old December 30th 08, 07:35 PM posted to rec.games.chess.computer
external usenet poster
 
First recorded activity by ChessBanter: Jul 2008
Posts: 219
Default Chess Programming: Quescent search

wrote in message
...
Most of the Chess programs I've examined handle quescence by
implementing a custom quescent search routine, oftentimes named
"Quesce".

I would think that a quescent search would be subject to all of the
same optimizations that occur in the general search such as alpha-beta
pruning, utilization of the transposition table, etc..., so my


Right. Although you need to be careful about putting quiescent search
results into the trans table.

question is why isn't quescent search just handled as a direct
extension of the main search (e.g. a position classified as unstable
is simply not considered a terminal position and therefore search
deeper). Why bother to implement a customized quescent search?


It often is combined.

Most of the differences are hidden elsewhere (in the GenNextMove() function)
or with a flag saying whether its the normal search or some part of the
quienscent search.

Such as:

If (InQSearch == TRUE) then GenerateQMoves();
else GenerateAllMoves();


But many people prefer to have it seperate because they do things
differently enough from the regular search that it looks cleaner and is more
easily maintained when seperate.

There is no fundamental reason you can't combine them. And many people do
precisely that.

But many just prefer to keep them seperate for better organization, etc.

The more complex you do your Qsearch, the more extensions etc., the more
convenient it is to have it seperate.



Any insights on this are appreciated.

-- Greg





----== Posted via Pronews.Com - Unlimited-Unrestricted-Secure Usenet News==----
http://www.pronews.com The #1 Newsgroup Service in the World! 100,000 Newsgroups
---= - Total Privacy via Encryption =---
  #5   Report Post  
Old December 30th 08, 08:13 PM posted to rec.games.chess.computer
external usenet poster
 
First recorded activity by ChessBanter: Dec 2008
Posts: 6
Default Chess Programming: Quescent search

So I'm beginning to think that both approaches are valid and it's
basically a matter of choice based on a combination of code
organization and efficiency.

-- Greg

Reply
Thread Tools
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Sound and Fury in Polgarland B. Lafferty[_6_] rec.games.chess.politics (Chess Politics) 3 December 15th 08 09:20 AM
Books for beginning player? [email protected] rec.games.chess.misc (Chess General) 7 August 23rd 06 03:06 AM
rec.games.chess.misc FAQ [2/4] [email protected] rec.games.chess.misc (Chess General) 0 February 19th 06 05:44 AM
rec.games.chess.misc FAQ [2/4] [email protected] rec.games.chess.misc (Chess General) 0 January 19th 06 06:15 AM
rec.games.chess.misc FAQ [2/4] [email protected] rec.games.chess.misc (Chess General) 0 November 3rd 05 05:30 AM


All times are GMT +1. The time now is 10:39 PM.

Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Copyright 2004-2019 ChessBanter.
The comments are property of their posters.
 

About Us

"It's about Chess"

 

Copyright © 2017