Your network blocks the Lichess assets!

lichess.org
Donate

Using Maia and Leela Chess Zero to Find Repertoire Gaps

This is a lovely idea. Glad to see that you got this working and are happy with the results.

I wanted to mention that lc0 should also give you a policy value (not just an evaluation). That policy value could potentially be used as a proxy for what a human would play. It doesn't require evaluation so it's quick to compute. And it would work for the first few moves just fine.

Ignore me if the Lichess API does the job well!

This is a lovely idea. Glad to see that you got this working and are happy with the results. I wanted to mention that lc0 should also give you [a policy value](https://lczero.org/dev/wiki/technical-explanation-of-leela-chess-zero/#example---verbose-move-stats-output) (not just an evaluation). That policy value could potentially be used as a proxy for what a human would play. It doesn't require evaluation so it's quick to compute. And it would work for the first few moves just fine. Ignore me if the Lichess API does the job well!

Sounds like you could invert the process to look for interesting traps as well.

Pick a non-common move in an often-reached position in your repertoire, check the most likely reply suggested by the model, and then check with Stockfish whether it's a blunder. If it is, you have found a promising trap.

You can go further, with multiple moves are played from the tabiya position, although you would probably need to create a simple engine that is good at searching for "trap moves". Then get the "trap engine" play against Maia from various positions in the repertoire and note down the variations where the "trap engine" scores well.

Sounds like you could invert the process to look for interesting traps as well. Pick a non-common move in an often-reached position in your repertoire, check the most likely reply suggested by the model, and then check with Stockfish whether it's a blunder. If it is, you have found a promising trap. You can go further, with multiple moves are played from the tabiya position, although you would probably need to create a simple engine that is good at searching for "trap moves". Then get the "trap engine" play against Maia from various positions in the repertoire and note down the variations where the "trap engine" scores well.

@matstc said in #21:

This is a lovely idea. Glad to see that you got this working and are happy with the results.

I wanted to mention that lc0 should also give you a policy value (not just an evaluation). That policy value could potentially be used as a proxy for what a human would play. It doesn't require evaluation so it's quick to compute. And it would work for the first few moves just fine.

Ignore me if the Lichess API does the job well!

In my application, I have allowed the ability to toggle between Maia and Lc0 so the user has options. and yes, I have taken the WDL to generate a cpEval, which is pretty cool.

@matstc said in #21: > This is a lovely idea. Glad to see that you got this working and are happy with the results. > > I wanted to mention that lc0 should also give you [a policy value](https://lczero.org/dev/wiki/technical-explanation-of-leela-chess-zero/#example---verbose-move-stats-output) (not just an evaluation). That policy value could potentially be used as a proxy for what a human would play. It doesn't require evaluation so it's quick to compute. And it would work for the first few moves just fine. > > Ignore me if the Lichess API does the job well! In my application, I have allowed the ability to toggle between Maia and Lc0 so the user has options. and yes, I have taken the WDL to generate a cpEval, which is pretty cool.

@RandBlunderGenerator said in #22:

Sounds like you could invert the process to look for interesting traps as well.

Pick a non-common move in an often-reached position in your repertoire, check the most likely reply suggested by the model, and then check with Stockfish whether it's a blunder. If it is, you have found a promising trap.

You can go further, with multiple moves are played from the tabiya position, although you would probably need to create a simple engine that is good at searching for "trap moves". Then get the "trap engine" play against Maia from various positions in the repertoire and note down the variations where the "trap engine" scores well.

Interesting, I was not thinking about this for traps, but was thinking about using a combination of Stockfish and Maia to identify brilliant moves i.e. high engine evaluations, but low probability of human play.

@RandBlunderGenerator said in #22: > Sounds like you could invert the process to look for interesting traps as well. > > Pick a non-common move in an often-reached position in your repertoire, check the most likely reply suggested by the model, and then check with Stockfish whether it's a blunder. If it is, you have found a promising trap. > > You can go further, with multiple moves are played from the tabiya position, although you would probably need to create a simple engine that is good at searching for "trap moves". Then get the "trap engine" play against Maia from various positions in the repertoire and note down the variations where the "trap engine" scores well. Interesting, I was not thinking about this for traps, but was thinking about using a combination of Stockfish and Maia to identify brilliant moves i.e. high engine evaluations, but low probability of human play.