Koivisto 5.0

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

Moderator: Ras

AndrewGrant
Posts: 1960
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Re: Koivisto 5.0

Post by AndrewGrant »

Koivisto wrote: Thu Jul 08, 2021 11:47 am
Gabor Szots wrote: Thu Jul 08, 2021 8:17 am
Luecx wrote: Wed Jul 07, 2021 8:24 pmnot wanting Koivisto to be tested by third parties who also list obvious clones which makes the ratings increditable.
I guess it's time you created a list including the obvious clones, of course together with evidence which is clear even for the ignorant. Because rating list people are not experts and you can take it for granted that none of them will study source codes.
This is not a valid argument as long as ccrl lists Fat Fritz as #1 on the blitz list.
If (illegal, but then later made legal after rectifying GPLv3 complaints) engines that openly are Stockfish can be ranked on CCRL, what kind of case does a guy have to make to get an engine thrown out that does not admit to theft?
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: Koivisto 5.0

Post by mvanthoor »

AndrewGrant wrote: Thu Jul 08, 2021 11:52 am If (illegal, but then later made legal after rectifying GPLv3 complaints) engines that openly are Stockfish can be ranked on CCRL, what kind of case does a guy have to make to get an engine thrown out that does not admit to theft?
If Fat Fritz 2 satisfies the GPL, then selling the engine + network + your own GUI for money is not illegal, and not a problem. AFAIK, the main gripe against FF2 is that at first, it was passed off a revolutionary and original development in chess programming no one had done before.

Fritz hasn't been the Frans Morsch "Fritz" engine anymore since 2013. Deep Fritz 13 was the last.

Personally I never bought a ChessBase product for the engine after the open source movement got going on chess engines somewhere in the mid-2000's. I've bought Fritz 11 and 17 for the user interface, and their proper support of the DGT-board.

Nowadays, there are so many engines, commercial, free, and open source, that I have the luxury of just ignoring the ones I don't like, so that's what I do. This means that I don't really care if a rating list tests an obvious clone, apart from the fact that it (IMHO) wastes resources that could have been used to test a new / upcoming / original engine.
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
amanjpro
Posts: 883
Joined: Sat Mar 13, 2021 1:47 am
Full name: Amanj Sherwany

Re: Koivisto 5.0

Post by amanjpro »

AndrewGrant wrote: Thu Jul 08, 2021 11:52 am If (illegal, but then later made legal after rectifying GPLv3 complaints) engines that openly are Stockfish can be ranked on CCRL, what kind of case does a guy have to make to get an engine thrown out that does not admit to theft?
"Later made legal" is the key, no matter what is the reason, it is currently legal. I don't like what ChessBase did, but I also cannot see any problem now in listing it in CCRL/CEGT, after they fixed their shit

You will probably also want to read this paragraph again in their about page:
** Please note that our role as a group is not to decide on the originality of engines as we have neither the legal or technical expertise. Viewers of the website must make their own judgements. Inclusion or non-inclusion of an engine should not be interpreted as a statement by us of the status of that engine **
Daniel Shawul
Posts: 4186
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: Koivisto 5.0

Post by Daniel Shawul »

So, @Daniel Shawul, we switched to NN to not keep being frustrated by unoriginal engines passing us in the ratings. do you think that using other peoples data, or anything else out of the 3 i listed is actually the right thing to do?
So your engine's postion on the rating lists is all you care about, what a surprize! That is hardly a position to be to lecture others on the value of "real men evaluation". You are saying those who use NNUE backends (or trainers) are "unoriginal" while you yourself now uses it. That you re-invented the wheel, wrote trainer code from scratch!!, gets you zero (and maybe even negative) points.
What is the point in making an engine based on using other peoples code. I am not talking about pruning ideas here but about replacing 1/2 of the engine by other peoples code.
Using library code is not a crime. Using free data is not a crime.
So what is chess programming about? Just making a strong engine ..
That definately is the case for you...
and trying to catch up to the very top by just taking their code?
If that's the case, I will admit that I am wrong with everything and people should just continue using other peoples stuff... If it is about making a strong engine without such, you need to put a lot more effort into an engine than everybody else and simply being passed their by those who do take other peoples code feels depressing.
It is hypocritical to lecture others while doing the same thing as what they are doing. You spend half your post on your engine's release ranting about how other engines are un-original, how they ctrl+c/ctrl+v Stockfish code etc. You must have the most original engine in the universe with no code written by others, heh? My guess is you have an engine that shot up to the rating lists with ideas taken from stockfish, and now you feel disappointed others caught up with you using NNUE, and now you say look at me I wrote trainer from scratch to justifiy using NNUE and massage your ego! You are not the first guy to feel that way...
connor_mcmonigle
Posts: 544
Joined: Sun Sep 06, 2020 4:40 am
Full name: Connor McMonigle

