Developments of the last two years

Discussion of chess software programming and technical issues.

Moderator: Ras

User avatar
Rebel
Posts: 7425
Joined: Thu Aug 18, 2011 12:04 pm
Full name: Ed Schröder

Re: Developments of the last two years

Post by Rebel »

lucasart wrote:But, at least, the GPL was respected, which is the only good thing about it.
Then what's the problem?

No wonder some people decide to lie.
kinderchocolate
Posts: 454
Joined: Mon Nov 01, 2010 6:55 am
Full name: Ted Wong

Re: Developments of the last two years

Post by kinderchocolate »

lucasart wrote:
hgm wrote: But of course my admiration / respect for people is related to their achievements. And I rate the achievement of producing a 3000+ Elo Ivanhoe clone a lot below producing a 2000-Elo engine from scratch. In most cases, the making of these 'top engines' rates about as high as being able to write a 'Hello world' program, as far as I am concerned.
Yet another example. This time the source code was not even modified (just added intel intrinsics), and the only "achievement" of the "author" was to use a better compiler:
http://www.talkchess.com/forum/viewtopic.php?t=47343
I laughed so much when I read the passage about Thomas Eddison. Seriously, some people vastly overrate themselves...

But, at least, the GPL was respected, which is the only good thing about it.
Well, the new Fire project is clearly an impulse project. It has no long-term goal and any concrete objective. Practically useless I would say. As with many projects that have been announced here, it will die very soon.
User avatar
velmarin
Posts: 1600
Joined: Mon Feb 21, 2011 9:48 am

Re: Developments of the last two years

Post by velmarin »

Rebel wrote:
lucasart wrote:But, at least, the GPL was respected, which is the only good thing about it.
Then what's the problem?

No wonder some people decide to lie.
The problem is clear, closed minds trying to use this to insult, call plagiarist, copying, cloner, ect, ect.

The public domain is not covered by the GPL.
The GPL empower you try this,
but it turns out that when someone puts a GPL public domain, no rights.

I try to explain, if the owner believes that the GPL has been violated its GPL can not claim.
The claim must come from the owner of copyright (that was the one that put it in public domain), find and read the complaints of violation of the GPL.

If the owner Robbolito
copyright: (C) 2009 Yakov Petrovich Golyadkin

That is who would be accredited and to report it.
User avatar
velmarin
Posts: 1600
Joined: Mon Feb 21, 2011 9:48 am

Re: Developments of the last two years

Post by velmarin »

hgm wrote:For the record: I have absolutely nothing against derivatives. I have something against people that lie about their engine being original, or lie about which engine their derivative is based on.

One day I might even make my own derivative. It seems fun to try if I can modify Ippolit to play Seirawan Chess. (I already have a name for it: Ippocryt! :lol: )

But of course my admiration / respect for people is related to their achievements. And I rate the achievement of producing a 3000+ Elo Ivanhoe clone a lot below producing a 2000-Elo engine from scratch. In most cases, the making of these 'top engines' rates about as high as being able to write a 'Hello world' program, as far as I am concerned.

Mr. Muller,
You always respect me and I appreciate it, I wanted to tell you two things.

Not a day that I regret having started this project, even one day.
Open your browser and read Luke, the two Alex, post on Facebook and always the same answer. Login to chat TCEC and the same, day after day.

But what I started and finish it.

Ideas I assure that I have more and more, we must translate them to the engine and the values​​, that's another story.
Ippolit is an amazing machine, it is difficult to get out of his personality, I do not understand when people talk of unreadable code, ect, ect.
Sure that you have taken a look at the code, is sublime.
For example Bouquet in H7 does not attack, I'm on it, to press on the Black King (without putting masks nor cramfiple nor Xray in eval.h)
I repeat, EXAMPLE.
would be as easy as this example:

Code: Select all


#define DiagA1H8  0x8040201008040201   // diagonal A1 a H8
#define DiagB1H7  0x0080402010080402    // diagonal B1 a H7
#define DiagA2G8  0x4020100804020100   // diagonal A2 a G8
#define SideKing    0xF0F0F0F0F0F0F0F0   // Files= E,F,G,H
#define WingKing    0xE0E0E0E0E0E0E0E0   // Files= F,G,H


	if (King_BlacK& G8){
               if (Queen_white & DiagB1_H7 ) 
			Value += Score(5, 15);

		if (Bhisop_white & DiagB1H7 )
			Value += Score(5, 15);
		if (Bhisop_white  & DiagA1H8 )
			Value += Score(5, 15);
		if (Bhisop_white & DiagA2G8 )
			Value += Score(4, 10);
        if (Nkigth_white  & WingKing )
			Value += Score(4, 10);
		if (POPCNT(Nkigth_Black & WingKing)==0)
			Value += Score(4, 10);

	}
Needless to say this is perfect, but you can not deny that it is simple to write, almost like the "Hello World"
Gerd Isenberg
Posts: 2251
Joined: Wed Mar 08, 2006 8:47 pm
Location: Hattingen, Germany

