puppet cube

Valid HTML 4.01 Strict ... vlastně už jen HTML, ale jaký obrázek?

Seznámení

Puppet Puppet cube je taková kostka $2\times2\times2$ z jednoho pohledu (ve tvaru kostky). Z druhého pohledu jsou ale na každé straně 2 čtverečky poloviční velikosti, takže to vypadá jako nějaká poslepovaná kostka $4\times4\times4$.

Když získám nový hlavolam, tak se jej nejprve nesnažím vyřešit, ale chci si ho užít. Půl dne jsem si s ním kroutil, než jsem pochopil, že nejde ani o $4\times4\times4$ ani o $5\times5\times5$, ale jde o téměř klasickou $3\times3\times3$ kostku. Tedy jde o kostku, kde RBY (červeno modro žlutý) $2\times2\times2$ roh je spojen do jedné kostky, takže vlastně obsahuje 3 středy stěn, 3 hrany a roh kostky $3\times3\times3$. To zjednodušuje notaci, protože se dá otáčet jen okolo W(bílého), G(zeleného) a O(oranžového) středu. Při explorativním zkoumání kostky pak používám barevnou notaci, orientuji se dle RBY rohu. Později notaci transformuji na standardní tak, že RBY roh umísťuji dopředu doleva nahoru a používám jen tahy R*, D* a B*.
Edges SplitCorners SolidCornersWithCuts FullCorners Další vlastností Puppet cube je, že zbylých 7 rohů je nafouklých do dvojnásobné velikosti, což ale znamená, že se často dostanete do situace, kdy výčnělky dvou rohů chtějí okupovat na konci stěnového tahu stejné místo. Mám pocit, že rohy jsou natolik dobře vykrojeny uvnitř, že pokud by si nepřekážely na konci stěnového tahu, je možno tah provést (při počítačové simulaci snad tedy stačí spočítat polohu všech výčnělků na konci tahu).

Blokace spůsobené zbytněním rohů znemožňují většinu posloupností tahů obvyklých na kostce $3\times3\times3$ (s omezením na RDB pohyby). Například základní R2D2R2D2R2D2 nelze provést, začínáte-li ve tvaru kostky.

Hledání algoritmů

Následující dny se učím dostat hlavolam do tvaru kostky a hledám posloupnosti tahů, které se z tvaru kostky dostanou opět do tvaru kostky. Postupně si několik tvarů kostky zapamatuju, včetně toho, jak z nich kostku složit. U symetrických tvarů to má výhodu, že symetrie umožňuje najít jiný způsob, jak se dostat zpět do tvaru kostky. Bohužel první nalezené posloupnosti tahů nechávají rohy na původním místě. Rozhodl jsem se ručně prohledat všechny pozice dosažitelné na 5 stěnových tahů ze tvaru kostky (hloubky 3 a 4 nebyly příliš užitečné). V této hloubce jsem našel tah převádějící na symetrický tvar „Z“ nebylo ani problém dohlédnout na dosažení symetrického tvaru „ZZ“, který má tu výhodu, že je v něm možno provést R2D2R2D2R2D2 (některé pohyby v protisměru). Navíc jsem v této hloubce našel způsob jak dosáhnout tvar „L“, který jsem předtím našel i v hloubce 4.

Spojením těchto dvou posloupností tahů vedoucích na tvar „L“ jsem dostal posloupnost, která začíná a končí ve tvaru kostky a mimo jiné permutuje rohy. Tato posloupnost dělá lichou permutaci rohů nevykouslých viditelně a netriviální sudou permutaci na viditelně vykouslých rozích. Kromě toho tah dělá Möbius permutaci tří hran v jedné středové vrstvě a Möbius permutaci čtyř hran ve zbylých vrstvách.

Tvar „Z“ vedl k objevení permutace tří hran v jedné vrstvě, tvar „ZZ“ v kombinaci s R2D2R2D2R2D2 k přehození dvou dvojic hran, z nichž právě jedna je v rámci jedné středové vrstvy. Později jsem si uvědomil, že symetrie tvaru „ZZ“ umožňuje přehození dvou dvojic hran, vždy v rámci různých vrstev (ve stejné rovině kolmé na tělesovou úhlopříčku). Zatím jsem se to nenaučil používat.

Kromě těchto tahů jsem (dříve) objevil i sedmitahovou posloupnost vedoucí na tvar „L“, společně se čtyřtahovou posloupností ale nepřináší permutaci rohů, ale jen permutaci pěti hran. K bázi generující všechny potřebné pohyby mi stále chyběla lichá permutace na vykouslých rozích. Místo systematického řešení pomocí počítače jsem se pokusil nějakou takovou permutaci najít. Pravděpodobnost, že náhodný návrat do tvaru kostky bude mít lichou permutaci by měla být kolem 1/2, pokud je stěnových tahů netriviálně mnoho. Potíž bylo, jak takovou posloupnost zaznaenat. Slepých zablokovaných větví během zkoumání je příliš, takže se člověk snadno ztratí v zápisu. Postupně přes neúspěšné videonahrávky a audionahrávky jsem přešel do režimu videonahrávky, kde audio komentuji prováděné tahy. Když se mi přes tvar „L“ podařilo získat lichou permutaci vykouslých rohů, měl jsem vyhráno. Během rekonstrukce posloupnosti tahů jsem zjistil, že se RDBDR'DBR'DR'DR tvaru „L“ nakonec vyhla.

