Solving a Cube with a Blindfold and a Binary Oracle
A recent Atlanta speedcubing competition had an interesting unofficial event: “Yes/No Teamblind”. The idea is that partcipants compete in pairs, where one person wears a blindfolds throughout the solve and asks questions, while the other can say only “Yes” or “No”.
Yes/No TeamBLD: Like standard TeamBLD, competitors will sign up in pairs. Each pair will do two attempts, switching roles inbetween. Rankings will be determined by the best of the two attempts. Unlike standard TeamBLD, the sighted competitor can only say “yes” and “no”. The blindfolded competitor should gain information primarily by asking yes/no questions. However, the sighted competitor may speak outside of answering questions, as long as they do not say anything other than “yes” or “no”.
My friend Joon and I decided to compete together and came up with a method we’re fairly happy with. With a few days of practice, we were able to achieve an Ao12 of 1:06.64, an Ao5 of 1:01.31, and a best single of 53.76 with Joon as the oracle.
This description of our method assumes that you are broadly familiar with methods for speedsolving 3x3 cubes (CFOP in particular).
##Cross and First Two Layers (F2L)
We solve the cross and the first two layers in a pretty straightforward manner: the oracle dictates encoded moves from an initial orientation of their choice. We picked a subset of moves to use, balancing the complexity of signal memorization and “constraindness”.
Our final set is R (with R2 and R’), U (with U2 and U’), y, y’, F, and D. Since R-moves and U-moves are the most “useful” of the lot, we give them the most convenient signals.
- R-moves: Y, YY, and YYY for R, R2, and R’ respectively
- U-moves: N, NN, and NNN for U, U2, and U’ respectively
- Rotations: YN for y and NY for y’
- F: YNY
- D: NYN
Once F2L is complete, the oracle signals “Yes Yes Yes Yes Yes”, indicating the transition to the last layer.
##Orient Last Layer (OLL)
We perform OLL in two steps: edges followed by corners. While we’re both familiar with most, if not all, one-look OLL cases, 57 is too many cases to try to encode efficiently.
###OLL Edges
The oracle describes the orientation of the edges in top/right/bottom/left order, with a “No” for an unoriented edge and a “Yes” for an oriented edge.
“Yes No No Yes”
“No No No No”
###OLL Corners
Similar to the edges, the oracle describes the orientation of the corners in clockwise order starting with the top-left corner. Here, there are four non-trivial cases:
-
Plus: H or Pi
The executor typically asks “H?“. If it is an H-case, they can ask something like “these two?” to determine how to perform the OLL. If it’s not an H-case, they ask about where the Pi bar is e.g. “these two?” followed by “AUF (to get the bar there)?“.
“No No No No”
“No No No No”
“No No No No”
“No No No No”
-
Fish: sune or anti-sune
This can be disambiguated with a “Sune?“.
“No No No Yes”
“No No No Yes”
-
L: two ways the unsolved corners could be twisted
The executor asks “this one?” while pointing to the front-facing facelet of one of the unoriented corners to determine the orientation. One question is enough to disambiguate the subcase.
“No Yes No Yes”
“No Yes No Yes”
-
Shooter: T or U
Similarly, here the executor can ask either “these two?” or “T?” or “U?“. Again, one question is enough.
“Yes Yes No No”
“Yes Yes No No”
##Permute Last Layer (PLL)
For PLL, we went with 2-look PLL because we figured signalling the 2 PLL steps would be significantly quicker than signalling the exact PLL.
###PLL Corners
We split PLL corners into two (plus one) cases:
- Adjacent Corner Swap (Bar)
- Diagonal Corner Swap (No Bar)
- Solved
For the bar case, the oracle describes the corners in the standard order with a “Yes” for a corner that’s a part of the bar, and a “No” for one that isn’t. The executor then knows how to align the upper face to solve the edges with a T-perm.
“Yes No No Yes”
“Yes Yes No No”
“No No Yes Yes”
For the ‘no bar’ case, the oracle says either YNYN or the equivalent NYNY. This case can be solved with a Y-perm from any angle.
YNYN or NYNY
YNYN or NYNY
YNYN or NYNY
When the corners are already permuted, the oracle says YYYY.
###PLL Edges
There are three non-trivial standard cases for PLL edges:
- Ua- or Ub-perm (three unsolved edges)
- H-perm (four unsolved edges)
- Z-perm (four unsolved edges)
For U-perm cases, the oracle says “Yes” for a solved edge and “No” for an unsolved edge. The excecutor follows up with “Clockwise?”, which the oracle simply answers with “Yes” (for the Ub case) or “No” (for the Ua case).
The H-perm is either YNYN or the equivalent NYNY.
Finally, the Z-perm case is either:
- YNNY or NYYN when the right and bottom edges are being swapped
- YYNN or NNYY when the top and right edges are being swapped
YNNY or NYYN
YYNN or NNYY
The intuition here is that we signal edges that are being swapped with the same symbol (either “Yes” or “No”).
##Align Upper Face (AUF)
For AUF, the oracle simply signals the move required to complete the solve. When an AUF is necessary, this is either “No”, “No No”, or “No No No”. When an AUF is not necessary, the oracle says “Yes Yes Yes Yes Yes …”, signalling that the cube is solved.
##Special Cases
Since the overhead of fully explaining large skips that result in a solved cube is too high, we handle them differently. For a PLL skip, or the rare LL skip, the oracle indicates the AUF move (if necessary) immediately followed by a stream of Yes’s e.g. “No No Yes Yes Yes …”. Failing that, they may just jump straight to “Yes Yes Yes Yes Yes …” (incurring an acceptable two-second penalty).
Our signal for handling “exceptions”, especially after F2L, is five consecutive “No”s. When this happens, the executor switches to “manual mode” and asks questions to figure out what state the cube is in.
##Results
We completed around 200 solves between the two of us, of which we tracked a little over 150. We kept two timer sessions, one for each executor-oracle configuration. As I write this just before the competition, we average around 1:15 with Joon as the oracle and around 1:30 with me as the oracle. It’s hard to tell how this stacks up against the competition or how well we’ll perform in the two attempts we get, but we’re pretty happy with our prep.

Me as the oracle

Joon as the oracle
Preparing for this event was a lot of fun! Unlike official events or more popular unofficial events, this event probably had most teams actually designing their own methods. We’re excited to hear about what creative methods other teams came up with.
Shreyas Minocha