Maybe Korey can paste this into a jira ticket or something.
Who is Korey?
So you would like to have a superb app with glamorous interface that automatically detected threefold repetition, 50 moves etc in offline tournaments?
Detects everything, reports everything, has permissions, communicates to the TD automatically. Why arent we there yet
Detects everything, reports everything, has permissions, communicates to the TD automatically. Why arent we there yet
Play online...
The rules would have to be changed for OTB with no notation. You can't claim a triple repetition of position or 50 moves with no captures or pawn moves draw without a reasonably complete score sheet.
Also, I would guess the vast majority of tournaments don't have the equipment to implement anything like that
Understandable. But the report has the score sheet, any player claim can be validated or refuted. They could record too on paper if they want. Anyway. I only know one td that could roll this if the hardware and routines even existed. Appreciate the thoughts. It would take significant efforts to make this go. Trying to elevate the game and speed things along with better accuracy.
Is there a chess board application that will automatically alert, when a draw by repetition is achieved? It would help arbiters dispute resolution immensely, especially for draws that take a while to deduce from player move logs. Useful use case: over the board, on wired up smart systems. Option for online play.
This could be a straightforward piece of software code (pseudocode concept follows)
1. (While) after each move
2. Gather position fingerprint (white knight on g3...etc. for all 64)
3. Compare to all previous position fingerprints
4. Calculate number of times of occurrence
5. If x=3, Alert "Draw by 3x Repetition"
6. Send to Arbiter mode
This routine loop could also be done for the 50x move rule, except that you would need to see that no pieces have left the board as well, additional code, but the method could be done. A report could be made. (It could also record the move, and output the games move datasheet to print, post game, with result. It could also record the time for each move, notate novelties that are notin a database, and flags for illegal moves).
To make this work, this concept implies that there is a local database structure that houses for example the board square as a number 1-64, that there are piece identities 1-6, and the color 1-2. Then each board square position is an aggregate of three terms, and the board position in whole is an aggregate of the 64 terms. This is now a single string, a long delimited string or blob, or a database join that is unique, but it is a finite one, that for instance Oracle could easily compare. For location, piece, and color, we could use variable values like KQRBNP as well, or x for null; I for white, A for black etc. It doesnt really matter, the ontology vocab is arbitrary, it just has to be unique. Making it human readable is another thing. It could be pantone colors, or hexadecimal, no matter. Debugging will be easier though if its human readable. We proceed.
Then the database of positions for each move is the move by move state function itself, a string type file or blob, on a line or file in the relational or SQL database. For all position strings, diff them against one another, then count number of repeated occurences. For a computer, this is easy. It's fingerprint comparison. In a tense game, using humans that have to find you, look at the board and score sheets, it sorta sucks, especially in notation disputes.
The tricky thing to figure out in implementation logic and UI is that in chess rules, humans declare a draw by repetition, but humans may not see it. It can and does get missed. Especially if the positions do not occur sequentially. Having this Draw alert appear on screen, or as a buzzer, would throw off the rules and make it less human of a game, because then we would not have to remember or count, the timer would simply beep its alert that a draw position was reached. What fun is that? It would be accurate, but would it be fair? Sportsmanlike?
It also implies a new UI on the clock system, or at least a new field, and more expensive timing options. Thats someones new dev-ops task.
The goal would be determining game result, more accurately, but with the human side accounted for. Then, for example, this draw information would have to be reached by an arbiter, using a special mode for the board monitoring, that only they could see. A phone app that has the flags, illegal move, 3x rep draw, 50x draw rep, could also be made into this arbiter/monitoring app. The arbiter could come to the timing system with a QR code that is paired, and drag the info off the local cpu/raspberry pi/ whatever it is. This would make arbiter assistance of the players assertions very easy. Scan system, get report.
If we would like to groan, we can also have it list all forced mates missed, up to 10 moves out, and report that.
*** For Chess.com, this would all be even easier to implement. Maybe Korey can paste this into a jira ticket or something.
Q: Would having this app be received well ? It can certainly be made. It would be a boon of help after the 5 minute time where you need not record, as well. For online games, it could be a radio button or flag that players could set: "Alert on drawn position?"
I share this idea openly and greet any critique or positive additions. Do be constructive. If this comes to pass and someone makes a pile on it, do me a solid somehow would you? We all would have thought of this sooner or later, it just happened to be me this time.
Best wishes in all your games. Thanks