which free program did you find to be most productive?

Programming Topics (Computer Chess) and technical aspects as test techniques, book building, program tuning etc

Moderator: Andres Valverde

which free program did you find to be most productive?

Postby Uri Blass » 15 Nov 2005, 20:27

I think that it is possible that it may be better to try first to learn scorpio and not fruit.

Fruit is certainly better but scorpio has clearly less code to learn.

Another option is glaurung but the advantage of scorpio is that it also include some code for parallel search and has less files than glaurung(it does not mean that it is shorter but I am afraid that when there are many files you may need to skip more often from file to file in order to understand things so it is harder to understand).

What is your opinion?

Is there a free source program that is not weak like tscp that you can say that you understand most of it?

Uri
User avatar
Uri Blass
 
Posts: 727
Joined: 09 Oct 2004, 05:59
Location: Tel-Aviv

Re: which free program did you find to be most productive?

Postby Tord Romstad » 15 Nov 2005, 21:00

Uri Blass wrote:Another option is glaurung but the advantage of scorpio is that it also include some code for parallel search and has less files than glaurung(it does not mean that it is shorter but I am afraid that when there are many files you may need to skip more often from file to file in order to understand things so it is harder to understand).

If this is a serious problem, you are using the wrong tools. It should be possible to look up a function definition (or a type definition, a global variable, etc.) with just a keystroke, even if the definition is located in a different file. In Emacs, I just place the cursor above the function name and press "M-." (Meta - dot). I am sure all other serious programming editors have a similar feature.

Tord
User avatar
Tord Romstad
 
Posts: 639
Joined: 09 Oct 2004, 12:49
Location: Oslo, Norway

Re: which free program did you find to be most productive?

Postby Ryan Benitez » 16 Nov 2005, 00:03

For me Faile and Beowulf have been very useful for learning and easy to read. Scorpio looks promising and should be very strong with some tuning.
Ryan Benitez
 
Posts: 19
Joined: 03 Nov 2005, 23:27

Re: which free program did you find to be most productive?

Postby Pradu » 16 Nov 2005, 03:26

Beyond a doubt, TSCP. The rest I just learnt from talking to people and reading papers/books.
User avatar
Pradu
 
Posts: 343
Joined: 12 Jan 2005, 19:17
Location: Chandler, Arizona, USA

Re: which free program did you find to be most productive?

Postby Dann Corbit » 16 Nov 2005, 07:07

I think that TSCP was a good model ten years ago, but now that SMP is possible (and even necessary at the highest level of competition) I think that TSCP may teach raw beginners more harm than good because of all the global variables.

On the other hand, it does illustrate the basic ideas very compactly.

Slowchess, Scorpio and Glaurung are all nice to learn from.

The best *style* is that of Fabien. Look at his defensive programming techniques. And his use of asserts documents the program even better than comments, I think. It shows the real critical thinking that is going on.

If you emulate the *style* of Fabien, I think that is really going to pay off.

His ideas are advanced. I think it will take several years before I understand them thoroughly.
Dann Corbit
 

Re: which free program did you find to be most productive?

Postby Tord Romstad » 16 Nov 2005, 10:51

I never understood the popularity of TSCP. There are plenty of programs which are much easier to read and understand, while being hundreds of rating points stronger.

Diablo, Faile or OliThink look like good choices for a beginner. For something more advanced, Phalanx is worth a serious look. Phalanx is the program which taught me most of what I know about chess programming. If you look closely, you will even find a few little "Phalanxisms" in Glaurung's source code. Finding them is left as an exercise to the reader. :wink:

I hope this revelation will not cause Glaurung to be labled as a Phalanx clone.

Tord
User avatar
Tord Romstad
 
Posts: 639
Joined: 09 Oct 2004, 12:49
Location: Oslo, Norway

Re: which free program did you find to be most productive?

Postby Daniel Mehrmann » 16 Nov 2005, 12:03

Tord Romstad wrote:I never understood the popularity of TSCP. There are plenty of programs which are much easier to read and understand, while being hundreds of rating points stronger.
[....]
Tord


My programming experience about chess allso started by reading the TSCP source. It's for me the first choice because the move generator and search functions are small and easy to understand. I think its not importend how strong TSCP is, in the opposite its better because the eval are small and only a little part of known technics are included.

That means for me i wanna a source where it not told me how to create a strong engine, that my part of doing ;))

Best,
Daniel
User avatar
Daniel Mehrmann
 
Posts: 127
Joined: 02 Oct 2004, 06:10
Location: Germany

Re: which free program did you find to be most productive?

Postby Tord Romstad » 16 Nov 2005, 12:20

My programming experience about chess allso started by reading the TSCP source. It's for me the first choice because the move generator and search functions are small and easy to understand. I think its not importend how strong TSCP is, in the opposite its better because the eval are small and only a little part of known technics are included.

I agree that it is not important that the program you learn from is very strong, of course. There is a difference, however, between programs which are weak because they lack lot of important chess knowledge and sophisticated algorithms, and programs which are weak because they are not well written. My impression is that TSCP belongs to the second group.

Compare TSCP to OliThink. The search, evaluation and move generation functions in OliThink are all much shorter and clearer than in TSCP. Nevertheless, OliThink is much stronger.

Tord
User avatar
Tord Romstad
 
Posts: 639
Joined: 09 Oct 2004, 12:49
Location: Oslo, Norway

Re: which free program did you find to be most productive?

Postby Uri Blass » 16 Nov 2005, 12:22