Určitě by se daly hledat další netriviální permutace, ale nalezená báze stačí k popisu postupu, jak dosáhnout libovolné dosažitelné permutace.

Trošku počítání

Vzhledem k tomu, že součet rotací rohů$\pmod {2\pi}$ je na rubikově kostce $0$, musí tomu tak být i na puppet cube. Tvar kostky navíc znamená, že součet rotací viditelně vykouslých rohů$\pmod {2\pi}$ je 0 i to, že součet rotací skrytě vykouslých rohů$\pmod {2\pi}$ je 0. Vzhledem k tomu, že s BRY rohem nehýbeme, musí být rotace OGW rohu taky 0 (je-li hlavolam ve tvaru kostky). Tvar kostky samozřejmě umožňuje přehazovat rohy jen v rámci těch, které mají stejný tvar. Tvarů hlavolamu, často nedosažitelných kvůli překrývání zbytnělých rohů, je $7!\cdot 3^6/(3!)^2=102060$. Neměl by být problém napsat program, který spočte pozice, kde se zbytnělé rohy nepřekrývají a zjistí, zda jsou všechny dosažitelné. Zatím jsem přepočítal počet tvarů, kde si rohy navzájem nepřekážejí. Je jich jen 14032. Nejvzdálenější tvar od tvaru kostky by mohla být zajímavá charakteristika, zároveň by bylo takto možno efektivně hledat posloupnosti tahů vedoucí z kostky do kostky.

Báze algoritmů

namename$_0$name$_1$name$_2$name$_3$name$_4$name$_5$
$|a=|a'$
„Z“
a0
R'D'R2DR
a1
B'R'B2RB
a2
D'B'D2BD
a3
BDB2D'B'
a4
RBR2B'R'
a5
DRD2R'D'
$b:b_0=a_0a_5$
layer
shift
b0
|R'D'R2DR
DRD2R'D'|
b1
|B'R'B2RB
RBR2B'R'|
b2
|D'B'D2BD
BDB2D'B'|
b3
|BDB2D'B'
D'B'D2BD|
b4
|RBR2B'R'
B'R'B2RB|
b5
|DRD2R'D'
R'D'R2DR|
$c$
do „ZZ“
c0
|RD'B'DBR'
c1
|BR'D'RDB'
c2
|DB'R'BRD'
c3
|B'DRD'R'B
c4
|R'BDB'D'R
c5
|D'RBR'B'D
$c'$
z „ZZ“
RB'D'BDR'| BD'R'DRB'| DR'B'RBD'| B'RDR'D'B| R'DBD'B'R| D'BRB'R'D|
$d:d_0=$
$c_0(D2R2)^3c_0'$
d0
|RD'B'DBR'
D2R2D'2
R'2D2R2
RB'D'BDR'|
d1
|BR'D'RDB'
R2B2R'2
B'2R2B2
BD'R'DRB'|
d2
|DB'R'BRD'
B2D2B'2
D'2B2D2
DR'B'RBD'|
d3
|B'DRD'R'B
D'2B'2D2
B2D'2B'2
B'RDR'D'B|
d4
|R'BDB'D'R
B'2R'2B2
R2B'2R'2
R'DBD'B'R|
d5
|D'RBR'B'D
R'2D'2R2
D2R'2D'2
D'BRB'R'D|
$e:e_0=$
$c_0c_5'$
e0
|RD'B'DBR'
D'BRB'R'D|
e1
|BR'D'RDB'
R'DBD'B'R|
e2
|DB'R'BRD'
B'RDR'D'B|
$f$
do „L“
f0
|RBRD'
f1
|BDBR'
f2
|DRDB'
f3
|B'R'B'D
f4
|R'D'R'B
f5
|D'B'D'R
$f'$
z „L“
DR'B'R'| RB'D'B'| BD'R'D'| D'BRB| B'RDR| R'DBD|
$g$
do „L“
g0
|R2D'B2DB'
g1
|B2R'D2RD'
g2
|D2B'R2BR'
g3
|B'2DR'2D'R
g4
|R'2BD'2B'D
g5
|D'2RB'2R'B
$g'$
z „L“
BD'B'2DR'2| DR'D'2RB'2| RB'R'2BD'2| R'DR2D'B2| D'BD2B'R2| B'RB2R'D2|
$h$
$gf'$
h0
|R2D'B2DB'
DR'B'R'|
h1
|B2R'D2RD'
RB'D'B'|
h2
|D2B'R2BR'
BD'R'D'|
h3
|B'2DR'2D'R
D'BRB|
h4
|R'2BD'2B'D
B'RDR|
h5
|D'2RB'2R'B
R'DBD|
$h'$
$fg'$
hi0
|RBRD'
BD'B'2DR'2|
hi1
|BDBR'
DR'D'2RB'2|
hi2
|DRDB'
RB'R'2BD'2|
hi3
|B'R'B'D
R'DR2D'B2|
hi4
|R'D'R'B
D'BD2B'R2|
hi5
|D'B'D'R
B'RB2R'D2|
$j$ j
|RDBDR'D
BR'DR'DR|

