R&D LAB Méthode Terminé, non publié Instrument d'apprentissage

Cubework

Apprendre le cube magique par la théorie des graphes : méthode par couches, graphe des facettes et espace d'états

Un solveur de cube qui enseigne des raisons plutôt que des listes de coups : sept étapes, un graphe vivant relié au cube et la résolution comme chemin.

  • 7étapes, chacune avec un raisonnement
  • 54 · 9points sur cercles dans le graphe
  • 6leçons animées de théorie des graphes
  • 1fichier HTML, hors ligne
Cubework : à gauche le cube avec sa flèche de rotation, à droite le graphe des facettes avec neuf cercles et le trajet de la pièce en jeu

Pourquoi c'est publié

Beaucoup de produits ont plus d'états qu'un manuel ne peut en montrer : configurateurs à règles, séquences de montage, processus avec dépendances. Leurs utilisateurs ont besoin de la raison de l'étape suivante, pas seulement de la réponse. Cubework montre qu'un très grand espace d'états peut être présenté de sorte qu'une personne le comprenne pas à pas.

Un ordinateur résout un cube magique en vingt mouvements, et personne ne peut rien apprendre de ces vingt mouvements. Cubework prend le chemin inverse. Il planifie une résolution par couches pour débutants, explique chaque étape par le raisonnement qu'elle exerce et montre deux graphes : l'un où chaque facette est un point et chaque couche un cercle, l'autre où chaque position du cube est un point et la résolution un chemin.

Un solveur qui montre ses raisons

Cubework prend un cube mélangé, ou celui que vous tenez en main, et planifie la résolution par la méthode des couches : d'abord la croix blanche, puis les coins blancs, la couche du milieu et enfin la face jaune en quatre étapes.

Chaque étape est choisie dans le répertoire que l'apprenant a déjà vu. Le solveur simule les algorithmes connus et retient le premier qui atteint le sous-objectif sans défaire le travail terminé. Le résultat est plus long qu'une solution optimale, et c'est voulu : chaque mouvement a une raison que l'on peut lire.

Trois modes : Regarder ; Guider, où vous faites chaque mouvement et l'application le vérifie ; et Libre, où le plan est recalculé après chaque mouvement.

L'onglet « Pourquoi ça marche » décompose un algorithme en préparation, action et réparation

Le programme

Sept étapes, sept raisonnements

  1. 01 La croix blanche La marge de manœuvre a une date d'expiration. Au début, les coups maladroits ne coûtent rien ; plus tard, si.
  2. 02 Les coins blancs Préparer, agir, défaire. Ce qui est impossible ici, on le porte là où c'est possible, puis on revient.
  3. 03 La couche du milieu Le progrès exige souvent un recul temporaire. Si la mesure ne peut que monter, il ne reste que des coups superficiels.
  4. 04 La croix jaune Abstraire, c'est écarter tout ce qui ne peut pas changer la prochaine décision.
  5. 05 Coins jaunes vers le haut Des variables enchevêtrées se résolvent l'une après l'autre, avec des coups qui touchent l'une sans l'autre.
  6. 06 Placer les coins Savoir ce qui est impossible élague une recherche mieux que toute heuristique. Les invariants sont l'intelligence la moins chère.
  7. 07 Les dernières arêtes Les degrés de liberté s'épuisent. Placez tôt les décisions coûteuses et contraignantes, et la fin devient de la comptabilité.

Le cube tourne, le graphe glisse avec lui

Le mode Regarder joue la résolution planifiée. À droite, les points de chaque couche tournée glissent sur leur cercle, et la bande du bas indique combien des 54 points sont à leur place.

Graphe un

Les facettes en points, les couches en cercles

Retirez les 54 facettes du cube et tracez, pour chaque couche, un cercle passant par les douze facettes qu'elle entraîne latéralement. On obtient neuf cercles en trois familles, une par axe. Chaque point se trouve au croisement de deux cercles de familles différentes. Un quart de tour décale alors un seul cercle de trois places et fait pivoter les neuf points de la face tournée autour de leur centre.

Cette représentation circule dans la communauté du cube. Toutes les dispositions des cercles ne correspondent pas au cube : sur 384 variantes vérifiées, 96 font tourner les points dans le même ordre que le vrai cube. Cubework en utilise une, où les trois faces de la vue par défaut sont à l'intérieur.

Le graphe n'a pas d'état propre. Il lit la même position du cube et le même angle de rotation que la vue 3D, c'est pourquoi les deux bougent ensemble à chaque image.

Un mouvement qui déplace vingt facettes sur le cube n'est, dans le graphe, qu'un seul cercle qui glisse.

Le trajet d'une pièce vers sa place

Graphe des facettes avec le trajet d'une arête le long de deux cercles jusqu'à un anneau pointillé qui marque sa place

Dans les trois premières étapes, chaque pas concerne une pièce nommée. Le graphe trace ses facettes saut par saut le long des cercles qui les porteront jusqu'à l'anneau pointillé de leur destination. Au-dessus, l'application indique le nombre de sauts restants et par quels mouvements.

Le mouvement suivant apparaît comme un marquage animé sur son cercle, orienté dans le sens où les points vont glisser.

