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

  • Automatic 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.2.1.tar.gz (70.5 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: pottsplayground-0.2.1.tar.gz
  • Upload date:
  • Size: 70.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for pottsplayground-0.2.1.tar.gz
Algorithm Hash digest
SHA256 26ccd0ff316257df2eac4a0cccd2a89705039210de46ab4e394ced0395b5ac56
MD5 6e666f78bab6815f1a8f32d7fd7414ac
BLAKE2b-256 56c12592fe6fc877675d5ba28b56e6dff79f1d71cc778dc0c20f48fb6c0d09ab

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