It's not some kind of UCI strings, this are the same parameters and values as they are in Toga. Even in a UCI engine it would be at least suspicious...
Alex
xyclOps 1.2 like UCI
Moderator: Ras
-
- Posts: 6074
- Joined: Sat Apr 01, 2006 9:34 pm
- Location: Scotland
Re: xyclOps 1.2 like UCI
Alexander Schmidt wrote:I don`t have respect 4 people who try to make money of the hard work of others, and don't see the point when they got caught and the game is over...kranium wrote:respectfully,
norm
Pissed,
Alex

I cant believe it. I even entertained Vincent on this one.
I must be mellowing in my old age. (He types slower....)
Very Special Regards
Christopher
-
- Posts: 1922
- Joined: Thu Mar 09, 2006 12:51 am
- Location: Earth
Re: xyclOps 1.2 like UCI
This does not make any sense.kranium wrote:xyclOps does not support UCI, but for some time now, due to many requests, has been testing the implementation a UCI compliant configuration file. fruit/toga and other programs do contain examples of this implementation. containing similar code does not in my opinion indicate that an engine is a clone.
1. UCI is for GUI to engine, not configuration files.
2. You already have a xyclops.ini
3. Being able to read UCI option strings doesn't necessitate the strings shown here, only sending the available options to a GUI.
4. I find it very unlikely that anyone requested such an option.
-
- Posts: 3245
- Joined: Thu Mar 09, 2006 9:10 am
Re: xyclOps 1.2 like UCI
kranium wrote:give me a break...this is very upsetting,
1st of all: such strings, - spin, min, max, are a part of the UCI technical specification. any and all UCI engines can be found with these strings. in addition, terms like verification search, null move pruning, lazy eval, etc. are exceedingly common, and can be found in very many engines.
xyclOps does not support UCI, but for some time now, due to many requests, has been testing the implementation a UCI compliant configuration file. fruit/toga and other programs do contain examples of this implementation. containing similar code does not in my opinion indicate that an engine is a clone.
anybody who uses xyclops can see it is very different, and stronger than both fruit and toga.
respectfully,
norm
Admitting fraud and seeking for forgiveness is better than asking for a "break" !!
.
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
http://www.chess.hylogic.de
-
- Posts: 1822
- Joined: Thu Mar 09, 2006 11:54 pm
- Location: The Netherlands
Re: xyclOps 1.2 like UCI
Hello,
I find it very suspected that Fruit 2.1 has from plies 1 to 9 the EXACT SAME EVALUATION IN ROOT like cyclops 1.0:
go
1 26 0 2 b1a3
1 54 0 3 b1c3
2 0 0 44 b1c3 b8c6
3 54 0 148 b1c3 b8c6 g1f3
4 0 2 300 b1c3 b8c6 g1f3 g8f6
5 48 2 1694 b1c3 b8c6 g1f3 g8f6 d2d4
6 0 2 3268 b1c3 b8c6 g1f3 g8f6 d2d4 d7d5
7 42 3 14458 b1c3 b8c6 g1f3 g8f6 d2d4 d7d5 c1f4
8 0 6 32599 b1c3 g8f6 g1f3 b8c6 d2d4 d7d5 c1f4 c8f5
9 15 20 111203 b1c3 g8f6 g1f3 b8c6 d2d4 d7d5 d1d3 c6b4 d3b5 b4c6
10 10 48 277340 b1c3 d7d5 d2d4 c8f5 g1f3 g8f6 f3h4 f5d7 c1f4 b8c6
10 15 62 356692 g1f3 b8c6 d2d4 d7d5 b1c3 g8f6 d1d3 g7g6 c1f4 c8f5
11 10 125 724008 g1f3 b8c6 d2d4 d7d5 b1c3 g8f6 d1d3 g7g6 c1f4 c8f5 d3b5
11 20 173 1006410 b1c3 d7d5 d2d4 b8c6 c1f4 c8f5 c3b5 a8c8 g1f3 g8f6 h2h4
12 11 434 2523084 b1c3 g8f6 d2d4 d7d5 c1f4 c8f5 g1f3 f6h5 f4e5 b8c6 e2e3 h5f6
13 19 1104 6436313 b1c3 g8f6 d2d4 e7e6 g1f3 b8c6 c1d2 f8e7 e2e3 e8g8 f1d3 c6b4 e1g1 b4d3 c2d3
14 12 1847 10806621 b1c3 g8f6 d2d4 e7e6 g1f3 b8c6 e2e3 d7d5 f1d3 f8d6 e1g1 e8g8 f3g5 c8d7
15 12 4930 28754764 b1c3 g8f6 d2d4 d7d5 g1f3 b8c6 e2e3 e7e6 f1d3 f8d6 e1g1 e8g8 e3e4 c8d7 c1g5
now Fruit 2.1
1/01 0:00 +0.26 1.Na3 (2)
1/01 0:00 +0.54 1.Nc3 (3)
2/02 0:00 0.00 1.Nc3 Nc6 (44)
3/03 0:00 +0.54 1.Nc3 Nc6 2.Nf3 (148)
4/06 0:00 0.00 1.Nc3 Nc6 2.Nf3 Nf6 (300)
5/09 0:00 +0.48 1.Nc3 Nc6 2.Nf3 Nf6 3.d4 (1.729)
6/12 0:00 0.00 1.Nc3 Nc6 2.Nf3 Nf6 3.d4 d5 (3.331)
7/14 0:00 +0.42 1.Nc3 Nc6 2.Nf3 Nf6 3.d4 d5 4.Bf4 (15.332)
8/17 0:00 0.00 1.Nc3 Nf6 2.Nf3 Nc6 3.d4 d5 4.Bf4 Bf5 (35.078)
9/20 0:00 +0.15 1.Nc3 Nf6 2.Nf3 Nc6 3.d4 d5 4.Qd3 Nb4 5.Qb5+ Nc6 (125.215)
10/22 0:00 +0.12 1.Nc3 d5 2.d4 Bf5 3.Nf3 Nf6 4.Nh4 Bg4 5.h3 Bd7 (330.356)
10/22 0:00 +0.15 1.Nf3 Nc6 2.d4 d5 3.Nc3 Nf6 4.Qd3 g6 5.Bf4 Bf5 (427.686)
11/24 0:00 +0.23 1.Nf3 Nc6 2.Nc3 Nf6 3.e3 d5 4.Bb5 Bg4 5.h3 Bf5 6.O-O (861.115)
12/28 0:01 +0.10 1.Nf3 Nc6 2.Nc3 Nf6 3.d4 d5 4.Ne5 Bf5 5.Nxc6 bxc6 6.Bf4 Rb8 7.b3 (1.684.643) 909
13/32 0:06 +0.22 1.Nf3 Nc6 2.Nc3 Nf6 3.e3 d5 4.Bb5 Qd6 5.d4 Bf5 6.O-O Ng4 7.g3 (6.029.223) 940
14/40 0:15 +0.12 1.Nf3 Nf6 2.Nc3 d5 3.e3 e6 4.d4 Nc6 5.Bd3 Bd6 6.O-O O-O 7.Ng5 Bd7 (14.478.255) 957
15/40 0:49 +0.12 1.Nf3 Nf6 2.Nc3 d5 3.e3 e6 4.d4 Nc6 5.Bd3 Bd6 6.O-O O-O 7.e4 Bd7 8.Bg5 (47.694.633) 965
15/40 1:04 +0.16 1.Nc3 Nf6 2.d4 d5 3.Bf4 c5 4.Nf3 Nc6 5.e3 Qa5 6.Bb5 Ne4 7.Qd3 Nxc3 8.Bxc6+ bxc6 9.Qxc3 Qxc3+ 10.bxc3 (61.709.566) 963
16/40 1:43 +0.14 1.Nc3 Nf6 2.d4 d5 3.Nf3 Nc6 4.e3 e6 5.Bd3 Bd6 6.O-O O-O 7.Bd2 e5 8.Nb5 Ne4 9.Nxd6 Qxd6 10.Bxe4 dxe4 (100.222.631) 965
16/42 3:29 +0.24 1.e4 Nf6 2.e5 Nd5 3.Nf3 Nc6 4.d4 e6 5.Bc4 d6 6.O-O dxe5 7.dxe5 Be7 8.Nbd2 O-O 9.Ne4 (203.489.554) 971
17/44 6:18 +0.30 1.e4 Nf6 2.e5 Nd5 3.Nf3 Nc6 4.d4 e6 5.Bc4 d6 6.Bb5 dxe5 7.Nxe5 Bd7 8.Nxd7 Qxd7 9.O-O a6 10.Bc4 (370.182.852) 977
18/53 13:44 +0.30 1.e4 Nf6 2.e5 Nd5 3.Nf3 d6 4.d4 dxe5 5.Nxe5 Nd7 6.Bc4 Nxe5 7.dxe5 c6 8.Nc3 Be6 9.Qd2 Qc7 10.Qd4 Rd8 (810.452.759) 982
If you want to take over evaluation function of fruit 2.1 as maybe you just want to experiment with algorithms only without needing 5 years to make some sort of decent engine, fine with me. Just pay respect to the fruit programmer Fabien Letouzey who created everything up to 2.1 and tell you took over his evaluation function.
thanks,
Vincent
I find it very suspected that Fruit 2.1 has from plies 1 to 9 the EXACT SAME EVALUATION IN ROOT like cyclops 1.0:
go
1 26 0 2 b1a3
1 54 0 3 b1c3
2 0 0 44 b1c3 b8c6
3 54 0 148 b1c3 b8c6 g1f3
4 0 2 300 b1c3 b8c6 g1f3 g8f6
5 48 2 1694 b1c3 b8c6 g1f3 g8f6 d2d4
6 0 2 3268 b1c3 b8c6 g1f3 g8f6 d2d4 d7d5
7 42 3 14458 b1c3 b8c6 g1f3 g8f6 d2d4 d7d5 c1f4
8 0 6 32599 b1c3 g8f6 g1f3 b8c6 d2d4 d7d5 c1f4 c8f5
9 15 20 111203 b1c3 g8f6 g1f3 b8c6 d2d4 d7d5 d1d3 c6b4 d3b5 b4c6
10 10 48 277340 b1c3 d7d5 d2d4 c8f5 g1f3 g8f6 f3h4 f5d7 c1f4 b8c6
10 15 62 356692 g1f3 b8c6 d2d4 d7d5 b1c3 g8f6 d1d3 g7g6 c1f4 c8f5
11 10 125 724008 g1f3 b8c6 d2d4 d7d5 b1c3 g8f6 d1d3 g7g6 c1f4 c8f5 d3b5
11 20 173 1006410 b1c3 d7d5 d2d4 b8c6 c1f4 c8f5 c3b5 a8c8 g1f3 g8f6 h2h4
12 11 434 2523084 b1c3 g8f6 d2d4 d7d5 c1f4 c8f5 g1f3 f6h5 f4e5 b8c6 e2e3 h5f6
13 19 1104 6436313 b1c3 g8f6 d2d4 e7e6 g1f3 b8c6 c1d2 f8e7 e2e3 e8g8 f1d3 c6b4 e1g1 b4d3 c2d3
14 12 1847 10806621 b1c3 g8f6 d2d4 e7e6 g1f3 b8c6 e2e3 d7d5 f1d3 f8d6 e1g1 e8g8 f3g5 c8d7
15 12 4930 28754764 b1c3 g8f6 d2d4 d7d5 g1f3 b8c6 e2e3 e7e6 f1d3 f8d6 e1g1 e8g8 e3e4 c8d7 c1g5
now Fruit 2.1
1/01 0:00 +0.26 1.Na3 (2)
1/01 0:00 +0.54 1.Nc3 (3)
2/02 0:00 0.00 1.Nc3 Nc6 (44)
3/03 0:00 +0.54 1.Nc3 Nc6 2.Nf3 (148)
4/06 0:00 0.00 1.Nc3 Nc6 2.Nf3 Nf6 (300)
5/09 0:00 +0.48 1.Nc3 Nc6 2.Nf3 Nf6 3.d4 (1.729)
6/12 0:00 0.00 1.Nc3 Nc6 2.Nf3 Nf6 3.d4 d5 (3.331)
7/14 0:00 +0.42 1.Nc3 Nc6 2.Nf3 Nf6 3.d4 d5 4.Bf4 (15.332)
8/17 0:00 0.00 1.Nc3 Nf6 2.Nf3 Nc6 3.d4 d5 4.Bf4 Bf5 (35.078)
9/20 0:00 +0.15 1.Nc3 Nf6 2.Nf3 Nc6 3.d4 d5 4.Qd3 Nb4 5.Qb5+ Nc6 (125.215)
10/22 0:00 +0.12 1.Nc3 d5 2.d4 Bf5 3.Nf3 Nf6 4.Nh4 Bg4 5.h3 Bd7 (330.356)
10/22 0:00 +0.15 1.Nf3 Nc6 2.d4 d5 3.Nc3 Nf6 4.Qd3 g6 5.Bf4 Bf5 (427.686)
11/24 0:00 +0.23 1.Nf3 Nc6 2.Nc3 Nf6 3.e3 d5 4.Bb5 Bg4 5.h3 Bf5 6.O-O (861.115)
12/28 0:01 +0.10 1.Nf3 Nc6 2.Nc3 Nf6 3.d4 d5 4.Ne5 Bf5 5.Nxc6 bxc6 6.Bf4 Rb8 7.b3 (1.684.643) 909
13/32 0:06 +0.22 1.Nf3 Nc6 2.Nc3 Nf6 3.e3 d5 4.Bb5 Qd6 5.d4 Bf5 6.O-O Ng4 7.g3 (6.029.223) 940
14/40 0:15 +0.12 1.Nf3 Nf6 2.Nc3 d5 3.e3 e6 4.d4 Nc6 5.Bd3 Bd6 6.O-O O-O 7.Ng5 Bd7 (14.478.255) 957
15/40 0:49 +0.12 1.Nf3 Nf6 2.Nc3 d5 3.e3 e6 4.d4 Nc6 5.Bd3 Bd6 6.O-O O-O 7.e4 Bd7 8.Bg5 (47.694.633) 965
15/40 1:04 +0.16 1.Nc3 Nf6 2.d4 d5 3.Bf4 c5 4.Nf3 Nc6 5.e3 Qa5 6.Bb5 Ne4 7.Qd3 Nxc3 8.Bxc6+ bxc6 9.Qxc3 Qxc3+ 10.bxc3 (61.709.566) 963
16/40 1:43 +0.14 1.Nc3 Nf6 2.d4 d5 3.Nf3 Nc6 4.e3 e6 5.Bd3 Bd6 6.O-O O-O 7.Bd2 e5 8.Nb5 Ne4 9.Nxd6 Qxd6 10.Bxe4 dxe4 (100.222.631) 965
16/42 3:29 +0.24 1.e4 Nf6 2.e5 Nd5 3.Nf3 Nc6 4.d4 e6 5.Bc4 d6 6.O-O dxe5 7.dxe5 Be7 8.Nbd2 O-O 9.Ne4 (203.489.554) 971
17/44 6:18 +0.30 1.e4 Nf6 2.e5 Nd5 3.Nf3 Nc6 4.d4 e6 5.Bc4 d6 6.Bb5 dxe5 7.Nxe5 Bd7 8.Nxd7 Qxd7 9.O-O a6 10.Bc4 (370.182.852) 977
18/53 13:44 +0.30 1.e4 Nf6 2.e5 Nd5 3.Nf3 d6 4.d4 dxe5 5.Nxe5 Nd7 6.Bc4 Nxe5 7.dxe5 c6 8.Nc3 Be6 9.Qd2 Qc7 10.Qd4 Rd8 (810.452.759) 982
If you want to take over evaluation function of fruit 2.1 as maybe you just want to experiment with algorithms only without needing 5 years to make some sort of decent engine, fine with me. Just pay respect to the fruit programmer Fabien Letouzey who created everything up to 2.1 and tell you took over his evaluation function.
thanks,
Vincent
-
- Posts: 2129
- Joined: Thu May 29, 2008 10:43 am
Re: xyclOps 1.2 like UCI
Zach-Zach Wegner wrote:This does not make any sense.kranium wrote:xyclOps does not support UCI, but for some time now, due to many requests, has been testing the implementation a UCI compliant configuration file. fruit/toga and other programs do contain examples of this implementation. containing similar code does not in my opinion indicate that an engine is a clone.
1. UCI is for GUI to engine, not configuration files.
2. You already have a xyclops.ini
3. Being able to read UCI option strings doesn't necessitate the strings shown here, only sending the available options to a GUI.
4. I find it very unlikely that anyone requested such an option.
1. GUI -> engine and engine -> GUI true/false spin max min are all UCI terms used to manipulate and limit configuration parameters. the user can set/change parameters directly through the UCI interface.
2. if a program uses an ini file, but would like to implement UCI...a good way to start is by compiling (one or more of the option.cpp functions from fruit/ or toga. the ini file params could eventually be mgrated to the 'option' table
3. this one i dont understand
4. people requested UCI...implementation began months ago
-
- Posts: 1922
- Joined: Thu Mar 09, 2006 12:51 am
- Location: Earth
Re: xyclOps 1.2 like UCI
1. I of course know this.kranium wrote:Zach-
1. GUI -> engine and engine -> GUI true/false spin max min are all UCI terms used to manipulate and limit configuration parameters. the user can set/change parameters directly through the UCI interface.
2. if a program uses an ini file, but would like to implement UCI...a good way to start is by compiling (one or more of the option.cpp functions from fruit/ or toga. the ini file params could eventually be mgrated to the 'option' table
3. this one i dont understand
4. people requested UCI...implementation began months ago
2. This sounds like you are admitting to copying option.cpp from Fruit?
3. I am saying that if you have a configuration file with UCI options for your engine, then there is no need for strings like "History Threshold 70 spin min 0 max 100", as these are only sent from the engine to the GUI.
4. But why would you start with the setoption stuff?? You don't even have the string "uci" in your exe.
More evidence...
From xyclOps:
Code: Select all
my_malloc(): malloc(): %s
my_file_read_line(): fgets(): %s
board_from_fen(): bad FEN (pos=%d)
board_from_fen(): bad FEN (pos=%d)
board_from_fen(): bad FEN (pos=%d)
board_from_fen(): bad FEN (pos=%d)
board_from_fen(): bad FEN (pos=%d)
board_from_fen(): bad FEN (pos=%d)
board_from_fen(): bad FEN (pos=%d)
board_from_fen(): bad FEN (pos=%d)
board_from_fen(): bad FEN (pos=%d)
board_from_fen(): bad FEN (pos=%d)
board_from_fen(): bad FEN (pos=%d)
option_get(): unknown option "%s"
book_open(): fseek(): %s
book_open(): ftell(): %s
book_close(): fclose(): %s
read_entry(): fseek(): %s
read_integer(): fgetc(): EOF reached
read_integer(): fgetc(): %s
board_init_list(): illegal position
board_init_list(): illegal position
board_init_list(): illegal position
board_init_list(): illegal position
board_init_list(): illegal position
board_init_list(): illegal position
Code: Select all
my_malloc(): malloc(): %s
my_file_read_line(): fgets(): %s
board_from_fen(): bad FEN (pos=%d)
board_init_list(): illegal position
parse_go(): missing argument
option_get(): unknown option "%s"
read_entry(): fseek(): %s
read_integer(): fgetc(): %s
read_integer(): fgetc(): EOF reached
Abook_close(): fclose(): %s
book_open(): fseek(): %s
book_open(): ftell(): %s
If I were you, I would backtrack. Quickly. You have received money for a closed-source program based on GPL code. As your company and address are public knowledge, it would be quite easy to take legal action against you. Ever heard of http://gpl-violations.org?
-
- Posts: 2129
- Joined: Thu May 29, 2008 10:43 am
Re: xyclOps 1.2 like UCI
Thomas-
xyclops 1.2 contains the option table from option.cpp, and get_string get_bool, etc. it does not use them however, at this time, it does not yet know how. all search parameters are defined in an include file, and the config parameters, i.e book, hash size, etc. in the ini file. after reading the UCI spec, several months ago, i included this in the source and tested in an attempt to see if I could understand how a UCI interface worked and how it set/changed parameters. this was incorrect on my part. my apologies. i won't enter xyclOps into any tournaments, or distribute it further. i am offering refunds to the 12 people that registered the software.
norman
xyclops 1.2 contains the option table from option.cpp, and get_string get_bool, etc. it does not use them however, at this time, it does not yet know how. all search parameters are defined in an include file, and the config parameters, i.e book, hash size, etc. in the ini file. after reading the UCI spec, several months ago, i included this in the source and tested in an attempt to see if I could understand how a UCI interface worked and how it set/changed parameters. this was incorrect on my part. my apologies. i won't enter xyclOps into any tournaments, or distribute it further. i am offering refunds to the 12 people that registered the software.
norman
-
- Posts: 183
- Joined: Tue Jun 20, 2006 4:41 am
- Location: USA
Re: xyclOps 1.2 like UCI
That is interesting. Norman, what is the explanation for this?diep wrote:Hello,
I find it very suspected that Fruit 2.1 has from plies 1 to 9 the EXACT SAME EVALUATION IN ROOT like cyclops 1.0:
-
- Posts: 2129
- Joined: Thu May 29, 2008 10:43 am
Re: xyclOps 1.2 like UCI
1.0 was never released or given to anybody, only tested on the ICC...vincent hacked my website, guessed the name of archive file, and took it illegally. he admitted as much in a chat session. at the time of 1.0, was testing with many different search algorithms...he must of got a copy that used some fruit. note that i say some, because there are numerous eval and move differences. the 1st 9 moves happen almost instantly, and after that the eval differs significantly.