Permutation-Equivariant Residual-Attention Network + Dynamic Rules Matrix 3.0 PRO + General Gomoku Tactical Guard
Zunifikowany, modułowy silnik sztucznej inteligencji dedykowany dla gier planszowych (Gomoku, Go, Szachy, Othello, Kółko i Krzyżyk) z trwałą pamięcią JSON, ewolucją Bayesowską, samoregulacją stylu gry ($\Phi$) oraz eksplicytnym strażnikiem taktyki.
- Geneza i Kluczowe Innowacje
- Architektura Systemu (Neuro-Symbolic)
- Główne Moduły i Komponenty
- Szybki Start i Uruchomienie
- Gra Interaktywna (
play_gomoku.py) - Zarządzanie Treningiem i Poziomami Trudności
- System Pamięci JSON i Bayesowska Ewolucja
- Struktura Projektu
- Obsługiwane Gry Planszowe
- Licencja
Tradycyjne podejścia oparte na czystych sieciach neuronowych (typu AlphaZero) borykają się z poważnym problemem: traktują planszę wyłącznie statystycznie, przez co potrafią przeoczyć elementarne groźby taktyczne (np. natychmiastową wygraną przeciwnika przez otwartą czwórkę), dopóki nie rozegrają milionów partii.
PERA-DRM PRO rozwiązuje ten problem poprzez Hybrydową Architekturę Neuro-Symboliczną:
┌────────────────────────────────────────────────────────┐
│ STAN PLANSZY / RUCH GRACZA │
└───────────────────────────┬────────────────────────────┘
│
┌───────────────────────────────┴───────────────────────────────┐
▼ ▼
┌────────────────────────────────────┐ ┌────────────────────────────────────┐
│ WARSTWA TAKTYCZNA (General) │ │ WARSTWA NEURONOWA (PERA) │
│ Eksplicytny Strażnik Zasad: │ │ PERANet (ResNet + Self-Attention) │
│ • Natychmiastowa Wygrana (5) │ │ • Estymacja Szansy Wygranej (V) │
│ • Bezwzględna Blokada 5 i 4 │ │ • Rozkład Prawdopodobieństwa (P) │
│ • Wykrywanie Widelców 4+3 i 3+3 │ │ • Uczenie Reprezentacji Pozycji │
└─────────────────┬──────────────────┘ └─────────────────┬──────────────────┘
│ │
│ (Priorytet Taktyczny) │ (Ocena Strategiczna)
└───────────────────────────────┬──────────────────────────────┘
▼
┌────────────────────────────────────┐
│ DRM 3.0 & ENHANCED PUCT │
│ • Equilibrium Governor Phi │
│ • Bayesowska Ewolucja (Beta Dist) │
│ • Trwała Pamięć w Plikach JSON │
└──────────────────┬─────────────────┘
│
▼
┌────────────────────────────────────┐
│ OPTYMALNY, BEZBŁĘDNY RUCH │
└────────────────────────────────────┘
- PERANet (Deep Neural Engine): Sieć konwolucyjno-rezidualna z wielogłowicową uwagą (Multi-Head Self-Attention), uwzględniająca przestrzenne symetrie planszy (obroty, odbicia).
- Dynamic Rules Matrix 3.0 PRO (Symbolic Engine): Dynamiczna matryca reguł logicznych z polaryzacją (Atak vs Obrona) i estymacją Bayesowską (Rozkład Beta).
-
Equilibrium Governor (
$\Phi$ ): Autonomiczny zarządca równowagi stylu gry, zapobiegający popadaniu w skrajną pasywność lub bezmyślną agresję. - General Gomoku Tactical Guard: Bezwzględny moduł sprawdzający krytyczne wzorce taktyczne, eliminujący „luki logiczne” i gwarantujący 100% obrony przed natychmiastowymi groźbami.
Wskaźnik
-
$\Phi > +0.25$ : Styl silnie ekspansywny / atakujący$\rightarrow$ Governor wzmacnia wagi reguł defensywnych. -
$\Phi < -0.25$ : Styl pasywny / asekuracyjny$\rightarrow$ Governor stymuluje reguły ataku.
Każda reguła taktyczna posiada parametry sukcesów (
-
Auto-Kwarantanna: Jeżeli po min. 5 użyciach skuteczność reguły spadnie
$\le 20%$ , zostaje ona automatycznie przeniesiona do archiwum kwarantanny, nie psując jakości decyzyjnej bota.
| Plik | Rola i Funkcjonalność |
|---|---|
pera_drm_pro.py |
Serce Silnika AI: Klasy GameDescriptor, PERANet, EquilibriumGovernor, DRMSystem, EnhancedPUCT. |
gomoku_tactical_analyzer.py |
Strażnik Taktyki Gomoku: Detekcja ciągów 5, otwartych 4, widelców 4+3, podwójnych trójek oraz heurystyka otwarcia centrum (Tengen). |
json_memory_manager.py |
Trwała Pamięć: Serializacja i deserializacja wag, historii i baz wiedzy do formatu JSON. |
play_gomoku.py |
Aplikacja Interaktywna: Menu Główne, Komendy w grze (m, r, s, h, q), rejestracja logów ruchów na żywo. |
train_bot.py |
Pipeline Treningowy: Pre-trening bota (Self-Play i przeciwnicy syntetyczni) z podglądem postępów dla każdej partii. |
train_gomoku_curriculum.py |
Curriculum & Curiosity: Uczenie dwuetapowe (4 profile przeciwników + nagradzanie za innowacje Novelty). |
demo_games.py |
Weryfikacja Wielogrowa: Test uniwersalności dla Gomoku 15x15, Go 9x9 oraz Szachów 8x8. |
- Python 3.8+ (Zalecany Python 3.10+)
torch,numpy
# Instalacja zależności
pip install torch numpy
# Przejście do katalogu projektu
cd PERA-DRM-PRO
# Uruchomienie aplikacji interaktywnej
python play_gomoku.pyPo uruchomieniu play_gomoku.py wyświetla się przejrzysty panel sterowania:
======================================================================
🎮 PERA-DRM PRO: GOMOKU AI - MENU GŁÓWNE
======================================================================
1. 🕹️ Zagraj z AI (Gomoku 15x15)
2. 🏋️ Trenuj AI (Wybor Poziomu: Początkujący -> Zaawansowany)
3. 📊 Wyświetl Statystyki Bota & Reguły DRM z JSON
4. 💾 Zapisz / Eksportuj Log Ostatniego Meczu
0. 🚪 Wyjście z gry
======================================================================
wiersz kolumna(np.5 5lub7 7): Wykonanie ruchu na planszy (Oś Y: 0–14, Oś X: 0–14).m/menu: Natychmiastowy powrót do Menu Głównego.r/restart: Rozpoczęcie aktualnej partii od nowa na czystej planszy.s/save: Zapisanie logów aktualnego meczu do wybranego pliku.log.h/help: Wyświetlenie spisu komend i instrukcji.q/quit: Wyjście z aplikacji.
Każde posunięcie jest natychmiast kategoryzowane i oceniane:
📝 [18:40:05] Ruch #04 | AI Bot [O] -> Pole ( 5, 4) | Typ: 🛡️ TAKTYCZNY (Blokada Otwartej Trójki) | Wzorce: [threat_3_open] | V: +0.99 | Phi: +0.193
📝 [18:40:28] Ruch #05 | Człowiek [X] -> Pole ( 4, 6) | Typ: Ruch Gracza | Wzorce: [extension_2]
Z poziomu Menu Głównego (Opcja 2) lub uruchamiając python train_bot.py, masz do dyspozycji 4 tryby treningu:
-
🟢 Początkujący: 10 gier self-play, szybki MCTS (10 symulacji/ruch)
$\sim 20$ sekund. -
🟡 Średniozaawansowany: 30 gier self-play, zbalansowany MCTS (25 symulacji/ruch)
$\sim 1$ minuta. -
🔴 Zaawansowany / Ekspert: 100 gier self-play, głęboki MCTS (50 symulacji/ruch)
$\sim 4$ minuty. - ⚙️ Własny Poziom: Dowolna konfiguracja liczby partii i głębokości symulacji.
Raport z treningu wyświetla postępy w czasie rzeczywistym:
🎮 Partia 1/10 | Wynik: Wygrana Bot 1 | Ruchów: 42 | Loss: 6.4387 | Phi: +0.193 | DRM Reguły: 3 akt / 0 kwar | Czas: 4.40s
🎮 Partia 2/10 | Wynik: Wygrana Bot 2 | Ruchów: 38 | Loss: 6.4071 | Phi: +0.193 | DRM Reguły: 3 akt / 0 kwar | Czas: 4.18s
Wszystkie nabyte umiejętności bota są zapisywane w katalogu ./game_memories/:
-
gomoku_interactive_memory.json– Wyewoluowana baza reguł DRM, statystyki rozkładu Beta i wskaźnik$\Phi$ . -
gomoku_peranet_weights.pt– Zoptymalizowane wagi sieci neuronowej PyTorch. -
last_game_trace.log– Pełny stenogram ostatnio rozegranego meczu z człowiekiem.
{
"id": "rule_0_1_842",
"name": "Blok Otwartym Czwórkom",
"polarity": -0.8,
"magnitude": 1.0,
"weight": 2.8,
"strength": 8.12,
"post_mean": 0.88,
"post_var": 0.015,
"quarantined": false,
"tags": ["obrona", "bezpieczenstwo"]
}PERA-DRM-PRO/
├── gomoku_tactical_analyzer.py # Warstwa Taktyczna & Strażnik Wzorców (General Gomoku)
├── pera_drm_pro.py # Silnik Główny AI (GameDescriptor, PERANet, DRM, Governor, MCTS)
├── json_memory_manager.py # Menedżer Trwałej Pamięci JSON
├── play_gomoku.py # Aplikacja z Menu Głównym i Komendami
├── train_bot.py # Automatyczny Pre-Trening z Raportem
├── train_gomoku_curriculum.py # Uczenie Dwuetapowe z Nagrodą za Nowość (Curiosity Engine)
├── demo_games.py # Wielogrowa Demonstracja (Go, Gomoku, Szachy)
├── game_memories/ # Bazy Wiedzy JSON, Wagi PyTorch i Zapisy Meczów
│ ├── gomoku_interactive_memory.json
│ ├── gomoku_peranet_weights.pt
│ └── last_game_trace.log
└── readme.md # Kompletna Dokumentacja Projektu
Moduł GameDescriptor pozwala na bezproblemowe podłączenie dowolnej gry o dyskretnej geometrii:
- Gomoku: 15x15 (Plansza 3 kanały, 225 akcji)
- Go (Weiqi): 9x9, 13x13, 19x19 (Plansza 17 kanałów, do 361 akcji)
- Szachy: 8x8 (Plansza 20 kanałów, 4096 akcji)
- Othello (Reversi): 8x8 (Plansza 3 kanały, 64 akcje)
- Kółko i Krzyżyk: 3x3 (Plansza 3 kanały, 9 akcji)
Projekt udostępniony na licencji MIT License — swoboda modyfikacji, integracji w projektach komercyjnych i naukowych.