D-Wave has introduced a computing system built around a new kind of processor. This system is called the D-Wave One. It is unlike any other you may have programmed in the past.

The processor in the D-Wave One – codenamed Rainier – is designed to perform a single mathematical operation called discrete optimization. It is a special purpose processor. When writing applications the D-Wave One is used only for the steps in your task that involve solving optimization problems. All the other parts of your code still run on your conventional systems of choice.

Rainier solves optimization problems using quantum annealing (QA), which is a class of problem solving approaches that use quantum effects to help get better solutions, faster. Because D-Wave One is a type of quantum computer, it‘s natural to think that developing applications on the system might be really hard. While it does require some work, it is not as difficult as you might think. Most of the hard work arises from having to bring together basic knowledge from fields that normally don‘t cross-pollinate much, such as quantum physics and machine learning.

This is the first in a series of blog posts describing the algorithms we have run on D-Wave quantum computers, and how to use these to build interesting applications. It is meant to be practical and hands-on, and is not meant to be an advanced or comprehensive review of any of the underlying concepts used. We can point you to reference material on any subject where you might want a deeper dive.

We start by introducing and describing an algorithm, called quantum binary classification (QBC), which is a supervised machine learning technique which can be used to train any binary classifier. A binary classifier is software that inputs an object, such as an image, document, or sound file, and labels it with one of two possible labels – for example, “yes” or “no”. The “yes” or “no” response can be to any question you can think of pertaining to the type of object in question. The QBC algorithm was co-developed with researchers at Google and Purdue University, and was first used for building a classifier for labeling the presence or absence of cars in images.

To make everything concrete, we will run through a fully worked example, where we use the QBC algorithm to train a binary classifier that inputs a person‘s first name, and classifies it as either more likely to be male or female. This example was chosen because it‘s fun, simple, and exhibits the basic features of more complex binary classification problems.

**Audience and Required Background**

This material was developed to help software developers interested in learning how to program D-Wave quantum computing systems get started. Experience in machine learning (in particular classification) and discrete optimization is helpful but not necessary. The programming language used in the included examples and source code is Python 2.7, and use is made of the Natural Language Tool Kit (NLTK) and the Natural Language Processing with Python book. While the example we will go through involves basic concepts in natural language processing (NLP), no background in NLP is required. No previous exposure to programming D-Wave quantum computing systems is necessary. A very helpful companion document, which first introduced the algorithm described here, is Training a Large Scale Classifier with the Quantum Adiabatic Algorithm.

Sounds nice! Congratulations.

Pingback: D-Wave Announces Commerically Available Quantum Computer - Alex Knapp - Robot Overlords - Forbes

Pingback: myPost.gr | Μπορείτε Πλέον Να Αγοράσετε Έναν Κβαντικό Υπολογιστή

hoax / not hoax / both / neither

How about “not hoax”

Pingback: Et un ordinateur quantique, un ! | Pourquoi Comment Combien

Pingback: Μπορείτε πλέον να αγοράσετε έναν κβαντικό υπολογιστή | ΕΚΡΗΚΤΙΚΟ

Pingback: Mejores diseños y conceptos Mayo - Parte 2

I’m confused. This post seems to get right up to the point of describing the software and stops. Is there another post coming?

Yes, there will be many more :) They are just in preparation…

When are we going to be able to run Grover’s algorithm on the D-Wave? There are some numbers I’d like to factor.

Grover’s algorithm isn’t for factoring (I’m actually not sure what it’s supposed to be for). We do have a factoring algorithm that I’m going to do a series of blog posts on (the working title is “Better than Shor” :-) ). It’s scheduled to be the fourth in the series (binary classification, structured classification, unsupervised feature extraction, and then the factoring algorithm).

Grover’s is for database and collision search. I’m looking forward to quantum algorithms in Python!

Does it mean that you have your own factoring algorithm that works better than Shor’s one and that you already executed it on real hardware?

