Giter Site home page Giter Site logo

artix41 / a_game_to_benchmark_quantum_computers Goto Github PK

View Code? Open in Web Editor NEW

This project forked from decodoku/a_game_to_benchmark_quantum_computers

1.0 4.0 0.0 75.5 MB

Simple puzzles implemented on quantum devices

License: Other

Jupyter Notebook 85.08% Python 2.77% TeX 12.15%

a_game_to_benchmark_quantum_computers's Introduction

Quantum Awesomeness

A Game to Benchmark Quantum Computers

Intro

This game is designed to run on any and all prototype devices capable of universal quantum computation. The better the device, the better the game will run. This therefore allows a simple and accessible way to assess and compare these prototypes.

''

The game consists of a series of rounds. Each has a puzzle like the one above, and each is a bit harder than the last.

Puzzles from higher rounds require higher depth circuits, and so build-up of noise contributes to an increase in difficulty. The number of rounds that the game remains playable for therefore depends on the noise levels of the device. Also, the complexity of the puzzles depends on the size and connectivity of the device that runs them. These properties mean that the game gives the player direct experience of the most important factors affecting the current generation of prototype quantum computers.

For more on the gritty details, see

How to play

The easiest way to play is to use the browser version here (though it might take a few attempts before it actually loads). Just press the run button, as highlighted in red in the image below.

''

This version either simulates a game on the chosen device, or creates one using data that has already been extracted from the real quantum computer.

Contributing data

If you have a quantum device, please consider running this game and contributing the resulting data. This will allow the public to get some experience of how your device works, and how it compares to others.

If your device is already set up in devices.py, and the game already has support for your SDK, then all you need to do is run it! Do this with the Get_Data notebook. Just set the device variable to the name of your device, and then run all.

If your device is not already set up, but it is compatible with one of the supported SDKs (QISKit, ProjectQ, Forest and Cirq), then you need to add the specifications to devices.py. See the comments and examples in this file to see how to do this.

If you need to add a new SDK, this will need to be done in QuantumAwesomeness.py. Go through all the functions with the comment This function contains SDK specific code, and add the required code for your SDK.

To avoid the above, you can also manually mediate between the game and your device. To do this, set the SDK for your device in devices.py to be "ManualQISKit". This will print a QASM to screen when it wants to run a quantum job, and ask for the results to be pasted in.

Once you've added your device, your SDK, or even your data from a real device, make a pull reqeust so we can add it in.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.