Skip to main content

For creating and solving Potts-model representations of combinatorial optimization problems

Project description

PottsPlayground is for constructing and simulating combinatorial optimization problems represented as Potts Models. It includes a system for constructing weight matrices in Python and a C++/CUDA extension for minimizing the Potts model energy on a CPU or GPU using various flavors of simulated annealing. It is intended as a demonstration of what the Potts model is and is not capable of, and as a tool for further research with the Potts model of computation.

Read the full docs here.

Built-in combinatorial problems can be generated and solved easily:

import PottsPlayground
PottsTask = PottsPlayground.Tasks.TravelingSalesman(ncities=10, ConstraintFactor=1.5)
temp = PottsPlayground.Schedules.SawtoothTempLog2Space(MaxTemp=1., MinTemp=0.05, nTeeth=3, nIters=1e4)
results = PottsPlayground.Anneal(PottsTask, temp)
final_best_soln = results['MinStates'][-1,:]
PottsTask.DisplayState(final_best_soln)

There is also a BaseTask class that can be used to try out any Potts Model problem representations you can think of, and anneal it using the high-performance backend.

Features:

  • Structured construction of Potts Models

  • Conversion from Potts to Ising models

  • Minor Embedding of Ising models

  • GPU accelerated annealing and sampling

  • Parallel replicates

  • Parallel updating

  • Comprehensive statistical reporting

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

pottsplayground-0.1.1.tar.gz (68.2 kB view details)

Uploaded Source

File details

Details for the file pottsplayground-0.1.1.tar.gz.

File metadata

  • Download URL: pottsplayground-0.1.1.tar.gz
  • Upload date:
  • Size: 68.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.12

File hashes

Hashes for pottsplayground-0.1.1.tar.gz
Algorithm Hash digest
SHA256 bf21438d9664738a4fad3b664b910759f626a9cb94721f1bd54a2839884906a5
MD5 3c4e7fbdac5095fc14019f5901bf0ff1
BLAKE2b-256 81c59605f67cb1da01f5ffe613b029b37820c216e58696ca76a0501180e4ac1a

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