Postup skládání

Poté co se nám podaří dostat hlavolam do tvaru kostky budeme doufat, že se neztratíme při vykonávání níže uvedených algoritmů. Důležité je, vždy udržovat BRY roh vpředu vlevo nahoře.

První krok - sudost permutace viditelně vykouslých rohů

Pokud jsou diagonály spojující viditelně vykouslé rohy v rámci stěn jednobarevné, je jejich permutace sudá, jinak provedeme $j=$RDBDR'DBR'DR'DR.

Druhý krok - triviální permutace všech rohů

Nula až tři použití $h_i$. (Jejich parita závisí na paritě permutace rohů, které nejsou viditelně vykousnuty.) Nejhorší případ je přehození dvou takových rohů a zachování pozice viditelně vykouslých rohů. K tomu je potřeba třikrát zopakovat algoritmus, přehazující příslušné rohy. V případě potřeby dvou přehození dvojic rohů, které nejsou viditelně vykousnuty, je potřeba dvakrát ze dvou možností vybrat tu, aby součet rotací viditelně vykouslých rohů odpovídal požadovanému ($0\equiv +1-1$, $1\equiv -1-1$, $-1\equiv +1+1$). V případě, kdy jsou rohy, které nejsou viditelně vykousnuty, na svých místech, ale je potřeba rotovat viditelně vykouslé rohy, přehodíme dvakrát stejnou dvojici rohů, které nejsou viditelně vykousnuty, což už umíme. Na jedno přehození rohů, které nejsou viditelně vykousnuty, společně s rotací viditelně vykousnutých rohů stačí odpovídající $h_i$.

Třetí krok - přesunutí hran do odpovídajících středových vrstev

Je vhodné plánovat při tom čtvrtý (případně i pátý krok), protože v nich jinak budeme potřebovat dočasně přehodit (zpět) hrany mezi vrstvami (neplatí při rozšíření sady postupů o $e$ tahy). Chceme-li přehodit dvojici hran mezi vrstvami, tak je nejprve pomocí $b_i$ pohybů umístíme na příslušné místo, kde je algoritmus $d_i$ přehazuje (a to provedeme). Může se stát, že potřebujeme přesunout cyklicky z vrstvy A do vrstvy B, z ní do vrstvy C a zpět do vrstvy A. V takovém případě přehodíme nejprve jednu dvojici a pak druhou.

Orientačně nejjednodušší je vybrat si jednu vrstvu, zkontrolovat, které hrany v ní chybí, nalézt je a jednu podruhé přehodit místo hran, které do vrstvy nepatří. Pak totéž udělat v další vrstvě, jen již není potřeba hledat ve vrstvě hotové.

Čtvrtý krok - orientace hran

Komutátor $h_4b_2h'_4b_2'$ skládá Möbiovský trojcyklus v R vrstvě algoritmu $h_4$ s normálním trojcyklem v téže vrstvě. Inverzní permutace zajišťují, že všechny kostičky zůstanou na místech, jen viditelné kostky R vrstvy jsou převráceny. Vzhledem k tomu, že zatím neřešíme permutaci hran v rámci vrstvy, je možno $b_2'$ vynechat. Obdobně můžeme využít $h_4b_3h'_4$ či $h'_4b_3h_4$, což otáčí jinou dvojici hran této vrstvy. Pootočením kostky kolem osy RBY rohu můžeme stejné algoritmy použít pro zbývající 2 vrstvy. Potíž ale je, pokud máme otočené 2 hrany z různých vrstev. Bez použití $e$ tahů nám pak nezbyde než je pomocí algoritmu třetího kroku dostat do jedné vrstvy, tam otočit (a vrátit na místo) a pomocí algoritmu třetího kroku vrátit zpět (inverzní postup). Například to může vést k $d_0h_4b_2h'_4b_2'd_0$. (Proto je lepší ve třetím kroku sledovat parity převrácení v jednotlivých vrstvách a pokud to jde tak předejít vytvoření liché parity tím, že před přehozením vrstev otočíme dvojici hran.) Níže je uvedeno, jak je možno pomocí $e$ tahů tento postup urychlit.
h4b2hi4
$h_4b_2h'_4$
|R'2BD'2B'D
B'RDR|
|D'B'D2BD
BDB2D'B'|
|R'D'R'B
D'BD2B'R2|
h4b3hi4
$h_4b_3h'_4$
|R'2BD'2B'D
B'RDR|
|BDB2D'B'
D'B'D2BD|
|R'D'R'B
D'BD2B'R2|
hi4b3h4
$h'_4b_3h_4$
|R'D'R'B
D'BD2B'R2|
|BDB2D'B'
D'B'D2BD|
|R'2BD'2B'D
B'RDR|
d0h4b2hi4b3d0
$d_0h_4b_2h'_4b_3d_0$

Pátý krok - sudost permutace hran v jednotlivých vrstvách

