Reset-Mobility Chess

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

Madeleine Birchfield
Posts: 512
Joined: Tue Sep 29, 2020 4:29 pm
Location: Dublin, Ireland
Full name: Madeleine Birchfield

Reset-Mobility Chess

Post by Madeleine Birchfield »

One of the administrators at TCEC, Aloril, has recently developed a variant of chess called Reset-Mobility chess, or R-Mobility chess, which is a generalisation of Lasker chess (where stalemate = 0.75 points) to every chess game that ends in a draw.

The goal of Reset-Mobility chess is to force your opponent to end with as few legal moves as possible, preferably with the king in check. The best case (as in regular chess) would be the case of mate, where the opponent has zero legal moves possible, with the king in check. The second best case would be stalemate, where the opponent has zero legal moves possible, with the king not in check. The third best case would be when the position is drawn by normal chess rules, but the opponent's king is in check with only one move possible.

Aloril has come up with a numerical value for this system, the G value, which is equal to the number of moves possible on the opponent's next move, plus 0.5 if the king is not in check. So mate would be G = 0, stalemate would be G = 0.5, only one legal move with the king in check would be G = 1, and so on.

Translated into tournament points, Aloril provides the following formula: points = 0.5 + 0.5^(1 + 2G) for the winner of the game, and points = 0.5 - 0.5^(1 + 2G) for the loser of the game in Reset-Mobility chess. For G = 0 the result yields 1 point for the winner and 0 point for the loser, as in regular chess. However, this is not the only formula possible, other formulas suggested on the TCEC discord include the logistic function points = 0.5 + 0.5*tanh(1 + 2G) and the harmonic function points = 0.5 + 0.5/(1 + 2G), and the choice of formula potentially has a large effect on tournament points.

More information could be found on the TCEC wiki here: https://wiki.chessdom.org/R-Mobility

Starting in Season 19, Aloril has begun using Reset-Mobility chess as a method of resolving tiebreaks in TCEC, and in Season 20, Reset-Mobility now ranks second in the list of tiebreaks. If Reset-Mobility ranked first instead of most wins in the tiebreakers, that would essentially means that Aloril is running a Reset-Mobility chess tournament instead of a regular chess tournament in TCEC.

Moreover, Aloril wants chess engines to be able to play Reset-Mobility chess, and claims that adding the ability to play this chess variant to a chess engine would yield positive or neutral elo. I'm not sure if that statement is true at all, due to changes in the engine's search, evaluation architecture, and tuning/training parameters. I am also not sure how many actual chess engines have any intention of implementing Reset-Mobility when neither UCI/Winboard nor and the chess GUIs support Reset-Mobility yet.
mmt
Posts: 343
Joined: Sun Aug 25, 2019 8:33 am
Full name: .

Re: Reset-Mobility Chess

Post by mmt »

Seems pretty similar to my suggestion from February: http://talkchess.com/forum3/viewtopic.php?f=2&t=72988. I'm for it.
Ferdy
Posts: 4846
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Reset-Mobility Chess

Post by Ferdy »

Madeleine Birchfield wrote: Fri Dec 25, 2020 9:15 am More information could be found on the TCEC wiki here: https://wiki.chessdom.org/R-Mobility
[d]8/8/8/4KBk1/8/8/8/8 b - - 0 1

The game has already ended, and the game can still continue for this tie-break system?

Why not just use a material count where P=1, N=B=3, R=5, Q=10 to break the tie? In the above position white is superior. There is no need to continue the game.

Code: Select all

name: score, white: 0.5, black: 0.5
name: tie_break_score, white: 3, black: 0
At the end of the tournament, to determine the ranking when engines have equal score, just compare their accumulated TBS (Tie Break Score), the engine with higher TBS will be ranked higher.
User avatar
Ajedrecista
Posts: 2098
Joined: Wed Jul 13, 2011 9:04 pm
Location: Madrid, Spain.

