Skip to main content

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

License Python Version Issues


🏗️ 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

⚛️ Quantum Algorithms

  • Statevector simulation — Clifford+T + parameterised gates, up to ~22 qubits
  • QAOA — multi-layer, warm-start, custom mixers
  • VQE — variational eigensolver with parameter shift gradients
  • Grover's search — amplitude amplification, multi-target
  • Quantum annealing — simulated QA + parallel tempering
  • Tensor networks — MPS backend for n>20 qubits
  • Ansatz library — HEA, QAOA, QAOA+, UCC

🎯 Game Theory

  • Nash equilibria — support enumeration, Lemke-Howson, LP
  • Extensive-form — backward induction, subgame perfect equilibrium
  • Evolutionary — replicator dynamics, Moran process, ESS
  • Mechanism design — 1st-price, Vickrey, VCG, English auctions
  • Quantum games — EWL protocol, quantum PD, penny flip
  • Repeated games — iterated PD, 10+ strategies, tournaments
  • Cooperative — Shapley value, core, nucleolus

🧩 Application Solvers

  • MaxCut — QAOA, simulated annealing, brute-force
  • Graph Coloring — backtracking, QAOA, SA
  • TSP — nearest-neighbour, 2-opt, SA, QAOA
  • Knapsack — DP, branch-and-bound, QUBO annealing
  • Sudoku — constraint propagation, backtracking
  • N-Queens — backtracking, simulated annealing
  • Portfolio — Markowitz, discrete selection, SA

⚙️ Infrastructure

  • 3 backends — Classical (NumPy), GPU (CuPy), Hybrid (auto-dispatch)
  • Decomposition — divide-and-conquer, sliding window, hierarchical
  • Benchmarking — automated sweeps, JSON/CSV export
  • Serialization — save/load results, circuits, states
  • Performance — timing, memory profiling, approximation ratios

🚀 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
Sudoku (hard) 729 variables ~60s ~30s
Portfolio 50 assets ~1s ~0.5s
2-player game 10×10 ~0.1s ~0.05s

🔬 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.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quant_gameth-0.1.0.tar.gz (93.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quant_gameth-0.1.0-py3-none-any.whl (118.6 kB view details)

Uploaded Python 3

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

Hashes for quant_gameth-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3e79f0aebd592d440837ab1e8222188551d056abce4259adac734cb2305625dc
MD5 4f416a441360c2c52fa36b671598b50a
BLAKE2b-256 5eece0a34936cce8537690cd87e2453468e7a57174f95a39084a31201400c183

See more details on using hashes here.

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

Hashes for quant_gameth-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b4fd459a2c877d638045d6bbf1f533b1fb01a9994dd1d790b8bd089173272e49
MD5 ec1f617f0afd9fbc27e314dfef406bb1
BLAKE2b-256 a850198b417889ca8eea2f62640ce0add70e9748e8410d087cdec430094a2f15

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page