Strelka -- Open source

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

User avatar
Ovyron
Posts: 4562
Joined: Tue Jul 03, 2007 4:30 am

Re: Strelka -- Open source

Post by Ovyron »

slobo wrote:It seems Bright is a little stronger than Belka.
At how many games at what time control?

1 game doesn't prove anything.
Your beliefs create your reality, so be careful what you wish for.
Christopher Conkie
Posts: 6074
Joined: Sat Apr 01, 2006 9:34 pm
Location: Scotland

Re: Strelka -- Open source

Post by Christopher Conkie »

Ovyron wrote:
slobo wrote:It seems Bright is a little stronger than Belka.
At how many games at what time control?

1 game doesn't prove anything.
Bright seems ok unless we have missed something. It was looked at by those who could a long time before now.

The only strange thing we found was in an early version which had some UCI commands in there. Bright was a winboard engine back then iirc. You can see now its UCI. Maybe he was implementing UCI at the time.

Christopher
User avatar
GenoM
Posts: 911
Joined: Wed Mar 08, 2006 9:46 pm
Location: Plovdiv, Bulgaria
Full name: Evgenii Manev

Re: Strelka -- Open source

Post by GenoM »

Uri Blass wrote:All will see?

I saw strelka's code and I do not see that it is rewritten fruit.

If it is released then you will need to explain also how you got the conclusion that it is rewritten fruit to convince programmers about it.
You didn't see it's re-written Fruit, others did see it... I have not to convince anybody. You programmers are seeing different things looking at the same source. It is at least weird, I would say...
Uri Blass wrote: The fact that there is similiarity in evaluation components does not mean that it is rewritten fruit.
Ideas are free to use and using fruit's evaluation rules with different weights in a different structure that is clearly not copy and past from fruit is clearly allowed.

Uri
What is your idea about how has to look a re-written Fruit if not the way you just described in your post ?

Regards,
Geno
take it easy :)
Dann Corbit
Posts: 12791
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Strelka -- Open source

Post by Dann Corbit »

GenoM wrote:
Uri Blass wrote:All will see?

I saw strelka's code and I do not see that it is rewritten fruit.

If it is released then you will need to explain also how you got the conclusion that it is rewritten fruit to convince programmers about it.
You didn't see it's re-written Fruit, others did see it... I have not to convince anybody. You programmers are seeing different things looking at the same source. It is at least weird, I would say...
Uri Blass wrote: The fact that there is similiarity in evaluation components does not mean that it is rewritten fruit.
Ideas are free to use and using fruit's evaluation rules with different weights in a different structure that is clearly not copy and past from fruit is clearly allowed.

Uri
What is your idea about how has to look a re-written Fruit if not the way you just described in your post ?

Regards,
Geno


Here is what is allowed:
1). To read someone's code, learn the algorithms, and write your own version. This is totally fine (legally, morally, and otherwise) unless there are patents on the algorithms (which do not pertain to Russia or Europe anyway?).

At any rate here is what is not allowed:
2). To copy and paste some code from a licensed program and not follow the license.

Here is what is not clear:
Did #1 or #2 occur?

The code of Strelka is fundamentally different from Fruit. The most obvious difference is that Strelka is bitboard and that Fruit is not bitboard. Some other strong differences is that Strelka has far less code than Fruit, and Strelka is a C program while Fruit is a C++ program (though it does not use a lot of C++ features).

It is very clear that the Strelka author has *at least* read the Fruit sources. As to whether or not he has violated the license, it is hard to say.

Fabian has the Strelka sources and was asked to examine them and render an opinion. I guess that it is quite difficult because he has not rendered an opinion despite several months of time. I think if he was sure, he would have said something by now.

It is not the easy question you imagine it to be.
perejaslav
Posts: 240
Joined: Sat Mar 18, 2006 4:01 am
Location: Cold

Re: Strelka -- Open source

Post by perejaslav »

He! :lol:
Some test results from russian Kasparovchess forum:

Code: Select all

Belka 1.8.20   - Bright-0.2c        20.0 - 10.0    +14/-4/=12    66.67%
Bright played on 2 CPUs. So I don't agree with your opinion
Uri Blass
Posts: 10886
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Strelka -- Open source

