lichess.org
Donate

Request for more features to continue with transposition moves

Right now, the only way to continue along a transposition in a study is to click the "T11" or similar button (great feature btw). Is it possible to also make the ">" forward button follow the transposition if it's the first option on the list?

It would also be fantastic if there an option for sequential interactive mode where it treats transpositions as unique variations. And if there are multiple variations after transposing, each one is treated as a distinct "virtual" variation.

For example, in the following game,

1. a4 a5 (1... b5 2. b4 a5) 2. b4 b5 3. c4 c5 (3... h6) *

There is a transposition from 2. ...a5 to 2 ...b5.

Currently, the sequential interactive study will give you the following variations:
1. a4 a5 2. b4 b5 3. c4 c5
1. a4 a5 2. b4 b5 3. c4 h6
1. a4 b5 2. b4 a5

With the proposed feature active, it would give you the following variations:
1. a4 a5 2. b4 b5 3. c4 c5
1. a4 a5 2. b4 b5 3. c4 h6
1. a4 b5 2. b4 a5 3. c4 c5
1. a4 b5 2. b4 a5 3. c4 h6

Currently I am manually adding the redundant variations after every transposition. The repetition helps with memorization, but obviously it leads to a bloated PGN, lots of extra work, and potential human error.

Thanks!
You can move to the next move/transposition with Ctrl-Right and come back with Ctrl-Left. The normal "next move" arrow is the classic Lichess functionality. Are you sure you would want that changed?

As for transpositions in sequential, it's a bit dangerous, isn't it? You could multiply the "variations" exponentially.

I am going to add it to the todo list, though.
Regarding the next move arrow hopefully this image will explain it:

i.ibb.co/rs3pNcq/image.png

Regarding transpositions in sequential, I totally get what you're saying about exponential amounts of variations. But here's an example of a study I would use this on: I'm currently working on a study of the 3.c3 line of the Caro-Kann Advance variation. I'm not done but so far I have 55 unique ending positions. Each of these endings comes after about 8-15 moves. There are 4 additional endings which transpose into one of the existing 55 lines. Combined, the transpositions would add 7 additional endings. So in practice I don't think the growth is going to be too extreme in most situations.

Maybe a much more complex study than mine might run into excessive growth, but studies of that size already have their own set of problems.. when they get so big, lichess starts lagging out and disconnecting every few seconds.

And of course, I would have no problem if these features were disabled by default so as not to affect other users.
Ok, @kyleb1980 , so the problem with transpositions is as follows: Lichess keeps a "path" which represents a string of moves that lead to the current position. So if you have something like

1. e4 e5 (1... d5 2. d4 e5 3. Nf3) 2. d4 d5

You might say that after the first 4 moves you get to the same position and the second variation contains Nf3, so why won't the first variation also accept Nf3 as a move from transposition. However, the Nf3 move has a specific path that is related to the PGN tree (e4d5d4e5Nf3). When I jump from the first variation to the second variation to play Nf3 the path changes as if I've been on the second variation the whole time.

You might say that after each move I could hold the path, for each takeback or retry I could remove the last move, but it is way too complicated.

It would also define "virtual" variations that the user would not want. Moreover, I should take into consideration three fold repetitions, otherwise you can get an infinity of variations if there is any repetition.

Bottom line: I don't think I will implement moves from transpositions in sequential or spaced repetition flows.
How about a 'Expand' button on the PGN editor that will expand all transpositions into their redundant endings? Maybe with a maximum depth of 3 transpositions per line, or something.

So

1. a4 a5 (1... b5 2. b4 a5) 2. b4 b5 3. c4 c5 (3... h6)

Becomes,

1. a4 a5 (1... b5 2. b4 a5 3. c4 c5 (3... h6)) 2. b4 b5 3. c4 c5 (3... h6)

I noticed the PGN Editor already has a normalize function which exactly reverses the process. Pretty cool :D

Join the L1Chess Tools Users Team team, to post in this forum