Sloppy 0.1.1 released

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

Moderator: Ras

Chan Rasjid
Posts: 588
Joined: Thu Mar 09, 2006 4:47 pm
Location: Singapore

Re: Toga 0.1.1 released

Post by Chan Rasjid »

Code: Select all


/* Piece/square tables.  */
static const int pcsq_pawn_op[64] =
{
     0,   0,   0,   0,   0,   0,   0,   0,
   -15,  -5,   0,   5,   5,   0,  -5, -15,
   -15,  -5,   0,   5,   5,   0,  -5, -15,
   -15,  -5,   0,  15,  15,   0,  -5, -15,
   -15,  -5,   0,  25,  25,   0,  -5, -15,
   -15,  -5,   0,  15,  15,   0,  -5, -15,
   -15,  -5,   0,   5,   5,   0,  -5, -15,
     0,   0,   0,   0,   0,   0,   0,   0
};
static const int pcsq_knight_op[64] =
{
   -135,  -25,  -15,  -10,  -10,  -15,  -25, -135,
    -20,  -10,    0,    5,    5,    0,  -10,  -20,
     -5,    5,   15,   20,   20,   15,    5,   -5,
     -5,    5,   15,   20,   20,   15,    5,   -5,
    -10,    0,   10,   15,   15,   10,    0,  -10,
    -20,  -10,    0,    5,    5,    0,  -10,  -20,
    -35,  -25,  -15,  -10,  -10,  -15,  -25,  -35,
    -50,  -40,  -30,  -25,  -25,  -30,  -40,  -50
};
static const int pcsq_knight_eg[64] =
{
   -40, -30, -20, -15, -15, -20, -30, -40,
   -30, -20, -10,  -5,  -5, -10, -20, -30,
   -20, -10,   0,   5,   5,   0, -10, -20,
   -15,  -5,   5,  10,  10,   5,  -5, -15,
   -15,  -5,   5,  10,  10,   5,  -5, -15,
   -20, -10,   0,   5,   5,   0, -10, -20,
   -30, -20, -10,  -5,  -5, -10, -20, -30,
   -40, -30, -20, -15, -15, -20, -30, -40
};
static const int pcsq_bishop_op[64] =
{
    -8,  -8,  -6,  -4,  -4,  -6,  -8,  -8,
    -8,   0,  -2,   0,   0,  -2,   0,  -8,
    -6,  -2,   4,   2,   2,   4,  -2,  -6,
    -4,   0,   2,   8,   8,   2,   0,  -4,
    -4,   0,   2,   8,   8,   2,   0,  -4,
    -6,  -2,   4,   2,   2,   4,  -2,  -6,
    -8,   0,  -2,   0,   0,  -2,   0,  -8,
   -18, -18, -16, -14, -14, -16, -18, -18
};
static const int pcsq_bishop_eg[64] =
{
   -18, -12,  -9,  -6,  -6,  -9, -12, -18,
   -12,  -6,  -3,   0,   0,  -3,  -6, -12,
    -9,  -3,   0,   3,   3,   0,  -3,  -9,
    -6,   0,   3,   6,   6,   3,   0,  -6,
    -6,   0,   3,   6,   6,   3,   0,  -6,
    -9,  -3,   0,   3,   3,   0,  -3,  -9,
   -12,  -6,  -3,   0,   0,  -3,  -6, -12,
   -18, -12,  -9,  -6,  -6,  -9, -12, -18
};
static const int pcsq_rook_op[64] =
{
    -6,  -3,   0,   3,   3,   0,  -3,  -6,
    -6,  -3,   0,   3,   3,   0,  -3,  -6,
    -6,  -3,   0,   3,   3,   0,  -3,  -6,
    -6,  -3,   0,   3,   3,   0,  -3,  -6,
    -6,  -3,   0,   3,   3,   0,  -3,  -6,
    -6,  -3,   0,   3,   3,   0,  -3,  -6,
    -6,  -3,   0,   3,   3,   0,  -3,  -6,
    -6,  -3,   0,   3,   3,   0,  -3,  -6
};
static const int pcsq_queen_op[64] =
{
     0,   0,   0,   0,   0,   0,   0,   0,
     0,   0,   0,   0,   0,   0,   0,   0,
     0,   0,   0,   0,   0,   0,   0,   0,
     0,   0,   0,   0,   0,   0,   0,   0,
     0,   0,   0,   0,   0,   0,   0,   0,
     0,   0,   0,   0,   0,   0,   0,   0,
     0,   0,   0,   0,   0,   0,   0,   0,
    -5,  -5,  -5,  -5,  -5,  -5,  -5,  -5
};
static const int pcsq_queen_eg[64] =
{
   -24, -16, -12,  -8,  -8, -12, -16, -24,
   -16,  -8,  -4,   0,   0,  -4,  -8, -16,
   -12,  -4,   0,   4,   4,   0,  -4, -12,
    -8,   0,   4,   8,   8,   4,   0,  -8,
    -8,   0,   4,   8,   8,   4,   0,  -8,
   -12,  -4,   0,   4,   4,   0,  -4, -12,
   -16,  -8,  -4,   0,   0,  -4,  -8, -16,
   -24, -16, -12,  -8,  -8, -12, -16, -24
};
static const int pcsq_king_op[64] =
{
   -40, -30, -50, -70, -70, -50, -30, -40,
   -30, -20, -40, -60, -60, -40, -20, -30,
   -20, -10, -30, -50, -50, -30, -10, -20,
   -10,   0, -20, -40, -40, -20,   0, -10,
     0,  10, -10, -30, -30, -10,  10,   0,
    10,  20,   0, -20, -20,   0,  20,  10,
    30,  40,  20,   0,   0,  20,  40,  30,
    40,  50,  30,  10,  10,  30,  50,  40
};
static const int pcsq_king_eg[64] =
{
   -72, -48, -36, -24, -24, -36, -48, -72,
   -48, -24, -12,   0,   0, -12, -24, -48,
   -36, -12,   0,  12,  12,   0, -12, -36,
   -24,   0,  12,  24,  24,  12,   0, -24,
   -24,   0,  12,  24,  24,  12,   0, -24,
   -36, -12,   0,  12,  12,   0, -12, -36,
   -48, -24, -12,   0,   0, -12, -24, -48,
   -72, -48, -36, -24, -24, -36, -48, -72
};

