Crafty 24.0

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

ibid
Posts: 89
Joined: Mon Jun 13, 2011 12:09 pm

Re: Crafty 24.0

Post by ibid »

Peter Skinner wrote:Can you both try this version for me?

http://www.kikrtech.com/crafty-23.9-winxpx64.exe.zip

Peter
Same error message...
User avatar
Peter Skinner
Posts: 1763
Joined: Sun Feb 26, 2006 1:49 pm
Location: Edmonton, Alberta, Canada
Full name: Peter Skinner

Re: Crafty 24.0

Post by Peter Skinner »

ibid wrote:
Peter Skinner wrote:Can you both try this version for me?

http://www.kikrtech.com/crafty-23.9-winxpx64.exe.zip

Peter
Same error message...
Ok then I suspect that MS has broken something, or is doing something fishy. That build was built the _identical_ way that 23.8 was built, and that works for Ray.

I will figure this out. Something has changed...

Peter
I was kicked out of Chapters because I moved all the Bibles to the fiction section.
Modern Times
Posts: 3550
Joined: Thu Jun 07, 2012 11:02 pm

Re: Crafty 24.0

Post by Modern Times »

Peter Skinner wrote:
ibid wrote:For what it's worth, I get the same error message as you with both exes on a Phenom II X6 1090T and Windows 7...
Can you both try this version for me?

http://www.kikrtech.com/crafty-23.9-winxpx64.exe.zip

Peter
Same error message here with that one too.
Modern Times
Posts: 3550
Joined: Thu Jun 07, 2012 11:02 pm

Re: Crafty 24.0

Post by Modern Times »

Peter Skinner wrote:
ibid wrote:
Peter Skinner wrote:Can you both try this version for me?

http://www.kikrtech.com/crafty-23.9-winxpx64.exe.zip

Peter
Same error message...
Ok then I suspect that MS has broken something, or is doing something fishy. That build was built the _identical_ way that 23.8 was built, and that works for Ray.

I will figure this out. Something has changed...

Peter
Thanks. I was sure it wasn't just me...

The 23.8 version that works is called crafty-23.8-x64-sse3.exe
Cardoso
Posts: 362
Joined: Thu Mar 16, 2006 7:39 pm
Location: Portugal
Full name: Alvaro Cardoso

Re: Crafty 24.0

Post by Cardoso »

Hi Bob,
many thanks for the update.
There is one thing I've been wanting to mention for quite a long time.
Just a suggestion, I'm all forward for simplicity and readability.
IMHO crafty should keep the root search in a separate search, like it was in older versions.
Including it in the main search just complicates the main search. Too many "ply == 1" and "ply > 1" testing conditions.
I know other engines also merge the root and the main search, but it should be different in crafty since crafty is a teaching source engine.
Since this doesn't affect performance, I would like you to consider this comming back to an old idea.
Not all things we do in the past are that bad :)
I understand this is subjective, and a question of personal preference, but please take my comment into consideration.

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

Re: Crafty 24.0

Post by bob »

Cardoso wrote:Hi Bob,
many thanks for the update.
There is one thing I've been wanting to mention for quite a long time.
Just a suggestion, I'm all forward for simplicity and readability.
IMHO crafty should keep the root search in a separate search, like it was in older versions.
Including it in the main search just complicates the main search. Too many "ply == 1" and "ply > 1" testing conditions.
I know other engines also merge the root and the main search, but it should be different in crafty since crafty is a teaching source engine.
Since this doesn't affect performance, I would like you to consider this comming back to an old idea.
Not all things we do in the past are that bad :)
I understand this is subjective, and a question of personal preference, but please take my comment into consideration.

best regards,
Alvaro
Here's why I got rid of the root search function. I currently STILL have two search functions, one the full search, and one is just the "inner loop of the full search" that is used in the parallel search. That is a real PITA, because the "inner loop" is the most interesting part of the search, with extensions, reductions, re-searches, etc. Having two leads to problems because if you change one you have to change both, giving me twice the probability of screwing up because I can't cut and paste due to the differences in the two. With the old SearchRoot() I had THREE places to change things... I have worked on cleaning up search, and am still studying to develop a way to eliminate the above duplication. Perhaps a SearchLoop() function that is called both from Search() and SearchParallel() would do the trick.

From too many years of doing this, duplicated code is a pain. The old black/white duplication was a pain as well, and while it was a pain to get rid of it, getting rid of it eliminated an even bigger pain...
Cardoso
Posts: 362
Joined: Thu Mar 16, 2006 7:39 pm
Location: Portugal
Full name: Alvaro Cardoso

