Caret NISS Notation for FMC: ^(B L' U F2)

Lucas Garron

Premium Member
Joined
Jul 6, 2007
Messages
3,757
Location
California
WCA ID
2006GARR01
YouTube
Visit Channel
I'd like to introduce a convention for writing "inverse scramble" moves: caret NISS notation. It looks like the lines starting with ^ in this FMC solution, which the Twizzle Editor now supports out of the box:

 Twizzle link 
 Title Caret NISS Notation
Example Solution
 Setup 
R B U L' U' B U2 D2 F D R L D B2 L2 D' F2 D2 L2 D
 Moves 
^(B L' U F2) // Nice start on inverse scramble
D' B' U B2 R2 // Nice continuation
^(R B R' U R' U2 R B) //F2L
^(U2 R' U2 R' D' L F2 L' D R2) // LL
// From https://fmcsolves.cubing.net/fmc_tutorial_ENG.pdf

This resembles the parentheses some FMC folks have been using for inverse scramble moves in unofficial solve explanations, but with a caret symbol (^) to distinguish such moves from "forward" moves. These moves are "unfolded" in reverse order at the end of the solve, and if there are multiple caret NISS groupings then you also go through them in reverse order. In effect:
  • you first read through all the "forward" moves, then
  • you go in reverse through all moves that are in caret NISS groupings.
So: A ^(E) B ^(D) C = A B C D' E'
Code:
└─┰────────┰────────┰──┐
  1        2        3  │
  ↓        ↓        ↓  │
  A  ^(E)  B  ^(D)  C  │
       ↑        ↑      │
       5'       4'     │
       ┖────────┸──────┘
Or: A ^(I H) B C ^(G F E) D = A B C D (E' F' G') (H' I')
Code:
└─┰───────────┰──┰──────────────┰──┐
  1           2  3              4  │
  ↓           ↓  ↓              ↓  │
  A  ^(I  H)  B  C  ^(G  F  E)  D  │
       ↑  ↑           ↑  ↑  ↑      │
       9' 8'          7' 6' 5'     │
       ┖──┸───────────┸──┸──┸──────┘

Sebastiano's FMC guide has a more thorough explanation of NISS and when you may want to use it (starting page 42, with the example on page 45): https://fmcsolves.cubing.net/fmc_tutorial_ENG.pdf

And the FMC solution from above unfolds into this:

 Twizzle link 
 Title Caret NISS Notation
Example Solution (Unfolded)
 Setup 
R B U L' U' B U2 D2 F D R L D B2 L2 D' F2 D2 L2 D
 Moves 
D' B' U B2 R2 // Nice continuation
(U2 R' U2 R' D' L F2 L' D R2)' // LL
(R B R' U R' U2 R B)' //F2L
(B L' U F2)' // Nice start on inverse scramble
// From https://fmcsolves.cubing.net/fmc_tutorial_ENG.pdf


As another example, here's the best solve from Cale Schoon's FMC WR mean:

 Twizzle link 
 Title Cale Schoon
North Star Cubing Challenge 2020
3x3x3 Fewest Moves, Solve #2
 Setup 
R' U' F U2 B D2 B F2 R2 F D2 B D' B U F2 D' R' F2 U2 R' F' R' U' F
 Moves 
F D' // 2x2 Square
^(F' D B F2 L') // 2x2x3
B U' B // EO
^(U' B2) // 2x2 Square
^(L U L' U B2 U) // Finish


This notation has several benefits, such as:
  • Flexibility for various FMC techniques, such as simple pre-moves and full NISS.
  • Being reasonably straightforward for software to implement.
    • In particular, cubing.js is able to support this notation in a way that most web apps 1) can support it without any special code (they will just see the unfolded moves at the end), but 2) can add FMC-specific functionality if they want.
  • Being compatible and unambiguous when combined with normal notation, where people use parentheses to simply group moves.
  • Using the same caret symbol used for footnotes in certain other conventions like Markdown, evocative of an arrow pointing from the end of a solution to the beginning.
On that final point, I'd also like to add Twizzle support for insertions, ideally also similar to Markdown footnotes, but this will take more time and I want to talk to more FMC folks before implementing that.
 
Last edited:
Back
Top