AdaptiveChessAI to projekt pracy inżynierskiej dotyczący platformy do analizy skuteczności botów szachowych, w tym botów adaptacyjnych uczących się wybranych cech stylu przeciwnika.
Aktualny stan projektu obejmuje przede wszystkim backend badawczy, mechanikę rozgrywania partii, boty, eksperymenty, eksport wyników oraz analizę danych.
Projekt nie posiada jeszcze właściwego GUI i nie umożliwia jeszcze wygodnej gry człowieka z botami w aplikacji okienkowej.
Backend badawczy: działa
Mechanika botów: działa
Eksperymenty bot vs bot: działają
Eksport CSV/JSON: działa
Raporty i wykresy: działają
GUI: brak
Tryb człowiek vs bot: brak
Aplikacyjne MVP: niedomknięte
Szczegółowy status projektu znajduje się w:
docs/mvp_status.md
Plan dalszych prac nad GUI znajduje się w:
docs/gui_roadmap.md
Projekt zawiera:
- obsługę partii szachowej przez
python-chess, - bazową klasę botów,
RandomBot,StaticMinimaxBot,AdaptiveMinimaxBot,- minimax,
- alfa-beta pruning,
- funkcję oceny pozycji,
- profil przeciwnika dla bota adaptacyjnego,
- rozgrywanie pojedynczych partii,
- rozgrywanie serii partii,
- eksperymenty bot vs bot,
- eksport wyników do CSV,
- eksport metadanych do JSON,
- raporty tekstowe,
- wykresy PNG,
- zbiorcze podsumowanie eksperymentów.
Najważniejsze brakujące elementy:
- GUI,
- widok szachownicy,
- klikanie figur,
- tryb człowiek vs bot,
- wybór bota w aplikacji,
- wybór koloru gracza,
- historia ruchów w GUI,
- komunikaty o szachu, macie i remisie,
- reset partii z poziomu aplikacji,
- zapis partii użytkownika,
- wykorzystanie danych z partii użytkownika w analizie.
pip install -r requirements.txtpython -m pytestProjekt zawiera skrypty do uruchamiania eksperymentów porównujących boty szachowe:
RandomBot,StaticMinimaxBot,AdaptiveMinimaxBot.
Podstawowy zestaw eksperymentów backendowych można uruchomić komendą:
python scripts/run_full_experiment_suite.py --output-dir results/full_suite_v1 --matches 10 --max-half-moves 80 --depths 1Skrypt generuje:
- pliki CSV z wynikami partii,
- pliki metadanych JSON,
- raporty tekstowe,
- wykresy PNG,
- zbiorcze podsumowanie Markdown.
Szczegółowy opis uruchamiania eksperymentów znajduje się w:
docs/experiments.md
Najbliższy właściwy kierunek prac to GUI oraz możliwość gry człowieka z botami.
Planowana kolejność:
HumanVsBotSessionbez GUI.- Terminalowy test człowiek vs bot.
- Dodanie zależności GUI.
- Podstawowe okno aplikacji.
- Widok szachownicy.
- Klikanie figur.
- Ruch bota po ruchu gracza.
- Wybór bota, koloru i głębokości.
- Historia ruchów i status gry.
- Zapis partii użytkownika.
Aktualnie projekt nie powinien być opisywany jako domknięta aplikacja.
Poprawna interpretacja:
Projekt ma gotowy mechaniczny fundament badawczy.
Projekt nie ma jeszcze kompletnego MVP aplikacyjnego.
Następna faza to GUI i tryb człowiek vs bot.
Projekt posiada już warstwę sesji człowiek vs bot, ale nadal nie posiada GUI.
Terminalowy smoke test:
python scripts/play_human_vs_bot_terminal.py --bot random --human-color whiteDokumentacja:
docs/human_vs_bot.md
Zatwierdzona koncepcja GUI znajduje się w:
docs/gui_concept.md
Aplikacja ma być wieloekranowa:
- menu główne,
- gra z botem,
- podsumowanie partii,
- eksperymenty,
- log eksperymentu,
- wyniki i raporty.