Sloppy 0.1.1 released

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

Moderator: Ras

User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: Toga 0.1.1 released

Post by ilari »

Daniel Mehrmann wrote:Fruit does some things on different ways compared with what i would call "common sense".
If somebody says he took all fruit ideas, because they make sense and there are no better one for the own engine, it just shows a very weak knowledge skill about chess programming. Specialy i'm talking here about the search and search components.

It would be different if the author claimed he tested a lot of variations and that's the best choice for him. Futher more the author should be able to explain why he did this and that step exactly.
These are my rules for using Fruit's features:
1. I must understand them, and they must make sense to me.
2. They must increase Sloppy's playing strength or improve Sloppy in some other way.
3. I must have enough time to implement and test them properly.


Apart from the magic move generator and the bit-twiddling functions (which I don't need to understand) I can explain every single code line in Sloppy. All you have to do is ask.
gerold
Posts: 10121
Joined: Thu Mar 09, 2006 12:57 am
Location: van buren,missouri

Re: Toga 0.1.1 released

Post by gerold »

ilari wrote:
Daniel Mehrmann wrote:Fruit does some things on different ways compared with what i would call "common sense".
If somebody says he took all fruit ideas, because they make sense and there are no better one for the own engine, it just shows a very weak knowledge skill about chess programming. Specialy i'm talking here about the search and search components.

It would be different if the author claimed he tested a lot of variations and that's the best choice for him. Futher more the author should be able to explain why he did this and that step exactly.
These are my rules for using Fruit's features:
1. I must understand them, and they must make sense to me.
2. They must increase Sloppy's playing strength or improve Sloppy in some other way.
3. I must have enough time to implement and test them properly.


Apart from the magic move generator and the bit-twiddling functions (which I don't need to understand) I can explain every single code line in Sloppy. All you have to do is ask.
Good luck on your chess programing. Playing and programing
chess programs will help you attend to details.
Good luck on your thesis.

Best to you,
Gerold.
Ratta

Re: Toga 0.1.1 released

Post by Ratta »

I'm not so happy to see so many people saying this kind of things...

Il will ask a few questions, just to try to put down ideas on this issue:

* Doing something that is not *innovation* is it automatically *copying*? If i write from zero move generation, fen parsing, xboard protocol management, alpha-beta search, evaluation, time management, hashtable, opening book, and than i see that Crafty does the mull move exactly when foo && bar && baz, and i decide to do the same because they seem reasonable choices and work well with my program, is it copying? I understand perfectly that often in chess it is more difficult understanding that then best choices were foo && ... then anything else, but if i had read about this idea on a paper, would it make any difference? and if i had read it on this forum?
* Allright, sloppy has no innovating idea, but is it really so sad that someone is doing an excercise to understand how chess programming work? Really, since the release of fruit, chess programming became much more difficult, but i think also more interesting. Of course, i don't see a lot of interest in a program that does a subset of what fruit does, but if someone wrote it because he wanted to have a good understanding of this subset of features, than it may be a good starting point for further research.
* Mh, doesn't look like that all best open source programs are almost the same as fruit, for instance i'll say that Crafty, Glaurung, Scorpio and Arasan are quite different. Maybe because fruitish engines do not get a lot of attention and people get bored?
* Maybe in this case instead of saying that someone is doing something bad it would be more useful saying that he is not doing anything good, i think that this could actually stimulate someone to produce new ideas, rather than expecting that someone will write a program that uses no idea from fruit and is stronger because of many original ideas (that is clearly impossible),
* That said, i would really never take a piece of code such as magic move generation and put it in my engine without even trying to understand it, even if it can easily be used as black box i would at least want to know perfectly how it works (and looks like that it may be quite interesting too), and even in this case it would make me feel as if my program was not completely mine.
* Allright, now everybody will hate me!!! :)
Regards!
Uri Blass
Posts: 10905
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Toga 0.1.1 released

Post by Uri Blass »

Daniel Mehrmann wrote:
Dann Corbit wrote:
Tony wrote:
Aleks Peshkov wrote:
Tony wrote:The first thing I do is try to understand the structure of a program, the way it flows. This program flows like Fruit. The difference is mostly cosmetic. There is no essential difference.

If other people don't see it's the same, that's ok. If other people claim it's different because they didn't see it's same, then I object.

The claim that the search is different from Fruit is incorrect.

Wether he modified Fruit code,started with an empty function and copied Fruit into it or he retyped everything, is irrelevant. It's still a Fruit copy.

Tony
I personally failed to find original search approaches in tournament strength open source program. They all looks very similar. But it is nonsense to claim all of them as clones. It is very dangerous to blame authors of open source chess engines as cheaters!

Fruit is just one the first of mainstream engines. It has very little new other then implementation quality. I bet that if you investigate ANY decent open source program (even one that had stopped its own development before Fruit source release) it will "flow" like Fruit. Please, give an example of opposite if I am mistaken.
I agree with you about most except that Fruit has very little new (from open source pov) and the part "But it is nonsense to claim all of them as clones"

It's the reason why I don't see anything good from these engines.

That's no problem however, I only get pissed off when the author (or others) claims originality and/or tries to legalize his actions.
That's true even when the program contains much that is original and also is totally legal.

Most open sources programs I consider Fruit-clones/Fruit-alikes. But it still matters how the author reacts.

In this case, the author (who knew him before ?) claims to have enough knowledge to know that the Fruit choices are the only "common sense" decisions, so it's not really copying.
Even the ones that are questionable, and have been changed in later Fruits.

Tony
Your arguments are emotional and bitter. I see a strange sadness here.
:shock:

Basicly i agree with Tony and i don't understand your response.

Fruit does some things on different ways compared with what i would call "common sense".
If somebody says he took all fruit ideas, because they make sense and there are no better one for the own engine, it just shows a very weak knowledge skill about chess programming. Specialy i'm talking here about the search and search components.

It would be different if the author claimed he tested a lot of variations and that's the best choice for him. Futher more the author should be able to explain why he did this and that step exactly.

Best,
Daniel
I think that in order to know that fruit does things on different ways compared with common sense you need to understand what fruit does.

I do not claim to understand fruit and I doubt if programmers who have programs that are clearly weaker than fruit really understand fruit.

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

Re: Toga 0.1.1 released

Post by Chan Rasjid »

* That said, i would really never take a piece of code such as magic move generation and put it in my engine without even trying to understand it, ...
etc...
even if it can easily be used as black box i would at least want to know perfectly how it works (and looks like that it may be quite interesting too), and even in this case it would make me feel as if my program was not completely mine.
I disagree here but don't know why! It might be what I could have done as long as permission is granted. Magic generation is not straightforward simple and understanding it is only for those who have the particular interest. Even the inventor could not get any ELO benefit from his innovation. Rotated bitboard is easier to understand but difficult to implement.

Rasjid
Ratta

Re: Toga 0.1.1 released

Post by Ratta »

Yeah, it was just my personal opinion, but i'm a bit one who does not like having to do with something that he does not understand, i should really learn that sometimes the best thing to do is treating other's work as a blackbox without getting lost in the details, i am too much a details-person. :)
Tord Romstad
Posts: 1808
Joined: Wed Mar 08, 2006 9:19 pm
Location: Oslo, Norway

