WolfsWorld - Interaktive KI-Lernplattform
Eine umfassende Lernumgebung für Künstliche Intelligenz mit Fokus auf Spieltheorie, Suchalgorithmen und strategisches Denken.
🎯 Überblick
WolfsWorld bietet eine Sammlung klassischer Strategiespiele und KI-Algorithmen, die es Schülern und Studenten ermöglicht, die Konzepte der Künstlichen Intelligenz praktisch zu erleben und zu verstehen.
Enthaltene Spiele
-
Tic-Tac-Toe Varianten
- Classic 3x3
- 3D Tic-Tac-Toe (4x4x4)
- Ultimate Tic-Tac-Toe (Meta-Board)
-
Connect 4
- Klassisches 2D Vier Gewinnt (7x6)
- 3D Connect 4 (4x4x4)
-
Puzzles
- Springer-Problem (Knight's Tour)
- RotateBox (Schiebepuzzle)
- Nim-Spiel
🤖 KI-Komponenten
Agenten
- Random Agent: Zufällige Zugauswahl (Baseline)
- Rule-Based Agent: Regelbasierte Entscheidungsfindung mit Entscheidungsbäumen
- Minimax Agent: Optimaler Spieler mit Alpha-Beta-Pruning
Algorithmen
- Minimax mit Alpha-Beta-Pruning: Optimale Spielstrategie
- Heuristiken: Spielspezifische Bewertungsfunktionen
- Suchalgorithmen: BFS und DFS für Zustandsräume
- Regelsysteme: Composite Pattern für komplexe Entscheidungslogik
🎮 Playground-Module
Arena
Turnierplattform, auf der verschiedene KI-Agenten gegeneinander antreten können. Unterstützt automatische Turniere mit konfigurierbaren Spielen und Agenten.
Features:
- Tic-Tac-Toe Varianten (Regular, 3D, Ultimate)
- Connect 4 (Standard & 3D)
- Statistik-Tracking (Siege, Niederlagen, Remis)
- Agent-Profile mit verschiedenen Schwierigkeitsgraden
- Live-Visualisierung der Spiele
Minimax-Visualizer
Interaktive Visualisierung des Minimax-Algorithmus mit Alpha-Beta-Pruning.
Features:
- Schritt-für-Schritt Durchlauf
- Baum-Visualisierung mit Canvas
- Bewertungs-Anzeige für jeden Knoten
- Alpha-Beta Cut-Off Markierungen
Rules-Lab
Experimentierplattform für regelbasierte KI-Systeme.
Features:
- Flowchart-Visualisierung von Entscheidungsbäumen
- Interaktives An-/Abschalten von Regeln
- Live-Testing gegen Rule-Based Agents
- Vergleich verschiedener Strategien (Simple vs. Complex)
RotateBox-Visualizer
Visualisierung von Suchalgorithmen am Beispiel eines Schiebepuzzles.
Features:
- BFS vs. DFS Vergleich
- Schrittweise Animation
- Lösungspfad-Anzeige
- Performance-Metriken
Perceptron Playground
Interaktive Lernumgebung für das Perceptron – das einfachste neuronale Netz.
Features:
- 4 vordefinierte Datensätze (Schwimmfähig, Krabben, Haustier) + generischer Gaussian-Generator
- Phasenbasiertes Schritt-für-Schritt-Training (Punkt wählen → Δw₁ → Δw₂ → Gewichte anwenden → Visualisierung)
- Live-Architekturdiagramm (x₁ → Σ → θ(x) → ŷ) mit animierten Gewichtsübergängen
- Decision Boundary im Scatter-Plot mit Gleichungsanzeige
- Fehler-pro-Epoche Chart
- Speed-Slider für Training-Geschwindigkeit
- Responsive 2×2 Grid-Layout
📁 Projektstruktur
WolfsWorld/
├── js/ # JavaScript Quellcode
│ ├── core/ # Kernkomponenten
│ │ ├── agent.js # Abstrakte Agent-Basisklasse
│ │ ├── game-state.js # GameState Interface
│ │ ├── game-adapter.js # Spiel-Adapter
│ │ └── base-game-controller.js
│ ├── ai/ # KI-Algorithmen
│ │ ├── agents/ # Agent-Implementierungen
│ │ │ ├── random-agent.js
│ │ │ ├── rule-based-agent.js
│ │ │ └── minimax-agent.js
│ │ ├── neural/ # Neuronale Netze
│ │ │ ├── core/ # Engine (Neuron, Layer, Network)
│ │ │ │ ├── neuron.js
│ │ │ │ ├── layer.js
│ │ │ │ └── network.js
│ │ │ ├── datasets/ # Datensätze
│ │ │ │ └── perceptron-datasets.js
│ │ │ ├── training/ # Aktivierungs-/Verlustfunktionen
│ │ │ │ ├── activation-functions.js
│ │ │ │ └── loss-functions.js
│ │ │ ├── worker/ # Web Worker für Training
│ │ │ │ └── nn-training-worker.js
│ │ │ ├── nn-orchestrator.js
│ │ │ └── perceptron-controller.js
│ │ ├── heuristics/ # Heuristiken
│ │ │ ├── base.js
│ │ │ ├── ttt.js
│ │ │ └── connect4.js
│ │ ├── rules/ # Regelsysteme
│ │ │ ├── rule-structure.js
│ │ │ ├── ttt-rules.js
│ │ │ └── connect4-rules.js
│ │ ├── minimax.js # Minimax Engine
│ │ ├── game-adapter.js # Arena Game Adapter
│ │ ├── agent-profiles.js # Vorkonfigurierte Profile
│ │ ├── algorithm-runner.js # Schrittweise Ausführung
│ │ └── search-algorithms.js # BFS/DFS
│ ├── games/ # Spielimplementierungen
│ │ ├── tictactoe/
│ │ ├── connect4/
│ │ ├── knights-tour/
│ │ └── rotatebox/
│ ├── viz/ # Visualisierungen
│ │ ├── neural/ # Neuronale-Netz-Visualisierung
│ │ │ └── nn-visualizer.js
│ │ ├── tree-engine.js
│ │ ├── flowchart-visualizer.js
│ │ ├── rule-visualizer.js
│ │ ├── rule-tree-adapter.js
│ │ └── minimax-adapter.js
│ ├── utils/ # Hilfsfunktionen
│ │ └── gaussian-generator.js
│ └── templates/ # Vorlagen für Schülerprojekte
├── html/games/ # Game HTML-Seiten
├── html/playground/ # Experimentierplattformen
├── css/ # Stylesheets
├── docs/ # JSDoc-Dokumentation (generiert)
└── learning/ # Lernpfade & Tutorials
🚀 Schnellstart
Voraussetzungen
- Moderner Webbrowser (Chrome, Firefox, Safari, Edge)
- Optional: Node.js für JSDoc-Dokumentation
Installation
- Repository klonen oder herunterladen
html/index.htmlim Browser öffnen
Dokumentation generieren
npm install
npm run doc
Die Dokumentation wird in docs/ generiert und kann mit npm run serve-doc geöffnet werden.
🧩 Architektur
GameState Interface
Alle Spiele implementieren ein einheitliches Interface:
{
getAllValidMoves() → Array // Alle gültigen Züge
makeMove(move) → GameState // Führt Zug aus, gibt neuen Zustand zurück
clone() → GameState // Tiefe Kopie
getStateKey() → String // Hash für Duplikatserkennung
isTerminal() → Boolean // Ist Endzustand erreicht?
evaluate(player) → Number // Bewertung (optional)
}
Agent-Architektur
Alle Agenten erben von der abstrakten Agent-Klasse:
class Agent {
selectMove(gameState) → move // Wählt optimalen Zug
}
Minimax-Engine
Konfigurierbarer Minimax mit:
- Alpha-Beta-Pruning (optimiert)
- Variable Suchtiefe
- Austauschbare Heuristiken
- Optional: Trace-Capture für Visualisierung
🎓 Didaktischer Ansatz
Für Schüler
- Visuelle Lernhilfen: Alle Algorithmen sind visuell nachvollziehbar
- Schrittweise Execution: Play/Pause/Step-Funktionen
- Interaktive Experimente: Parameter anpassen und Ergebnisse sehen
- Templates: Vorgefertigte Vorlagen für eigene Spiele
Für Lehrer
- Modularer Aufbau: Komponenten können einzeln gelehrt werden
- Dokumentation: Vollständige JSDoc-Dokumentation aller Komponenten
- Erweiterbar: Neue Spiele/Agenten einfach hinzufügbar
- Performance-Metriken: Benchmarking-Tools integriert
🔧 Technische Details
Minimax-Optimierungen
- Alpha-Beta-Pruning: Reduziert Suchraum drastisch
- Move Ordering: Bessere Züge zuerst für mehr Cut-Offs
- Tiefenbegrenzte Suche: Mit Heuristiken für Nicht-Terminal-Knoten
- Transposition Tables: (Geplant) für Zustandscaching
Heuristiken
Jedes Spiel hat spezialisierte Bewertungsfunktionen:
- TTT: Zentrum-Bonus, Linien-Bewertung, Gewinnwahrscheinlichkeiten
- 3D TTT: Layer-Control, 3D-Linien (49 Gewinnlinien)
- Ultimate TTT: Makro-Board-Bewertung, lokale vs. globale Strategie
- Connect 4: Zentrum-Kontrolle, offene Linien, Bedrohungserkennung
Performance
- Minimax mit Alpha-Beta ist optimiert für:
- TTT Regular: Depth 9 (perfektes Spiel)
- TTT 3D: Depth 3-4 (mit Heuristiken)
- Ultimate TTT: Depth 2-3 (komplexer Zustandsraum)
- Connect 4: Depth 5-7 (mit Heuristiken)
📚 Verwendete Konzepte
- Spieltheorie: Zero-Sum Games, Minimax-Theorem
- Suchalgorithmen: BFS, DFS, Best-First-Search
- Neuronale Netze: Perceptron, Delta-Regel, Aktivierungsfunktionen
- Design Patterns: Composite (Regeln), Strategy (Agenten), Adapter (Games)
- Heuristiken: Evaluation Functions, Position Scoring
- Algorithmusvisualisierung: SVG, Canvas API, DOM-Manipulation
📐 Architektur-Dokumentation
- NEURAL_NET_ARCHITECTURE.md — Vollständige Architektur der Neuronale-Netz-Engine (Vanilla-JS-Entscheidung, Worker-Pipeline, SVG/Canvas-Grenzen, Modul-Design)
🤝 Beiträge
Dieses Projekt ist für Bildungszwecke konzipiert. Erweiterungen und Verbesserungen sind willkommen!
Ideen für Erweiterungen
- Weitere Spiele (Schach, Dame, Mühle)
- Monte-Carlo Tree Search (MCTS)
- Neuronale Netze für Heuristiken
- Multiplayer-Modus über WebSockets
- Reinforcement Learning Playground
📖 Dokumentation
Die vollständige API-Dokumentation wird mit JSDoc generiert:
npm run doc # Dokumentation generieren
npm run serve-doc # Dokumentation im Browser öffnen
Die Dokumentation enthält:
- Detaillierte Klassenbeschreibungen
- Parameter und Rückgabetypen
- Beispielcode
- Architekturdiagramme
📄 Lizenz
Dieses Projekt ist für Bildungszwecke frei verfügbar.
✨ Autoren
Entwickelt als Lernplattform für KI-Konzepte im Schulunterricht.
Version: 1.0.0
Letzte Aktualisierung: Januar 2026