lucasart wrote: ↑Mon Feb 17, 2020 5:41 am
chrisw wrote: ↑Sun Feb 16, 2020 10:18 pm
hgm wrote: ↑Sun Feb 16, 2020 7:22 pm
You don't like it when your stupidity receives extra attention?
Hahahaha! 100% no bugs for chess engines is entirely possible, the mechanics of moving the six pieces in defined ways over 64 squares and performing recursive search are quite trivial. Programmers who won’t work to 100% bug free methods are a liability and unemployable.
Please educate us all, by showing us YOUR 100% bugfree chess engine.
Oh, you don't write code? What a surprise…
I'll say it again, making such a statement is ridiculous since it can not be proven. HGM is correct that his 100 line program could well go through an automatic verification tool to confirm correctness. IF there is a 100% correct software specification.
So a double-whammy. Is the spec correct? Is the program correct? are both then correct?
But for normal chess programs, NOBODY can claim that a program is 100% bug free because such a statement requires proof. Proof that is impossible to produce. Why this keeps going around in circles, I don't understand. If you make the claim, you have to show the proof. Running with zero visible problems for a year is _NOT_ a proof.
This statement: "the mechanics of moving the six pieces in defined ways over 64 squares and performing recursive search are quite trivia" shows the lack of thought applied here. What about the mechanics of a chess evaluation? The mechanics of the actual search. The mechanics of the actual move generation. The mechanics of move ordering. The mechanics of hashing. The mechanics of parallel search. The mechanics of ... This list goes on and on and each example significantly adds to the total complexity of the chess engine.
I'm not interested in commercial data processing programs. They can be extreme in size, but simple in overall design. Just lots of code. A chess engine is the exact opposite. Not nearly as large, but MUCH more complex in the internal pieces of the program. And note I am talking about an actually functional, strong chess engine. Not the mentioned "recursive search is trivial" point above, which represents less than 1% of the program's complexity. In fact, some don't use recursion anyway, so that's a moot point.