Re: Reset-Mobility Chess.

Post by Ajedrecista »

Hello Madeleine:
Madeleine Birchfield wrote: Fri Dec 25, 2020 9:15 am[...]

Aloril has come up with a numerical value for this system, the G value, which is equal to the number of moves possible on the opponent's next move, plus 0.5 if the king is not in check. So mate would be G = 0, stalemate would be G = 0.5, only one legal move with the king in check would be G = 1, and so on.

Translated into tournament points, Aloril provides the following formula: points = 0.5 + 0.5^(1 + 2G) for the winner of the game, and points = 0.5 - 0.5^(1 + 2G) for the loser of the game in Reset-Mobility chess. For G = 0 the result yields 1 point for the winner and 0 point for the loser, as in regular chess. However, this is not the only formula possible, other formulas suggested on the TCEC discord include the logistic function points = 0.5 + 0.5*tanh(1 + 2G) and the harmonic function points = 0.5 + 0.5/(1 + 2G), and the choice of formula potentially has a large effect on tournament points.

More information could be found on the TCEC wiki here: https://wiki.chessdom.org/R-Mobility

[...]
I see something fishy in points = 0.5 + 0.5*tanh(1 + 2G) when comparing the proposed formulas:

Code: Select all

f1(G) = 0.5 + 0.5^(1 + 2G)
f2(G) = 0.5 + 0.5*tanh(1 + 2G)
f3(G) = 0.5 + 0.5/(1 + 2G)

  G        f1(G)        f2(G)        f3(G)
 0.0     1.000000     0.880797     1.000000
 0.5     0.750000     0.982014     0.750000
 1.0     0.625000     0.997527     0.666667
 1.5     0.562500     0.999665     0.625000
 2.0     0.531250     0.999955     0.600000
 2.5     0.515625     0.999994     0.583333
 3.0     0.507813     0.999999     0.571429
 3.5     0.503906     1.000000     0.562500
 4.0     0.501953     1.000000     0.555556
 4.5     0.500977     1.000000     0.550000
 5.0     0.500488     1.000000     0.545455
 5.5     0.500244     1.000000     0.541667
 6.0     0.500122     1.000000     0.538462
 6.5     0.500061     1.000000     0.535714
 7.0     0.500031     1.000000     0.533333
 7.5     0.500015     1.000000     0.531250
 8.0     0.500008     1.000000     0.529412
 8.5     0.500004     1.000000     0.527778
 9.0     0.500002     1.000000     0.526316
 9.5     0.500001     1.000000     0.525000
10.0     0.500000     1.000000     0.523810
10.5     0.500000     1.000000     0.522727
A more reasonable formula would be points = 1 - 0.5*tanh(G) for the leading side and points = 0.5*tanh(G) for the other side:

Code: Select all

f1(G) = 0.5 + 0.5^(1 + 2G)
f2(G) = 1 - 0.5*tanh(G)
f3(G) = 0.5 + 0.5/(1 + 2G)

  G        f1(G)        f2(G)        f3(G)
 0.0     1.000000     1.000000     1.000000
 0.5     0.750000     0.749740     0.750000
 1.0     0.625000     0.599750     0.666667
 1.5     0.562500     0.535571     0.625000
 2.0     0.531250     0.512128     0.600000
 2.5     0.515625     0.504070     0.583333
 3.0     0.507813     0.501359     0.571429
 3.5     0.503906     0.500453     0.562500
 4.0     0.501953     0.500151     0.555556
 4.5     0.500977     0.500050     0.550000
 5.0     0.500488     0.500017     0.545455
 5.5     0.500244     0.500006     0.541667
 6.0     0.500122     0.500002     0.538462
 6.5     0.500061     0.500001     0.535714
 7.0     0.500031     0.500000     0.533333
 7.5     0.500015     0.500000     0.531250
 8.0     0.500008     0.500000     0.529412
 8.5     0.500004     0.500000     0.527778
 9.0     0.500002     0.500000     0.526316
 9.5     0.500001     0.500000     0.525000