Re: Toga 0.1.1 released

Post by Tord Romstad »

Chan Rasjid wrote: Magic generation is not straightforward simple and understanding it is only for those who have the particular interest. Even the inventor could not get any ELO benefit from his innovation. Rotated bitboard is easier to understand but difficult to implement.
Actually, the truth is that both methods are quite easy to understand, and when you do understand them, they are completely trivial to implement. If people have difficulties with understanding or implementing these techniques, the available explanations must be far too technical and complicated.

I'll try to write a little article about the subject myself.

Tord
Pradu
Posts: 287
Joined: Sat Mar 11, 2006 3:19 am
Location: Atlanta, GA

Re: Toga 0.1.1 released

Post by Pradu »

Tord Romstad wrote:
Chan Rasjid wrote: Magic generation is not straightforward simple and understanding it is only for those who have the particular interest. Even the inventor could not get any ELO benefit from his innovation. Rotated bitboard is easier to understand but difficult to implement.
Actually, the truth is that both methods are quite easy to understand, and when you do understand them, they are completely trivial to implement. If people have difficulties with understanding or implementing these techniques, the available explanations must be far too technical and complicated.

I'll try to write a little article about the subject myself.

Tord
How about editing the Chess Programming Wiki. You can edit what I've posted there if it's not clear enough:
http://chessprogramming.wikispaces.com/Bitboards

I myself had initially copied Gerd's codes for Kogge-Stone occluded fills without understanding them at first either. Likewise I didn't understand alphabeta inside and out when I implemented it in my first engine either... you begin to understand it as you use it...

On a side note, I don't think Sloppy is a clone. "Innocent until proven guilty". 8-)