Bez použití $e$ tahů ... pokud jsou ve dvou vrstvách liché permutace hran, budeme muset opět použít $d_i$, abychom dvě takové vrstvy zkombinovali. Posloupnost $d_ib_jd_ib'_jd_i$ pro vhodná $i$, $j$ problém řeší. Níže je s použitím $e$ tahů popsán kratší postup.
d0b2d0b3d0
$d_0b_2d_0b_3d_0$
|RD'B'DBR'
D2R2D'2
R'2D2R2
RB'D'BDR'|
|D'B'D2BD
BDB2D'B'|
|RD'B'DBR'
D2R2D'2
R'2D2R2
RB'D'BDR'|
|BDB2D'B'
D'B'D2BD|
|RD'B'DBR'
D2R2D'2
R'2D2R2
RB'D'BDR'|
d0b3d0b2d0
$d_0b_3d_0b_2d_0$
|RD'B'DBR'
D2R2D'2
R'2D2R2
RB'D'BDR'|
|BDB2D'B'
D'B'D2BD|
|RD'B'DBR'
D2R2D'2
R'2D2R2
RB'D'BDR'|
|D'B'D2BD
BDB2D'B'|
|RD'B'DBR'
D2R2D'2
R'2D2R2
RB'D'BDR'|
d0b0d0b5d0
$d_0b_0d_0b_5d_0$
|RD'B'DBR'
D2R2D'2
R'2D2R2
RB'D'BDR'|
|R'D'R2DR
DRD2R'D'|
|RD'B'DBR'
D2R2D'2
R'2D2R2
RB'D'BDR'|
|DRD2R'D'
R'D'R2DR|
|RD'B'DBR'
D2R2D'2
R'2D2R2
RB'D'BDR'|
d0b5d0b0d0
$d_0b_5d_0b_0d_0$
|RD'B'DBR'
D2R2D'2
R'2D2R2
RB'D'BDR'|
|DRD2R'D'
R'D'R2DR|
|RD'B'DBR'
D2R2D'2
R'2D2R2
RB'D'BDR'|
|R'D'R2DR
DRD2R'D'|
|RD'B'DBR'
D2R2D'2
R'2D2R2
RB'D'BDR'|
d5b5d5b0d5
$d_5b_5d_5b_0d_5$
|D'RBR'B'D
R'2D'2R2
D2R'2D'2
D'BRB'R'D|
|DRD2R'D'
R'D'R2DR|
|D'RBR'B'D
R'2D'2R2
D2R'2D'2
D'BRB'R'D|
|R'D'R2DR
DRD2R'D'|
|D'RBR'B'D
R'2D'2R2
D2R'2D'2
D'BRB'R'D|
d5b1d5b4d5
$d_5b_1d_5b_4d_5$
|D'RBR'B'D
R'2D'2R2
D2R'2D'2
D'BRB'R'D|
|B'R'B2RB
RBR2B'R'|
|D'RBR'B'D
R'2D'2R2
D2R'2D'2
D'BRB'R'D|
|RBR2B'R'
B'R'B2RB|
|D'RBR'B'D
R'2D'2R2
D2R'2D'2
D'BRB'R'D|
d5b0d5b5d5
$d_5b_0d_5b_5d_5$
|D'RBR'B'D
R'2D'2R2
D2R'2D'2
D'BRB'R'D|
|R'D'R2DR
DRD2R'D'|
|D'RBR'B'D
R'2D'2R2
D2R'2D'2
D'BRB'R'D|
|DRD2R'D'
R'D'R2DR|
|D'RBR'B'D
R'2D'2R2
D2R'2D'2
D'BRB'R'D|

Šestý krok - konec

Použijeme $b_i$, pokud je potřeba, abychom provedli potřebné sudé permutace hran v jednotlivých vrstvách.

Mohlo by se hodit, ale nepoužili jsme

Kromě $e_i$ Pravděpodobně by mohly být užitečné komutátory $e_ib_je_ib'_j$ či jen $e_ib_je_i$.
e0b0e0
$e_0b_0e_0$
|RD'B'DBR'
D'BRB'R'D|
|R'D'R2DR
DRD2R'D'|
|RD'B'DBR'
D'BRB'R'D|
$(e_0b_5e_0)'$
e0b1e0
$e_0b_1e_0$
|RD'B'DBR'
D'BRB'R'D|
|B'R'B2RB
RBR2B'R'|
|RD'B'DBR'
D'BRB'R'D|
$(e_0b_4e_0)'$
e0b2e0
$e_0b_2e_0$
|RD'B'DBR'
D'BRB'R'D|
|D'B'D2BD
BDB2D'B'|
|RD'B'DBR'
D'BRB'R'D|
$(e_0b_3e_0)'$
e0b3e0
$e_0b_3e_0$
|RD'B'DBR'
D'BRB'R'D|
|BDB2D'B'
D'B'D2BD|
|RD'B'DBR'
D'BRB'R'D|
$(e_0b_2e_0)'$
e0b4e0
$e_0b_4e_0$
|RD'B'DBR'
D'BRB'R'D|
|RBR2B'R'
B'R'B2RB|
|RD'B'DBR'
D'BRB'R'D|
$(e_0b_1e_0)'$
e0b5e0
$e_0b_5e_0$
|RD'B'DBR'
D'BRB'R'D|
|DRD2R'D'
R'D'R2DR|
|RD'B'DBR'
D'BRB'R'D|
$(e_0b_0e_0)'$