Post by Uri Blass »

GenoM wrote:
Uri Blass wrote:All will see?

I saw strelka's code and I do not see that it is rewritten fruit.

If it is released then you will need to explain also how you got the conclusion that it is rewritten fruit to convince programmers about it.
You didn't see it's re-written Fruit, others did see it... I have not to convince anybody. You programmers are seeing different things looking at the same source. It is at least weird, I would say...
Uri Blass wrote: The fact that there is similiarity in evaluation components does not mean that it is rewritten fruit.
Ideas are free to use and using fruit's evaluation rules with different weights in a different structure that is clearly not copy and past from fruit is clearly allowed.

Uri
What is your idea about how has to look a re-written Fruit if not the way you just described in your post ?

Regards,
Geno


I think that rewriting fruit mean first writing fruit and later writing the same thing in different structure again.

using fruit's evaluation rules with different weights in a different structure
can be done also by first having your code and later understanding fruit and modifying your code based on ideas that you learned from fruit.

Uri
Orlov

Re: Strelka -- Open source

Post by Orlov »

examples from kasparovchess:
from strelka

struct entry_t {
unsigned int lock;
unsigned __int16 move;
char depth;
unsigned char date;
__int16 min_value;
__int16 max_value;
char move_depth;
unsigned char flags;
char min_depth;
char max_depth;
};

from fruit

struct entry_t {
uint32 lock;
uint16 move;
sint8 depth;
uint8 date;
sint8 move_depth;
uint8 flags;
sint8 min_depth;
sint8 max_depth;
sint16 min_value;
sint16 max_value;
};

from strelka

if (moves != NULL) moves[-1] = 0; // Das ist UCI

from fruit

if (moves != NULL) { // "moves" present
ASSERT(moves>fen);
moves[-1] = '\0'; // dirty, but so is UCI
}
Christopher Conkie
Posts: 6074
Joined: Sat Apr 01, 2006 9:34 pm
Location: Scotland

Re: Strelka -- Open source

Post by Christopher Conkie »

Orlov wrote:examples from kasparovchess:
from strelka

struct entry_t {
unsigned int lock;
unsigned __int16 move;
char depth;
unsigned char date;
__int16 min_value;
__int16 max_value;
char move_depth;
unsigned char flags;
char min_depth;
char max_depth;
};

from fruit

struct entry_t {
uint32 lock;
uint16 move;
sint8 depth;
uint8 date;
sint8 move_depth;
uint8 flags;
sint8 min_depth;
sint8 max_depth;
sint16 min_value;
sint16 max_value;
};

from strelka

if (moves != NULL) moves[-1] = 0; // Das ist UCI

from fruit

if (moves != NULL) { // "moves" present
ASSERT(moves>fen);
moves[-1] = '\0'; // dirty, but so is UCI
}
I don't quite understand this. We know the guy used Fruit as its base and then put disassembled evaluation values from Rybka 1.0 Beta in there.

We know all this already.

He even said this himself.

What's to prove?

The statement he made in the kasparov forum when he came clean and admitted it is within reason quite accurate.
Orlov

Re: Strelka -- Open source

Post by Orlov »

One tables cannot make strelka = rybka 1.0 beta. I believe that rybka 1.0 based on fruit code.
Allard Siemelink
Posts: 297
Joined: Fri Jun 30, 2006 9:30 pm
Location: Netherlands

Re: Strelka -- Open source

Post by Allard Siemelink »

Hi Christopher,

Bright has always supported the UCI protocol, so I am not sure to what
'strange things' you are referring?

In addition, it also supports a few non-UCI commands, that I use for debugging. (type 'help' on the command line to see a list).
In fact, I do plan to add winboard support eventually, but it is not high on the priority list.

Happy New Year,

-Allard
Christopher Conkie wrote: Bright seems ok unless we have missed something. It was looked at by those who could a long time before now.

The only strange thing we found was in an early version which had some UCI commands in there. Bright was a winboard engine back then iirc. You can see now its UCI. Maybe he was implementing UCI at the time.

Christopher