As part of my continuing effort to understand modern computing I spent some time studying about quantum computers. I’m not an expert in it yet, but I’ll share what I understand as best I understand it. In case you’ve never read my technical writing, I usually try to make technical things easy for everyone to understand. So even if you don’t know what binary computing is, you should have no problem understanding this post.
So let’s start with binary computing. What does that mean? 101010101101, right? Computers are 1s and 0s? What does that mean though? Very very very early computing was basically electrical switches like the light switch. There were two options, on/off, or as the computer would call it, 1/0. I’ll give you an example of how that might work. Let’s say you work at a company and some of your customers like green and others look blue. You could have two columns, one for green and one for blue. If the computer has a value of 1 then that means they like blue and if they have a value of 0 then it means they do not like blue (for super nerds, this does of course leave out the option of null which would be no value, neither 1 nor 0, but that is much deeper than binary computing).
So we could expand on that example by just imagining a spreadsheet of your friends and people you know, then tracking things they like in a yes/no fashion, or as the computer would put it, 1/0.
So in broad strokes, that’s binary computing. So what is Quantum Computing? Instead of 1 or 0, it can be 1 or 0 or anything in between. To keep things interesting, you can run Quantum based equations on binary computers, but Quantum computers are incredibly expensive and experimental.
So what does this mean? If Josh likes to make technology easy to understand, where is he going with this?
Imagine every person in this country (or planet for that matter) had an identifier record that was used to track various data points about them. For example, what type of food they like to eat, when they eat it, career goals, hobbies, etc. Marketers always want to be able to influence buying behaviors, or at least understand them. Politicians do the same things for votes. So let’s make a Quantum Equation:
Just to play with the idea of this in the U.S., let us start with the following assumptions:
- We assign every citizen a record id labeled citizen0, citizen 1, citizen2, etc all the way through citizen330000000 or however many we have. So that is the left side of our spreadsheet and each citizen has their own row.
- Each column collects various data points about customers such as their hobbies, interests, demographic data, etc.
What do we want to know? Let’s say we were trying to figure out how many people would buy an iPhone next year and compare that against how various outside factors could impact iPhone sales positively or negatively. We could do it with literally anything, but that’s our example. So instead of having a binary “would buy iPhone” or “would not buy iPhone”, each potential customers falls into a group that is more accurately described as “may buy iPhone”.
Let’s also assume the following:
- We already know based on the customer data points who currently has an iPhone and how many iPhones they have had in the past.
- We also know how many android users there are, but we have no data about how often they buy phones.
What would the equation itself look like? Using variables that I’ll explain as I go along, it would look something like this:
The likelihood of someone buying an iPhone is a number of 1 or 0 or anything in between with 1 being as certain as possible they will buy one and 0 being as certain as possible they will not buy one. We’ll call that “iPhoneBuyingPrediction”. For purposes of making this easier to follow, I will put a # in front of any of the terms in the variables. So that would now look like #iPhoneBuyingPrediction and the #iPhoneBuyingPrediction values would be 0 to 1 (quantum) as opposed to 0 or 1 (binary).
So back to the data set we already have, let’s define the variable if iPhone owners as #iPhoneOwnership, again with variables of 0 to 1 (quantum) or 0 and 1 (binary). With binary it would probably just tell us if they had one or not. Another binary value could be if they have ever owned one before. Let’s assume that we have the information that shows how many iPhones someone has purchased and what we can do using a Quantum Variable is to treat it more as a “how many iPhones do you buy” where 0.1 = one every 10 years and 1 = one every year. Now the variable of #iPhoneOwnership can be used to represent the rate of iPhone ownership. In broad strokes, #iPhoneOwnership multiplied by years can give you an average of what an existing customer base would presumably buy year over year assuming all things remain constant (which they never do).
Here is a big point, using #QuantumEquations can help you predict alternate futures. I’m not talking about time travel, but let’s say you’re the CEO of Apple and you are working with these data sets, you can test different variables. For example, let’s assume Apple has records of all of the customer transactions they have made (which they almost definitely have). They could very easily create the #iPhoneOwnership variables. They could also overlay the data against other factors that could happen. If you take a look at the different segments of iPhone purchase frequency, there are probably common factors. So let’s say we take this #iPhoneOwnership lens and scan through the database of citizens and we pull other data on these individuals. Do they live in the same areas? Are there ages similar? Are their app transactions similar? There is an enormous amount of information that is predictable and measurable, even if it isn’t immediately obvious why it is happening.
On another note, if you were comparing the iPhone user data against public records, you probably would be reasonable accurate to assume that for anyone over the age of 18, if they do not have an iPhone, they probably have an android. With that information we can create the #androidOwnership variable. This one wouldn’t be as accurate, but it would be pretty useful. Virtually everyone over 18 has a phone and so if it isn’t an iPhone, android is the next most likely. So with the #androidOwnership we would probably start of with 0 being in reality “not known to have purchased an iPhone” and 1 being “own an android”. It would cover a broader range than the #iPhoneOwnership, but you probably could still draw some very meaningful insights by using it as a lens.
So let’s say you’re at Apple and you have all of this great data, how can you predict or model or simulate alternate realities?
Let’s say we did some deep research and found out that the age group that is most likely to buy iPhones with the highest degree of frequency also likes a particular celebrity that Apple could work with. You could probably introduce a new variable to the spreadsheet called #celebrityMarketingExpense and then estimate what percentage of sales you think would increase based on that #celebrityMarketingExpense.
So if these variables can be 0 or 1 or anything in between, it allows you to take a data set such as the list of all the citizens, use the variable to define the odds of someone buying a product, and then see how manipulating other variables can help or hurt the variable you are attempting to impact. For example, the celebrity endorsement of the iPhone could drive sales higher with some customers, but turn them off for others. If you find there are ideological rifts within your customer base you run a risk of actually damaging your business.
I believe this is still an emerging technology/concept, so it is entirely likely that I have made some mistakes, but at a high level Quantum Computing is a different way for computers to think as well as a different way to organize algorithms to ask a computer to process. While I did state earlier in my post that binary computers can run quantum computers, they will be severely limited. The example regarding the iPhones would be very easy to do with a binary computer, but moving forward with larger compute and AI needs, Quantum Computers radically increase the computational capabilities of technology.