A novel Quantum-Game Theory framework for complex problem solving
Project description
⚛️ quant-gameth
Quantum-Game Theory Framework
Solve combinatorial optimization & game theory problems with quantum-inspired algorithms
🏗️ Architecture
┌─────────────────────────────────────────────────────────────────────────┐
│ quant-gameth Framework │
├──────────────────────┬────────────────────────┬─────────────────────────┤
│ ⚛️ QUANTUM ENGINE │ 🎯 GAME THEORY ENGINE │ 🔗 PROBLEM ENCODERS │
│ │ │ │
│ state.py │ normal_form.py │ qubo.py │
│ gates.py │ extensive_form.py │ constraints.py │
│ circuit.py │ minimax.py │ game_bridge.py │
│ measurement.py │ evolutionary.py │ strategy_mapper.py │
│ grover.py │ mechanism.py │ │
│ qaoa.py │ quantum_games.py │ │
│ vqe.py │ repeated.py │ │
│ annealing.py │ cooperative.py │ │
│ ansatz.py │ │ │
│ tensor_network.py │ │ │
├──────────────────────┴────────────────────────┴─────────────────────────┤
│ 🧩 APPLICATION SOLVERS │
│ sudoku · graph_coloring · maxcut · nqueens · knapsack · tsp │
│ portfolio │
├──────────────────────┬────────────────────────┬─────────────────────────┤
│ 📊 DATA GENERATORS │ 📈 VISUALIZATION │ ⏱️ METRICS & BENCH │
│ puzzles.py │ quantum_viz.py │ performance.py │
│ graphs.py │ game_viz.py │ benchmark.py │
│ games_gen.py │ solver_viz.py │ │
│ market.py │ │ │
├──────────────────────┴────────────────────────┴─────────────────────────┤
│ ⚙️ INFRASTRUCTURE │
│ backends/ (classical · gpu · hybrid) │
│ utils/ (serialization · decomposition) │
│ _types.py (core dataclasses & enums) │
└─────────────────────────────────────────────────────────────────────────┘
✨ Key Features
🚀 Installation
# Clone the repository
git clone https://github.com/Ronit26Mehta/quant-gameth.git
cd quant-gameth
# Install in editable mode
pip install -e .
# (Optional) GPU acceleration
pip install cupy-cuda12x
Requirements
| Package | Minimum Version |
|---|---|
| Python | ≥ 3.9 |
| NumPy | ≥ 1.21 |
| SciPy | ≥ 1.7 |
| Matplotlib | ≥ 3.5 |
| NetworkX | ≥ 2.6 |
📖 Quick Start
1. Quantum Circuit — Bell State
from quant_gameth.quantum.circuit import QuantumCircuit, Simulator
from quant_gameth.quantum.measurement import sample_counts
qc = QuantumCircuit(2)
qc.h(0).cx(0, 1) # Hadamard + CNOT → Bell state |Φ+⟩
sv = Simulator().run(qc)
counts = sample_counts(sv, n_shots=1024)
print(counts) # {'00': ~512, '11': ~512}
2. Nash Equilibrium — Prisoner's Dilemma
from quant_gameth.games.normal_form import NormalFormGame
game = NormalFormGame.prisoners_dilemma()
equilibria = game.find_nash()
for eq in equilibria:
print(f"Strategies: {eq.strategies}")
print(f"Payoffs: {eq.payoffs}")
3. MaxCut with QAOA
import numpy as np
from quant_gameth.solvers.maxcut import solve_maxcut
adj = np.array([[0,1,1],[1,0,1],[1,1,0]], dtype=float)
result = solve_maxcut(adj, method="qaoa", qaoa_depth=3)
print(f"Cut value: {result.metadata['cut_value']}")
print(f"Partition: {result.solution}")
4. Portfolio Optimization
from quant_gameth.generators.market import generate_portfolio_data
from quant_gameth.solvers.portfolio import solve_portfolio
mu, sigma = generate_portfolio_data(n_assets=10, seed=42)
result = solve_portfolio(mu, sigma, risk_aversion=1.0, method="markowitz")
print(f"Optimal weights: {result.solution.round(4)}")
print(f"Sharpe ratio: {result.metadata['sharpe_ratio']:.4f}")
5. Sudoku Solver
from quant_gameth.generators.puzzles import generate_sudoku
from quant_gameth.solvers.sudoku import solve_sudoku
board = generate_sudoku(difficulty="hard", seed=42)
result = solve_sudoku(board, method="backtracking")
print(result.solution.reshape(9, 9))
🎮 Demo Scripts
Run any demo directly:
python -m quant_gameth.examples.demo_quantum
python -m quant_gameth.examples.demo_games
python -m quant_gameth.examples.demo_sudoku
python -m quant_gameth.examples.demo_maxcut
python -m quant_gameth.examples.demo_portfolio
python -m quant_gameth.examples.demo_trading
python -m quant_gameth.examples.demo_tournament
| Script | What It Demonstrates |
|---|---|
demo_quantum |
States, Bell state, Grover's search, QAOA, VQE |
demo_games |
Nash equilibria, backward induction, evolutionary dynamics, Shapley values |
demo_sudoku |
Puzzle generation (easy/medium/hard) + solving |
demo_maxcut |
Brute-force vs QAOA vs SA with approximation ratios |
demo_portfolio |
Markowitz, discrete selection, efficient frontier |
demo_trading |
First-price, Vickrey, VCG, English auctions |
demo_tournament |
Iterated PD round-robin + evolutionary dynamics |
📊 Benchmarking
from quant_gameth.metrics.benchmark import BenchmarkSuite, BenchmarkConfig
suite = BenchmarkSuite()
suite.register_builtin("maxcut")
results = suite.run(BenchmarkConfig(
problem_name="maxcut",
sizes=[6, 8, 10, 12],
methods=["qaoa", "annealing", "brute_force"],
n_repeats=5,
))
suite.export_json(results, "benchmark_results.json")
suite.export_csv(results, "benchmark_results.csv")
Expected Performance
| Problem | Size | Classical Baseline | Framework | Speedup |
|---|---|---|---|---|
| MaxCut (dense) | 100 nodes | ~10s | ~5s | 2× |
| Sudoku (hard) | 729 variables | ~60s | ~30s | 2× |
| Portfolio | 50 assets | ~1s | ~0.5s | 2× |
| 2-player game | 10×10 | ~0.1s | ~0.05s | 2× |
🔬 Novel Contributions
| # | Innovation | Description |
|---|---|---|
| 1 | Quantum-Game Bridge | Auto-transpile any normal-form game → QUBO or quantum circuit |
| 2 | EWL Quantum Games | Full EWL protocol with demonstrated quantum advantage over classical Nash |
| 3 | Hybrid Quantum-Evolutionary | Combine replicator dynamics with quantum annealing for equilibrium discovery |
| 4 | Game-Theoretic QAOA | QAOA warm-start from game best-response strategies |
| 5 | Multi-Agent Tournament | Tournament system with evolving quantum strategies across generations |
📁 Project Structure
quant-gameth/
├── pyproject.toml # Build config & dependencies
├── LICENSE # MIT License
├── README.md # This file
├── quant_gameth/
│ ├── __init__.py
│ ├── _types.py # Core dataclasses & enums
│ ├── quantum/ # Quantum simulation engine (11 modules)
│ ├── games/ # Game theory engine (8 modules)
│ ├── encoders/ # Problem encoders (4 modules)
│ ├── solvers/ # Application solvers (7 modules)
│ ├── generators/ # Data generators (4 modules)
│ ├── viz/ # Visualization (3 modules)
│ ├── metrics/ # Performance & benchmarking (2 modules)
│ ├── backends/ # Execution backends (4 modules)
│ ├── utils/ # Utilities (2 modules)
│ └── examples/ # Runnable demos (7 scripts)
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📄 License
This project is licensed under the MIT License — see the LICENSE file for details.
Made with ❤️ for quantum computing and game theory research
⭐ Star this repo if you find it useful!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file quant_gameth-0.1.0.tar.gz.
File metadata
- Download URL: quant_gameth-0.1.0.tar.gz
- Upload date:
- Size: 93.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e79f0aebd592d440837ab1e8222188551d056abce4259adac734cb2305625dc
|
|
| MD5 |
4f416a441360c2c52fa36b671598b50a
|
|
| BLAKE2b-256 |
5eece0a34936cce8537690cd87e2453468e7a57174f95a39084a31201400c183
|
File details
Details for the file quant_gameth-0.1.0-py3-none-any.whl.
File metadata
- Download URL: quant_gameth-0.1.0-py3-none-any.whl
- Upload date:
- Size: 118.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b4fd459a2c877d638045d6bbf1f533b1fb01a9994dd1d790b8bd089173272e49
|
|
| MD5 |
ec1f617f0afd9fbc27e314dfef406bb1
|
|
| BLAKE2b-256 |
a850198b417889ca8eea2f62640ce0add70e9748e8410d087cdec430094a2f15
|