Page 1 of 2

Searching for a development team for Toga based on Fruit

PostPosted: 09 Sep 2006, 20:51
by Thomas Gaksch
Hello,
if anybody is interested in chess programming and wants to help improving Toga based on Fruit, please drop me an email. Toga based on Fruit is an open source project and it would be great, if some programmers would build one development team together. There is a lot of room for improvements for example in time management, middle game play, bitbases and of course mp support.

Thomas

Re: Searching for a development team for Toga based on Fruit

PostPosted: 11 Sep 2006, 03:53
by Edsel Apostol
Hi Thomas,

What are your expectations from members of the team?

Edsel Apostol

Re: Searching for a development team for Toga based on Fruit

PostPosted: 11 Sep 2006, 12:15
by Daniel Shawul
Hi Thomas
Count me in the bitbase developement group.
regards

Re: Searching for a development team for Toga based on Fruit

PostPosted: 11 Sep 2006, 15:12
by Thomas Gaksch
Hi Edsel,
my idea is to find programmers who have fun in computer chess programming and perhaps like to implement new features in toga based on fruit. For example yesterday i got a mail from a small group which would like to try to implement SMP support for toga. Another guy likes to implemet bitbases ....
I think there is a lot of space for further improvements. For example the time management is not so good. at the moment i work in improving the mobility. so everybody who likes to implement things is welcome.
of course testing is a little problem because not all changes are always improvements. i tried a lot of things in toga which did not work. so there could be also a high risk that you do work for nothing. but i think you know that.
so everybody is welcome.
best
thomas

Re: Searching for a development team for Toga based on Fruit

PostPosted: 11 Sep 2006, 15:21
by Thomas Gaksch
Hi Daniel,
wow, thank you very much for joining the team. At the moment one group mailed me which wants to implement the smp support. they wrote that they have not very much experience but thats ok. we are all doing it just for fun.
i myself try to rewrite the mobility code. but at the moment with only very little success.
if you could implement your bitbases in toga that would be great. but i know that you are also very busy with scorpio. and concratulations, scorpio ist a very strong engine and is getting stronger and stronger.
thanks again for your help.
bye
thomas

Re: Searching for a development team for Toga based on Fruit

PostPosted: 04 Oct 2006, 01:56
by Jorge Garcia
Hi Thomas,

I'm interested on improving evaluation function, I have ideas
to do something different, new ideas to evaluate positions.
At the moment the algorithms that I've coded doesn't worked
in part because i have lack of time... but as you say we coded
for fun... so we'll be in contact to exchange ideas and improve
toga.

Jorge

Re: Searching for a development team for Toga based on Fruit

PostPosted: 05 Oct 2006, 16:42
by Thomas Gaksch
Jorge Garcia wrote:Hi Thomas,

I'm interested on improving evaluation function, I have ideas
to do something different, new ideas to evaluate positions.
At the moment the algorithms that I've coded doesn't worked
in part because i have lack of time... but as you say we coded
for fun... so we'll be in contact to exchange ideas and improve
toga.

Jorge


Hi Jorge,
great that you try to improve the evaluation function. till now i had very less luck in improving the evaluation. The main improvement of toga compared to fruit 2.1 is because of improving the search.
It is always good to have new ideas. if you have questions please ask me.

Thomas

Re: Searching for a development team for Toga based on Fruit

PostPosted: 10 Oct 2006, 00:59
by Tuvoc
It would be great if someone volunteered to add FRC support under Shredder GUI :)

Re: Searching for a development team for Toga based on Fruit

PostPosted: 18 Oct 2006, 14:26
by Rodolfo Leoni
I find this project great.
I've no programming skills, so I could offer no valuable support. Unless you need one more tester. :)

It's my opinion that Toga could become more interesting if someone inserts a position learning module. It'd become the best tool for analysis.

Bye,

Re: Searching for a development team for Toga based on Fruit

PostPosted: 07 Nov 2006, 10:07
by Michael Sherwin
Rodolfo Leoni wrote:I find this project great.
I've no programming skills, so I could offer no valuable support. Unless you need one more tester. :)

It's my opinion that Toga could become more interesting if someone inserts a position learning module. It'd become the best tool for analysis.

Bye,


I am willing to add a learning system to Toga. There will soon be a greatly enhanced learning system in RomiChess complete with transpositions. When it is done I can do the same for Toga. I'll need to know some things about Toga:

1.) How to access the move/game history and how to create new variables for that structure.

2.) How to make and unmake moves stored in that history and to retrieve and use the hash key.

These things are not very easy to understand in Fruit/Toga. I admit that I just can not grasp Fabien's programming methodology. Maybe someone can explain the mechanics and data structures of how Fruit/Toga works!

Re: Searching for a development team for Toga based on Fruit

PostPosted: 08 Nov 2006, 02:33
by Zach Wegner
Michael Sherwin wrote:I am willing to add a learning system to Toga. There will soon be a greatly enhanced learning system in RomiChess complete with transpositions. When it is done I can do the same for Toga. I'll need to know some things about Toga:

1.) How to access the move/game history and how to create new variables for that structure.

2.) How to make and unmake moves stored in that history and to retrieve and use the hash key.

These things are not very easy to understand in Fruit/Toga. I admit that I just can not grasp Fabien's programming methodology. Maybe someone can explain the mechanics and data structures of how Fruit/Toga works!

You are not alone in the confusion. I thought I was the only one that didn't like Fabien's style. Too many damn header files! :wink:

