Toolverse
Wszystkie skille

solver

autor: atopile

Debuguj i rozszerzaj solver parametrów w atopile — symboliczne upraszczanie ograniczeń i wyrażeń

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Autor
atopile
Kategoria
Backend
Wyświetlenia
1

O skillu

Solver to jądro podsystemu parametrów atopile. Umożliwia ci symboliczne upraszczanie i weryfikację systemów ograniczeń zbudowanych z parametrów, literałów (zbiorów) i wyrażeń. Skill ten wyjaśnia, jak działa solver, jakie niezmienniki są egzekwowane podczas mutacji, i jak debugować oraz rozszerzać jego funkcjonalność. Użyj go, gdy implementujesz lub modyfikujesz rozwiązywanie ograniczeń, granice parametrów lub debugujesz upraszczanie wyrażeń.

Jak używać

  1. Zainstaluj atopile i upewnij się, że masz dostęp do modułu solvera w src/faebryk/core/solver/. Skill ten jest przeznaczony dla osób pracujących z kodem wewnętrznym atopile.

  2. Zapoznaj się z dokumentacją koncepcyjną w src/faebryk/core/solver/README.md, aby zrozumieć podstawowe pojęcia: korelację zbiorów, grafy tylko do dołączania i kanonikalizację wyrażeń.

  3. Przeczytaj src/faebryk/core/solver/symbolic/invariants.py, aby poznać dokładne niezmienniki egzekwowane podczas wstawiania wyrażeń — to kluczowe dla debugowania i modyfikacji solvera.

  4. Jeśli implementujesz nową funkcjonalność, zacznij od src/faebryk/core/solver/defaultsolver.py (pętla iteracyjna, tryb terminalny vs nieerminalny) i src/faebryk/core/solver/mutator.py (maszyna mutacji, transformacje, mapy mutacji).

  5. Użyj DefaultSolver do upraszczania systemów ograniczeń: zdefiniuj parametry numeryczne, ustaw ograniczenia za pomocą wyrażeń, a następnie wywołaj solver.simplify() z grafu i typografu, aby uzyskać mapę mutacji z uproszczonymi literałami.

  6. Debuguj problemy z wyrażeniami, śledząc tracebacki mutacji w MutationMap — sprawdzaj, czy wyrażenia są w formie kanonicznej i czy wszystkie niezmienniki są spełnione na każdym etapie transformacji.

Podobne skille