Re: Developments of the last two years

Post by Gerd Isenberg »

velmarin wrote:
I repeat, EXAMPLE.
would be as easy as this example:

Code: Select all


#define DiagA1H8  0x8040201008040201   // diagonal A1 a H8
#define DiagB1H7  0x0080402010080402    // diagonal B1 a H7
#define DiagA2G8  0x4020100804020100   // diagonal A2 a G8
#define SideKing    0xF0F0F0F0F0F0F0F0   // Files= E,F,G,H
#define WingKing    0xE0E0E0E0E0E0E0E0   // Files= F,G,H


	if (King_BlacK& G8){
               if (Queen_white & DiagB1_H7 ) 
			Value += Score(5, 15);

		if (Bhisop_white & DiagB1H7 )
			Value += Score(5, 15);
		if (Bhisop_white  & DiagA1H8 )
			Value += Score(5, 15);
		if (Bhisop_white & DiagA2G8 )
			Value += Score(4, 10);
        if (Nkigth_white  & WingKing )
			Value += Score(4, 10);
		if (POPCNT(Nkigth_Black & WingKing)==0)
			Value += Score(4, 10);

	}
Needless to say this is perfect, but you can not deny that it is simple to write, almost like the "Hello World"
I know, popcount is cheap nowadays, but instead of popcount(set) == 0, one may simpler use set == 0. Maybe compiler are smart enough to optimize that. Do you have similar code for black king on h7, g7, etc. ?
Gusev
Posts: 1476
Joined: Mon Jan 28, 2013 2:51 pm

Re: Developments of the last two years

Post by Gusev »

I laughed so much when I read the passage about Thomas Eddison. Seriously, some people vastly overrate themselves...
I am glad that you got a laugh out of this episode. :wink: There would be no need to clone Fire if it weren't abandoned just before it might become #1 open-source engine, ahead of Stockfish 2.1.1, back in 2011. Thankfully, Norman Schmidt has nothing against this. The quote from Edison is quite relevant, but I did not want to project a false impression that I considered Norm a failure. This is just tough luck really. Any reasonable programmer would expect the hardware popcnt be faster than its software emulation. I fully recognize that I do not deserve any credit as an "author". But UCI does not provide a separate "cloner" field. :?
User avatar
velmarin
Posts: 1600
Joined: Mon Feb 21, 2011 9:48 am

Re: Developments of the last two years

Post by velmarin »

Reply Gerd Isenberg:

Code: Select all

Just one example,
in H7, G7, there are many ways to define the Ippolit code,
One by one 
along with the : 
#define BitBoard2(x, y) (1ULL << (x))|(1ULL << (y))
or :
static const uint64 CrampFile[8] =
{
	FileA, FileB, 0, 0, 0, 0, FileG,FileH
};
the base is crampfile by code, and it was just a silly example, it is useless, then there are checks, king safety,ect.

An example of that at least to me,
Ippolit code seems clear and easy to write.
Gusev
Posts: 1476
Joined: Mon Jan 28, 2013 2:51 pm

Re: Developments of the last two years

Post by Gusev »

Well, the new Fire project is clearly an impulse project. It has no long-term goal and any concrete objective. Practically useless I would say. As with many projects that have been announced here, it will die very soon.
Thank you for your understanding! Firenzina is totally an impulse project. I made no attempt to hide that fact, everything was out in the open. It has a short-term goal of getting us a correct ranking of open-source engines. No one wants to test an abandoned engine that flew under the radar, and no one expects that it may still land in the Top10 after a 1.5-year hiatus. The project cannot have a long-term goal until the short-term one is achieved. And even this short-term goal may prove elusive. The project needs to be restarted (that's relatively easy), then worked on productively (this is known to be very hard). I am obviously being quixotic here, as others pointed out correctly.
Ralph Stoesser
Posts: 408
Joined: Sat Mar 06, 2010 9:28 am

Re: Developments of the last two years

Post by Ralph Stoesser »

There seems to be no official knowlegde about what exactly makes the progress, but the progress in terms of ELO is real and fast. So called original authors often claim there is nothing but cloning, but that does not explain the progress technically. I suspect that most of them simply do not know what's going on.
Gusev
Posts: 1476
Joined: Mon Jan 28, 2013 2:51 pm

Re: Developments of the last two years

Post by Gusev »

Then what's the problem?
I know this question is not for me to answer. But there exists a real problem. And the problem is, it turns out, a programmer with superior code at hand may still end up with a lower ELO engine, simply because his compiler is not the best one. And the best compiler is not free. For a free, open-source project, this becomes a problem, especially if one is unaware of it. There is a real risk to give up too early by mistake. In the meanwhile, someone else may win on the compiler strength. I hope people realize that Stockfish 2.2.2 used the new intrinsics. (Nothing wrong with that.)