We already have two engines with this inside. I doubt we need 3.
I think I can understand the tables above. If these are "secrets" of a chess program and I don't use them or learn from them, others will. Like Bob Hyatt, Vasik ,Friz Morten, Chrilly Donninger,Mayer Kahler.

Rasjid
Christopher Conkie
Posts: 6074
Joined: Sat Apr 01, 2006 9:34 pm
Location: Scotland

Re: Toga 0.1.1 released

Post by Christopher Conkie »

Chan Rasjid wrote:I think I can understand the tables above. If these are "secrets" of a chess program and I don't use them or learn from them, others will. Like Bob Hyatt, Vasik ,Friz Morten, Chrilly Donninger,Mayer Kahler.

Rasjid
Learn all you want. I think that's why they are out there. Copy them verbatum? That is a somewhat different concept.

Well put it this way.....by your own logic you better steal everything thats not nailed down around you before someone else does.

Are you saying that those authors are thieves?

Yes or no will suffice as an answer......

:wink:

Christopher
Tony Thomas

Re: Toga 0.1.1 released

Post by Tony Thomas »

Tony Thomas wrote:
Ryan Benitez wrote:
I read his eval function and I my understanding is that because it is written in his own code he would not have to GPL it if he did not want to. I am happy he did choose to GPL the program though. Not because of Fruit but because it helps computer chess overall to have more GPL chess engines.

Ryan
Ilari Pihlajisto wrote:
Ryan Benitez wrote:I read his eval function and I my understanding is that because it is written in his own code he would not have to GPL it if he did not want to.
That would be a slippery slope though. Had I not decided to release under GPL, I probably wouldn't have examined Fruit's evaluation at all.

I am happy he did choose to GPL the program though. Not because of Fruit but because it helps computer chess overall to have more GPL chess engines.
I happy about it too.
You have to give props for this guys honesty and hardwork. Ofcourse, you can never appreciate that because you are on a team of your own.
Did any of you read this?
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: Toga 0.1.1 released

Post by ilari »

Christopher Conkie wrote:
Alexander Schmidt wrote:But I have no problem with Sloppy and its honest author, everybody can decide wether he wants to use Sloppy or not.

