Ugrás a fő tartalomhoz

core

Ez a modul biztosítja a központi Solver osztályt, amely betölt egy modellt és Rubik-kocka megoldásokat keres egy „beam search” algoritmus segítségével.

Osztály:

  • Solver: Egy osztály a Rubik-kocka konfigurációjának, a megoldó modellnek és a keresési funkciónak a kezelésére.

Solver

class Solver()

Egy megoldó osztály a környezet, a modell és a keresési konfigurációk kezelésére.

Ez az osztály hangolja össze a kocka környezetet, a neurális hálózati modellt és a „beam search” algoritmust a megoldások megtalálásához.

Metódusok:

  • load: Betölti a megoldó modellt és optimalizálja azt CPU-ra vagy GPU-ra.
  • __call__ (vagy solve): Beállítja a kocka állapotát és megoldásokat keres a „beam search” segítségével.
  • benchmark: Kiértékeli a megoldó keresési hatékonyságát.
  • evaluate_temporal_performance: (Elavult) Kiértékeli a megoldás hosszát az idő függvényében.

load

def load(
model_id: str = dict(cpu="small").get(device.type, "large"),
prefer_gpu: bool = True,
quantize_on_cpu: bool = True,
jit_mode: bool = False,
cache_dir: str = os.path.expanduser("~/.cache/alphacube")
)

Betölti a Rubik-kocka megoldó modellt és optimalizálja azt CPU-ra vagy GPU-ra.

Argumentumok:

  • model_id str - A betöltendő modellváltozat azonosítója ("small", "base" vagy "large").
  • prefer_gpu bool - Használjon-e GPU-t, ha elérhető.
  • quantize_on_cpu bool - Kvantálja-e a modellt a CPU-optimalizáláshoz.
  • jit_mode bool - Engedélyezze-e a JIT módot a potenciálisan gyorsabb végrehajtás érdekében.
  • cache_dir str - A modellfájlok gyorsítótárazására szolgáló könyvtár.

Visszatérési érték:

  • None

__call__

def __call__(
scramble,
format="moves",
allow_wide=True,
beam_width: int = 1024,
extra_depths: int = 0,
ergonomic_bias: dict | None = None
)

Beállítja a kocka állapotát és megoldásokat keres a „beam search” segítségével.

Argumentumok:

  • scramble list vagy str - A kezdeti kockaállapotot leíró mozdulatsorozat vagy matrica-reprezentáció.
  • format str - A keverés bemeneti formátuma: "moves" vagy "stickers".
  • allow_wide bool - Engedélyezze-e a széles (wide) mozdulatokat a keresési térben.
  • Megjegyzés - Ezt gyakran automatikusan vezérli az ergonomic_bias.
  • beam_width int - A keresési algoritmus nyalábszélessége (beam width).
  • extra_depths int - A megoldás megtalálása után keresendő extra mélységek száma.
  • ergonomic_bias dict, opcionális - Egy szótár, amely az ergonomikus preferenciák alapján bizonyos mozdulatok felé tolja el a keresést.

Visszatérési érték:

  • dict | None: Egy szótár, amely a megoldás(oka)t és a keresési metaadatokat tartalmazza, vagy None, ha nem található megoldás.

benchmark

Az alphacube.solver.benchmark(...) egy rövidített metódus, amely funkcionálisan megegyezik az alphacube._evaluator.benchmark(alphacube.solver, ...) metódussal. Az evaluate_search_efficiency a visszamenőleges kompatibilitás érdekében erre a metódusra irányít át.

evaluate_temporal_performance

Elavult. Az alphacube._evaluator.evaluate_temporal_performance rövidítése.