Sedat Canbaz wrote:Uri Blass wrote:
I will explain what I did with movei
I did not srart from another engine and modified it(like all the programs that are considered to be clones) but
you can decide that I did not write it from scratch.
1)I started by copying some names of variables and name of functions from tscp but at that point I had no working code(only variables and empty functions and few arrays when I needed to add code for it).
2)I added my own code to make my original legal move generator
and I worked on fixing bugs that I found in it and improving the speed of the program when I use perft to debug it.
3)I added piece square table evaluation that is of course not part of tscp
and is practically worse than tscp evaluation because it did not have knowledge about pawn structure or king safety.
4)I added code to use the alpha beta algorithm based on tscp when I also added some pruning when the remaining depth is small.
This was the first version and later I improved the search and the evaluation.
In the last versions I clearly used ideas from fruit.
For example old movei evaluated mobility based on the number of the legal moves and I changed the code to give a bigger weight to knight moves or bishop moves based on the ideas from fruit.
Another example is that fruit use average between opening function and endgame function based on the stage of the game.
I did not have this idea in movei and changed it to have average between opening and endgame evaluation because I learned it from fruit.
Fabien did not invent this idea but I did not know earlier that this idea is a good idea.
Thanks for the honest answer dear Uri
Yes, I see... it seems you put a lot of efforts for creating Movei
But however, in my understanding Movei is not a scratch engine
Note that my new tournament project is just for participants which are totally written from scratch
If you use alpha-beta, you do not you start from scratch.
If you use null move, you do not you start from scratch.
If you use hash tables, you do not you start from scratch.
If you use mailbox or bitboards for gen moves, you do not start from scratch.
If you're using futility prunning, razoring or LMR you do not you start from scratch.
etc.
A programmer who starts his engine from scratch with their own ideas without ever seeing anything about chess programming hardly he get a program thath play above 1800 Elo points.
Copy these
ideas from the discussion in a forum, website or publication in book not have any difference to find
ideas in the code of another engine.
If you exclude Movei engine into your list, then will be difficult to find a engine that has started from scratch. I think Uri copied ideas, not code.
In your list you have engines that by your definition does not start from scratch. I'm sure all engines on your list use ideas that are not only of this programmer, so theses engines are not written from scratch.
If you consider that use ideas of others is permitted and has nothing to do with starting from scratch then I do not understand why you exclude Movei.