10.0     0.500000     0.500000     0.523810
10.5     0.500000     0.500000     0.522727
There are other possibilities, of course: 1 - 0.5*tanh(k*G) for instance, with k <> 1.

Regards from Spain.

Ajedrecista.
Madeleine Birchfield
Posts: 512
Joined: Tue Sep 29, 2020 4:29 pm
Location: Dublin, Ireland
Full name: Madeleine Birchfield

Re: Reset-Mobility Chess.

Post by Madeleine Birchfield »

Ajedrecista wrote: Fri Dec 25, 2020 1:13 pm Hello Madeleine:
Madeleine Birchfield wrote: Fri Dec 25, 2020 9:15 am[...]

Aloril has come up with a numerical value for this system, the G value, which is equal to the number of moves possible on the opponent's next move, plus 0.5 if the king is not in check. So mate would be G = 0, stalemate would be G = 0.5, only one legal move with the king in check would be G = 1, and so on.

Translated into tournament points, Aloril provides the following formula: points = 0.5 + 0.5^(1 + 2G) for the winner of the game, and points = 0.5 - 0.5^(1 + 2G) for the loser of the game in Reset-Mobility chess. For G = 0 the result yields 1 point for the winner and 0 point for the loser, as in regular chess. However, this is not the only formula possible, other formulas suggested on the TCEC discord include the logistic function points = 0.5 + 0.5*tanh(1 + 2G) and the harmonic function points = 0.5 + 0.5/(1 + 2G), and the choice of formula potentially has a large effect on tournament points.

More information could be found on the TCEC wiki here: https://wiki.chessdom.org/R-Mobility

[...]
I see something fishy in points = 0.5 + 0.5*tanh(1 + 2G) when comparing the proposed formulas:

Code: Select all

f1(G) = 0.5 + 0.5^(1 + 2G)
f2(G) = 0.5 + 0.5*tanh(1 + 2G)
f3(G) = 0.5 + 0.5/(1 + 2G)

  G        f1(G)        f2(G)        f3(G)
 0.0     1.000000     0.880797     1.000000
 0.5     0.750000     0.982014     0.750000
 1.0     0.625000     0.997527     0.666667
 1.5     0.562500     0.999665     0.625000
 2.0     0.531250     0.999955     0.600000
 2.5     0.515625     0.999994     0.583333
 3.0     0.507813     0.999999     0.571429
 3.5     0.503906     1.000000     0.562500
 4.0     0.501953     1.000000     0.555556
 4.5     0.500977     1.000000     0.550000
 5.0     0.500488     1.000000     0.545455
 5.5     0.500244     1.000000     0.541667
 6.0     0.500122     1.000000     0.538462
 6.5     0.500061     1.000000     0.535714
 7.0     0.500031     1.000000     0.533333
 7.5     0.500015     1.000000     0.531250
 8.0     0.500008     1.000000     0.529412
 8.5     0.500004     1.000000     0.527778
 9.0     0.500002     1.000000     0.526316
 9.5     0.500001     1.000000     0.525000
10.0     0.500000     1.000000     0.523810
10.5     0.500000     1.000000     0.522727
A more reasonable formula would be points = 1 - 0.5*tanh(G) for the leading side and points = 0.5*tanh(G) for the other side:

Code: Select all