Urychlení

Zajímavé je, že $e_0b_0e_0e_1b_4e_1$ otáčí na místě dvě skryté hrany (různých vrstev), takže je tento tah možno používat na řešení problému parit otočení ve vrstvách jednodušeji než pomocí $d_0h_4b_2h'_4b_3d_0$. Vlastně je $e_0b_0e_0$ se svými symetriemi možno používat na cyklické přesuny (skrytých hran) mezi vrstvami, kde můžeme libovolné 2 otočit (ale pokud nechceme, můžeme použít dvakrát cyklus opačným směrem a otočit dvakrát stejnou dvojici hran). Pokud do skrytých míst přemístíme dvě hrany patřící do stejné vrstvy a třetí jinou, pak se $e_0b_0e_0$ co se týče nálžení do vrstev projeví jako jediná výměna. Měli bychom být schopni vystačit si s $e$ a $b$ pohyby pro řešení všech hran.
e0b0e0
kratší otáčení
dvojice hran
různých vrstev
$e_0b_0e_0e_1b_4e_1$
|RD'B'DBR'
D'BRB'R'D|
|R'D'R2DR
DRD2R'D'|
|RD'B'DBR'
D'BRB'R'D|
|BR'D'RDB'
R'DBD'B'R|
|RBR2B'R'
B'R'B2RB|
|BR'D'RDB'
R'DBD'B'R|
e0b2e0d0
kratší pátý krok
$e_0b_2e_0d_0=$
$d_0b_3d_0b_2d_0$
|RD'B'DBR'
D'BRB'R'D|
|D'B'D2BD
BDB2D'B'|
|RD'B'DBR'
D'BRB'R'D|
|RD'B'DBR'
D2R2D'2
R'2D2R2
RB'D'BDR'|

Co se týče efektivity neperspektivní algoritmy

$i$
„Q“
$i_0=i'_3$
$i_1=i'_5$
$i_2=i'_4$
i0
|RDBDRDB
i1
|BRDRBRD
i2
|DBRBDBR
i3
|B'D'R'D'B'D'R'
i4
|R'B'D'B'R'B'D'
i5
|D'R'B'R'D'R'B'
$k$
do „L“
k0
|DBRDBR'D2
k1
|RDBRDB'R2
k2
|BRDBRD'B2
k3
|D'R'B'D'R'BD'2
k4
|B'D'B'B'D'RB'2
k5
|R'B'D'R'B'DR'2
$k'$
z „L“

D'2RB'D'R'B'D'|

R'2BD'R'B'D'R'|

B'2DR'B'D'R'B'|

D2B'RDBRD|

B2R'DBRDB|

R2D'BRDBR|
i0i0
4+4+1
$i_0i_0$
|RDBDRDB
RDBDRDB|
i0i1
9
$i_0i_1$
|RDBDRDB
BRDRBRD|
i0i2
9
$i_0i_2$
|RDBDRDB
DBRBDBR|
i0i4
7+1*
$i_0i_4$
|RDBDRDB
R'B'D'B'R'B'D'|
i0i5
7+1*
$i_0i_5$
|RDBDRDB
D'R'B'R'D'R'B'|
k0fi0
5+1*
$k_0f'_0$
|DBRDBR'D2
DR'B'R'|
k0gi0
5M+2+1M+1
+liché rohy
$k_0g'_0$
|DBRDBR'D2
BD'B'2DR'2|
Složení $kf'$ dává pěticyklus hran, což je většinou neužitečné. Stejně tak jsou neužitečné 9 či 7 cykly i dvojice 4 cyklů.

Skládání s malou bází

Ve skutečnosti $j$ provádí pro oba zajímavé druhy rohů jedno přehození. Vzhledem k symetriím je tak možno získat libovolnou celkově sudou permutaci rohů. Bez nějaké celkově liché permutace (jako například je $h$) se neobejdeme. Kromě toho $j$ provádí Möbius permutaci dvou hran různých vrstev, Möbius permutaci čtyř hran tří různých vrstev a normální permutaci 3 hran ze dvou vrstev. $j^8$ provádí jen permutaci tří hran ze 2 vrstev, což při nakombinování s $b$ stačí k libovolnému přemístění hran mezi vrstvama. $j^{12}$ jen otáčí čtyři hrany tří různých vrstev, což při nakombinování s $b$ stačí při nejvýš dvou provedeních k libovolnému (celkově sudému) otočení všech hran. Zbývá již jen ukázat, jak vyřešit pátý krok. A otázkou je, zda by lichá rohová báze nemohla zároveň nahradit (v nějaké sudé mocnině) $b$. $l=kg'$ je takovým kandidátem. $l^6$ je obyčejná pětipermutace hran, kde tři za sebou patří do téže vrstvy. Možná se tímto teoretickým problémem dvou generátorů budu zabývat jindy.

Algoritmus, který jsem použil při skládání bez koukání do poznámek

