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
Crafty - Search Threshold
Moderator: Ras
-
bob
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: Crafty - Search Threshold
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 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
-
jhaglund
- Posts: 173
- Joined: Sun May 11, 2008 7:43 am
Re: Crafty - Search Threshold
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...
Exactly what I need to remove...although since it uses alpha/beta you won't get any output for non-PV moves/searches.
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
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 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...
Exactly what I need to remove...although since it uses alpha/beta you won't get any output for non-PV moves/searches.
Any advice on how to change it?
Joshua
-
jhaglund
- Posts: 173
- Joined: Sun May 11, 2008 7:43 am
Re: Crafty - Search Threshold
Thanks, I will take a look at this...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.
-
bob
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: Crafty - Search Threshold
The idea is that we enter at the top of search, and exit at the bottom. No returns in between...jhaglund wrote:Thanks, I will take a look at this...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
After playing with that,...The idea is that we enter at the top of search, and exit at the bottom. No returns in between...
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
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...jhaglund wrote:After playing with that,...The idea is that we enter at the top of search, and exit at the bottom. No returns in between...
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
-
jwes
- Posts: 778
- Joined: Sat Jul 01, 2006 7:11 am
Re: Crafty - Search Threshold
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.bob 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.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...
Exactly what I need to remove...although since it uses alpha/beta you won't get any output for non-PV moves/searches.
Any advice on how to change it?
Joshua
-
jhaglund
- Posts: 173
- Joined: Sun May 11, 2008 7:43 am
Re: Crafty - Search Threshold
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.