Maybe you should consider going commercial in some manner, to repair damage. The engine is certainly strong enough for a commercial release.
Of course it would not replace stolen intellectual ownership of parts of the program and personal disappointment, but then crying over spilled milk does not help much. I sympathize with your situation though. Good work by you anyway this new Fruit. Keep up the spirit.
Best regards,
Kaj
little tournaments (new fruit version, new zappa mexico)
Moderator: Ras
-
- Posts: 1922
- Joined: Thu Mar 09, 2006 12:51 am
- Location: Earth
Re: little tournaments (new fruit version, new zappa mexico)
I'm sorry to hear about the versions leaking. But I am concerned about what you say about Toga. What has been stolen (besides the extension you mention)? As far as I know, the only developers that have ever worked on it are Thomas, Daniel Shawul, myself, and Teemu Pudas. AFAIK Thomas has stopped working on it altogether, Daniel only implemented bitbases, and Teemu and I only implemented SMP. I never intended to be any sort of nemesis to you and Fabien, and I don't think any of the others did either. I wanted to help out the open source community, so I thought Toga would be a good place to start, being the strongest open source program at the time. I think the two "forks" of Fruit can coexist peacefully-a private/commercial version, and an open source version.Ryan Benitez wrote:Well private versions of Fruit have leaked onto piracy sites and it has come to my attention that new Toga versions are mocking Fruits improvements and stealing from me once again
Regards,
Zach
-
- Posts: 719
- Joined: Thu Mar 09, 2006 1:21 am
- Location: Portland Oregon
Re: little tournaments (new fruit version, new zappa mexico)
Its another branch of Toga that has nothing to do with you from what I understand. For more please contact me in private.Zach Wegner wrote:I'm sorry to hear about the versions leaking. But I am concerned about what you say about Toga. What has been stolen (besides the extension you mention)? As far as I know, the only developers that have ever worked on it are Thomas, Daniel Shawul, myself, and Teemu Pudas. AFAIK Thomas has stopped working on it altogether, Daniel only implemented bitbases, and Teemu and I only implemented SMP. I never intended to be any sort of nemesis to you and Fabien, and I don't think any of the others did either. I wanted to help out the open source community, so I thought Toga would be a good place to start, being the strongest open source program at the time. I think the two "forks" of Fruit can coexist peacefully-a private/commercial version, and an open source version.Ryan Benitez wrote:Well private versions of Fruit have leaked onto piracy sites and it has come to my attention that new Toga versions are mocking Fruits improvements and stealing from me once again
Regards,
Zach
Re: little tournaments (new fruit version, new zappa mexico)
sorry, i do not often read the ccc forum so i am a little bit surprised that you tell the people that i have stolen your passed pawn code. your accusation is unbelievable. september 2005 we shared ideas about improvements for toga and gambit fruit. and one of your idea was to extent passed pawns by fractions of a ply. this idea was not new, because every engine programmer thinks about this extension. and extending only pv-moves was my idea. and by the way you get my multipv code.
sorry, i think you are very frustrated that you have worked on fruit for such a long time and your versions is still not better than fabians or my versions.
here is the original email correspondence. and please stop telling lies!!
Thomas
I think it is an interesting idea to get together and work to improve one project but maybe we could instead work closely and provide 2 engines with slightly different styles of play? I think we could make Toga the #1 computer vs computer program and Gambit Fruit the #1 computer vs human engine. I don't know if you use fractal ply extensions in Toga 1.1 but if you do here is something I am confident will help if tuned well. I added int bm_move[2] and int bm_value[2] to the board struct for storing the same threat values. When bm_threat is true extend by part of a fractal ply.
// same threat extension
bm_threat = false // move this to above null move if you use this code as this code goes in null move where you would also detect mate threats.
if (value + 200 < alpha) {
if (move == board->bm_move[board->turn]) {
if (board->square[MOVE_TO(move)] != Empty) {
if (VALUE_PIECE(board->square[MOVE_TO(move)]) == board->bm_value[board->turn]) { bm_threat = true; bm_threats++; }
} else {
if (VALUE_PIECE(board->square[MOVE_TO(move)]) == 0) { bm_threat = true; bm_threats++; }
}
}
board->bm_move[board->turn] = move;
if (board->square[MOVE_TO(move)] != Empty) {
board->bm_value[board->turn] = VALUE_PIECE(board->square[MOVE_TO(move)]);
} else {
board->bm_value[board->turn] = 0;
}
} else {
board->bm_move[board->turn] = 0;
board->bm_value[board->turn] = 0;
}
As for the EGTB's Sjeng is a GPL program and uses them so legally you could use that code but it my not be worth making Nalimov unhappy. For bitbases to save time I got permission to use scorpio bitbases in Gambit Fruit.
I did add a lot to the eval function and I think some of the additions may even hurt in computer vs computer play but I am confident help in computer vs human play where positional issue become more important. One thing that I think may not help in computer vs computer but is good vs humans is the rook on bad pawn penalty. I will also be adding code to handle pawn rams that is unlikely to help in computer vs computer. Something that I think will help both Gambit Fruit and Toga is the simple SMP is am about to start that will use hash sharing.
Also if may be worth testing extending part of a ply for moving a passed pawn even if it is not to the 7th rank. Also extending promotions may be something to have your beta tester look at.
static bool is_passed(const board_t * board, int to) {
int t2;
int me, opp;
int file, rank;
me = COLOUR_IS_WHITE(board->turn);
opp = COLOUR_OPP(me);
file = SQUARE_FILE(to);
rank = PAWN_RANK(to,me);
t2 = board->pawn_file[me][file] | BitRev[board->pawn_file[opp][file]];
// passed pawns
if ((t2 & BitGT[rank]) == 0) {
if (((BitRev[board->pawn_file[opp][file-1]] | BitRev[board->pawn_file[opp][file+1]]) & BitGT[rank]) == 0) {
return true;
}
}
return false;
}
Another thing is that I am a chess player as well as a programmer so I think about the eval function a lot. One down side is that I have no beta testers as I plan on just giving a lot of tuning options and letting people test and tune the releases and I can read the feedback from the users. Also I do not have a windows computer so most of my testing is against myself and other strong human opponents. I have done some testing against the linux version of Fruit 2.2.
Ryan Benitez
Thomas Gaksch <thomas.gaksch@gmx.de> wrote:
Hi Ryan,
i read about gambit fruit in ccc. it is an open source project and i find it very useful if other people like you try to improve the engine. but in my opinion it would be much better, if we concetrate our knowledge in 1 engine. but i have absolutely no experience in distributed software development. i think it ist very complicated to coordinate this. if you have an idea how we could manage this, it would be gereat.
i looked on your source code of gambit fruit and noticed that you have implemented a lot of things. i do not know how intensive you are testing, but my experience is that sometimes to much changes often decrease the playing strenght. i also implemeted a lot of things in toga and deleted it afterwords because it didn´t work in practical engine matches. it seems to me that sometimes "less is more". but thats only my experience.
EGTBs would be a great thing. a few weeks ago i asked nalimov in the ccc if i may use his code in toga. he didn´t allow it so i have not implemented them. do you know another source code for the EGTBs which we could use? another posibility would be to write the code for the EGTBs myself. but i have not the time and the knowledge to do so. are you able to write own code for that? if so that would be a great improvement for gambit fruit or toga.
i will soon release the new toga version 1.1. i think this version is nearly as strong as fruit 2.2 and i also implemeted the mulivariation mode. my time is very limited so i think my further development ist not as fast as your development. what do you think about building a team? and how can we manage it to develop on the same project? do you have any ideas about that?
my next goal was also to implemet bitbases. but not the EGBTs like nalimov. i wanted to implement bitbases which only save the information draw, win, loose. in my opinion this sort of bitbases should be enough for an engine to win the endgame.
what do you thing about the idea that we yuse the new toga 1.1 (if the version ist as strong as fruit 2.2) and try to improve the version in a coordinated way?
thomas
----- Original Message -----
From: Ryan Benitez
To: thomas.gaksch@gmx.de
Sent: Friday, November 18, 2005 2:04 AM
Subject: Just making contact
Hi, first off thank you for your work on Toga. I just wanted to make contact with you to get a understanding on how you feel about gambit fruit or if you have noticed or looked at it yet if you plan to. Perhaps we can discuss our goals on the directions we plan to go our fruit based projects and discuss ideas for future development. For example I have started on intergrating bitbases into Gambit Fruit but I know that in the open source sjeng there is an example of EGTB code that is GPL just like Toga if you feel EGTB would be useful to you. Thank you,
Ryan Benitez
sorry, i think you are very frustrated that you have worked on fruit for such a long time and your versions is still not better than fabians or my versions.
here is the original email correspondence. and please stop telling lies!!
Thomas
I think it is an interesting idea to get together and work to improve one project but maybe we could instead work closely and provide 2 engines with slightly different styles of play? I think we could make Toga the #1 computer vs computer program and Gambit Fruit the #1 computer vs human engine. I don't know if you use fractal ply extensions in Toga 1.1 but if you do here is something I am confident will help if tuned well. I added int bm_move[2] and int bm_value[2] to the board struct for storing the same threat values. When bm_threat is true extend by part of a fractal ply.
// same threat extension
bm_threat = false // move this to above null move if you use this code as this code goes in null move where you would also detect mate threats.
if (value + 200 < alpha) {
if (move == board->bm_move[board->turn]) {
if (board->square[MOVE_TO(move)] != Empty) {
if (VALUE_PIECE(board->square[MOVE_TO(move)]) == board->bm_value[board->turn]) { bm_threat = true; bm_threats++; }
} else {
if (VALUE_PIECE(board->square[MOVE_TO(move)]) == 0) { bm_threat = true; bm_threats++; }
}
}
board->bm_move[board->turn] = move;
if (board->square[MOVE_TO(move)] != Empty) {
board->bm_value[board->turn] = VALUE_PIECE(board->square[MOVE_TO(move)]);
} else {
board->bm_value[board->turn] = 0;
}
} else {
board->bm_move[board->turn] = 0;
board->bm_value[board->turn] = 0;
}
As for the EGTB's Sjeng is a GPL program and uses them so legally you could use that code but it my not be worth making Nalimov unhappy. For bitbases to save time I got permission to use scorpio bitbases in Gambit Fruit.
I did add a lot to the eval function and I think some of the additions may even hurt in computer vs computer play but I am confident help in computer vs human play where positional issue become more important. One thing that I think may not help in computer vs computer but is good vs humans is the rook on bad pawn penalty. I will also be adding code to handle pawn rams that is unlikely to help in computer vs computer. Something that I think will help both Gambit Fruit and Toga is the simple SMP is am about to start that will use hash sharing.
Also if may be worth testing extending part of a ply for moving a passed pawn even if it is not to the 7th rank. Also extending promotions may be something to have your beta tester look at.
static bool is_passed(const board_t * board, int to) {
int t2;
int me, opp;
int file, rank;
me = COLOUR_IS_WHITE(board->turn);
opp = COLOUR_OPP(me);
file = SQUARE_FILE(to);
rank = PAWN_RANK(to,me);
t2 = board->pawn_file[me][file] | BitRev[board->pawn_file[opp][file]];
// passed pawns
if ((t2 & BitGT[rank]) == 0) {
if (((BitRev[board->pawn_file[opp][file-1]] | BitRev[board->pawn_file[opp][file+1]]) & BitGT[rank]) == 0) {
return true;
}
}
return false;
}
Another thing is that I am a chess player as well as a programmer so I think about the eval function a lot. One down side is that I have no beta testers as I plan on just giving a lot of tuning options and letting people test and tune the releases and I can read the feedback from the users. Also I do not have a windows computer so most of my testing is against myself and other strong human opponents. I have done some testing against the linux version of Fruit 2.2.
Ryan Benitez
Thomas Gaksch <thomas.gaksch@gmx.de> wrote:
Hi Ryan,
i read about gambit fruit in ccc. it is an open source project and i find it very useful if other people like you try to improve the engine. but in my opinion it would be much better, if we concetrate our knowledge in 1 engine. but i have absolutely no experience in distributed software development. i think it ist very complicated to coordinate this. if you have an idea how we could manage this, it would be gereat.
i looked on your source code of gambit fruit and noticed that you have implemented a lot of things. i do not know how intensive you are testing, but my experience is that sometimes to much changes often decrease the playing strenght. i also implemeted a lot of things in toga and deleted it afterwords because it didn´t work in practical engine matches. it seems to me that sometimes "less is more". but thats only my experience.
EGTBs would be a great thing. a few weeks ago i asked nalimov in the ccc if i may use his code in toga. he didn´t allow it so i have not implemented them. do you know another source code for the EGTBs which we could use? another posibility would be to write the code for the EGTBs myself. but i have not the time and the knowledge to do so. are you able to write own code for that? if so that would be a great improvement for gambit fruit or toga.
i will soon release the new toga version 1.1. i think this version is nearly as strong as fruit 2.2 and i also implemeted the mulivariation mode. my time is very limited so i think my further development ist not as fast as your development. what do you think about building a team? and how can we manage it to develop on the same project? do you have any ideas about that?
my next goal was also to implemet bitbases. but not the EGBTs like nalimov. i wanted to implement bitbases which only save the information draw, win, loose. in my opinion this sort of bitbases should be enough for an engine to win the endgame.
what do you thing about the idea that we yuse the new toga 1.1 (if the version ist as strong as fruit 2.2) and try to improve the version in a coordinated way?
thomas
----- Original Message -----
From: Ryan Benitez
To: thomas.gaksch@gmx.de
Sent: Friday, November 18, 2005 2:04 AM
Subject: Just making contact
Hi, first off thank you for your work on Toga. I just wanted to make contact with you to get a understanding on how you feel about gambit fruit or if you have noticed or looked at it yet if you plan to. Perhaps we can discuss our goals on the directions we plan to go our fruit based projects and discuss ideas for future development. For example I have started on intergrating bitbases into Gambit Fruit but I know that in the open source sjeng there is an example of EGTB code that is GPL just like Toga if you feel EGTB would be useful to you. Thank you,
Ryan Benitez
-
- Posts: 719
- Joined: Thu Mar 09, 2006 1:21 am
- Location: Portland Oregon
Re: little tournaments (new fruit version, new zappa mexico)
Thomas, you clearly do not understand the issue but if you want to get back to the passed pawn in PV discussion that is something I clearly gave to you and was given no credit for. You say my version is not stronger than yours or Fabiens, this is foolish as I have proven otherwise on the CEGT lists. You also do not understand that the Fruit 05/11/03 version was not from the date implied. This is another issue that has nothing to do with you. Fruit is simply stronger than any Toga I know of today. If you have anything to do with the Toga SE line or the leak in the Fruit team, shame on you.
1: Fruit233f 8.0/10 ·········· 111==1==11 16.00
2: TogaIIv1.5.7SE_P4_SSE2_PGO 2.0/10 000==0==00 ·········· 16.00
I don't need to waist more cpu time, you get the point after just 10 games.
-Ryan
1: Fruit233f 8.0/10 ·········· 111==1==11 16.00
2: TogaIIv1.5.7SE_P4_SSE2_PGO 2.0/10 000==0==00 ·········· 16.00
I don't need to waist more cpu time, you get the point after just 10 games.
-Ryan
-
- Posts: 10882
- Joined: Thu Mar 09, 2006 12:37 am
- Location: Tel-Aviv Israel
Re: little tournaments (new fruit version, new zappa mexico)
Hi Ryan,Ryan Benitez wrote:Thomas, you clearly do not understand the issue but if you want to get back to the passed pawn in PV discussion that is something I clearly gave to you and was given no credit for. You say my version is not stronger than yours or Fabiens, this is foolish as I have proven otherwise on the CEGT lists. You also do not understand that the Fruit 05/11/03 version was not from the date implied. This is another issue that has nothing to do with you. Fruit is simply stronger than any Toga I know of today. If you have anything to do with the Toga SE line or the leak in the Fruit team, shame on you.
1: Fruit233f 8.0/10 ·········· 111==1==11 16.00
2: TogaIIv1.5.7SE_P4_SSE2_PGO 2.0/10 000==0==00 ·········· 16.00
I don't need to waist more cpu time, you get the point after just 10 games.
-Ryan
I think that the difference between fruit and toga is very small and the statistical error is too high to be sure that fruit2.3.3f is stronger even after many games.
Cegt 120/40+60/20+30 list
15 Fruit 2.3.3f 2837 28 28 370 48.1 % 2850 39.5 %
18 Toga II 1.3.1 2825 16 16 1050 45.9 % 2854 40.9 %
Cegt 20/40+20/40 list
49 Fruit 2.3.3f Beta 2840 18 18 898 49.3% 2845 37.0%
52 Toga II 1.3.4 egbb 2832 17 17 1013 48.8% 2840 38.8%
64 Toga II 1.3.1 2816 17 17 997 49.7% 2818 38.6%
Uri
Re: little tournaments (new fruit version, new zappa mexico)
Most of the ones that you posted have played enough games that it is almost safe to call the Fruit superior.Uri Blass wrote:Hi Ryan,Ryan Benitez wrote:Thomas, you clearly do not understand the issue but if you want to get back to the passed pawn in PV discussion that is something I clearly gave to you and was given no credit for. You say my version is not stronger than yours or Fabiens, this is foolish as I have proven otherwise on the CEGT lists. You also do not understand that the Fruit 05/11/03 version was not from the date implied. This is another issue that has nothing to do with you. Fruit is simply stronger than any Toga I know of today. If you have anything to do with the Toga SE line or the leak in the Fruit team, shame on you.
1: Fruit233f 8.0/10 ·········· 111==1==11 16.00
2: TogaIIv1.5.7SE_P4_SSE2_PGO 2.0/10 000==0==00 ·········· 16.00
I don't need to waist more cpu time, you get the point after just 10 games.
-Ryan
I think that the difference between fruit and toga is very small and the statistical error is too high to be sure that fruit2.3.3f is stronger even after many games.
Cegt 120/40+60/20+30 list
15 Fruit 2.3.3f 2837 28 28 370 48.1 % 2850 39.5 %
18 Toga II 1.3.1 2825 16 16 1050 45.9 % 2854 40.9 %
Cegt 20/40+20/40 list
49 Fruit 2.3.3f Beta 2840 18 18 898 49.3% 2845 37.0%
52 Toga II 1.3.4 egbb 2832 17 17 1013 48.8% 2840 38.8%
64 Toga II 1.3.1 2816 17 17 997 49.7% 2818 38.6%
Uri
Re: little tournaments (new fruit version, new zappa mexico)
Do you keep a list of all your testers, you should have done something similar to Naum to find out who leaked it in the first place.Ryan Benitez wrote:Well private versions of Fruit have leaked onto piracy sites and it has come to my attention that new Toga versions are mocking Fruits improvements and stealing from me once again just like I have proven with emails in the past about the passed pawn in pv extension that Toga seems to have taken credit for. Because of this and the state of computer chess if Fruit is continued at all it is unlikely to ever be more than a private engine that never leaves my hard drive. I have no idea how the leak happened and blame myself for sending private information and beta versions to too many people. The ones that lose most here are the computer chess fans. I am sorry that it has come to this.Kaj Soderberg wrote:You are right of course. I had taken a quick look with a small screen device, and not seen that there was a whole world lower in the text, sorry.
Anyway, nice tournament. Pro Deo is on the right way now, i think. Fruit looks really awesome. Would love to hear later on what kind of improvements have been made.
-Ryan
-
- Posts: 719
- Joined: Thu Mar 09, 2006 1:21 am
- Location: Portland Oregon
Re: little tournaments (new fruit version, new zappa mexico)
Not only is the 2.3.3f version not the newest or strongest version the testers have provided slight changes to the UCI settings of 2.3.3f that are at least 15+ elo improvement in play. I guess this not got so relevant to anything in the end though.Uri Blass wrote:Hi Ryan,Ryan Benitez wrote:Thomas, you clearly do not understand the issue but if you want to get back to the passed pawn in PV discussion that is something I clearly gave to you and was given no credit for. You say my version is not stronger than yours or Fabiens, this is foolish as I have proven otherwise on the CEGT lists. You also do not understand that the Fruit 05/11/03 version was not from the date implied. This is another issue that has nothing to do with you. Fruit is simply stronger than any Toga I know of today. If you have anything to do with the Toga SE line or the leak in the Fruit team, shame on you.
1: Fruit233f 8.0/10 ·········· 111==1==11 16.00
2: TogaIIv1.5.7SE_P4_SSE2_PGO 2.0/10 000==0==00 ·········· 16.00
I don't need to waist more cpu time, you get the point after just 10 games.
-Ryan
I think that the difference between fruit and toga is very small and the statistical error is too high to be sure that fruit2.3.3f is stronger even after many games.
Cegt 120/40+60/20+30 list
15 Fruit 2.3.3f 2837 28 28 370 48.1 % 2850 39.5 %
18 Toga II 1.3.1 2825 16 16 1050 45.9 % 2854 40.9 %
Cegt 20/40+20/40 list
49 Fruit 2.3.3f Beta 2840 18 18 898 49.3% 2845 37.0%
52 Toga II 1.3.4 egbb 2832 17 17 1013 48.8% 2840 38.8%
64 Toga II 1.3.1 2816 17 17 997 49.7% 2818 38.6%
Uri
Ryan
Re: little tournaments (new fruit version, new zappa mexico)
Hi Ryan,
i have nothing to do with that version and i have not seen any source code of that version. Have you seen the source code of the SE version?
Who is the author? The CEGT team should have the email addy from the author and could contact him.
Thomas
i have nothing to do with that version and i have not seen any source code of that version. Have you seen the source code of the SE version?
Who is the author? The CEGT team should have the email addy from the author and could contact him.
Thomas