Crafty - Search Threshold

Discussion of chess software programming and technical issues.

Moderator: Ras

jhaglund
Posts: 173
Joined: Sun May 11, 2008 7:43 am

Crafty - Search Threshold

Post by jhaglund »

I'm working on an experimental version of Crafty, and I am looking for some clarification on the output of the best pv line.

How/where can I remove the threshold?

I'd like it to display EVERY pv line or like in the Chessmaster series, display "thinking lines" as it gets to the best pv line

This version of Crafty doesn't have to play good chess, it just needs to display all it's thinking lines.

Any advice?

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

Re: Crafty - Search Threshold

Post by bob »

jhaglund wrote:I'm working on an experimental version of Crafty, and I am looking for some clarification on the output of the best pv line.

How/where can I remove the threshold?

I'd like it to display EVERY pv line or like in the Chessmaster series, display "thinking lines" as it gets to the best pv line

This version of Crafty doesn't have to play good chess, it just needs to display all it's thinking lines.

Any advice?

Joshua
Not quite sure what you are asking for. If you use "noise 0" it will display _every_ PV or change of PV for the entire search, although since it uses alpha/beta you won't get any output for non-PV moves/searches.
jhaglund
Posts: 173
Joined: Sun May 11, 2008 7:43 am

Re: Crafty - Search Threshold

Post by jhaglund »

Not quite sure what you are asking for. If you use "noise 0" it will display _every_ PV or change of PV for the entire search,...

Did that so far...
although since it uses alpha/beta you won't get any output for non-PV moves/searches.
Exactly what I need to remove...

Any advice on how to change it?

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

Re: Crafty - Search Threshold

Post by bob »

jhaglund wrote:
Not quite sure what you are asking for. If you use "noise 0" it will display _every_ PV or change of PV for the entire search,...

Did that so far...
although since it uses alpha/beta you won't get any output for non-PV moves/searches.
Exactly what I need to remove...

Any advice on how to change it?

Joshua
If you remove alpha/beta, you will get at most 4-5-6 ply pure minimax searches. I don't think that is exactly what you are looking for. The various places in search.c where you see "if (value >= beta)" need to be removed. The thing will then become insanely weak as you will at _least_ cut the search depth by 1/2 if not more. But then you would have accurate scores and PVs for each ply-1 move to display.
jhaglund
Posts: 173
Joined: Sun May 11, 2008 7:43 am

Re: Crafty - Search Threshold

Post by jhaglund »

If you remove alpha/beta, you will get at most 4-5-6 ply pure minimax searches. I don't think that is exactly what you are looking for. The various places in search.c where you see "if (value >= beta)" need to be removed. The thing will then become insanely weak as you will at _least_ cut the search depth by 1/2 if not more. But then you would have accurate scores and PVs for each ply-1 move to display.
Thanks, I will take a look at this...
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Crafty - Search Threshold

Post by bob »

jhaglund wrote:
If you remove alpha/beta, you will get at most 4-5-6 ply pure minimax searches. I don't think that is exactly what you are looking for. The various places in search.c where you see "if (value >= beta)" need to be removed. The thing will then become insanely weak as you will at _least_ cut the search depth by 1/2 if not more. But then you would have accurate scores and PVs for each ply-1 move to display.
Thanks, I will take a look at this...
The idea is that we enter at the top of search, and exit at the bottom. No returns in between...
jhaglund
Posts: 173
Joined: Sun May 11, 2008 7:43 am

Re: Crafty - Search Threshold

Post by jhaglund »

The idea is that we enter at the top of search, and exit at the bottom. No returns in between...
After playing with that,...

This doesn't seem like what I was looking for...

The two variables I've looked at are *mvp & tree->curmv[ply]...

tree ->curmv

The tree for every current move that is and isn't the best_line.
Not just the current move, but the whole pv_line associated with the current move.

:?:

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

Re: Crafty - Search Threshold

Post by bob »

jhaglund wrote:
The idea is that we enter at the top of search, and exit at the bottom. No returns in between...
After playing with that,...

This doesn't seem like what I was looking for...

The two variables I've looked at are *mvp & tree->curmv[ply]...

tree ->curmv

The tree for every current move that is and isn't the best_line.
Not just the current move, but the whole pv_line associated with the current move.

:?:

Joshua
what you have to do is in SearchRoot(), after each move is made, searched, and unmade, you get a score returned from Search(ply2). There is also a tree->pv[2] list that has the PV for that score. pv[2] can be passed to DisplayPV() to display the thing...
jwes
Posts: 778
Joined: Sat Jul 01, 2006 7:11 am

Re: Crafty - Search Threshold

Post by jwes »

bob wrote:
jhaglund wrote:
Not quite sure what you are asking for. If you use "noise 0" it will display _every_ PV or change of PV for the entire search,...

Did that so far...
although since it uses alpha/beta you won't get any output for non-PV moves/searches.
Exactly what I need to remove...

Any advice on how to change it?

Joshua
If you remove alpha/beta, you will get at most 4-5-6 ply pure minimax searches. I don't think that is exactly what you are looking for. The various places in search.c where you see "if (value >= beta)" need to be removed. The thing will then become insanely weak as you will at _least_ cut the search depth by 1/2 if not more. But then you would have accurate scores and PVs for each ply-1 move to display.
He could search each root move with an open window. This would be very slow, but much faster than straight minimax. Unfortunately, it is not trivial to hack crafty to do this.
jhaglund
Posts: 173
Joined: Sun May 11, 2008 7:43 am

Re: Crafty - Search Threshold

Post by jhaglund »

He could search each root move with an open window. This would be very slow, but much faster than straight minimax. Unfortunately, it is not trivial to hack crafty to do this.

The whole purpose of this experimental version is to generate a truncated PGN game, and write it too a file per evaluation.

That means for every move it looks at it will store it as a game in PGN notation.

You'll end up with with every move possible in your book the longer you let it think. Of course, when you go to "book create, you'll notice the PV lines will have a higher percentage played...

Right now, it is restricted to PV best_line. I use annotate to analyze certain positions.

The goal, is to have an opening book per opening [eco] theory line.
Up to 2 GB each. 2X2000+=4TB of moves. Remember, that's moves played into the opening & middlegame, etc, Certain variations can be extended further...([ECO_code].bin).

This method has all the moves. I have other techniques in-mind also.