Relié dans les deux sens

Un point peut être glissé le long de l'un de ses deux cercles. La couche du cube suit en direct, s'enclenche au quart de tour le plus proche au relâchement et revient en arrière sous 45 degrés. Inversement, chaque rotation du cube entraîne le graphe.

Ce que fait vraiment un algorithme

Une flèche par facette

  • Un cycle de trois coins devient neuf courbes qui se croisent.
  • L'image se réorganise après chaque mouvement, car elle ne montre que la fin de l'étape.
  • Le mouvement de visée de la couche supérieure masque le message réel.

Une flèche par pièce

  • Chaque pièce apparaît à un point d'ancrage fixe, les algorithmes de la dernière couche se lisent dans le groupe jaune.
  • Des arcs lisses tournés vers l'extérieur transforment un cycle en anneau.
  • L'image décrit l'algorithme entier et reste immobile pendant son exécution. Les pièces qui tournent sur place reçoivent une petite boucle.

Un cycle de trois coins, lu en flèches

Graphe des facettes pendant l'étape de placement des coins avec trois flèches dans le groupe jaune

Thèmes

Un cube, sept pièces

Cubework dans le thème clair Washi

WashiLe thème par défaut : papier, filets fins au lieu de cadres, un seul accent.

Lumière et matière sans un seul fichier image

La caméra tourne autour du cube pendant que les thèmes changent. Un thème fixe à la fois l'interface, les couleurs des facettes et l'éclairage. Le studio de boîtes à lumière, de fond papier et de réflecteurs est entièrement calculé dans le shader, tout comme le vernis, les ombres douces et l'assombrissement des joints.

Graphe deux

La résolution comme chemin dans le graphe d'états

En prenant du recul, chaque position du cube devient elle-même un point, relié à toute position située à un seul mouvement. C'est le graphe d'états, aussi appelé graphe de Cayley. Il compte 43 252 003 274 489 856 000 points, et depuis 2010 il est démontré qu'aucun n'est à plus de 20 mouvements de la position résolue.

La méthode par couches prend volontairement un chemin plus long. Chaque étape mène dans un ensemble plus petit de positions qui conserve le travail déjà fait, jusqu'à ce qu'il ne reste que le point résolu. Chaque tronçon est assez court pour être trouvé à la main.

Sous le graphe, Cubework dessine ce chemin sous forme de bande : une valeur par état, le nombre de points à leur place. La courbe monte, mais pas à chaque mouvement. À l'intérieur d'un algorithme elle baisse, car l'algorithme emprunte le travail terminé et le rend à la fin. Un clic sur la bande saute à cet état.

N'admettre que le progrès visible à chaque pas, c'est s'interdire les coups profonds.

Six leçons, chacune avec son animation

L'onglet Graphe explique les deux graphes en six figures. Voici la leçon trois : les cercles de R et U partagent exactement deux points, et après R U R' U' 42 des 54 facettes sont revenues tandis que 12 restent changées, toutes sur les deux couches tournées. Voilà à quoi ressemble un commutateur, la brique de presque tous les algorithmes du cours : deux mouvements qui partagent peu produisent un petit changement.

Autres vues

L'onglet Graphe avec la leçon sur le croisement de deux cercles
Graphe des facettes et cube dans le thème sombre Sumi
Le cube vu de dessous, face blanche vers l'observateur
Saisie de son propre cube sous forme de patron déplié

Architecture

Un modèle de cube, quatre surfaces

Tout lit le même modèle de pièces : 26 éléments, chacun avec une position et une matrice de rotation entière. Aucune vue ne garde sa propre copie, elles ne peuvent donc pas diverger.

Ce qu'il y a dessous

01 Modèle Des pièces plutôt que des facettes : position et matrice de rotation par élément, l'orientation devient lisible.
02 Solveur Simulation des algorithmes enseignés pour les trois premières étapes, recherche en profondeur bornée sur des macro-mouvements pour les quatre dernières.
03 Rendu WebGL2 sans bibliothèque : lumière de studio procédurale, vernis, carte d'ombres, assombrissement des joints.
04 Graphe Disposition des cercles choisie par recherche exhaustive ; dessin et glisser dérivés de la même correspondance.
05 Vérification Un test résout 2000 mélanges fixés et rejoue chaque solution indépendamment. Le graphe et la vue 3D ont été vérifiés par des oracles construits autrement que le code testé.

Où le modèle s'applique

  • Configurateurs de produits dont les règles doivent expliquer pourquoi une option est indisponible.
  • Séquences de montage et de maintenance où l'ordre est le contenu même.
  • Formations à des processus avec beaucoup d'états et peu de transitions permises.
  • Toute interface qui doit enseigner le chemin vers un résultat, pas seulement le montrer.

Crédits : toutes les images et vidéos de cette page sont des captures d'écran de notre propre application.

Pourquoi c'est publié

Ce que cela signifie pour votre projet

Plus du laboratoire

Votre produit a plus d'états qu'un manuel ne peut en montrer ? On peut en faire un outil qui explique l'étape suivante.

Nous contacter

Grace Hopper

“La phrase la plus nuisible de la langue est : on a toujours fait comme ça.”