lichess-org / compression Goto Github PK
View Code? Open in Web Editor NEWChess clock and move compression algorithms for lichess.org
License: GNU Affero General Public License v3.0
Chess clock and move compression algorithms for lichess.org
License: GNU Affero General Public License v3.0
Hello.
I played a game of chess against someone and gave my opponent more time. So that he has 5min time to think about it. For some reason lichess always interrupts the game. The reason for this is "time out". But both players still have time. What could be the reason for that. The game ends immediately if white wants to make the first move.
Forum: https://lichess.org/forum/general-chess-discussion/lichess-time-bug
Tactics/Puzzles on lichess are taken from it's database, so the reply/continuing move of the puzzle is the move played in the puzzle.
However, the issue with this is, even if the first move is the best(according to the computer/stockfish chess engine), the move that opponent takes sometimes isn't the best. So in a way, we are expected to expect that the opponent will move do a blunder and then we would react to it.
Example:
The green lines show the move sequence of the puzzle. We clearly can see that bishopC4(by black) is a blunder and we should not expect the player to do so, however, the puzzle is making up expect it.
There are 2 solutions in my head(relatively difficult but better, and relatively easier but not the best):
Flag of pin and skewer should be not checked if no bishops , no rooks and no Queen are present
Greeting and my apologies for using the issue tracker for just a question but here what I would ask :
I just read Lichess post about this compressor
https://lichess.org/blog/Wqa7GiAAAOIpBLoY/developer-update-275-improved-game-compression
And I find it really brilliant, but then I started to remember courses I took lot of years ago and just curious about how such implementation perform against different chess game sizes.
I am using my memory about Huffman encoding, so probably I am making mistakes, but I remember that can be expensive to store the tree for short messages. And for that reason is not always used as compression algorithm.
For that reason I am curious about data on this problem (compression of chess games) to understand if there is some threshold where simpler compression algorithm are cheaper (eg an adaptation of Zigzag VLQ because we are talking about byte/int).
Another way to cut head of small games, and improving in general compression rate may be also the use of shared opening book. So you can use just a number to pinpoint a sequence in the opening.
So to summarize, my question did you already thought about those two possible improvements? I think probably yes, then if possible can you please share your consideration about splitting the compression phase, because I am really curious about it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.