Best,
Alex
True...I agree. It is in full sight and that he hides nothing. Why he needs the Fruit/Toga eval is the part I dont get? If he wanted to enter serious competition that would need to be changed.
Finally, we partly agree. Again, let me quote myself from the thread at the Winboard forum:
Olivier Deville wrote: But, in your opinion (engine authors, tournament directors, and other people), should Sloppy be allowed to play in tournaments ?
I'm not going to enter Sloppy to any tournaments myself, but if people want to include it in their own tournaments, why shouldn't they?
So yeah, I'm not going to enter serious competition. Actually Sloppy is just one of the many computer programs I've written, it's nothing special. A year or two from now I'll probably be working on something completely different.
User avatar
Ovyron
Posts: 4562
Joined: Tue Jul 03, 2007 4:30 am

Re: Sloppy 0.1.1 released

Post by Ovyron »

ilari wrote:It makes sense in games where Sloppy might have to move extremely fast. However, even with one second to move, printing the full pv shouldn't affect things too much.
It was specific for the Arena GUI. Uri had a huge jump in strength for Movei on bullet games just by not printing the PV very often, it seems the Arena GUI steals time from engines every time they print the PV.
Your beliefs create your reality, so be careful what you wish for.
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: Sloppy 0.1.1 released

Post by ilari »

Ovyron wrote:
ilari wrote:It makes sense in games where Sloppy might have to move extremely fast. However, even with one second to move, printing the full pv shouldn't affect things too much.
It was specific for the Arena GUI. Uri had a huge jump in strength for Movei on bullet games just by not printing the PV very often, it seems the Arena GUI steals time from engines every time they print the PV.
Oh, I only use Xboard, which doesn't seem to have this problem. I don't think I want to change my program just to work around a bug in Arena.
Uri Blass
Posts: 10908
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Sloppy 0.1.1 released

Post by Uri Blass »

ilari wrote:
Tony Thomas wrote:Uri can help you better, he said that he did something to make his engine print less info in fast games, that way the engine uses more time on search/eval. Where is Uri when we need him, I have no clue what I am talking about. :roll:
It makes sense in games where Sloppy might have to move extremely fast. However, even with one second to move, printing the full pv shouldn't affect things too much. I confirmed what your results with the 1m + 1sec time control: Sloppy won only 44% of points against BugChess.
My experience with 1+1 time control under arena is that version of movei that does not print the pv score 60% under arena against version of movei that print the pv.

I think that the situation can be different under winboard.
The reason is that printing the pv takes more time under arena.

This is not important at long time control but important even at 1+1 time control and sometimes movei needed 4 seconds to get the maximal depth under arena with printing the pv when it needs less than one second to get the maximal depth under arena.

Note that movei prints the pv twice in every iteration(one time when it decides about the score and one time at the end of the iteration).

Uri
Alessandro Scotti

Re: Sloppy 0.1.1 released

Post by Alessandro Scotti »

Uri Blass wrote:This is not important at long time control but important even at 1+1 time control and sometimes movei needed 4 seconds to get the maximal depth under arena with printing the pv when it needs less than one second to get the maximal depth under arena.
IMO this hints at some kind of problem... in 3 seconds you should be able to print a lot of stuff!
Uri Blass
Posts: 10908
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Sloppy 0.1.1 released

Post by Uri Blass »

Alessandro Scotti wrote:
Uri Blass wrote:This is not important at long time control but important even at 1+1 time control and sometimes movei needed 4 seconds to get the maximal depth under arena with printing the pv when it needs less than one second to get the maximal depth under arena.
IMO this hints at some kind of problem... in 3 seconds you should be able to print a lot of stuff!
Yes

I also see that I made error in writing and the last word in my post should be winboard and not arena.

Uri
Uri Blass
Posts: 10908
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Sloppy 0.1.1 released

Post by Uri Blass »

ilari wrote:
Ovyron wrote:
ilari wrote:It makes sense in games where Sloppy might have to move extremely fast. However, even with one second to move, printing the full pv shouldn't affect things too much.
It was specific for the Arena GUI. Uri had a huge jump in strength for Movei on bullet games just by not printing the PV very often, it seems the Arena GUI steals time from engines every time they print the PV.
Oh, I only use Xboard, which doesn't seem to have this problem. I don't think I want to change my program just to work around a bug in Arena.
I understand but in future released versions of movei I may do it because
not printing the pv does not reduce the strength under winboard and it may be only an option so users who want to see the pv in games that they watch can enable showing the pv.

Uri