A collection of classic logic puzzle games implemented with basic python for evaluating compositional generalization.
This project is developed by the Department of Sustainability and Innovation in Digital Ecosystems at the University of Duisburg-Essen.
- Template-Based: Lightning-fast puzzle creation
- Strategy-Driven: Puzzles require specific solving techniques + compositionality
- Difficulty Scaling: Mathematically validated difficulty progression
- Uniqueness Guaranteed: Every puzzle has exactly one solution
MNIST-Enhanced Classic
|
Arithmetic Puzzle Master
|
Cross-Sum Logic Puzzle
|
Inequality Logic Challenge
|
Get everything running in under 2 minutes:
# Clone and setup everything automatically
git clone https://github.com/mahnoor-shahid/classic_games_benchmark
cd classic_games_benchmark
unified_env_quick_setup.bat
This magical script will:
- โ Create isolated virtual environment
- โ Install all dependencies automatically
- โ Download MNIST
- โ Validate installation with test puzzles
If you prefer to set up manually:
- Python 3.8 or higher
- pip (Python package installer)
- Clone the repository:
git clone https://github.com/mahnoor-shahid/classic_games_benchmark
cd classic_games_benchmark
- Install dependencies:
pip install -r requirements.txt
# Generate and solve Sudoku puzzles
cd game_projects/sudoku
python main.py --action generate_validated
# Create KenKen challenges
cd game_projects/kenken
python kenken_main.py --action generate_validated
# Build Futoshiki with visual constraints
cd game_projects/futoshiki
python futoshiki_main.py --action generate
# Generate Kakuro cross-sum puzzles
cd game_projects/kakuro
python main.py --action generate_validated --difficulty easy --count 10
classic-games/
โโโ ๐ฎ game_projects/
โ โโโ ๐งฉ sudoku/ # Complete Sudoku implementation
โ โ โโโ main.py # Main game interface
โ โ โโโ generator.py # Puzzle generation engine
โ โ โโโ solver.py # AI solving strategies
โ โ โโโ knowledge_base/ # Strategy definitions
โ โ โโโ templates/ # Puzzle templates
โ โโโ โ kenken/ # KenKen arithmetic puzzles
โ โ โโโ main.py
โ โ โโโ arithmetic_engine.py
โ โ โโโ constraint_solver.py
โ โ โโโ visual_recognition.py
โ โโโ โ kakuro/ # Kakuro cross-sum puzzles
โ โ โโโ main.py # Main game interface
โ โ โโโ template_based_generators.py # Puzzle generation engine
โ โ โโโ kakuro_validator.py # Puzzle validation logic
โ โ โโโ kakuro_easy_strategies_kb.py # Easy strategies knowledge base
โ โ โโโ kakuro_moderate_strategies_kb.py # Moderate strategies knowledge base
โ โ โโโ kakuro_hard_strategies_kb.py # Hard strategies knowledge base
โ โ โโโ config.yaml # Configuration
โ โโโ โ๏ธ futoshiki/ # Inequality constraint puzzles
โ โโโ futoshiki_main.py
โ โโโ template_generator.py
โ โโโ constraint_visualizer.py
โ โโโ strategy_validator.py
โโโ ๐ requirements.txt # Python dependencies
โโโ ๐ง unified_env_quick_setup.py # One-command setup
โโโ ๐ benchmarks/ # Performance benchmarks
โโโ ๐ docs/ # Documentation
โโโ ๐งช tests/ # Comprehensive tests
Each game implements a hierarchical knowledge base:
# Example: Sudoku Strategy Hierarchy
Easy Strategies (Base Level)
โโโ naked_single
โโโ constraint_propagation
โโโ row_uniqueness
โโโ column_uniqueness
Moderate Strategies (Composed)
โโโ naked_pair โ [naked_single + constraint_propagation]
โโโ hidden_pair โ [hidden_single + uniqueness]
โโโ constraint_chains โ [propagation + forcing]
Hard Strategies (Advanced Composition)
โโโ multiple_chains โ [chain_analysis + intersection]
โโโ network_analysis โ [global_consistency + propagation]
โโโ temporal_reasoning โ [sequence_analysis + validation]
# Example: Kakuro Strategy Hierarchy
Easy Strategies (Base Level)
โโโ single_cell_sum
โโโ unique_sum_combination
โโโ cross_reference
โโโ eliminate_impossible
โโโ sum_partition
โโโ digit_frequency
Moderate Strategies (Composed)
โโโ sum_partition โ [single_cell_sum + unique_sum_combination]
โโโ digit_frequency โ [cross_reference + eliminate_impossible]
โโโ sum_difference โ [sum_partition + digit_frequency]
โโโ minimum_maximum โ [sum_partition + sum_difference]
โโโ sum_completion โ [sum_partition + minimum_maximum]
โโโ digit_elimination โ [digit_frequency + sum_completion]
Hard Strategies (Advanced Composition)
โโโ sum_completion โ [sum_partition + minimum_maximum + sum_difference]
โโโ digit_elimination โ [digit_frequency + sum_completion + cross_reference]
โโโ sum_difference โ [sum_partition + digit_frequency + cross_reference]
โโโ minimum_maximum โ [sum_partition + sum_difference + unique_sum_combination]
We welcome contributions to expand our collection of classic games and puzzles! This project is specifically designed to test and demonstrate compositionality in puzzle-solving strategies and knowledge bases. If you're interested in contributing, here's how you can help:
We're particularly interested in games that:
- Have clear, composable solving strategies
- Can be represented with a knowledge base
- Support multiple difficulty levels
- Can be validated for compositionality
-
๐ด Fork & Clone
git fork https://github.com/yourusername/classic-games.git git clone your-fork-url cd classic-games
-
๐ง Setup Development Environment
python unified_env_quick_setup.py --dev
-
๐งช Run Tests
pytest tests/ -v
-
๐ Add Your Game & Submit a Pull Request
mkdir game_projects/your_game # Follow our game template structure
- Strategy Knowledge Base: Hierarchical solving strategies
- Template System: Fast puzzle generation patterns
- Validation Engine: Compositionality and uniqueness checks
- Performance Metrics: Benchmarking and analytics
- Visual Processing: Computer vision integration
- Documentation: Clear examples and API docs
- Tests: Comprehensive test coverage
This project is licensed under the MIT License - see the LICENSE file for details.
MIT License - Feel free to use, modify, and distribute
Academic use encouraged - Please cite our work
Commercial use welcome - Attribution appreciated
For questions, suggestions, or collaboration opportunities, feel free to reach out.
If you use this project in academic research, please cite:
@software{classic_games_benchmark,
title={Classic Games Benchmark: AI-Powered Puzzle Suite with Compositional Reasoning},
author={Mahnoor Shahid & Hannes Rothe},
institution={University of Duisburg-Essen},
year={2025},
url={https://github.com/yourusername/classic-games}
}
๐ Get Started | ๐ Documentation | ๐ค Contribute | ๐ Benchmarks
Made with โค๏ธ by the University of Duisburg-Essen