Anyways, this isn't really possible with the current implementation, which is probably a side effect of UCI. Fruit/Toga does not know the game history. Every move of the game is only known by the GUI, and passed to the engine at their move. This would be fine, but Fruit/Toga forgets it immediately, only remembering the hashkey for repetition detection. The relevant code, from protocol.cpp, is here:
Code: Select all
// moves

   if (moves != NULL) { // "moves" present

      ptr = moves + 6;

      while (*ptr != '\0') {

         move_string[0] = *ptr++;
         move_string[1] = *ptr++;
         move_string[2] = *ptr++;
         move_string[3] = *ptr++;

         if (*ptr == '\0' || *ptr == ' ') {
            move_string[4] = '\0';
         } else { // promote
            move_string[4] = *ptr++;
            move_string[5] = '\0';
         }

         move = move_from_string(move_string,SearchInput->board);

         move_do(SearchInput->board,move,undo);

         while (*ptr == ' ') ptr++;
      }
   }
undo is a local variable, that is overwritten each move. In order to implement learning, you would need to make this a global and have it be a stack rather than a single element. Then you could learn after each search by tracing backwards through it. So the relevant code is in move_do.cpp, move_do.h, and protocol.cpp. However if you only need to look at the hashkeys then there is already the data you need: uint64 stack[StackSize] in board.h.

Re: Searching for a development team for Toga based on Fruit

PostPosted: 08 Nov 2006, 12:41
by Michael Sherwin
Hi Zach,

Thanks. No wonder I could not find the history stack. There isn't one! I will try to create one and then add learning.

Mike

Re: Searching for a development team for Toga based on Fruit

PostPosted: 09 Nov 2006, 08:46
by Tord Romstad
Hi Zach!

Zach Wegner wrote:I thought I was the only one that didn't like Fabien's style. Too many damn header files! :wink:


That doesn't have to be a problem. "M-." (meta-period) is your friend. :)

Tord

Re: Searching for a development team for Toga based on Fruit

PostPosted: 09 Nov 2006, 10:44
by Greg Simpson
Another option would seem to be to add learning to Polyglot.

Re: Searching for a development team for Toga based on Fruit

PostPosted: 09 Nov 2006, 18:38
by Zach Wegner
Tord Romstad wrote:Hi Zach!

Zach Wegner wrote:I thought I was the only one that didn't like Fabien's style. Too many damn header files! :wink:


That doesn't have to be a problem. "M-." (meta-period) is your friend. :)

Tord


Hey Tord,

Ha! You and your emacs... I always liked the joke acronym "escape meta alt control shift"... I'm a vim person all the way, though I have little experience with emacs.

On the other hand I have been looking at Lisp recently. I read about the SLIME toolkit for emacs, and it looks intriguing. I'll probably have to bust out some man pages and check out emacs soon...

Zach

Re: Searching for a development team for Toga based on Fruit

PostPosted: 09 Nov 2006, 22:00
by Tord Romstad
Hi Zach!

Zach Wegner wrote:Hey Tord,

Ha! You and your emacs... I always liked the joke acronym "escape meta alt control shift"... I'm a vim person all the way, though I have little experience with emacs.


I actually used to be a Vim person myself, and didn't really get used to Emacs before I started programming Lisp. I'm not really religious about the issue, and I still use Vim frequently, but for long editing sessions I always use Emacs. Emacs by itself is not so great, but there are so many add-on packages I can't live without (SLIME, dired, gnus, psvn, ange-ftp, ...) that there is no longer any serious alternative for me.

On the other hand I have been looking at Lisp recently.


Cool! :D

I read about the SLIME toolkit for emacs, and it looks intriguing. I'll probably have to bust out some man pages and check out emacs soon...


SLIME doesn't come close to the development environments of commercial Lisps like Lispworks or Macintosh Common Lisp, but for a free tool it is not at all bad (the main weakness is the debugger, IMHO). With SLIME, paredit.el and Shift-free parens (I have switched "[" with "(" and "]" with ")" on my keyboard), you have a rather nice setup. I use this combination myself 8 hours per day at work, and am mostly happy with it.

Depending on your requirements, it is possible that you could use the free version of LispWorks. The free version has some annoying limitations, and the Linux GUI is visually hideous, but if you can live with this it may be better for you than Emacs with SLIME.

Climacs also shows some potential, but it has a very long way to go before it is really usable.

Tord

Re: Searching for a development team for Toga based on Fruit

PostPosted: 22 Feb 2007, 14:31
by Eelco de Groot
Thomas Gaksch wrote:Hello,
if anybody is interested in chess programming and wants to help improving Toga based on Fruit, please drop me an email. Toga based on Fruit is an open source project and it would be great, if some programmers would build one development team together. There is a lot of room for improvements for example in time management, middle game play, bitbases and of course mp support.

Thomas


Hello guys,

I was curious how it is going with this project? Can anybody report some success or code changes? Are there maybe Betas available to test or did people run into difficulties when they wanted to implement their ideas? Or has Toga development stopped?!


Regards All, Eelco

Re: Searching for a development team for Toga based on Fruit

PostPosted: 20 May 2007, 17:49
by Onno Garms
Does a development team exist now? Or is Toga still a one-man-project?

Re: Searching for a development team for Toga based on Fruit

PostPosted: 10 Jan 2009, 00:47
by ChessKnight
:idea: How about Tord Romstad, Thomas Gaksch, and Daniel Shawul start a new project let us say Glautorung or ToGlaurung and come out with the strongest one? :idea: :)

Re: Searching for a development team for Toga based on Fruit

PostPosted: 10 Jan 2009, 08:44
by Olivier Deville
ChessKnight wrote::idea: How about Tord Romstad, Thomas Gaksch, and Daniel Shawul start a new project let us say Glautorung or ToGlaurung and come out with the strongest one? :idea: :)


Thanks ChessKnight for waking this thread up :)

Since Fruit development seems stopped, it would be nice to have some kind of very strong engine built by such a skilled team.

Looking forward to further developent of this project.

Olivier