always run qsearch?

Discussion of chess software programming and technical issues.

Moderator: Ras

adams161
Posts: 626
Joined: Sun May 13, 2007 9:55 pm
Location: Bay Area, CA USA
Full name: Mike Adams

always run qsearch?

Post by adams161 »

I may be wrong on this but I thought you only implemented qsearch if and when a piece was captured or an incheck was found. I can see no other reason to use it. The two mentioned items leave a non quite position and I was under the impression that is why qsearce was made so it might find a quiter ending if possible.
Bill
I saw that in the other thread and had a question. Do you only typically run qsearch or quiescent search when the last move is a capture or check in search? I have always run qsearch after search no matter what? Please advise.

Mike
Uri Blass
Posts: 10792
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: always run qsearch?

Post by Uri Blass »

adams161 wrote:
I may be wrong on this but I thought you only implemented qsearch if and when a piece was captured or an incheck was found. I can see no other reason to use it. The two mentioned items leave a non quite position and I was under the impression that is why qsearce was made so it might find a quiter ending if possible.
Bill
I saw that in the other thread and had a question. Do you only typically run qsearch or quiescent search when the last move is a capture or check in search? I have always run qsearch after search no matter what? Please advise.

Mike
You are clearly right.
I run qsearch after search also when the last move was not a capture.

The only case when I do not go to qsearch is if I prune based on evaluation before getting to qsearch(if the side to move has significant advantage above beta and if the remaining depth is small enough I may simply return beta without qsearch).

Uri
wgarvin
Posts: 838
Joined: Thu Jul 05, 2007 5:03 pm
Location: British Columbia, Canada

Re: always run qsearch?

Post by wgarvin »

Uri Blass wrote:
adams161 wrote:
I may be wrong on this but I thought you only implemented qsearch if and when a piece was captured or an incheck was found. I can see no other reason to use it. The two mentioned items leave a non quite position and I was under the impression that is why qsearce was made so it might find a quiter ending if possible.
Bill
I saw that in the other thread and had a question. Do you only typically run qsearch or quiescent search when the last move is a capture or check in search? I have always run qsearch after search no matter what? Please advise.

Mike
You are clearly right.
I run qsearch after search also when the last move was not a capture.

The only case when I do not go to qsearch is if I prune based on evaluation before getting to qsearch(if the side to move has significant advantage above beta and if the remaining depth is small enough I may simply return beta without qsearch).

Uri
That makes sense. The goal of the qsearch is to find quiet position(s) at which to evaluate. It seems to me that whether the position is quiet can be determined by whether it has checking or capturing moves, and how you got there (by a capture or not) doesn't really matter for that.