f1(G) = 0.5 + 0.5^(1 + 2G)
f2(G) = 1 - 0.5*tanh(G)
f3(G) = 0.5 + 0.5/(1 + 2G)

  G        f1(G)        f2(G)        f3(G)
 0.0     1.000000     1.000000     1.000000
 0.5     0.750000     0.749740     0.750000
 1.0     0.625000     0.599750     0.666667
 1.5     0.562500     0.535571     0.625000
 2.0     0.531250     0.512128     0.600000
 2.5     0.515625     0.504070     0.583333
 3.0     0.507813     0.501359     0.571429
 3.5     0.503906     0.500453     0.562500
 4.0     0.501953     0.500151     0.555556
 4.5     0.500977     0.500050     0.550000
 5.0     0.500488     0.500017     0.545455
 5.5     0.500244     0.500006     0.541667
 6.0     0.500122     0.500002     0.538462
 6.5     0.500061     0.500001     0.535714
 7.0     0.500031     0.500000     0.533333
 7.5     0.500015     0.500000     0.531250
 8.0     0.500008     0.500000     0.529412
 8.5     0.500004     0.500000     0.527778
 9.0     0.500002     0.500000     0.526316
 9.5     0.500001     0.500000     0.525000
10.0     0.500000     0.500000     0.523810
10.5     0.500000     0.500000     0.522727
There are other possibilities, of course: 1 - 0.5*tanh(k*G) for instance, with k <> 1.

Regards from Spain.

Ajedrecista.
sorry, the tanh formula was wrong when I copied it. It should involve tanh(1/2G) instead of tanh(1 + 2G).
Karlo Bala
Posts: 373
Joined: Wed Mar 22, 2006 10:17 am
Location: Novi Sad, Serbia
Full name: Karlo Balla

Re: Reset-Mobility Chess

Post by Karlo Bala »

Madeleine Birchfield wrote: Fri Dec 25, 2020 9:15 am One of the administrators at TCEC, Aloril, has recently developed a variant of chess called Reset-Mobility chess, or R-Mobility chess, which is a generalisation of Lasker chess (where stalemate = 0.75 points) to every chess game that ends in a draw.

The goal of Reset-Mobility chess is to force your opponent to end with as few legal moves as possible, preferably with the king in check. The best case (as in regular chess) would be the case of mate, where the opponent has zero legal moves possible, with the king in check. The second best case would be stalemate, where the opponent has zero legal moves possible, with the king not in check. The third best case would be when the position is drawn by normal chess rules, but the opponent's king is in check with only one move possible.

Aloril has come up with a numerical value for this system, the G value, which is equal to the number of moves possible on the opponent's next move, plus 0.5 if the king is not in check. So mate would be G = 0, stalemate would be G = 0.5, only one legal move with the king in check would be G = 1, and so on.

Translated into tournament points, Aloril provides the following formula: points = 0.5 + 0.5^(1 + 2G) for the winner of the game, and points = 0.5 - 0.5^(1 + 2G) for the loser of the game in Reset-Mobility chess. For G = 0 the result yields 1 point for the winner and 0 point for the loser, as in regular chess. However, this is not the only formula possible, other formulas suggested on the TCEC discord include the logistic function points = 0.5 + 0.5*tanh(1 + 2G) and the harmonic function points = 0.5 + 0.5/(1 + 2G), and the choice of formula potentially has a large effect on tournament points.

More information could be found on the TCEC wiki here: https://wiki.chessdom.org/R-Mobility

Starting in Season 19, Aloril has begun using Reset-Mobility chess as a method of resolving tiebreaks in TCEC, and in Season 20, Reset-Mobility now ranks second in the list of tiebreaks. If Reset-Mobility ranked first instead of most wins in the tiebreakers, that would essentially means that Aloril is running a Reset-Mobility chess tournament instead of a regular chess tournament in TCEC.

Moreover, Aloril wants chess engines to be able to play Reset-Mobility chess, and claims that adding the ability to play this chess variant to a chess engine would yield positive or neutral elo. I'm not sure if that statement is true at all, due to changes in the engine's search, evaluation architecture, and tuning/training parameters. I am also not sure how many actual chess engines have any intention of implementing Reset-Mobility when neither UCI/Winboard nor and the chess GUIs support Reset-Mobility yet.
Using such a tiebreak without engines know the rules is not fair. I can up with a dozen examples where engines deliberately sacrifice material in draw positions just to force stalemate or insufficient material.
Best Regards,
Karlo Balla Jr.
Time
Posts: 12
Joined: Tue Jun 18, 2013 4:50 pm