Re: Koivisto 5.0

Post by connor_mcmonigle »

Daniel Shawul wrote: Thu Jul 08, 2021 1:51 pm ...
It is hypocritical to lecture others while doing the same thing as what they are doing. You spend half your post on your engine's release ranting about how other engines are un-original, how they ctrl+c/ctrl+v Stockfish code etc. You must have the most original engine in the universe with no code written by others, heh? My guess is you have an engine that shot up to the rating lists with ideas taken from stockfish, and now you feel disappointed others caught up with you using NNUE, and now you say look at me I wrote trainer from scratch to justifiy using NNUE and massage your ego! You are not the first guy to feel that way...
I'll give you that the initial post was a bit arrogant... but have you actually read through Koivisto's search code (https://github.com/Luecx/Koivisto/blob/ ... search.cpp)? If you'd actually bothered to do even the most rudimentary investigation, perhaps you wouldn't make such silly baseless claims.

Anyways, Koivisto's network is literally just a 768->N->1 net at the moment. It's not at all original, but it's so obvious that it would be ridiculous to attribute the architecture to any one engine or call it "NNUE" for that matter (Fizbo used nearly the same topology!). It's not derived from some Stockfish line by line training code rewrite as you seem to think.

Is there any value in doing things yourself? Well, clearly there is as otherwise all engine development would be reduced to calling the "Stockfish library" from some wrapper code :P
Daniel Shawul
Posts: 4186
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: Koivisto 5.0

Post by Daniel Shawul »

connor_mcmonigle wrote: Thu Jul 08, 2021 2:17 pm
Daniel Shawul wrote: Thu Jul 08, 2021 1:51 pm ...
It is hypocritical to lecture others while doing the same thing as what they are doing. You spend half your post on your engine's release ranting about how other engines are un-original, how they ctrl+c/ctrl+v Stockfish code etc. You must have the most original engine in the universe with no code written by others, heh? My guess is you have an engine that shot up to the rating lists with ideas taken from stockfish, and now you feel disappointed others caught up with you using NNUE, and now you say look at me I wrote trainer from scratch to justifiy using NNUE and massage your ego! You are not the first guy to feel that way...
I'll give you that the initial post was a bit arrogant... but have you actually read through Koivisto's search code (https://github.com/Luecx/Koivisto/blob/ ... search.cpp)? If you'd actually bothered to do even the most rudimentary investigation, perhaps you wouldn't make such silly baseless claims.
What claim did I make that is silly ? That a lot of engine's take ideas from Stockfish is no secret, and that is completely fine!
For example, from the source code you pointed, the first 5 lines of using LMR table is idea from stockfish

Code: Select all

void                     initLMR() {
    int d, m;

    for (d = 0; d < 256; d++)
        for (m = 0; m < 256; m++)
            lmrReductions[d][m] = 1.25 + log(d) * log(m) * 100 / LMR_DIV;
}

Anyways, Koivisto's network is literally just a 768->N->1 net at the moment. It's not at all original, but it's so obvious that it would be ridiculous to attribute the architecture to any one engine or call it "NNUE" for that matter (Fizbo used nearly the same topology!). It's not derived from some Stockfish line by line training code rewrite as you seem to think.

Is there any value in doing things yourself? Well, clearly there is as otherwise all engine development would be reduced to calling the "Stockfish library" from some wrapper code :P
connor_mcmonigle
Posts: 544
Joined: Sun Sep 06, 2020 4:40 am
Full name: Connor McMonigle

Re: Koivisto 5.0

Post by connor_mcmonigle »

Daniel Shawul wrote: Thu Jul 08, 2021 2:24 pm
connor_mcmonigle wrote: Thu Jul 08, 2021 2:17 pm
Daniel Shawul wrote: Thu Jul 08, 2021 1:51 pm ...
It is hypocritical to lecture others while doing the same thing as what they are doing. You spend half your post on your engine's release ranting about how other engines are un-original, how they ctrl+c/ctrl+v Stockfish code etc. You must have the most original engine in the universe with no code written by others, heh? My guess is you have an engine that shot up to the rating lists with ideas taken from stockfish, and now you feel disappointed others caught up with you using NNUE, and now you say look at me I wrote trainer from scratch to justifiy using NNUE and massage your ego! You are not the first guy to feel that way...
I'll give you that the initial post was a bit arrogant... but have you actually read through Koivisto's search code (https://github.com/Luecx/Koivisto/blob/ ... search.cpp)? If you'd actually bothered to do even the most rudimentary investigation, perhaps you wouldn't make such silly baseless claims.
What claim did I make that is silly ? That a lot of engine's take ideas from Stockfish is no secret, and that is completely fine!
For example, from the source code you pointed, the first 5 lines of using LMR table is idea from stockfish

Code: Select all

void                     initLMR() {
    int d, m;

    for (d = 0; d < 256; d++)
        for (m = 0; m < 256; m++)
            lmrReductions[d][m] = 1.25 + log(d) * log(m) * 100 / LMR_DIV;
}

Anyways, Koivisto's network is literally just a 768->N->1 net at the moment. It's not at all original, but it's so obvious that it would be ridiculous to attribute the architecture to any one engine or call it "NNUE" for that matter (Fizbo used nearly the same topology!). It's not derived from some Stockfish line by line training code rewrite as you seem to think.

Is there any value in doing things yourself? Well, clearly there is as otherwise all engine development would be reduced to calling the "Stockfish library" from some wrapper code :P
Does Stockfish own log formula reduction tables now? Go read how Stockfish does LMR and compare. It's clearly not "ctrl+c/ctrl+v" from Stockfish as you wrote in your original post.

Edit: I somewhat misread your post, though I fail to see how using ideas from Stockfish makes the position that copying thousands of lines of "NNUE" training and inference code from Stockfish isn't okay hypocritical.
Last edited by connor_mcmonigle on Thu Jul 08, 2021 2:34 pm, edited 1 time in total.
Daniel Shawul
Posts: 4186
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: Koivisto 5.0

Post by Daniel Shawul »

connor_mcmonigle wrote: Thu Jul 08, 2021 2:27 pm
Daniel Shawul wrote: Thu Jul 08, 2021 2:24 pm
connor_mcmonigle wrote: Thu Jul 08, 2021 2:17 pm
Daniel Shawul wrote: Thu Jul 08, 2021 1:51 pm ...
It is hypocritical to lecture others while doing the same thing as what they are doing. You spend half your post on your engine's release ranting about how other engines are un-original, how they ctrl+c/ctrl+v Stockfish code etc. You must have the most original engine in the universe with no code written by others, heh? My guess is you have an engine that shot up to the rating lists with ideas taken from stockfish, and now you feel disappointed others caught up with you using NNUE, and now you say look at me I wrote trainer from scratch to justifiy using NNUE and massage your ego! You are not the first guy to feel that way...
I'll give you that the initial post was a bit arrogant... but have you actually read through Koivisto's search code (https://github.com/Luecx/Koivisto/blob/ ... search.cpp)? If you'd actually bothered to do even the most rudimentary investigation, perhaps you wouldn't make such silly baseless claims.
What claim did I make that is silly ? That a lot of engine's take ideas from Stockfish is no secret, and that is completely fine!
For example, from the source code you pointed, the first 5 lines of using LMR table is idea from stockfish

Code: Select all

void                     initLMR() {
    int d, m;

    for (d = 0; d < 256; d++)
        for (m = 0; m < 256; m++)
            lmrReductions[d][m] = 1.25 + log(d) * log(m) * 100 / LMR_DIV;
}

Anyways, Koivisto's network is literally just a 768->N->1 net at the moment. It's not at all original, but it's so obvious that it would be ridiculous to attribute the architecture to any one engine or call it "NNUE" for that matter (Fizbo used nearly the same topology!). It's not derived from some Stockfish line by line training code rewrite as you seem to think.

Is there any value in doing things yourself? Well, clearly there is as otherwise all engine development would be reduced to calling the "Stockfish library" from some wrapper code :P
Does Stockfish own log formula reduction tables now? Go read how Stockfish does LMR and compare. It's clearly not "ctrl+c/ctrl+v" from Stockfish as you wrote in your original post.
Again I did not accuse him or said he ctrl+c/ctrl+v code, he on the other hand did say that accusing others of being un-original. Reposting what I said:
You spend half your post on your engine's release ranting about how other engines are un-original, how they ctrl+c/ctrl+v Stockfish code etc. You must have the most original engine in the universe with no code written by others, heh? My guess is you have an engine that shot up to the rating lists with ideas taken from stockfish
So tell me where exactly did I say he ctrl+c/ctrl+v stockfish code into his engine ?? I only said "ideas taken from stockfish", which btw is completely fine. Using log scaling and tables for LMR reduction is a stockfish idea as fars as I know, so stop twisting my words.
connor_mcmonigle
Posts: 544
Joined: Sun Sep 06, 2020 4:40 am
Full name: Connor McMonigle

Re: Koivisto 5.0

Post by connor_mcmonigle »

Daniel Shawul wrote: Thu Jul 08, 2021 2:34 pm
connor_mcmonigle wrote: Thu Jul 08, 2021 2:27 pm
Daniel Shawul wrote: Thu Jul 08, 2021 2:24 pm
connor_mcmonigle wrote: Thu Jul 08, 2021 2:17 pm
Daniel Shawul wrote: Thu Jul 08, 2021 1:51 pm ...
It is hypocritical to lecture others while doing the same thing as what they are doing. You spend half your post on your engine's release ranting about how other engines are un-original, how they ctrl+c/ctrl+v Stockfish code etc. You must have the most original engine in the universe with no code written by others, heh? My guess is you have an engine that shot up to the rating lists with ideas taken from stockfish, and now you feel disappointed others caught up with you using NNUE, and now you say look at me I wrote trainer from scratch to justifiy using NNUE and massage your ego! You are not the first guy to feel that way...
I'll give you that the initial post was a bit arrogant... but have you actually read through Koivisto's search code (https://github.com/Luecx/Koivisto/blob/ ... search.cpp)? If you'd actually bothered to do even the most rudimentary investigation, perhaps you wouldn't make such silly baseless claims.
What claim did I make that is silly ? That a lot of engine's take ideas from Stockfish is no secret, and that is completely fine!
For example, from the source code you pointed, the first 5 lines of using LMR table is idea from stockfish

Code: Select all

void                     initLMR() {
    int d, m;

    for (d = 0; d < 256; d++)
        for (m = 0; m < 256; m++)
            lmrReductions[d][m] = 1.25 + log(d) * log(m) * 100 / LMR_DIV;
}

Anyways, Koivisto's network is literally just a 768->N->1 net at the moment. It's not at all original, but it's so obvious that it would be ridiculous to attribute the architecture to any one engine or call it "NNUE" for that matter (Fizbo used nearly the same topology!). It's not derived from some Stockfish line by line training code rewrite as you seem to think.

Is there any value in doing things yourself? Well, clearly there is as otherwise all engine development would be reduced to calling the "Stockfish library" from some wrapper code :P
Does Stockfish own log formula reduction tables now? Go read how Stockfish does LMR and compare. It's clearly not "ctrl+c/ctrl+v" from Stockfish as you wrote in your original post.
Again I did not accuse him or said he ctrl+c/ctrl+v code, he on the other hand did say that accusing others of being un-original. Reposting what I said:
You spend half your post on your engine's release ranting about how other engines are un-original, how they ctrl+c/ctrl+v Stockfish code etc. You must have the most original engine in the universe with no code written by others, heh? My guess is you have an engine that shot up to the rating lists with ideas taken from stockfish
So tell me where exactly did I say he ctrl+c/ctrl+v code ?? I only said "ideas taken from stockfish", which btw is completely fine. Using log scaling and tables for LMR reduction is a stockfish idea as fars as I know, so stop twisting my words.
I misread your post. My apologies. However, I fail see how using ideas from Stockfish makes it hypocritical to believe that copying thousands of lines from Stockfish is a bad practice.

These "why did you reinvent the wheel" arguments don't really make any sense to me as a great deal of chess programming involves reinventing wheels. If you really don't want to reinvent the wheel, just go all the way and fork Stockfish giving it a new name. It's clearly a silly argument
connor_mcmonigle
Posts: 544
Joined: Sun Sep 06, 2020 4:40 am
Full name: Connor McMonigle

Re: Koivisto 5.0

Post by connor_mcmonigle »

Daniel Shawul wrote: Thu Jul 08, 2021 1:51 pm It is hypocritical to lecture others while doing the same thing as what they are doing. You spend half your post on your engine's release ranting about how other engines are un-original, how they ctrl+c/ctrl+v Stockfish code etc. You must have the most original engine in the universe with no code written by others, heh? My guess is you have an engine that shot up to the rating lists with ideas taken from stockfish, and now you feel disappointed others caught up with you using NNUE, and now you say look at me I wrote trainer from scratch to justifiy using NNUE and massage your ego! You are not the first guy to feel that way...
I interpreted that "same thing" to be ctrl+c/ctrl+v code from Stockfish. What "same thing" are you referring to?