Skip to content

Comparing the efficiency of Classical Evolutionary Algorithms vs. Quantum Evolutionary Algorithms

Notifications You must be signed in to change notification settings

ROODAY/QuEST-Experiments

Repository files navigation

QuEST Experiments

This repository contains code for replicating the experiments described in Quantum-inspired Evolutionary-algorithm Speedup Time: QuEST, an end-of-term paper for BU PY 536 - Quantum Computing - Fall 2018. By running driver.py, you can compare the efficiency of Classical Evolutionary Algorithms vs. Quantum Evolutionary Algorithms, albeit on a contrived example. The code compares the number of generations required to find a target bit-string, with a fixed population size, mutation rate, and theta. All variables are easily configurable in driver.py to allow for easy exploration of the algorithms. The general structure of the evolutionary algorithms follow the one outlined in "Was Darwin a Great Computer Scientist?", and the concept was motivated by the Quantum-Inspired Evolutionary Algorithm for a Class of Combinatorial Optimization paper.

Setup

To run the experiments, you'll need Python 3.6+, PyQuil, and the Rigetti Forest SDK. Information on installing the latter two can be found here. Once those are installed, you'll need to run a few terminals. On the first, run quilc -S and on the second run qvm -S. These start the servers from Forest that PyQuil relies on. From here, you can modify the variables in driver.py and then run python driver.py in a third terminal to get the results.

For plotting results, you can see examples in the files named plot*.py. To run them, you'll need to install matplotlib. Other than that they have no requirements, and can be run like the driver.

About

Comparing the efficiency of Classical Evolutionary Algorithms vs. Quantum Evolutionary Algorithms

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages