4 ms·
Trying to teach myself linear algebra and deep learning so I can apply it to some interesting ideas I have about making current chess AI much stronger. I don't
by mtlmtlmtlmtl 4y ago
Trying to teach myself linear algebra and deep learning so I can apply it to some interesting ideas I have about making current chess AI much stronger. I don't want to reveal too much since I don't want some Stockfish dev to steal my idea but I'm interested in tips and resources on linear algebra. I always hated matrices...
Interspersed with that I have a huge amount of stuff to implement for my project still(search methods and the like), so I'm working on that as well. It's a lot of code to write and I'm just one guy so progress is slow.
What I'm doing at work would bore you to death so I'll leave it out.
- O__________O 4y agoAssuming you have looked at MuZero, since it’s able to not only beat Stockfish, but also not specifically for chess: https://en.m.wikipedia.org/wiki/MuZero https://en.m.wikipedia.org/wiki/MuZero https://github.com/werner-duvaud/muzero-general https://github.com/werner-duvaud/muzero-general https://m.youtube.com/watch?v=L0A86LmH7Yw https://m.youtube.com/watch?v=L0A86LmH7Yw
- mtlmtlmtlmtl 4y agoI am aware of MuZero, but I'm not convinced it's able to beat the latest Stockfish. Stockfish continues to dominate TCEC even after the advent of more advanced MCTS searchers. But MCTS is on my map as something to look into more deeply.
- O__________O 4y agoFor others, in cases it’s unclear: - MuZero uses MCTS (Monte Carlo Tree Search) - TCEC (Top Chess Engine Championship) is a computer chess tournament organized and maintained by Chessdom. ___ My understanding is MuZero doesn't compete in TCEC, but might be wrong. Given Stockfish is open source and open source versions of MuZero exist, it would be easy enough to test the current version of Stockfish again; honestly surprised if it’s not already done, that it is not, given MuZero already beat it.
- mtlmtlmtlmtl 4y agoMuZero doesn't, but from what I know MuZero was only on par with AlphaZero, and while AlphaZero beat Stockfish initially, Stockfish has since caught up and continues to beat LeelaZero, an OSS implementation of AlphaZero in TCEC.
- O__________O 4y agoMy understanding is that MuZero beats AlphaZero, but not by a significant amount. Even if Stockfish is better, to me at this point feels needless, given it’s highly unlikely a human over significant volume of matches would have any hope of beating any of them. It is possible that new approaches for masters might be found, but for average player, guessing it’s highly unlikely that anything new might be uncovered. Am I missing something?
- mtlmtlmtlmtl 4y agoYou're not missing something. I just wanna see how far we can take this thing, you know? 4000 ELO seems within reach now. What about 5000, 6000 etc? Computer chess is essentially a sport unto itself at this point, beating humans is sort of uninteresting, though I'm sure grandmasters will always find uses for ever stronger engines. They're mainly used to study openings, and since analysing from the start of the game is extremely complex, stronger engines are always helpful.
- O__________O 4y agoFair enough. As you likely know, ELO has no maximum upper limit and chess has 10^120 possible matches — so in theory maximum ELO for chess has a long way to go, assuming there is even one engine that keeps improving over time to beat its prior version. Huge aspect of performance is tied to availability of compute; as such, my understanding is that if quantum computers ever became mainstream, even a “dumb” algorithm using true quantum computer would beat non-quantum algorithm over significant number of matches and the “ELO race” would then only be define by progress by the non-quantum algorithms against themselves. Basically, at this point, it’s a race that’s already theoretically over; might be wrong though.
- v8xi 4y agoI'm actually in a similar boat learning these things to apply to chess but rather than making a stronger AI, trying to learn and catalog strategies to make learning chess more intuitive. Would be interested in talking more if you are! Can message me on lichess.org/@/v8xi if you play there
- mtlmtlmtlmtl 4y agoThat's a really interesting and sorely needed niche! I originally started out thinking about this, but the only ideas I could come up with were strength related, so I switched directions. Today's engines are hard if not impossible for amateur players to use correctly. I sent you a message on lichess!
- v8xi 4y agoAgreed! Hm, I don't see a message (and my account settings shouldn't be blocking it) - whats your username?
- epolanski 4y agoI think you're naive if you think decades of chess engines development are going to be disrupted by you picking up linear algebra. I also applaud and envy the craziness.
- mtlmtlmtlmtl 4y agoIt's not like I'm abandoning the decades of development. I'm starting with a fork of Stockfish 10(pre-NN, and using too recent a version could make it hard to submit it to TCEC due to rules about similarity to existing participants.) and I've been digging into the code and algorithms therein for months now. My approach is an extension of existing techniques. I actually started with a greenfield implementation, but found myself reading more and more Stockfish code anyway as it's an excellent reference for the state of the art. And I realised it was far too much work to reimplement all this stuff, so that's why I switched to a fork. And I wanna learn linalg and deep learning anyway.