Zapomatoval jsem si $j=RDBDR'DBR'DR'DR$ i $g=R2D'B2DB'$ s tvarovou pamětí mezipoloh, $f'$ jsem si už pamatoval. Daleko lépe se orientuji v hranových permutacích $j$, takže je-li celková permutace rohů lichá, provedu $h=gf'$ a následně pomocí $j$ případně zrcadlově symetrického tahu poskládám rohy. Zapamatoval jsem si $e=RD'B'DBR'D'BRB'R'D$ a pamatuji si $b$ (Otáčíme jen ve dvou směrech ... začínám hranou vrstvy, kterou vidím a chci na konci algoritmu vidět, hýbu s ní přez vykousnutý roh pokračuji s vykousnutým rohem okolo BRY, načež původní tah 2x a vracím zpět ale rovnou vracení zdvojím, otočím druhou dvakrát a dokončím jednou v obou původních směrech.) Hrany umísťuji do správných vrstev a otáčím pomocí kombinace $e$ a $b$ algoritmů. Kostičky, které jsou ve správné vrstvě ve správné orientaci umísťuji pomocí $b$ tak, abych je viděl. V tuto chvíli mentálně ztotožňuji protilehlé barvy (O=R),(G=B),(W=Y). Preferuji, aby kostičky co nejsou vidět patřily do různých vrstev (rozevírám kostku kolem WGO rohu, abych měl představu o jejich poloze) po ztotožnění barev hrana může ladit se sousedním středem či ne. Kostička je správně otočená ve správné vrstvě, pokud ladí s oběma středy zcela sladěná, kostička může být převrácená ve správné vrstvě, pak sice se barvy hrany ladí s barvami středů, ale prohozeně. Další možnost je, že kostička ladí s jedním středem polosladěná (je v nesprávné vrstvě) a poslední možnost je, že jeden ze sousedních středů ladí s barvou kostičky, ale tyto nejsou vedle sebe (obráceně v nesprávné vrstvě). Optimální případ je všechny kostičky správně ve své vrstvě, dobrá varianta je dvě kostičky ladí ve špatných vrstvách a třetí neladí ve špatné vrstvě (a jsou ze 3 různých vrstev). V takovém případě se podíváme na barvu středu který neladí a provedeme $e$ čelně k odpovídající barvě. Následně se podíváme na to, která z kostiček ve vrstvě rovnoběžné s přední je ve správné vrstvě a provedeme $b$ v této vrstvě tak, aby se skryla. Načež provedeme ještě jednou $e$ čelně k téže barvě jak naposledy. Pokud nemáme skryté kostičky různých 3 vrstev či nejsou právě 2 sladěné děláme kompromis. Snažíme se vyřešit co nejvíc kostiček najednou. S tím, že preferujeme umísťování do nejméně dokončených vrstev. Dvě polosladěné kostičky které jsou sladěné ve stejné orientaci „hodinových ručiček“ je případ, kdy se obě vyřeší současně. Pokud máme přehodit už jen dvě kostičky, jednu z nich zviditelníme, tím se na neviditelnou stane zcely sladěná kostička, provedeme rotaci abychom na její místo dali kostičku určenou k přehození, zviditelníme původní kostičku a vrátíme rotaci zpět. Pokud nám zbydou dvě otočené kostičky (skryté) a vše je ve správných vrstvách, začneme $e$ čelem na jejich společnou barvu, po dokončení rotace ($be$) budeme v situaci, kterou umíme řešit. Ve chvíli, kdy jsou správně zorientované hrany ve svých vrstvách, potřebujeme ještě zajistit správnou paritu jejich permutací v rámci vrstev. Pokud mají dve vrstvy nesprávnou paritu, začneme $e$ čelem ke zbylé vrstvě, načež provedeme $b$ v nějaké z těchto vrstev a ještě jednou $e$ čelem ke zbylé vrstvě. Po provedení $d$ již budou sudé permutace ve všech vrstvách a pomocí $b$ již kostku snadno dořešíme. Nejsem si jist, jak moc jednoduché je v počátečních fázích používat k umísťování hran do správných vrstev samotné $e$, případně $d$. Otestoval jsem náhodnou pozici a po převedení do tvaru kostky jsem dostal následující poslouopnost tahů (až na symetrie), nedošlo k žádnému skipu, takže nesjpíš jde o  typický počet tahů. (Ve skutečnosti jsem mohl při správné symetrii tahu $h$ oba tahy $j$ ušetřit.) $hjjebebbbebebebeebebebedb$ po převední na face turny: $9+10\cdot 10+12\cdot 12+18=271$.

Example cube 2 cube solution

s0 we start with even permutation of corners (1+1) not making L. If we do a $j$ move we got even permutation in each kind of corners, but not a trivial one. It would require either two more $j$ moves or two more $h$ moves. If we do an $h$ move, we got even permutation on visibly cut corners and odd permutation on the other corners. Another $h$ would be required to got an even permutation on corners, but that will be again (1+1). So at least 3 (of our) corner algorithms are required in either case. Let us do $jhh$ as $h$ is shorter. (You neednot repeat this analysis for (1+1) not making L).