Re: Reset-Mobility Chess

Post by Time »

Some further links: the original whole game mobility version (with longest G result .pgns based on five men tablebases), ICGA article (for those who can afford it or has access to the journal), example endgames taken from TCEC played by some interested parties.

After finally getting Aquarium 2022 (which much to my delight also supports DFRC), I looked somewhat again on r-mob opening analysis in general, and drifted into 1. d4 Nf6 2. Bf4, which looked interesting (and suggested as best move by SF on a reasonably high PV, although I expect it would have gone back to 2. c4 if given more time) from the point of view of giving white opportunities for an early kingside attack with possibilities for a perpetual.

But without any specialized engine assistance, the search for these perpetuals become rather tiresome. I would guess that even a special setting assigning a perpetual check as a win (possibly e.g. within the first 40 moves, and with more than 8 pawns and 8 non-pawns on the board, or even better, values which can be adjusted in the engine settings) would help a lot in this phase, while endgames will often be more managable for humans.
lkaufman
Posts: 6224
Joined: Sun Jan 10, 2010 6:15 am
Location: Maryland USA
Full name: Larry Kaufman

Re: Reset-Mobility Chess.

Post by lkaufman »

Ajedrecista wrote: Fri Dec 25, 2020 1:13 pm Hello Madeleine:
Madeleine Birchfield wrote: Fri Dec 25, 2020 9:15 am[...]

Aloril has come up with a numerical value for this system, the G value, which is equal to the number of moves possible on the opponent's next move, plus 0.5 if the king is not in check. So mate would be G = 0, stalemate would be G = 0.5, only one legal move with the king in check would be G = 1, and so on.

Translated into tournament points, Aloril provides the following formula: points = 0.5 + 0.5^(1 + 2G) for the winner of the game, and points = 0.5 - 0.5^(1 + 2G) for the loser of the game in Reset-Mobility chess. For G = 0 the result yields 1 point for the winner and 0 point for the loser, as in regular chess. However, this is not the only formula possible, other formulas suggested on the TCEC discord include the logistic function points = 0.5 + 0.5*tanh(1 + 2G) and the harmonic function points = 0.5 + 0.5/(1 + 2G), and the choice of formula potentially has a large effect on tournament points.

More information could be found on the TCEC wiki here: https://wiki.chessdom.org/R-Mobility

[...]
I see something fishy in points = 0.5 + 0.5*tanh(1 + 2G) when comparing the proposed formulas:

Code: Select all

f1(G) = 0.5 + 0.5^(1 + 2G)
f2(G) = 0.5 + 0.5*tanh(1 + 2G)
f3(G) = 0.5 + 0.5/(1 + 2G)

  G        f1(G)        f2(G)        f3(G)
 0.0     1.000000     0.880797     1.000000
 0.5     0.750000     0.982014     0.750000
 1.0     0.625000     0.997527     0.666667
 1.5     0.562500     0.999665     0.625000
 2.0     0.531250     0.999955     0.600000
 2.5     0.515625     0.999994     0.583333
 3.0     0.507813     0.999999     0.571429
 3.5     0.503906     1.000000     0.562500
 4.0     0.501953     1.000000     0.555556
 4.5     0.500977     1.000000     0.550000
 5.0     0.500488     1.000000     0.545455
 5.5     0.500244     1.000000     0.541667
 6.0     0.500122     1.000000     0.538462
 6.5     0.500061     1.000000     0.535714
 7.0     0.500031     1.000000     0.533333
 7.5     0.500015     1.000000     0.531250
 8.0     0.500008     1.000000     0.529412
 8.5     0.500004     1.000000     0.527778
 9.0     0.500002     1.000000     0.526316
 9.5     0.500001     1.000000     0.525000
