Home |
Search |
Today's Posts |
#1
![]() |
|||
|
|||
![]()
Hi!
I was wondering if anyone has any suggestions as how I could alter the line of play in Crafty. What I'd like to do is change the ordering for the first move only. Let's say I want to force crafty to consider moving the rook first before any other move. Then let crafty explore that line. I want to re-order the move list but only for the very first move. There are some games that I know a particular move is best. I want to see if crafty will find the move faster if I could give it a hint and consider moving a rook or whatever I suggest as the first move to play. Crafty considers it x moves deep. The point is I want to reorder the move list but only for the very first move. When going to the 2nd,3rd,4th .... move deep, I don't want to affect that decision process. Just on the first move in the thought process. I don't mean first move in the game. One example would be to make crafty always place the rooks moves in the front of the list every time crafty thinks of making a move but it's only for the first move in the PV. Does anyone have a suggestion or has anyone done something like this? I am ok with making changes in the C code to experiment with some ideas in the beginning to gain an understanding how crafty works. If I were to make a change in the code what function would be the best place to look at? I'd greatfully appreciate any thoughts and suggestions. Thanks |
#2
![]() |
|||
|
|||
![]()
Robert Hyatt wrote in message ...
Christopher wrote: Hi! I was wondering if anyone has any suggestions as how I could alter the line of play in Crafty. What I'd like to do is change the ordering for the first move only. Let's say I want to force crafty to consider moving the rook first before any other move. Then let crafty explore that line. I want to re-order the move list but only for the very first move. There are some games that I know a particular move is best. I want to see if crafty will find the move faster if I could give it a hint and consider moving a rook or whatever I suggest as the first move to play. Crafty considers it x moves deep. It won't work. If you wreck the move ordering, you will slow down everything until the point where you "get lucky" and manually move the right move to the top of the list. On that iteration, you will see the right move quicker, since you search it first. But all previous iterations will be much slower. The point is I want to reorder the move list but only for the very first move. When going to the 2nd,3rd,4th .... move deep, I don't want to affect that decision process. Just on the first move in the thought process. I don't mean first move in the game. One example would be to make crafty always place the rooks moves in the front of the list every time crafty thinks of making a move but it's only for the first move in the PV. Does anyone have a suggestion or has anyone done something like this? I am ok with making changes in the C code to experiment with some ideas in the beginning to gain an understanding how crafty works. If I were to make a change in the code what function would be the best place to look at? I'd greatfully appreciate any thoughts and suggestions. Thanks Hi Dr Hyatt, I am curious. I think I am misunderstanding something. I don't want to re-order the move list for all moves at each depth. I only want to re-order the moves only at the root. ex: say crafty has these options for its the first move. e4-e5 g5-g8 a5-b6 And crafty begins thinking about e4-e5 first. Then there a bunch of moves that come after. What I want to do is: a5-b6 e4-e5 g5-g8 I want to move a particular move to the front of the list so crafty considers it first. Now all the other moves that come after for all the other depths will not be altered. Just the first move. One basic idea is. Let's say crafty determines that e4-e5 is the best and considers it first and thinks about all the replies can consequences. Later crafty after thinking 15 moves deep it eventually finds that g5-g8 is the best. What I want to do is give crafty a hint only for the first move that it'd make for itself. I want to experiment and place this move to the front of the list and see if crafty will determine that this is the best move in fewer than 15 moves(as the ex above). All the other iterations move list will not be changed. They'll place moves in place where they'd normally be at. I just want to change the root moves. If this won't work and cause problems, why would that happen? I want to repeat some anaylsis that other people have done but I want to perform the analysis a little different. It's like I am giving Crafty a hint and want to see how much improvement or not is done when a suggestion is given on the first move where the normal rules would not have found it via a static evaluation. But the move would be eventually found after lengthy analysis. Thanks for any advice. Thanks |