s3 s2 s1 An arbitrary $j$ would work, but I start looking to bar going to right on top to solve visibly cut corners. Now arbitrary $h$ would lead to $h$ solvable position.
($+12+9+9 (30)$) I chosen to start R2 looking at red. I need to use an algorithm with the other clockwinnes so I would start with L2 and BRY on top front right (as doing RL symetry is the easist for me). I put red (diagonal done) on top so looking at yellow face of RBY.

s4 Let us concentrate on edges. I made the permutation on classic $3\times3\times3$ to document hidden pieces more easilly. (Of course not doing it during standard solve). Let us look at the layers:
RB: OW1+BO2fliped(+OY1flipped); BY: WR1flipped+GY2OK(+RO1flipped); YR: WB1+GR1flipped(+WG1)

s8 s7 s6 s5 Hidden edges require clockwise circle, but 2 of them are flipped, in RB layer we have the same RO/YW/BG edge but unflipped so start with $b$ to prepare RB: BO2f+OY1f(+OW1). (start with BO around BRY) Now we need clockwise permutation on hidden edges with only green center not paired so start $e$ looking at blue. Continue by $b$ in YR layer clockwise (on placed edge). And finish with $e$ looking at blue.
($+10+12+10+12 (74)$) So now the layer statistic become:
RB: BO2f+OY1f(+OG2), BY: WR1f+GY2(+WG2), YR:WB1+GR1f(+WO2)

s11 s10 s9 We have to make solved edges visible. The $b$ direction is forced at BY so we got BY: GY2+WG2(+WR1f). We neednot hurry in this layer as it is almoost solved. BO2f at RB requires a lot of attention so I would hide it by corresponding $b$. RB: OY1f+OG2(+BO2f) I would hide GR1f from YR layer to solve a RB edge by next $ebe$. YR:WO2+WB1(+GR1f).
($+10+10+10 (104)$)

We need a counterclockwise turn of hidden pieces, but we need to flip both RG and WR. We definitely don't want WR2f. The preparing $b$ turns were not chosen effectively, but we will not go back.

s15 s14 s13 s12 Let us do two clockwise turns instead. In first preserve green and white centers so start $e$ facing red (it would make OR1 and RG1), clockwise $b$ in YB and $e$ facing red will follow.

RB: OY1f+OG2(+WR1), BY: GY2+WG2(+GR1), YR:WO2+WB1(+BO1)
So another clockwise turn of hidden pieces preserving green and orange so starting $e$ facing yellow, clockwise $b$ in RB and $e$ facing yellow.
($+12+10+12+12+10+12 (172)$)
RB: OY1f+OG2(+GR2), BY: GY2+WG2(+BO1), YR:WO2+WB1(+RW2)

s16 s17 Now we have two solved pieces in each layer so what natural $b$ moves would do?
($+10+10 (192)$)
RB: OG2+GR2(+OY1f), BY: GY2+WG2(+BO1), YR:RW2+WO2(+WB1)

s20 s19 s18 That is clockwise cycle of hidden edges where just one is flipped so the plan is clear. White and green centers are matched so we would follow by $e$ facing red than clockwise $b$ in YB layer and $e$ facing red.
($+12+10+12 (226)$)
RB: OG2+GR2(+BO2), BY: GY2+WG2(+WB2), YR:RW2+WO2(+OY2)

So we have well oriented edges in their layers and we have to ensure permutation parity in each layer is even. s23 s22 s21 BY is even as well as YR, so all 3 are even and we do not need to do final $ebed$ combination to ensure it.
(possible $+12+10+12+18=52$) So we just solve the rest using $b$'s.
($+10+10+10 (286)$)

Seems me estimate of 280 turns was a bit low, 340 seems to be more accurate, but I would not be surprised another rotation or two of hidden pieces will be needed so solutions could approach about 400 turns (especially when we do not optimize the chosen rotations well).

There is face turn metric cancelation (DDRR) in $ebe$ combination making counterclockwise rotation of hidden edges. To get the cancelation in clockwise rotation of hidden edges, we must use symmetrical variant of $e$.

Good habbit is to make visible edges well oriented in their layers as fast as possible except the last visible edge in wrong layer. To hide the last edge in wrong layer we should make sure the hidden edges would make even permutation (the edge defines direction of the rotation putting it to its layer, and we should put remaining hidden edges in such places the rotation would solve them as well). The edge which will be replaced should be replaced well flipped, but there is no problem with remaining edges being flipped arbitrary. If just one edge is flipped, single rotation solves orientation and layers, otherwise we should do 2 rotations the other direction first flipping arbitrary, flip in the second should be chosen carefully.

Computed resuts