10.0     0.500000     1.000000     0.523810
10.5     0.500000     1.000000     0.522727
A more reasonable formula would be points = 1 - 0.5*tanh(G) for the leading side and points = 0.5*tanh(G) for the other side:

Code: Select all

f1(G) = 0.5 + 0.5^(1 + 2G)
f2(G) = 1 - 0.5*tanh(G)
f3(G) = 0.5 + 0.5/(1 + 2G)

  G        f1(G)        f2(G)        f3(G)
 0.0     1.000000     1.000000     1.000000
 0.5     0.750000     0.749740     0.750000
 1.0     0.625000     0.599750     0.666667
 1.5     0.562500     0.535571     0.625000
 2.0     0.531250     0.512128     0.600000
 2.5     0.515625     0.504070     0.583333
 3.0     0.507813     0.501359     0.571429
 3.5     0.503906     0.500453     0.562500
 4.0     0.501953     0.500151     0.555556
 4.5     0.500977     0.500050     0.550000
 5.0     0.500488     0.500017     0.545455
 5.5     0.500244     0.500006     0.541667
 6.0     0.500122     0.500002     0.538462
 6.5     0.500061     0.500001     0.535714
 7.0     0.500031     0.500000     0.533333
 7.5     0.500015     0.500000     0.531250
 8.0     0.500008     0.500000     0.529412
 8.5     0.500004     0.500000     0.527778
 9.0     0.500002     0.500000     0.526316
 9.5     0.500001     0.500000     0.525000
10.0     0.500000     0.500000     0.523810
10.5     0.500000     0.500000     0.522727
There are other possibilities, of course: 1 - 0.5*tanh(k*G) for instance, with k <> 1.

Regards from Spain.

Ajedrecista.
Of these 3, only f3 makes sense to me, since with f1 the values quickly reach 0.5 with six digits displayed; also the formula should not use functions like tangent or logistic, just simple division, so that it could be used for OTB play (players should be able to do simple division without a calculator, roughly). However it seems strange to me that perpetual check is considered a (near) win, since in the Asian versions of chess it is illegal (i.e. losing), and this seems more in the spirit of chess to me, for example in queen endings the side with an extra (or more advanced) passer should get the win if his opponent can only delay it by checks. Also the fifty move rule draws should compare the mobility of the two sides somehow, not just calculate it arbitrarily for one side, as doing it for one side amounts to a rule that decides the game based on who made the last pawn move or capture, which seems rather random to me; a mobility comparison seems more relevant.
Komodo rules!
Time
Posts: 12
Joined: Tue Jun 18, 2013 4:50 pm

Re: Reset-Mobility Chess

Post by Time »

Thank you for very interesting thoughts!

(a) about scoring: "Of these 3, only [f1(G) = 0.5 + 0.5^(1 + 2G)] makes sense to me, since with f1 the values quickly reach 0.5 with six digits displayed".

To me, this is actually not a very crucial thing to work out until the "non-numerical rules" are sorted out. If the core rules are satisfying, one could even play pairs of games with only three outcomes, where the players switch between who plays white first for each pair, since the one who plays white in the second game in each pair, is at an advantage information-wise. This is perhaps the most reductionist approach. An opposite extreme would be to have no points system at all, but consider the set of game results its own result, interpretable in different ways.

(b) about perpetuals: "However it seems strange to me that perpetual check is considered a (near) win, since in the Asian versions of chess it is illegal (i.e. losing), and this seems more in the spirit of chess to me, for example in queen endings the side with an extra (or more advanced) passer should get the win if his opponent can only delay it by checks."

See below. This is the main point of interest, as far as I can tell.

(c) (not sure if I understand this): "Also the fifty move rule draws should compare the mobility of the two sides somehow, not just calculate it arbitrarily for one side, as doing it for one side amounts to a rule that decides the game based on who made the last pawn move or capture, which seems rather random to me; a mobility comparison seems more relevant."

