I am reporting SERIOUS CONCERN about RECKLESS engine
I have more than THIRTY years of programming experience
and after taking the time to compare both projects, I find the similarities between RECKLESS and Stockfish extremely STRIKING
(ONE)
Make repeated bench runs identical
cj5716Disservin
cj5716
authored and
Disservin
committed
on Jun 9, 2024
Commits on Jun 6, 2024
Simplify evaluation constants
cj5716vondele
cj5716
authored and
vondele
committed
on Jun 6, 2024
Commits on May 24, 2024
Optimise pairwise multiplication
cj5716Disservin
cj5716
authored and
Disservin
committed
on May 24, 2024
Commits on May 21, 2024
Simplify ClippedReLU
cj5716vondele
cj5716
authored and
vondele
committed
on May 21, 2024
Now this individual is coding for RECKLESS chess engine:
Update a comment regarding MAX_MOVES (#734)
cj5716
cj5716
authored
last month
·
(TWO)
Code: Select all
Reckless-dev =0 +27/=46/-27 50.00% 50.0/100
Stockfish-dev =0 +27/=46/-27 50.00% 50.0/100I have thirty years of programming experience, and I bothered to inspect SEVERAL Codes from both engines
The similarity is STRIKING !!!
It seems that the plagiarist changed the File Extension from CPP to RS, but the codes look otherwise identical :
Code: Select all
void operator<<(int bonus) {
// Make sure that bonus is in range [-D, D]
int clampedBonus = std::clamp(bonus, -D, D);
T val = *this;
*this = val + clampedBonus - val * std::abs(clampedBonus) / D;
assert(std::abs(T(*this)) <= D);
}Code: Select all
fn apply_bonus<const MAX: i32>(entry: &mut i16, bonus: i32) {
let bonus = bonus.clamp(-MAX, MAX);
*entry += (bonus - bonus.abs() * (*entry) as i32 / MAX) as i16;
}Yes — they are doing the same thing.
Simple explanation
Think of it like this:
• You have a value (entry / *this)
• You want to add a bonus
• But the closer the value gets to a limit (D / MAX), the smaller the bonus becomes
So instead of just doing:
value += bonus
They both do:
value += bonus - (a reduction based on how big value already is)
Step-by-step (plain and simple)
Both versions:
1. Clamp the bonus
→ Keep it between -D and D (or -MAX and MAX)
→ So nothing too extreme happens
2. Reduce the bonus if the value is already large
→ If your value is near the limit, you don’t get the full bonus
→ Prevents overshooting
3. Apply the adjusted bonus
Proof that these codes were plagiarized
Very suspicious
I ask MODS to look into RECKLESS
Regards
Quinn