From all possible $7!\cdot 3^6/(3!)^2=102060$ shapes only 14032 of them contains corners not sharing common place. Some of them are not accessible from the cube shape. Here is the god statistics of number of reachable shapes by the face turn distance:
Distance at mostNumber of shapes
01
110
246
3160
4520
51494
63564
76799
89771
911376
1012132
1112608
1212844
1313030
1413132
1513174
1613174
From the unreachable shapes there is an island of 138 positions (with a "random" start I got 4 shapes at distance 19). There are 6 components of size 16, 48 of size 4, 84 of size 3, 60 of size 2, and 60 of size 1. Shortest found corner algorthms:
i2
i2
|B2R'DB
DB2D'2R'
D'B'D'R'|
12
|RDBD
RD2B'2
D'B'D'RB'2|
i3
i3
|BR'D'B
D'R'BD'
R'BD'B|
12
|B'DB'R
DB'RD
B'DRB'|
2i
2i
|BRB2
R'2DBD'
RB'2R'|
10
|RB2R'
DB'D'R2
B'2R'B'|
23
23
|BDB
R'DR'
D'2RB'2|
9
|B2R'D2
RD'R
B'D'B'|
2=
2=
|BD2B'R'
DR'B2RD'
RBD'2B'|
13
|BD2B'R'
DR'B'2RD'
RBD'2B'|
2#
2#
|BDB
R2D2R'2
B'D'B'|
9
|BDB
R2D'2R'2
B'D'B'|
3i
3i
|B2R'D
B'D2B2D
R'2D'B|
10
|B'DR2
D'B'2D'2B
D'RB'2|
32
32
|BDB'R
BD'BR'D'
B'RB'R|
13
|R'BR'B
DRB'DB'
R'BD'B'|
3=
3=
|BR'D
BR2D'2B'
R'DR'|
10
|RD'R
BD2R'2B'
D'RB'|
3#
3#
|BR'D
BR'D'B
RD'B|
10
|B'DR'
B'DRB'
D'RB'|
Short algorithms with short edge cycles:
notation
notation
|BR'BD
B'RBD'
B'DB'R'
BD'B'R|
16
CxQx
CxQx $m$
|B2R'D'BR
BR'B'R'B'
RBDBR|
15
|R'B'D'B'R'
BRBRB'
R'B'DRB'2|
AKQ
AKQ $b$
|BDB2
D'B'D'B'
D'2BD|
10
|D'B'D2
BDBD
B'2D'B'|
AH_CN
AH_CN $e$
|BR'D'R
DB'R'D
BD'B'R|
12
|R'BDB'
D'RBD'
R'DRB'|
CL_GR
CL_GR
|B2DRD'
R'BDR'B'
RBD'B|
13
|B'DB'R'
BRD'B'R
DR'D'B'2|
AJPxCx
AJPxCx
|BR'D'R'
D'2RDB'
R'D2RD|
12
|D'R'D'2R
BD'R'D2
RDRB'|
CxKxGON
CxKxGON
|BDBD
R2D'R'B'
R'D'2RB'|
12
|BR'D2R
BRDR'2
D'B'D'B'|
GxIxENR
GxIxENR
|BR'BD2B'
R'B'D'B'2
DRDRB'|
14
|BR'D'R'D'
B2DBR
BD'2B'RB'|
AHxCFx
AHxCFx
|BR'D'B'
R2BDB'
D'R'2DR|
12
|R'D'R2D
BD'B'R'2
BDRB'|
ANxCQx
ANxCQx
|BDB2
RBR'D'
R'2B'R'|
10
|RBR2
DRB'R'
B'2D'B'|
APxMQx
APxMQx
|BR2D
RB'R'B'2
D'B'R|
10
|R'BD
B2RBR'
D'R'2B'|
ARxCHx
ARxCHx
|BDRB
D'B'R'B'2R
DR'D'B|
13
|B'DRD'
R'B2RBD
B'R'D'B'|
ARxCOx
ARxCOx $\ell$
|BDB2
D'R'B'D'
R'2DR|
10
|R'D'R2
DBRD
B'2D'B'|
ARxEJx
ARxEJx
|BDB2R
D'B'D'B'D
BD'R'D'|
13
|DRDB'
D'BDBD
R'B'2D'B'|
CQxGPx
CQxGPx
|BR'D'
R2B'R'B
DB'2R|
10
|R'B2D'
B'RBR'2
DRB'|
CKxMRx
CKxMRx
|B2R'DR
BR2B'D'B
DR'2D'B|
13
|B'DR2D'
B'DBR'2B'
R'D'RB'2|
CMxGKx
CMxGKx
|B2DR'D'
B'D2BRB'
R'D'2RB'|
13
|BR'D2R
BR'B'D'2B
DRD'B'2|
EJxGMx
EJxGMx
|BR'DBD
B'R'B2D'B'
DRDRB'|
15
|BR'D'R'D'
BDB'2RB
D'B'D'RB'|
Algorthms by the symmetries (AxMx,AxOx,CxGx,CxQx,ExIx,ExKx), (AKQ,AQK,CIO,COI,EGM,EMG), (AH_CN,AJ_EP,CL_ER), (AP_IM,AN_GO,CH_MQ,CR_KG,EL_QI,EI_OK), (AH_MP,AJ_MP,CL_GR,CN_GR,EP_IL,ER_IL) ...

Currently I do 3rd phase still combining $e$ and $b$, but mostly ignoring the edge orientations (of course minimizing flips if it is for free), than I use $\ell$ to solve parity of layers and $b$, $m$ to orient well and finish. Of course I try to arrange $m$ to help with edge orientation if possible.