Winboard engine called Tuxedo

Archive of the old Parsimony forum. Some messages couldn't be restored. Limitations: Search for authors does not work, Parsimony specific formats do not work, threaded view does not work properly. Posting is disabled.

Winboard engine called Tuxedo

Postby Dann Corbit » 19 Mar 2004, 02:28

Geschrieben von:/Posted by: Dann Corbit at 19 March 2004 02:28:31:

It has received some inspiration from TSCP, perhaps.
http://sarovar.org/project/showfiles.ph ... ase_id=137


my ftp site {remove http:// unless you like error messages}
Dann Corbit
 

Re: Winboard engine called Tuxedo

Postby Dann Corbit » 19 Mar 2004, 03:17

Geschrieben von:/Posted by: Dann Corbit at 19 March 2004 03:17:33:
Als Antwort auf:/In reply to: Winboard engine called Tuxedo geschrieben von:/posted by: Dann Corbit at 19 March 2004 02:28:31:
It has received some inspiration from TSCP, perhaps.
http://sarovar.org/project/showfiles.ph ... ase_id=137
Binary only... Needs book
ftp://cap.connx.com/chess-engines/new-a ... Tuxedo.exe
Book, binary, and source code:
ftp://cap.connx.com/chess-engines/new-a ... tuxedo.zip


my ftp site {remove http:// unless you like error messages}
Dann Corbit
 

Re: Winboard engine called Tuxedo

Postby Federico Corigliano » 19 Mar 2004, 03:55

Geschrieben von:/Posted by: Federico Corigliano at 19 March 2004 03:55:05:
Als Antwort auf:/In reply to: Winboard engine called Tuxedo geschrieben von:/posted by: Dann Corbit at 19 March 2004 02:28:31:
It has received some inspiration from TSCP, perhaps.
http://sarovar.org/project/showfiles.ph ... ase_id=137
We could call it "TSCPwithHash Chess 1.0"
Federico
Federico Corigliano
 

Re: Winboard engine called Tuxedo

Postby Claude Dubois » 19 Mar 2004, 16:20

Geschrieben von:/Posted by: Claude Dubois at 19 March 2004 16:20:10:
Als Antwort auf:/In reply to: Re: Winboard engine called Tuxedo geschrieben von:/posted by: Federico Corigliano at 19 March 2004 03:55:05:
It has received some inspiration from TSCP, perhaps.
http://sarovar.org/project/showfiles.ph ... ase_id=137
We could call it "TSCPwithHash Chess 1.0"
Federico
Hello Federico and Dann,
In console mode, Tuxeco doesn't have the same look as TSCP.
Tuxedo is taking 6792 kb in my memory.
It is the second Indian Chess engine.
Thanks to Dann for his announce
Best wishes
Claude




Le Système du Suisse
Claude Dubois
 

Re: Winboard engine called Tuxedo

Postby Dann Corbit » 19 Mar 2004, 18:10

Geschrieben von:/Posted by: Dann Corbit at 19 March 2004 18:10:14:
Als Antwort auf:/In reply to: Re: Winboard engine called Tuxedo geschrieben von:/posted by: Federico Corigliano at 19 March 2004 03:55:05:
It has received some inspiration from TSCP, perhaps.
http://sarovar.org/project/showfiles.ph ... ase_id=137
We could call it "TSCPwithHash Chess 1.0"
I think there are some obvious similarities, but Tuxedo is its own chess engine.
I think the author has read TSCP and may even have used TSCP as a starting point. But it is far more complete and quite a bit different.

Program Elo + - Games Score Av.Op. Draws
1 Tuxedo Chess 1.0 : 2311 42 37 255 53.1 % 2289 20.0 %
2 TSCP-181-Net : 2289 37 42 255 46.9 % 2311 20.0 %




my ftp site {remove http:// unless you like error messages}
Dann Corbit
 

Re: Winboard engine called Tuxedo

Postby Günther Simon » 19 Mar 2004, 18:25

Geschrieben von:/Posted by: Günther Simon at 19 March 2004 18:25:36:
Als Antwort auf:/In reply to: Re: Winboard engine called Tuxedo geschrieben von:/posted by: Dann Corbit at 19 March 2004 18:10:14:
It has received some inspiration from TSCP, perhaps.
http://sarovar.org/project/showfiles.ph ... ase_id=137
We could call it "TSCPwithHash Chess 1.0"
I think there are some obvious similarities, but Tuxedo is its own chess engine.
I think the author has read TSCP and may even have used TSCP as a starting point. But it is far more complete and quite a bit different.

Program Elo + - Games Score Av.Op. Draws
1 Tuxedo Chess 1.0 : 2311 42 37 255 53.1 % 2289 20.0 %
2 TSCP-181-Net : 2289 37 42 255 46.9 % 2311 20.0 %
Well I think its _very_ similar...
(just looked in the board.c and search.c so far)
Regards,
Günther
Günther Simon
 

Re: Winboard engine called Tuxedo

Postby Dann Corbit » 19 Mar 2004, 18:52

Geschrieben von:/Posted by: Dann Corbit at 19 March 2004 18:52:23:
Als Antwort auf:/In reply to: Re: Winboard engine called Tuxedo geschrieben von:/posted by: Günther Simon at 19 March 2004 18:25:36:
It has received some inspiration from TSCP, perhaps.
http://sarovar.org/project/showfiles.ph ... ase_id=137
We could call it "TSCPwithHash Chess 1.0"
I think there are some obvious similarities, but Tuxedo is its own chess engine.
I think the author has read TSCP and may even have used TSCP as a starting point. But it is far more complete and quite a bit different.

Program Elo + - Games Score Av.Op. Draws
1 Tuxedo Chess 1.0 : 2311 42 37 255 53.1 % 2289 20.0 %
2 TSCP-181-Net : 2289 37 42 255 46.9 % 2311 20.0 %
Well I think its _very_ similar...
(just looked in the board.c and search.c so far)
Regards,
Günther
Yes, some parts are extremely similar. Other parts are quite different.
I did send him an email to suggest mentioning TSCP in his release notes.
Here are the file lists:
E:\pgn\winboard-engines\tuxedo-1.0\src>dir *.?
Directory of E:\pgn\winboard-engines\tuxedo-1.0\src
03/18/2004 05:25p 7,789 board.c
03/18/2004 05:25p 2,984 book.c
03/18/2004 05:25p 5,493 data.c
03/18/2004 05:25p 11,138 evaluate.c
03/18/2004 05:25p 7,925 generator.c
03/18/2004 05:31p 5,151 main.c
03/18/2004 05:25p 3,248 Makefile
03/18/2004 05:25p 7,144 notation.c
03/18/2004 05:25p 8,334 search.c
03/18/2004 05:30p 6,326 tuxedo.h
03/18/2004 05:37p 363 util2.c
03/18/2004 05:36p 2,568 utility.c
03/18/2004 05:25p 8,501 xboard.c
03/18/2004 05:25p 2,622 zobrist.c
E:\pgn\winboard-engines\tuxedo-1.0\src>dir \tscp\*.?
Directory of E:\tscp
01/30/2003 03:15a 17,172 board.c
01/30/2003 01:08a 2,621 book.c
02/06/2003 08:03p 6,856 data.c
01/30/2003 02:53a 1,347 DATA.H
01/30/2003 03:29a 2,083 DEFS.H
01/30/2003 02:53a 12,394 eval.c
02/05/2003 12:01p 14,172 main.c
01/30/2003 02:52a 1,782 protos.h
01/30/2003 02:09a 7,833 search.c
01/30/2003 02:53a 256 tscp.c
The influence if TSCP is pretty obvious. But he has obviously done a lot of work. Like most other TSCP modifications, he has simply failed to mention the genesis process for his program.
A bad oversight. I think usually, it is just an oversight. And in the case of an open source program, usually it means that they are simply not aware that they ought to mention it. After all, it would be much easier to hide geneology in an open source program.



my ftp site {remove http:// unless you like error messages}
Dann Corbit
 

Re: Winboard engine called Tuxedo

Postby Uri Blass » 19 Mar 2004, 20:07

Geschrieben von:/Posted by: Uri Blass at 19 March 2004 20:07:11:
Als Antwort auf:/In reply to: Re: Winboard engine called Tuxedo geschrieben von:/posted by: Dann Corbit at 19 March 2004 18:52:23:
It has received some inspiration from TSCP, perhaps.
http://sarovar.org/project/showfiles.ph ... ase_id=137
We could call it "TSCPwithHash Chess 1.0"
I think there are some obvious similarities, but Tuxedo is its own chess engine.
I think the author has read TSCP and may even have used TSCP as a starting point. But it is far more complete and quite a bit different.

Program Elo + - Games Score Av.Op. Draws
1 Tuxedo Chess 1.0 : 2311 42 37 255 53.1 % 2289 20.0 %
2 TSCP-181-Net : 2289 37 42 255 46.9 % 2311 20.0 %
Well I think its _very_ similar...
(just looked in the board.c and search.c so far)
Regards,
Günther
Yes, some parts are extremely similar. Other parts are quite different.
I did send him an email to suggest mentioning TSCP in his release notes.
Here are the file lists:
E:\pgn\winboard-engines\tuxedo-1.0\src>dir *.?
Directory of E:\pgn\winboard-engines\tuxedo-1.0\src
03/18/2004 05:25p 7,789 board.c
03/18/2004 05:25p 2,984 book.c
03/18/2004 05:25p 5,493 data.c
03/18/2004 05:25p 11,138 evaluate.c
03/18/2004 05:25p 7,925 generator.c
03/18/2004 05:31p 5,151 main.c
03/18/2004 05:25p 3,248 Makefile
03/18/2004 05:25p 7,144 notation.c
03/18/2004 05:25p 8,334 search.c
03/18/2004 05:30p 6,326 tuxedo.h
03/18/2004 05:37p 363 util2.c
03/18/2004 05:36p 2,568 utility.c
03/18/2004 05:25p 8,501 xboard.c
03/18/2004 05:25p 2,622 zobrist.c
E:\pgn\winboard-engines\tuxedo-1.0\src>dir \tscp\*.?
Directory of E:\tscp
01/30/2003 03:15a 17,172 board.c
01/30/2003 01:08a 2,621 book.c
02/06/2003 08:03p 6,856 data.c
01/30/2003 02:53a 1,347 DATA.H
01/30/2003 03:29a 2,083 DEFS.H
01/30/2003 02:53a 12,394 eval.c
02/05/2003 12:01p 14,172 main.c
01/30/2003 02:52a 1,782 protos.h
01/30/2003 02:09a 7,833 search.c
01/30/2003 02:53a 256 tscp.c
The influence if TSCP is pretty obvious. But he has obviously done a lot of work. Like most other TSCP modifications, he has simply failed to mention the genesis process for his program.
A bad oversight. I think usually, it is just an oversight. And in the case of an open source program, usually it means that they are simply not aware that they ought to mention it. After all, it would be much easier to hide geneology in an open source program.
I looked at the code and I can say that my program never had this big of similiarity to tscp.
For example I never has the offset and the mailbox array and my castle_mask array is different because I have a1=0 that is different than tscp.
I got inspiration from tscp when in the case of tuxedo the programmer simply copied parts to choose the data structure with different names in many cases.
It is not that near half of the data structure is the same as tscp that was the case when I started(now it is clearly less than it and it is going to be even less than it is today) but almost everything in the data structure is the same(with the exception of different names).
I was less original in names but clearly more original in writing source code when I started and when near 50% of the structure was the same the difference in code was clearly bigger even in the time that I started because my legal move generator is clearly different than tscp.
I think based only on looking at the data structure of data.c that the program clearly fails the test of being an original program.
Note also that
I see that the programmer changed some arrays from int to char

char color[64]; /* Color - WHITE/BLACK/EMTPY */
char piece[64]; /* Piece -
* PAWN/KING/QUEEN/BISHOP/ROOK/KNIGHT/NONE */
char side; /* Side to move - BLACK/WHITE */

I think that it is a bad idea because int is faster than char.
Uri
Uri Blass
 

Re: Winboard engine called Tuxedo

Postby Dann Corbit » 20 Mar 2004, 01:37

Geschrieben von:/Posted by: Dann Corbit at 20 March 2004 01:37:55:
Als Antwort auf:/In reply to: Re: Winboard engine called Tuxedo geschrieben von:/posted by: Uri Blass at 19 March 2004 20:07:11:
It has received some inspiration from TSCP, perhaps.
http://sarovar.org/project/showfiles.ph ... ase_id=137
We could call it "TSCPwithHash Chess 1.0"
I think there are some obvious similarities, but Tuxedo is its own chess engine.
I think the author has read TSCP and may even have used TSCP as a starting point. But it is far more complete and quite a bit different.

Program Elo + - Games Score Av.Op. Draws
1 Tuxedo Chess 1.0 : 2311 42 37 255 53.1 % 2289 20.0 %
2 TSCP-181-Net : 2289 37 42 255 46.9 % 2311 20.0 %
Well I think its _very_ similar...
(just looked in the board.c and search.c so far)
Regards,
Günther
Yes, some parts are extremely similar. Other parts are quite different.
I did send him an email to suggest mentioning TSCP in his release notes.
Here are the file lists:
E:\pgn\winboard-engines\tuxedo-1.0\src>dir *.?
Directory of E:\pgn\winboard-engines\tuxedo-1.0\src
03/18/2004 05:25p 7,789 board.c
03/18/2004 05:25p 2,984 book.c
03/18/2004 05:25p 5,493 data.c
03/18/2004 05:25p 11,138 evaluate.c
03/18/2004 05:25p 7,925 generator.c
03/18/2004 05:31p 5,151 main.c
03/18/2004 05:25p 3,248 Makefile
03/18/2004 05:25p 7,144 notation.c
03/18/2004 05:25p 8,334 search.c
03/18/2004 05:30p 6,326 tuxedo.h
03/18/2004 05:37p 363 util2.c
03/18/2004 05:36p 2,568 utility.c
03/18/2004 05:25p 8,501 xboard.c
03/18/2004 05:25p 2,622 zobrist.c
E:\pgn\winboard-engines\tuxedo-1.0\src>dir \tscp\*.?
Directory of E:\tscp
01/30/2003 03:15a 17,172 board.c
01/30/2003 01:08a 2,621 book.c
02/06/2003 08:03p 6,856 data.c
01/30/2003 02:53a 1,347 DATA.H
01/30/2003 03:29a 2,083 DEFS.H
01/30/2003 02:53a 12,394 eval.c
02/05/2003 12:01p 14,172 main.c
01/30/2003 02:52a 1,782 protos.h
01/30/2003 02:09a 7,833 search.c
01/30/2003 02:53a 256 tscp.c
The influence if TSCP is pretty obvious. But he has obviously done a lot of work. Like most other TSCP modifications, he has simply failed to mention the genesis process for his program.
A bad oversight. I think usually, it is just an oversight. And in the case of an open source program, usually it means that they are simply not aware that they ought to mention it. After all, it would be much easier to hide geneology in an open source program.
I looked at the code and I can say that my program never had this big of similiarity to tscp.
For example I never has the offset and the mailbox array and my castle_mask array is different because I have a1=0 that is different than tscp.
I got inspiration from tscp when in the case of tuxedo the programmer simply copied parts to choose the data structure with different names in many cases.
It is not that near half of the data structure is the same as tscp that was the case when I started(now it is clearly less than it and it is going to be even less than it is today) but almost everything in the data structure is the same(with the exception of different names).
I was less original in names but clearly more original in writing source code when I started and when near 50% of the structure was the same the difference in code was clearly bigger even in the time that I started because my legal move generator is clearly different than tscp.
I think based only on looking at the data structure of data.c that the program clearly fails the test of being an original program.
Note also that
I see that the programmer changed some arrays from int to char

char color[64]; /* Color - WHITE/BLACK/EMTPY */
char piece[64]; /* Piece -
* PAWN/KING/QUEEN/BISHOP/ROOK/KNIGHT/NONE */
char side; /* Side to move - BLACK/WHITE */

I think that it is a bad idea because int is faster than char.
That generalization may or may not be true. If it is a lot smaller it may stay in the on-die cache in practice.
To be fair, let's look at the function lists for the two projects:
TSCP:
extern char *move_str(struct tag_move_bytes m);
extern int attack(int sq,int s);
extern int book_match(char *s1,char *s2);
extern int book_move(void );
extern int eval(void );
extern int eval_dark_king(int sq);
extern int eval_dark_pawn(int sq);
extern int eval_dkp(int f);
extern int eval_light_king(int sq);
extern int eval_light_pawn(int sq);
extern int eval_lkp(int f);
extern int get_ms(void );
extern int hash_rand(void );
extern int in_check(int s);
extern int main();
extern int makemove(struct tag_move_bytes m);
extern int parse_move(char *s);
extern int quiesce(int alpha,int beta);
extern int reps(void );
extern int search(int alpha,int beta,int depth);
extern void bench(void );
extern void checkup(void );
extern void close_book(void );
extern void gen(void );
extern void gen_caps(void );
extern void gen_promote(int from,int to,int bits);
extern void gen_push(int from,int to,int bits);
extern void init_board(void );
extern void init_hash(void );
extern void open_book(void );
extern void print_board(void );
extern void print_result(void );
extern void set_hash(void );
extern void sort(int from);
extern void sort_pv(void );
extern void takeback(void );
extern void think(int output);
extern void xboard(void );
Tuxedo:
extern unsigned long GetRandom();
extern void CalculateHashKey(void);
extern void CheckTimeLeft(void);
extern void cmd_bd(char *args);
extern void cmd_black(char *args);
extern void cmd_book(char *args);
extern void cmd_force(char *args);
extern void cmd_go(char *args);
extern void cmd_help(char *args);
extern void cmd_new(char *args);
extern void cmd_nopost(char *args);
extern void cmd_otim(char *args);
extern void cmd_post(char *args);
extern void cmd_protover(char *args);
extern void cmd_quit(char *args);
extern void cmd_remove(char *args);
extern void cmd_sd(char *args);
extern void cmd_setboard(char *args);
extern void cmd_st(char *args);
extern void cmd_time(char *args);
extern void cmd_undo(char *args);
extern void cmd_white(char *args);
extern void cmd_xboard(char *args);
extern void Finalize(void);
extern void GenerateCaptures(void);
extern void GenerateMoves(void);
extern void Initialize(void);
extern void InitZobrist(void);
extern void LoadBook(void);
extern void MemoryBarrier(void);
extern void OrderMoves(int start);
extern void PrintBoard(void);
extern void PrintResult(void);
extern void PushMove(char from, char to, char bits);
extern void PushPromotion(char from, char to, char bits);
extern void ReportConfig();
extern void ReportSyntax();
extern void ReportUsage();
extern void ReportVersion();
extern void ResetBoard(void);
extern void SendError(const char *reason, const char *errcmd);
extern void SendMove(const char *move);
extern void SendResult(const int result, const char *str);
extern void SetRandomSeed(unsigned long value);
extern void SortPrincipalVariation();
extern void StoreTransposition(struct best, char cdepth, char flags);
extern void UndoMove(void);
extern void UnloadBook(void);
extern void XBoard(void);
If we happen to choose the stuff that is the most similar first, it will look a lot like some sort of lame copy. But he has done a significant amount of his own work here.
In particular, the interface and its winboard capabilities are largely reworked:
E:\programme\winboard\TSCP>Tscp-181-Net.exe
Tom Kerrigan's Simple Chess Program (TSCP)
version 1.81dc, 2/5/03
Copyright 1997 Tom Kerrigan
"help" displays a list of commands.
tscp> help
on - computer plays for the side to move
off - computer stops playing
st n - search for n seconds per move
sd n - search n ply per move
undo - takes back a move
new - starts a new game
d - display the board
bench - run the built-in benchmark
bye - exit the program
xboard - switch to XBoard mode
Enter moves in coordinate notation, e.g., e2e4, e7e8Q
tscp>
E:\programme\winboard\tuxedo>Tuxedo.exe
help
Tuxedo Chess v 1.0 by Ananth Shrinivas.S
List of commands:
xboard - change to xboard mode
new - start a new game of chess
quit - stop current game and quit
force - disable automatic play
white - engine plays white
black - engine plays black
st - set maximum search time
sd - set maximum search depth
time - set time left for engine
otim - set time left for opponent
go - force engine to play
undo - undo one half move
remove - remove one complete move
post - display thinking output
nopost - don't display thinking
protover - X Board version 2 startup
setboard - Load board from FEN String
bd - Display board
book - Toggle opening book usage
help - Displays this help message
Like the original TSCP, this program is in desperate need of a piece list.
There is no question it is a reworking of the TSCP original. And it should have credit where credit is due. But it is different enough that it outplays TSCP.



my ftp site {remove http:// unless you like error messages}
Dann Corbit
 

Re: Winboard engine called Tuxedo

Postby Dann Corbit » 20 Mar 2004, 21:20

Geschrieben von:/Posted by: Dann Corbit at 20 March 2004 21:20:34:
Als Antwort auf:/In reply to: Re: Winboard engine called Tuxedo geschrieben von:/posted by: Dann Corbit at 20 March 2004 01:37:55:

I got some nice letters from Ananth Shrinivas about his project. While it was committed to an open source repository, it was not in the completed state as yet. It is intended (in fact) to make a bitboard version.
He also has now added information about the TSCP roots. So all is well with the world. The butterflies are flying, the birds are singing and a new chess engine pops up at least once a week.
What could be better?
;-)



my ftp site {remove http:// unless you like error messages}
Dann Corbit
 


Return to Archive (Old Parsimony Forum)

Who is online

Users browsing this forum: Google [Bot], Majestic-12 [Bot] and 22 guests