Wouldn't it be cool if we had a chess AI that explained why Stockfish wanted to make the moves it made? Like, sometimes it makes moves and I'm just like "....WHY" and so I click the "Threat" icon and the next move would be like completely irrelevant.
It could be really helpful to have an AI assistant handy that could elaborate on why the moves exist, sort of to the same flavor of the text provided in the Openings Explorer.
Wouldn't it be cool if we had a chess AI that explained why Stockfish wanted to make the moves it made? Like, sometimes it makes moves and I'm just like "....WHY" and so I click the "Threat" icon and the next move would be like completely irrelevant.
It could be really helpful to have an AI assistant handy that could elaborate on why the moves exist, sort of to the same flavor of the text provided in the Openings Explorer.
there is https://decodechess.com/transforming-chess-engine-analysis-with-explanations/
But I tried that and not yet too usefull. Though most mistakes I make are just losing pieces for no reason and normal engine does that.
ChatGPT can create "analysis" but as it lacks the engine it is more like making typical comments on similar positions.
I think it possinble to to do GPT x.x application by providing context by normal engine but for good analysis one would need internals of engine. And for NN type of engines not possible but for traditional engines perhaps. But that is Sh*t load of work
there is https://decodechess.com/transforming-chess-engine-analysis-with-explanations/
But I tried that and not yet too usefull. Though most mistakes I make are just losing pieces for no reason and normal engine does that.
ChatGPT can create "analysis" but as it lacks the engine it is more like making typical comments on similar positions.
I think it possinble to to do GPT x.x application by providing context by normal engine but for good analysis one would need internals of engine. And for NN type of engines not possible but for traditional engines perhaps. But that is Sh*t load of work
@petri999 said in #2:
I think it possinble to to do GPT x.x application by providing context by normal engine but for good analysis one would need internals of engine. And for NN type of engines not possible but for traditional engines perhaps. But that is Sh*t load of work
thanks though for delving into the explanation of matters :) I'm just dreaming ideas haha, I certainly don't have the ability rn to create such a thing, but it would be cool!
I had a move recently where I saw like two points lost for not making an edge pawn move (a5, I believe, supported by a b4 pawn) that seemed arbitrary to me. No same color bishop to block off, and the computer's next move was just to move its queen over from b8-c8, onto an open file. So, Mr. Computer, why shouldn't I have blocked off the open c-file with my Queen? Mr. Computer didn't tell me.
P.S. @fortifyillusion if you're gonna downvote me, say why.
@petri999 said in #2:
> I think it possinble to to do GPT x.x application by providing context by normal engine but for good analysis one would need internals of engine. And for NN type of engines not possible but for traditional engines perhaps. But that is Sh*t load of work
thanks though for delving into the explanation of matters :) I'm just dreaming ideas haha, I certainly don't have the ability rn to create such a thing, but it would be cool!
I had a move recently where I saw like two points lost for not making an edge pawn move (a5, I believe, supported by a b4 pawn) that seemed arbitrary to me. No same color bishop to block off, and the computer's next move was just to move its queen over from b8-c8, onto an open file. So, Mr. Computer, why shouldn't I have blocked off the open c-file with my Queen? Mr. Computer didn't tell me.
P.S. @fortifyillusion if you're gonna downvote me, say why.
It is a hard problem to explain engine moves in a way that is natural and understandable for humans. Lots of people/groups have tried.
One person is ?Lucas Monk/Monge of the free Lucas Chess application and they include a Tutor (lots of configuration options) that offers suggestions and tries to give advice suited to humans. They used to use Honey in 2020 but I am unsure what are doing now.
"Honey formerly McCain, which is the default tutor used by the program, now updated to version XI. The author is Michael Byrne."2020
http://lucaschess.pythonanywhere.com/
I think that the Ginkgo engine used to also focus on trying to give good human feedback. It was recently co-opted by the stinky Chessbase company and is now a pseudo ridiculous so-called world champion that they shrill and sell. Previously, Stockfish took Chessbase to court for infringing on their rights and Chessbase lost.
It is a hard problem to explain engine moves in a way that is natural and understandable for humans. Lots of people/groups have tried.
One person is ?Lucas Monk/Monge of the free Lucas Chess application and they include a Tutor (lots of configuration options) that offers suggestions and tries to give advice suited to humans. They used to use Honey in 2020 but I am unsure what are doing now.
"Honey formerly McCain, which is the default tutor used by the program, now updated to version XI. The author is Michael Byrne."2020
http://lucaschess.pythonanywhere.com/
I think that the Ginkgo engine used to also focus on trying to give good human feedback. It was recently co-opted by the stinky Chessbase company and is now a pseudo ridiculous so-called world champion that they shrill and sell. Previously, Stockfish took Chessbase to court for infringing on their rights and Chessbase lost.
Funny enough, this would work with older engines much better. There the evaluation was crafted by humans, and it was possible to drill down to different factors of the position (i.e. values for king safety, piece activity etc.). Their moves often made sense from a human perspective.
But with modern engines with neural nets, it is much less clear what the engine "motivates" to give a certain evaluation. And while we often think the engine gives this move because it values space or something else, in reality we simply don't know. We are kindly offered an evaluation from a leaf at the end of a min-max-search-tree dozens of moves away from the current position.
Funny enough, this would work with older engines much better. There the evaluation was crafted by humans, and it was possible to drill down to different factors of the position (i.e. values for king safety, piece activity etc.). Their moves often made sense from a human perspective.
But with modern engines with neural nets, it is much less clear what the engine "motivates" to give a certain evaluation. And while we often *think* the engine gives this move because it values space or something else, in reality we simply don't know. We are kindly offered an evaluation from a leaf at the end of a min-max-search-tree dozens of moves away from the current position.
@Forgeron-de-Pion said in #3:
I had a move recently where I saw like two points lost for not making an edge pawn move (a5, I believe, supported by a b4 pawn) that seemed arbitrary to me. No same color bishop to block off, and the computer's next move was just to move its queen over from b8-c8, onto an open file. So, Mr. Computer, why shouldn't I have blocked off the open c-file with my Queen? Mr. Computer didn't tell me.
You should post the position if you really want an answer...
@Forgeron-de-Pion said in #3:
> I had a move recently where I saw like two points lost for not making an edge pawn move (a5, I believe, supported by a b4 pawn) that seemed arbitrary to me. No same color bishop to block off, and the computer's next move was just to move its queen over from b8-c8, onto an open file. So, Mr. Computer, why shouldn't I have blocked off the open c-file with my Queen? Mr. Computer didn't tell me.
You should post the position if you really want an answer...
@nadjarostowa said in #5:
Funny enough, this would work with older engines much better. There the evaluation was crafted by humans, and it was possible to drill down to different factors of the position (i.e. values for king safety, piece activity etc.). Their moves often made sense from a human perspective.
But with modern engines with neural nets, it is much less clear what the engine "motivates" to give a certain evaluation. And while we often think the engine gives this move because it values space or something else, in reality we simply don't know. We are kindly offered an evaluation from a leaf at the end of a min-max-search-tree dozens of moves away from the current position.
They (almost completely) removed HCE (hand crafted evaluation) from Stockfish in July 2023. That is why I still keep a copy of the source code of last version (branch 6a8767a0d5d9502e6d4de1bef97468b5d6fab80a) that has both HCE and NN (and UCI lets you choose whether you want to use NN or HCE, default being NN). I think it is possible to print a breakdown of the HCE evaluation of a given position (like space, king safety, ...) from the command line interface (and also from python using python-chess), and it should not be difficult (by very local changes in the stockfish code) to print out more useful information.
Personally for me some of the older engines (crafty, phalanx) are quite interesting.
@nadjarostowa said in #5:
> Funny enough, this would work with older engines much better. There the evaluation was crafted by humans, and it was possible to drill down to different factors of the position (i.e. values for king safety, piece activity etc.). Their moves often made sense from a human perspective.
>
> But with modern engines with neural nets, it is much less clear what the engine "motivates" to give a certain evaluation. And while we often *think* the engine gives this move because it values space or something else, in reality we simply don't know. We are kindly offered an evaluation from a leaf at the end of a min-max-search-tree dozens of moves away from the current position.
They (almost completely) removed HCE (hand crafted evaluation) from Stockfish in July 2023. That is why I still keep a copy of the source code of last version (branch 6a8767a0d5d9502e6d4de1bef97468b5d6fab80a) that has both HCE and NN (and UCI lets you choose whether you want to use NN or HCE, default being NN). I think it is possible to print a breakdown of the HCE evaluation of a given position (like space, king safety, ...) from the command line interface (and also from python using python-chess), and it should not be difficult (by very local changes in the stockfish code) to print out more useful information.
Personally for me some of the older engines (crafty, phalanx) are quite interesting.
I am sure someone is in process of training an AI for that very purpose!
I am sure someone is in process of training an AI for that very purpose!
@Forgeron-de-Pion said in #1:
Wouldn't it be cool if we had a chess AI that explained why Stockfish wanted to make the moves it made? Like, sometimes it makes moves and I'm just like "....WHY" and so I click the "Threat" icon and the next move would be like completely irrelevant.
It could be really helpful to have an AI assistant handy that could elaborate on why the moves exist, sort of to the same flavor of the text provided in the Openings Explorer.
I’ve seen even grandmasters be perplexed by engine recommendations sometimes. But they’ll get to the reason of the move eventually; by analyzing the position. You and me- we’re not quite at that level, and so we get perplexed by the machine’s ideas more often. But I can tell you that it gets easier to understand if you do the same thing; analyze, try to find out why it says what it says. Do this enough, and you’ll get to a point where you won’t need an AI assistant to translate the ‘fish because you’ll remember the idea from seeing it in a similar position, and it’ll make sense.
I realize that ‘analyzing’ can be an abstract term (I can give examples if you want), and you might not care for advice on how to improve anyway but this is how you get better at chess. When you ask an AI, you get a quick answer and no real learning because you skipped the work. That’s assuming a glorified magic 8-ball like GPT could even give you a real answer; I’ve seen more than one example of it straight up lying. You’re better off on your own.
@Forgeron-de-Pion said in #1:
> Wouldn't it be cool if we had a chess AI that explained why Stockfish wanted to make the moves it made? Like, sometimes it makes moves and I'm just like "....WHY" and so I click the "Threat" icon and the next move would be like completely irrelevant.
>
> It could be really helpful to have an AI assistant handy that could elaborate on why the moves exist, sort of to the same flavor of the text provided in the Openings Explorer.
I’ve seen even grandmasters be perplexed by engine recommendations sometimes. But they’ll get to the reason of the move eventually; by analyzing the position. You and me- we’re not quite at that level, and so we get perplexed by the machine’s ideas more often. But I can tell you that it gets easier to understand if you do the same thing; analyze, try to find out why it says what it says. Do this enough, and you’ll get to a point where you won’t need an AI assistant to translate the ‘fish because you’ll remember the idea from seeing it in a similar position, and it’ll make sense.
I realize that ‘analyzing’ can be an abstract term (I can give examples if you want), and you might not care for advice on how to improve anyway but this is how you get better at chess. When you ask an AI, you get a quick answer and no real learning because you skipped the work. That’s assuming a glorified magic 8-ball like GPT could even give you a real answer; I’ve seen more than one example of it straight up lying. You’re better off on your own.
I mean isn't the actual answer (even with human crafted evaluation) disappointingly often: none of the variations quite work out. Maybe there could be an approach where you take the variations with the most natural looking moves, look at why all of them fail, and then try to summarize it to something in text for to something like "you mustn't take the rooks of the board, because if you go for the pawn race you will lose, and if you try to block the black pawn with your king then you will be gradually squeezed out through zugzwang."
I mean isn't the actual answer (even with human crafted evaluation) disappointingly often: none of the variations quite work out. Maybe there could be an approach where you take the variations with the most natural looking moves, look at why all of them fail, and then try to summarize it to something in text for to something like "you mustn't take the rooks of the board, because if you go for the pawn race you will lose, and if you try to block the black pawn with your king then you will be gradually squeezed out through zugzwang."