{ "cells": [ { "cell_type": "code", "execution_count": null, "id": "9ef7f2cc", "metadata": {}, "outputs": [], "source": [ "%load_ext autoreload\n", "%autoreload 2" ] }, { "cell_type": "code", "execution_count": null, "id": "5c1563c6", "metadata": {}, "outputs": [], "source": [ "import copy\n", "\n", "import torch" ] }, { "cell_type": "code", "execution_count": null, "id": "6c8f9b12", "metadata": {}, "outputs": [], "source": [ "from rubik.cube import Cube\n", "from rubik.action import build_actions_tensor" ] }, { "cell_type": "code", "execution_count": null, "id": "6b3b066b", "metadata": {}, "outputs": [], "source": [ "size = 3\n", "\n", "actions = build_actions_tensor(size)\n", "\n", "cube = Cube([\"U\", \"L\", \"C\", \"R\", \"B\", \"D\"], size=size)\n", "print(cube)" ] }, { "cell_type": "code", "execution_count": null, "id": "de9308c5", "metadata": {}, "outputs": [], "source": [ "cubis = copy.deepcopy(cube)\n", "cubis.shuffle(2000, seed=0)\n", "print(cubis)\n", "print(cubis.history)" ] }, { "cell_type": "code", "execution_count": null, "id": "cb29c742", "metadata": {}, "outputs": [], "source": [ "cubis.compute_changes(\"X2 X1i Y1i Z1i Y0 Z0i X2 X1i Y1i Z1i Y0 Z0i \")" ] }, { "cell_type": "code", "execution_count": null, "id": "63dec5ee", "metadata": {}, "outputs": [], "source": [ "cubis = copy.deepcopy(cube)\n", "cubis.rotate(\"X2 X1i Y1i Z1i Y0 Z0i X2 X1i Y1i Z1i Y0 Z0i \" * 1000)\n", "print(cubis)\n", "print(cubis.history)" ] }, { "cell_type": "code", "execution_count": null, "id": "a8bc424f", "metadata": {}, "outputs": [], "source": [ "(actions[0, 2, 0].type(torch.float32) @ actions[0, 1, 1].type(torch.float32)).type(torch.int8)" ] } ], "metadata": { "kernelspec": { "display_name": "Rubik-Tensor", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.13" } }, "nbformat": 4, "nbformat_minor": 5 }