In principle, there should be a way to abolish the fifty-move rule for the purposes of the marginal cases where this makes a difference. If we decide to keep it for practical purposes, it should not alter the situation for the non-marginal cases compared to the situation where it is abolished.

Regarding the problem with perpetual checks early in the game: These are much more difficult to take into account while simultaneously thinking in normal chess terms, than thinking in broad terms about which decisions will be of most benefit in the last reset segment, which will very often be a simplified endgame. As a solution, I initially thought about disregarding all checks except mate when determining mobility, but that would make the game much less rich. But what if one stipulates that in a r-mobility game ending in a repetition of positions containing a check, all checks by the side giving the check are disregarded when determining that side's mobility in the last segment?

In the games in the above-linked .pgn, the suggested rule modification would be of relatively small significance.
lkaufman
Posts: 6224
Joined: Sun Jan 10, 2010 6:15 am
Location: Maryland USA
Full name: Larry Kaufman

Re: Reset-Mobility Chess

Post by lkaufman »

Time wrote: Mon Aug 22, 2022 11:37 pm Thank you for very interesting thoughts!

(a) about scoring: "Of these 3, only [f1(G) = 0.5 + 0.5^(1 + 2G)] makes sense to me, since with f1 the values quickly reach 0.5 with six digits displayed".

To me, this is actually not a very crucial thing to work out until the "non-numerical rules" are sorted out. If the core rules are satisfying, one could even play pairs of games with only three outcomes, where the players switch between who plays white first for each pair, since the one who plays white in the second game in each pair, is at an advantage information-wise. This is perhaps the most reductionist approach. An opposite extreme would be to have no points system at all, but consider the set of game results its own result, interpretable in different ways.

(b) about perpetuals: "However it seems strange to me that perpetual check is considered a (near) win, since in the Asian versions of chess it is illegal (i.e. losing), and this seems more in the spirit of chess to me, for example in queen endings the side with an extra (or more advanced) passer should get the win if his opponent can only delay it by checks."

See below. This is the main point of interest, as far as I can tell.

(c) (not sure if I understand this): "Also the fifty move rule draws should compare the mobility of the two sides somehow, not just calculate it arbitrarily for one side, as doing it for one side amounts to a rule that decides the game based on who made the last pawn move or capture, which seems rather random to me; a mobility comparison seems more relevant."

In principle, there should be a way to abolish the fifty-move rule for the purposes of the marginal cases where this makes a difference. If we decide to keep it for practical purposes, it should not alter the situation for the non-marginal cases compared to the situation where it is abolished.

Regarding the problem with perpetual checks early in the game: These are much more difficult to take into account while simultaneously thinking in normal chess terms, than thinking in broad terms about which decisions will be of most benefit in the last reset segment, which will very often be a simplified endgame. As a solution, I initially thought about disregarding all checks except mate when determining mobility, but that would make the game much less rich. But what if one stipulates that in a r-mobility game ending in a repetition of positions containing a check, all checks by the side giving the check are disregarded when determining that side's mobility in the last segment?

In the games in the above-linked .pgn, the suggested rule modification would be of relatively small significance.
Regarding the fifty move rule, the issue is that mobility changes with every move. If the tiebreaker just involved counting the pieces and scoring the position of the pawns in some way, then it would work perfectly with the fifty move rule as the points wouldn't change with noncapturing piece moves. But with mobility, it matters greatly which side makes the last move and has his mobility counted, which is not desirable. I don't have a good solution, maybe one could compare the mobility of the side to move at the end of the fifty moves with the mobility of the other side one ply earlier, but this isn't ideal either.
Regarding perpetual check, your solution will still mean that the check giving side will normally "win", since the side in check has only a few legal moves in general. Perhaps we could just say that if the last move (repeating the position for a third time) is a check, then the scoring is done on the position just prior to that final check. That would at least be neutral with regard to perpetual check, either side could well have more mobility.
Komodo rules!