Tord Romstad wrote:I never understood the popularity of TSCP. There are plenty of programs which are much easier to read and understand, while being hundreds of rating points stronger.

Diablo, Faile or OliThink look like good choices for a beginner. For something more advanced, Phalanx is worth a serious look. Phalanx is the program which taught me most of what I know about chess programming. If you look closely, you will even find a few little "Phalanxisms" in Glaurung's source code. Finding them is left as an exercise to the reader. :wink:

I hope this revelation will not cause Glaurung to be labled as a Phalanx clone.

Tord


Tord,
At the time that I started programming Diablo or olithink were not available.

I remember that I tried to understand faile at that time and had no success in it.
Too many files and I did not know in which file to begine to read(I even decided to print the files some years ago but did not try to sit near the computer in order to understand it).

faile is certainly stronger than tscp but it is probably mainly because of hash and null move pruning.

tscp was not easy to understand for me but understanding faile seemed to me clearly harder task because there were clearly more pages to read so I gave up.

Maybe I should learn better how to read chess programs.

about your comment I can see the decleration of a function by putting the mouse before the first letter of the function even if the function is in a different file but in order to understand what some define means I need simply to search for the specific expression.

I only knew about the way of searching for the specific expression and not about the way of putting the mouse near the function.

Uri
User avatar
Uri Blass
 
Posts: 727
Joined: 09 Oct 2004, 05:59
Location: Tel-Aviv

Re: which free program did you find to be most productive?

Postby Dann Corbit » 16 Nov 2005, 19:32

Olithink has been around for a very long time.
Dann Corbit
 

Re: which free program did you find to be most productive?

Postby Uri Blass » 16 Nov 2005, 20:16

Dann Corbit wrote:Olithink has been around for a very long time.


I see it in the winboard chronology as engine number 19
19 Olithink 2.21 4.13 05.12.1998

The problem is that as far as I remember I first heard about it during the qualify for the 6th division of Leo
http://wbec-ridderkerk.nl/html/his_New_eng6.html

It did not play in previous divisions and I have no idea if it was open source engine when it started and if it was stronger than tscp.

I read that version 4.x is a complete rewrite of olithink and I guess that Tord did not mean to older versions.

Uri
User avatar
Uri Blass
 
Posts: 727
Joined: 09 Oct 2004, 05:59
Location: Tel-Aviv

Re: which free program did you find to be most productive?

Postby Jon Kreuzer » 17 Nov 2005, 07:46

Speaking of chess engine source code, I actually wrote a 2nd chess engine a few months ago, but never released it.
http://www.3dkingdoms.com/chess/sam/samchess.html

I'm not sure if it's even stronger than TSCP though =)
If the source was twice as big it could be much stronger. It would be interesting to see how strong a really small program (as described on the page) could be.
Jon Kreuzer
 
Posts: 26
Joined: 12 Nov 2004, 03:19
Location: United States

Re: which free program did you find to be most productive?

Postby Dann Corbit » 17 Nov 2005, 19:37

SamChess is an interesting engine. I think it is very good style for a minimal approach.
Dann Corbit
 

Re: which free program did you find to be most productive?

Postby Piotr Cichy » 17 Nov 2005, 23:18

Dann Corbit wrote:SamChess is an interesting engine. I think it is very good style for a minimal approach.


SamChess is an interesting rival for pikoSzachy :)

http://www.kalisz.mm.pl/~pic/nanochess/#picoChess
User avatar
Piotr Cichy
 
Posts: 47
Joined: 03 Oct 2004, 11:30
Location: Kalisz, Poland

Re: which free program did you find to be most productive?

Postby Jon Kreuzer » 18 Nov 2005, 03:14

Piotr: You've definitely got me beat when it comes to small executable size. The compilers I've used generate .exe's much bigger than that for "Hello World" =) I wonder how the code sizes compare.

on Sam Chess: I regret a bit mashing the code together more than usual and having only a couple comments. There's no accurate measure of code size, so by trying to reduce # of lines I ended up altering my normal coding style.
Jon Kreuzer
 
Posts: 26
Joined: 12 Nov 2004, 03:19
Location: United States

Re: which free program did you find to be most productive?

Postby Ryan Benitez » 18 Nov 2005, 09:49

Is MultiProbCut still useful? It seems like it would be more overhead than its worth now that Nulmove is standard in chess programs.
Ryan Benitez
 
Posts: 19
Joined: 03 Nov 2005, 23:27

Re: which free program did you find to be most productive?

Postby Piotr Cichy » 18 Nov 2005, 16:56

Ryan Benitez wrote:Is MultiProbCut still useful? It seems like it would be more overhead than its worth now that Nulmove is standard in chess programs.


MPC is useful if Nullmove is not (yet) implemented. I had some troubles to implement Nullmove, but MPC worked for me well.

When I added Nullmove I made some test games to decide which is better: Nullmove+MPC or Nullmove only. I got equal results, but MPC was giving additional 10% reduction of nodes, so I left it.

Some time ago I made test on WAC. In some positions version with MPC works much better, in other it can lead to tactical overlooks. On average the version with MPC was slightly worse.

In newer versions of nanoSzachy (2.0 and next) I removed MPC. Next version of pikoSzachy will be also wothout MPC.
User avatar
Piotr Cichy
 
Posts: 47
Joined: 03 Oct 2004, 11:30
Location: Kalisz, Poland


Return to Programming and Technical Discussions

Who is online

Users browsing this forum: No registered users and 39 guests