• Welcome to SpeedSolving.com — the world’s largest puzzle community!

    You’re currently browsing as a guest, which means you have limited access to discussions, resources, member profiles, and community features.

    Join 50,000+ cubers and puzzle enthusiasts from around the world to ask questions, share solves, improve faster, and be part of the community.

    Registration is free, fast, and easy — create your account today.

    Already a member? Log in here to hide this message and start participating.

Automatic F2L Pair Analysis for solver solutions

orcube

Member
Joined
Sep 4, 2024
Messages
16
Location
Japan
Automatic F2L Pair Analysis for solver solutions

I've just released a new feature for my RubiksSolverDemo: automatic pair analysis for solver solutions.

The solver can now analyze the intermediate state of the F2L slots while generating solutions, and attach labels to solutions based on the pair structures found along the way.

For each F2L slot, the analysis considers the corner together with its three corresponding F2L edges: one E-edge in the middle layer and the two D-layer edges on either side.

There are two basic states:

  • Pair Block — the corner and an edge are connected as a 1x1x2 or 2x1x1 block.
  • Free Pair Block — the corner and an edge can become a Pair Block with a single move.
The location is completely unrestricted. A Pair Block does not have to be in its intended F2L slot, on the U layer, or in any other particular position. If the corner and edge happen to form the required 1x1x2 or 2x1x1 structure somewhere else in the cube, it is still considered a Pair Block.

Likewise, a Free Pair Block only means that the two pieces can become such a block with one move. It does not mean that the resulting pair is necessarily in a usable F2L position.

The labels also record when a state is established and whether it is subsequently preserved:

  • 🔒 — Pair Block is already present before the solution starts and remains preserved
  • 🔒M5 — Pair Block is established at move 5 and remains preserved afterward
  • 🔒End — Pair Block is established at the final move
  • ⚡ — Free Pair Block is already present before the solution starts and remains preserved
  • ⚡M5 — Free Pair Block is established at move 5 and remains preserved afterward
  • ⚡End — Free Pair Block is established at the final move
In other words, M5 does not simply mean “a Pair Block happens to appear at move 5”; it identifies the point at which the labeled state is established, with the label representing its subsequent preservation as well.

When a Pair Block or Free Pair Block is already present before the solution starts, no move number is attached. The move number indicates the point at which the state is established during the solution.

The labels can contain the three relevant edges for a slot. For example:

BR[E: 🔒M5]

BL[DB: 🔒M5, E: 🔒M6, DL: 🔒End]

BR[DR: 🔒M8, DB: 🔒End]

FR[E: ⚡End]

FL[DL: 🔒, E: ⚡End, DF: 🔒End]

The badge colors provide another level of information. They are not simply "Pair Block found / not found":

  • Green — the E-edge forms a Pair Block with the corner. The D-edge states do not change this classification.
  • Yellow — the E-edge forms a Free Pair Block, but not a Pair Block. This remains yellow even if the two D-edges form Pair Blocks with the corner, producing a 2x2x1 structure.
  • Blue — the E-edge is not even a Free Pair Block, while the two D-edges form Pair Blocks on both sides, producing a 2x2x1 structure.
In other words, the three colors describe different structural relationships among the corner, its E-edge, and its two D-edges, rather than simply indicating whether a pair exists.

スクリーンショット 2026-09-29 190339.webp

The analysis is available for all non-pseudo solvers and trainers in the project, including Cross, XCross, XXCross, XXXCross, and the other corresponding stages.

The same analysis is available in the trainers. The labels are attached to the generated solutions, so the same information can be inspected while working with different training stages.

The trainers intentionally color only the pieces relevant to the corresponding stage. For example, the Cross trainer highlights the Cross pieces and relevant centers rather than the entire cube. This is by design.

If you want to inspect the movement of the other pieces, each solution panel also provides links to external tools such as Twizzle, alg.cubing.net, and cubedb.net, allowing the complete cube state and solution to be viewed there.

The pair-analysis labels are descriptive only. They are generated mechanically from the cube state and solution, and are not used to rank or score the solutions.

The latest version is available here: https://or18.github.io/RubiksSolverDemo/
 
Back
Top