Re: Crafty 24.0

Post by Cardoso »

I see now, I guess we can't have it all.
It's a real challenge to have both simplicity/readability while keeping the engine strong and feature rich.
Thanks for your amazing contribution.

Alvaro
User avatar
Graham Banks
Posts: 41455
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: Crafty 24.0

Post by Graham Banks »

Hi Pete,

would you be able to make a 32-bit compile as well?
There are some enthusiasts who still use 32-bit OS.

Cheers,
Graham.
gbanksnz at gmail.com
Jimbo I
Posts: 149
Joined: Thu Feb 15, 2007 4:34 am
Location: USA

Re: Crafty 24.0

Post by Jimbo I »

bob wrote:
Jimbo I wrote:
Peter Skinner wrote:
Jimbo I wrote:Hi Peter,

Thanks for the compile! Could you also possibly make a full-featured compiled version with the skill switch?

(I still haven't learned how to compile engines myself. How hard would it be for a non-programmer to learn how to do this?)
If you have Visual Studio 2008 or greater, I can upload my makefiles and instructions for you to download. Then isn't just 4 minutes of your time.

Also I am recompiling the previous 24.0 release with the /DSKILL option. I simply had forgotten to re-add it to my makefiles as I don't use it internally for testing.

Peter
I'd love to give it a try. I have Microsoft Visual C++ 2010 Express installed (but never used). Is that what I'd need to do the compile? How would I download the makefiles and instructions? From your web site?

And thanks for recompiling with the /DSKILL option!
I don't think that will work. I use the stdint.h include file and I have heard complaints that this is not included in vs express 2010. I think there is a 2013 express now but I do not know if it includes the stdint.h stuff either...
I'm hoping that this isn't a problem? I did a little Googling and came across a post where someone said Microsoft finally added stdint.h to 2010 Express. (I checked, and it is in one of my Express folders.) So maybe it would work?

Also, I have some bad news for you, Bob. I tried Peter's Crafty 24.0 with Skill=1, and it's doing the same thing that all versions since 23.6 have done: It uses up most of it's time very early in the game, then has just a second or two for a number of moves. It'll forfeit on time for a significant portion of its games (maybe 1 in 6 when using Arena, and even more than that in ChessGui). It's not a big deal for me, since I can still use version 23.5 to play against, but I just hate to see it still be broken in the later versions.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Crafty 24.0

Post by bob »

Jimbo I wrote:
bob wrote:
Jimbo I wrote:
Peter Skinner wrote:
Jimbo I wrote:Hi Peter,

Thanks for the compile! Could you also possibly make a full-featured compiled version with the skill switch?

(I still haven't learned how to compile engines myself. How hard would it be for a non-programmer to learn how to do this?)
If you have Visual Studio 2008 or greater, I can upload my makefiles and instructions for you to download. Then isn't just 4 minutes of your time.

Also I am recompiling the previous 24.0 release with the /DSKILL option. I simply had forgotten to re-add it to my makefiles as I don't use it internally for testing.

Peter
I'd love to give it a try. I have Microsoft Visual C++ 2010 Express installed (but never used). Is that what I'd need to do the compile? How would I download the makefiles and instructions? From your web site?

And thanks for recompiling with the /DSKILL option!
I don't think that will work. I use the stdint.h include file and I have heard complaints that this is not included in vs express 2010. I think there is a 2013 express now but I do not know if it includes the stdint.h stuff either...
I'm hoping that this isn't a problem? I did a little Googling and came across a post where someone said Microsoft finally added stdint.h to 2010 Express. (I checked, and it is in one of my Express folders.) So maybe it would work?

Also, I have some bad news for you, Bob. I tried Peter's Crafty 24.0 with Skill=1, and it's doing the same thing that all versions since 23.6 have done: It uses up most of it's time very early in the game, then has just a second or two for a number of moves. It'll forfeit on time for a significant portion of its games (maybe 1 in 6 when using Arena, and even more than that in ChessGui). It's not a big deal for me, since I can still use version 23.5 to play against, but I just hate to see it still be broken in the later versions.
Can you tell me what time control you use? skill=1 is really not for an experienced player, and new players are not going to play bullet-level speeds. It is likely there would be a problem at very fast time controls. One of the intents of skill=small-number is to still use a "normal" amount of time... it feels unnatural (as a beginner) if your opponent moves instantly.