Syllables and Graphs
I've been reading a little bit about graph theory, and I wish I knew more about it. So pardon what may perhaps be a bit of naivetÃ© about graphs on my part.
I suspect that everyone who reads this forum is familiar with Cayley graphs and how they relate to Rubik's cube space. One of the best references in this regard may be found at http://www.jaapsch.net/puzzles/cayley.htm I also suspect who everyone reads this forum is familiar with the concept of doing a breadth first search while storing all the results as a way of investigating a space such as the Cayley graph for Rubik's cube.
For example, one can begin a depth first search at the Start position and thereby identify all positions that are 1 move from Start, 2 moves from Start, 3 moves from Start, etc. It would be extremely inefficient, but eventually such a search would identify the distance from Start for any particular position x.
Let's turn that breadth search on its head for a second. Instead of beginning at the Start position, let's begin at x and thereby identify all the positions that are 1 move from x, 2 moves from x, 3 moves from x, etc. Eventually such a search would encounter the Start position and would thereby identify the distance of x from Start by searching in the other direction. This search would be just as inefficient as the previously described procedure of searching from Start to x.
We can make the search from x to Start more efficient as follows. Instead of storing all the moves that are 1 move from x, 2 moves from x, etc., we store only those moves that are actually getting closer to Start. So we store only those positions that are 1 move from x and n1 moves from Start, positions that are 2 moves from x and n2 moves from Start, positions that are 3 moves from x and n3 moves from Start, etc.
This is scarcely a new idea. I'm borrowing copiously from the ideas of others. Also, the search I'm describing can obviously be very technically challenging because in general it's not very easy to know that x is n moves from Start, and it's not very easy to know which moves are k moves from x and also are nk moves from Start. But in a finite search space, the search is conceptually possible.
The search from x to Start that I'm describing may be diagrammed with a graph that is a subset of the Cayley graph for cube space. Let's call such a graph for x the solution graph for x. Here are a few examples. I'll be working in the quarter turn metric.
Position Solution Graph 1. F IF 2. FR IFFR F / \ 3. FB=BF I FB \ / B F / \ 4. FBU=BFU I FBFBU \ / B F FBU / \ / \ 5. FBUU=BFUU= I FB FBUU FBU'U'=BFU'U' \ / \ / B FBU' 
Let's look the following five positions in terms of syllables. I will be using my newer, more general definition of a syllable rather than Dan Hoey's original definition of a syllable.

Position Solution Graph FFFFB\ / / /  \ \ FFB /    / / / / / / F'F' / / / 6. FFB=FBF= / / / / / BFF=F'F'B= IF' F'B / / F'BF'=BF'F' \ / / BBF / \ / BF'/ 

Position Solution Graph UURURU'URU'B'URU'B'R / \ 7. URU'B'RB= I URU'B'RB RBU'B'UR \ / RRBRBU'RBU'B'RBU'B'U 

The way these solution graphs have been drawn, they include a single leftmost node which is Start and a single rightmost node which is x. We may describe Start as being 0 moves from Start and n moves from x. We may describe x as being n moves from Start and 0 moves from x. In between, there are intermediate nodes that we may describe as being k moves from Start and nk moves from x for 1 < k < n. We let h(k) be the number of intermediate nodes that are k moves from Start and nk moves from x. Note that h(x) is not defined for Start nor for x.
Definition: A node in the solution graph for x for which h(k) = 1 is a singular node for the solution graph for x.
Proposition. A position x of length 1 or greater is a nonsyllable if and only if its solution graph contains at least one singular node. Otherwise, x is a syllable. As a practical matter, this result means that syllables must either be of length 1 or else their solution graphs must not contain any singular nodes. This is our principle result.
Proof.
It's best to treat syllables of length 1 as a special case. They do not contain any intermediate nodes. Therefore, they do not contain any singular nodes.
Case 1. Suppose a position x of length 2 or greater is a nonsyllable. That means that x has a unique decomposition into fully joined syllables each of which is shorter than the length of x. We may write x as x=s_{1}s_{2}...s_{k}. We need to show that there is at least one singular node. To this end, it suffices to note that the position immediately to the right of s_{1} is a singular node. That is, because x is a syllable, s_{1} is a unique leftmost syllable when x is decomposed into fully joined syllables. There may be multiple paths through s_{1}, but by definition all such paths must end at the same node at the right end of s_{1}.
Case2. Suppose the solution graph for a position x contains a singular node. We must show that x is a nonsyllable. We can write x as x = p_{i}p_{j} where x = p_{i} + p_{j} and where the singular node is the position immediately to the right of p_{i}. Both p_{i} and p_{j} may be either syllables or nonsyllables. If either of p_{i} and p_{j} are syllables, we may write them as s_{i} and s_{j}, respectively. If either of p_{i} and p_{j} are nonsyllables, we may decompose them uniquely into syllables as s_{i_1}s_{i_2}...s_{i_k} and s_{j_1}s_{j_2}...s_{i_m}, respectively. So whether either of p_{i} and p_{j} are syllables or nonsyllables, we can use the singular node to guide us to a decomposition of x into fully joined syllables, each of which is shorter than x. The question them becomes whether this decomposition is unique.
The only way the decomposition would not be unique would be if there were another decomposition that contained a syllable that straddled the singular node. For example, consider position #5 which is FBUU. There a singular node after FB, and the unique decomposition into fully joined syllables of length 3 or less is (FB)(UU). But in the more general case, we might consider the possibility that (FB)(UU) is not a unique decomposition of the position. For example, we might try to decompose position #5 as (F)(BU)((U), with (BU) being a "potential syllable" that straddles the singular node. Of course, (BU) is not a syllable, so (F)(BU)(U) is not a decomposition of position #5 into syllables. There is not a syllable that straddles the singular node in this case, but we need to show that it's never possible for a syllable to straddle a singular node.
To that end, suppose that there is a syllable s that contains a singular node. Such a syllable can't be of length 1, and therefore must be a syllable of length 2 or more that has more than one decomposition into a sequence of shorter syllables that are fully joined. For this syllable s, the analysis is the same as for the original position x. That is, it's easy to find one decomposition of the syllable s into shorter syllables such that none of the shorter syllables straddles the singular node. We then need to find another decomposition of the syllable into shorter syllables such that one of the shorter syllables straddles the singular node. But that shorter syllable must have at least two decompositions, at most one of which does not contain the singular node. The result is an infinite regress of shorter syllables, each of which straddles the singular node. Therefore, a syllable may not straddle a singular node.
I've been working on an algorithm to identify and count all syllables out to some distance n from Start. A key element of the algorithm is a syllable tester. That is, given a position x, is x a syllable or a nonsyllable? I was having trouble finding a fast syllable tester using the original syllable definition. It seems much faster computationally to determine if a position x has a singular node or not than to find all the unique decompositions of x into fully joined syllables, each of which is shorter than x.