Yes, the chess universe is huge.
But also the lichess explorer doesn't (cannot) crawl through the whole database. The number of games stored for each position and the depth is limited. So just because you don't see something in the explorer does not mean it has not been played before.
Just for reference: the number of possible games up to ply 15 is 2,015,099,950,053,364,471,960. Of course this contains a lot of nonsensical stuff, but it gives a little perspective on the vastness of our game. :-)
Yes, the chess universe is huge.
But also the lichess explorer doesn't (cannot) crawl through the whole database. The number of games stored for each position and the depth is limited. So just because you don't see something in the explorer does not mean it has not been played before.
Just for reference: the number of possible games up to ply 15 is 2,015,099,950,053,364,471,960. Of course this contains a lot of nonsensical stuff, but it gives a little perspective on the vastness of our game. :-)
@tvik7755 said in #1:
The ovious problem with bots and engines that they don't use human moves. When I practice I'd like to play against real human moves, including mistakes and falling into traps.
Lichess has a quite extensive game database and I thought it would be possible to integrate it with a chess GUI. The "engine" behind the GUI could choose a move randomly from previous games, taking into account the probabilities of moves. Even rating could be adjusted, for example I may not want to practice against GMs.
If there's no move in the database, the "engine" would fall back to a real engine.
As I saw Lichess has an API or maybe the database is downloadable so it seems to be quite possible to implement this. But it's still a lot of work to implement this and maybe somebody just did it previously.
So, the question is: do you know about an existing solution for the aforementioned challenge?
Welcome new human! Years ago researchers made progress on this issue:
https://lichess.org/@/lichess/blog/introducing-maia-a-human-like-neural-network-chess-engine/X9PUixUA
@tvik7755 said in #1:
> The ovious problem with bots and engines that they don't use human moves. When I practice I'd like to play against real human moves, including mistakes and falling into traps.
>
> Lichess has a quite extensive game database and I thought it would be possible to integrate it with a chess GUI. The "engine" behind the GUI could choose a move randomly from previous games, taking into account the probabilities of moves. Even rating could be adjusted, for example I may not want to practice against GMs.
> If there's no move in the database, the "engine" would fall back to a real engine.
>
> As I saw Lichess has an API or maybe the database is downloadable so it seems to be quite possible to implement this. But it's still a lot of work to implement this and maybe somebody just did it previously.
>
> So, the question is: do you know about an existing solution for the aforementioned challenge?
Welcome new human! Years ago researchers made progress on this issue:
https://lichess.org/@/lichess/blog/introducing-maia-a-human-like-neural-network-chess-engine/X9PUixUA
Thanks for the answers!
I didn't write it but I meant practicing openings.
Actually I made a prototype (in less time than a playing a classic game) by using open source components.
This is not meant to be a useful tool, just trying out the idea.
Only white side view is supported, works with rating 1200-1700, GUI is sketchy and corner cases aren't handled.
https://storage.googleapis.com/chess-coach/frontend.html
Drag and drop for own moves or press a button for choose a move from the lichess database.
I will develop it further a bit and I'll see if it's useful or not.
If not, this was a nice experiment and some practice of coding.
Thanks for the answers!
I didn't write it but I meant practicing openings.
Actually I made a prototype (in less time than a playing a classic game) by using open source components.
This is not meant to be a useful tool, just trying out the idea.
Only white side view is supported, works with rating 1200-1700, GUI is sketchy and corner cases aren't handled.
https://storage.googleapis.com/chess-coach/frontend.html
Drag and drop for own moves or press a button for choose a move from the lichess database.
I will develop it further a bit and I'll see if it's useful or not.
If not, this was a nice experiment and some practice of coding.
@tvik7755 said in #1:
The ovious problem with bots and engines that they don't use human moves. When I practice I'd like to play against real human moves, including mistakes and falling into traps.
Lichess has a quite extensive game database and I thought it would be possible to integrate it with a chess GUI. The "engine" behind the GUI could choose a move randomly from previous games, taking into account the probabilities of moves. Even rating could be adjusted, for example I may not want to practice against GMs.
If there's no move in the database, the "engine" would fall back to a real engine.
As I saw Lichess has an API or maybe the database is downloadable so it seems to be quite possible to implement this. But it's still a lot of work to implement this and maybe somebody just did it previously.
So, the question is: do you know about an existing solution for the aforementioned challenge?
What is a real database?
@tvik7755 said in #1:
> The ovious problem with bots and engines that they don't use human moves. When I practice I'd like to play against real human moves, including mistakes and falling into traps.
>
> Lichess has a quite extensive game database and I thought it would be possible to integrate it with a chess GUI. The "engine" behind the GUI could choose a move randomly from previous games, taking into account the probabilities of moves. Even rating could be adjusted, for example I may not want to practice against GMs.
> If there's no move in the database, the "engine" would fall back to a real engine.
>
> As I saw Lichess has an API or maybe the database is downloadable so it seems to be quite possible to implement this. But it's still a lot of work to implement this and maybe somebody just did it previously.
>
> So, the question is: do you know about an existing solution for the aforementioned challenge?
What is a real database?
<Comment deleted by user>
<Comment deleted by user>
<Comment deleted by user>
@Toscani said in #17:
StatFish is a UCI module wrapping StockFish, that will play first moves according to human opening usage statistics, allowing players to train against the most frequent openings. @tvik7755
github.com/loicmarie/statfish
AI models have learned from tons of human-generated data, including answers to different questions. This training helps AI understand and respond quickly and accurately, so you get info faster than waiting for replies from others who might be using AI to find answers. Using AI yourself can make finding info easier and less of a hassle!
Nice! I've been wondering when someone would make a generic UCI analog for CECP/polyglot...
@Toscani said in #17:
> StatFish is a UCI module wrapping StockFish, that will play first moves according to human opening usage statistics, allowing players to train against the most frequent openings. @tvik7755
> github.com/loicmarie/statfish
>
> AI models have learned from tons of human-generated data, including answers to different questions. This training helps AI understand and respond quickly and accurately, so you get info faster than waiting for replies from others who might be using AI to find answers. Using AI yourself can make finding info easier and less of a hassle!
Nice! I've been wondering when someone would make a generic UCI analog for CECP/polyglot...
I had the same idea for a long time. Now that you mentioned it, I decided to put it into action. What I have done is basically:
- Downloaded my own games from Lichess and turned them into an SQL database.
- Made a simple chess GUI and connected the database to it.
- Play ! If the position is in database then choose moves with weighted probability.
- Else, it switches to Stockfish.
Everything is done with Python.
Overall, it was fun to play the openings I know and see how many moves I can hold on versus Stockfish. It can lead to many interesting variations that I will definitely analyze.
I had the same idea for a long time. Now that you mentioned it, I decided to put it into action. What I have done is basically:
1. Downloaded my own games from Lichess and turned them into an SQL database.
2. Made a simple chess GUI and connected the database to it.
3. Play ! If the position is in database then choose moves with weighted probability.
4. Else, it switches to Stockfish.
Everything is done with Python.
Overall, it was fun to play the openings I know and see how many moves I can hold on versus Stockfish. It can lead to many interesting variations that I will definitely analyze.
<Comment deleted by user>