Geordie, is it an implementation of this [1] I have been working for the past few days to write the optimization function presented in [1] as an Ising Spin Glass problem but I guess you guys beat me :D

[1] http://prl.aps.org/abstract/PRL/v101/i22/e220405

Hi Vikram, no that algorithm isn’t a good factoring algorithm (for several reasons, including it requires exponential precision on your ability to represent numbers in hardware). Our factoring algorithm is quite different.

Dear Geordie, I looked for your “better than Shor” title and any blog posts on the subject of a factorization algorithm, but didn’t find anything. I recently published a paper on a quantum factorization of 56153: http://phys.org/news/2014-11-largest-factored-quantum-device.html . This algorithm does not require exponential precision to represent numbers. Since then, we’ve discovered that this algorithm can factor RSA-100 with around ~2000 qubits on an adiabatic quantum annealer, but unfortunately would need many more qubits to perform on D-Wave due to the Chimera structure restriction that each qubit can only interact with at most 6 others. If we increase the connectivity in the D-Wave Chimera, we’re talking success !! Shoot me an email (my email address is at the top of the publication).

oh i see, well i’m excited to see the optimization problem that you guy employ and how that outperforms the algorithm given by Shor.

Pingback: Resum del Gadget del Divendres #117 @ IP Reader’s Diggest

can be used with this http://www.physorg.com/news/2011-05-algorithm-brains-electrical.html ?

Pingback: 商用量子计算机是真的么？ | Yin Zhangqi’s Blog

Pingback: Waar blijft de quantumcomputer? - KIJK.nl

iF=adapt(+,-,/,*)Code- – – – Code ; Programs that are capable of adapting, reading and writing. In other words the top 100 websites, top 10 MUI’S, TOP 10 GUI’S, and break them DOWN INTO THE SIMPLEST xDecimal. THEN PLACE THEM THROUGH AN INFINATE LOOP, THAT WILL ADAPT AND COMPUTE. WHICH WILL CREATE DATA WHICH WILLL B FILTERED BACK INTO THE SYSTEM AGAIN. I HAVE PAPERS TO EXPLAIN THE CONCEPT OF A PROGRAM CREATING A PROGRAM USING HUMAN CHARACTERISTICS.

Very good post. I absolutely love this site. Thanks!

The present blog post is all meta content, it seems to be an advertisement for an informative document. Where is the informative document? Pardon my ignorance, I suspect this is just a web design fail.

Hi Greg, you can work through the tutorials at http://www.dwavesys.com/en/dev-tutorials.html, including the one referred to above. You can also look at some of the other posts on the blog to follow up on this one.

Pingback: Commercial Quantum Computer? « Tomi Engdahl’s ePanorama blog

Pretty great post. I just stumbled upon your blog and wanted to mention that I have really enjoyed browsing your weblog posts.

After all I’ll be subscribing in your rss feed and I am hoping you write again soon!

Pingback: Quantum computer Hoopla and I | elcidharth

Good day! This is my first comment here so I just wanted to give a quick shout out and tell you I genuinely enjoy reading your articles.

Can you suggest any other blogs/websites/forums that go over the same

subjects? Thanks!

Pingback: Of Hindutva, Conventional v Quantum | elcidharth

My partner and I stumbled over here by a different web page and thought I might

as well check things out. I like what I see so now i’m following you. Look forward to checking out your web page again. Very much appreciated information!

Pingback: 走近量子纠缠（17）——量子计算机 | 占星日报-每日星座运

Pingback: 科学 – 六号教父 » 走近量子纠缠（17）——量子计算机

Will there be Windows 8 drivers?

Uh no… you code to a Python or C++ or Matlab API.

Pingback: वसुधैव कुटुंबकम

Pingback: HWzone | הכירו את המחשב הקוונטי המסחרי הראשון

Pingback: D-Wave Systems Quantum Computer | All Star Activist