The topic of today's conversation is Quantum Computing. What is Quantum Computing, and why is it considered so mysterious and powerful? Ok, let's start from the beginning, a bit of insight into some aspects of Quantum Theory. The general idea is that very small particles behave quite differently from the normal objects that we encounter in our everyday life. For example, if I take an apple, and I spin the apple - it's a weird thing to do to the apple but anyway - I can observe and know for sure the apple's location, as well as the speed and direction in which it's spinning. Therefore the apple is something perfectly observable and comprehensible to me.
Let's imagine that the apple is an elementary particle. When I look at such an apple and see that it's located in some particular place, I don't know anymore whether and in which direction it's spinning. It becomes all blurry and uncertain. As a matter of fact, it's like it's spinning in all directions simultaneously, or it's a part of the objective reality that's not determined yet. Or it can be the other way around - I see how this apple moves, but I have no idea where it actually is.
In some way, it's similar to an unwritten book. For example, before the last Harry Potter book was written, we - his fans - were guessing if he died in the end or not. Regarding the reality of Harry Potter's story as something that happened in the past, the event should've already had some specific outcome: either Harry Potter stayed alive or, hopefully, he was finally defeated, slain, shred to pieces, and eventually passed away. But until the last book, the outcome was uncertain; the reality - although it was a certain reality of Harry Potter's destiny - wasn't formed yet. Finally, the last book of the series was released, and we learned that Harry Potter was, in fact, dead - the book established one of the probable realities of Harry Potter's life trajectory as the actual reality. For example, if that book was written not by J.K. Rowling but by somebody who wasn't already so sick and tired of Harry Potter, he probably would've stayed alive.
So the point is, this example somewhat illustrates the principle of Quantum Uncertainty. Imagine also, that the book actually describes some real events that happened in the past. Like, based on our common sense, we assume that Harry Potter was either alive or dead, one of those possibilities should've been an actual reality, and it was the reality before the book was written, we just didn't know about that. Meanwhile, in this case, the reality is only defined by this final chapter of the book; before that, it's uncertain, even though our common sense screams that it cannot be this way.
Similarly, according to Quantum Uncertainty principle, the reality is uncertain until it's observed by somebody. This multitude of possibilities that can be true at the same time - and, at the same time, neither of them is true until we take a look at it - is called Quantum Superposition. For example, in the famous experiment, the cat is trapped in the box together with a jar of poison that gets smashed by a hammer if a certain elementary particle is in a certain state. But, the thing is, the state of this particle is not determined until it's observed. It's not like we don't know whether this particle in this state or not; it's that its state is objectively uncertain, like, it's in both mutually exclusive states simultaneously.
To draw an analogy, we know that the chameleon is blue when it's placed against some blue backdrop and it's, let's say, green when it's placed against a green backdrop. The survival instincts of the chameleon dictate that he needs to blend with its surroundings, no matter what. Let's assume that the chameleon also cannot be discolored, that it always has some color, reflecting its environment. So what if we then place this chameleon into some empty space where there's no color. Let me remind you, the chameleon cannot be discolored; it has to assume some specific color. But in the colorless environment, it's impossible to say what color it should be. If we stick to common sense, we might assume that the unfortunate reptile is going to take on every possible color in quick succession and then probably explode. As well as our brains. Meanwhile, the Quantum Physics would say that the chameleon, in this case, is in the superposition of colors, in other words, he is kinda colored in many different mutually exclusive colors simultaneously. Or, to put it in a different way, the chameleon is suspended in many mutually exclusive states at once. Maybe, it's easier to understand it as if there are many different realities, in each of which the chameleon is in a different state, but we don't know, which of those realities is real yet. And it won't become clear until we add some background - green or blue or red - and observe with satisfaction that the chameleon is, in fact, colored in some specific hue matching this background.
Returning to the cat experiment, the cat is placed inside the closed box that also contains a jar of poison, a hammer, a Geiger counter, and a certain elementary particle. If the particle is in a certain state, it leads to the emission of some radiation that triggers the Geiger counter connected to a mechanism that activates the hammer. The hammer smashes the jar with poison, and the poison kills the cat. This all happens if the particle is in a certain state. If the particle is in a different state nothing happens. So the problem is that the state of this particle is uncertain until it's observed, or, in other words, the particle is in a superposition of two states - it's like, the particle somewhat in these two states simultaneously. So, the question is, is the cat alive or dead? We have this closed box with the cat inside, and we don't know whether the cat is alive or not. Or rather we know that the cat, in fact, is in a superposition of life and death. That is, the cat is alive and dead at the same time, similarly to how the particle triggering the chain of events leading to cat's demise is in two different states simultaneously. So the cat is both alive and dead, or, maybe, it's easier to look at it as two different alternative realities, in one of which the cat is alive and in another it's dead. This cat experiment illustrates what Quantum Physics is all about - the weird stuff.
So, literally, the principle of Quantum Uncertainty says that an elementary particle can have either a specific position or a specific momentum but not both. For example, if we managed to figure out where the particle is located, we don't know where and with what speed it's moving, and vice versa, if we know the speed and direction of the particle we stop understanding where it is. To draw an analogy, when I observe a flying plane, I can move alongside the plane and clearly see it, without having any idea how fast or where it moves. Or if I look at it from the ground, I see that something has just whizzed past me; I can tell that it moves, say, to the north, and, for that matter, that it moves really fast, but I cannot tell what it actually is - maybe it's a fighter jet or a bird, I don't know, it has whooshed past me too fast for me to notice. Ok, so literally, the elementary particle has either a certain position or a certain momentum; if we determine its one characteristic another becomes uncertain, like, it can be anything in the realm of various possibilities and alternative realities.
Quantum Computers
The principle of Quantum Superposition - the ability of elementary particles to be in different states simultaneously - can have a practical application. What if we line up those particles to form some information unit, like a computer byte? A computer byte consists of eight bits, each of which can contain one of two values - one or zero. Eight bits, taken together, can form 256 different combinations of ones and zeros. Ok, for example, I want to check if one of those numbers supplied to a function makes the function take a certain value. I don't know which of the numbers it is, so I need to iterate through all combinations, check them one by one. It can take a long time. Ok, let's consider a situation when we have an unordered list of numbers and we need to find some particular number in this list. What would we normally do? In a normal situation, we don't have another option apart from scrolling through this list, testing if each following number is the number we are looking for. Statistically, most likely we'll find this number somewhere close to the middle of the list. So it will take a long time as well. This is because at each particular moment we examine one particular item. If we split the time into small intervals and imagine that each interval is a cell, we can accommodate only one tested value into the cell. So our operation, in this case, proceeds sequentially, step by step. With quantum bits it's quite different. I mentioned before a property of Quantum Superposition - an ability of a particle to be in many different states at the same time. So what if we use this particle and decide that it's going to represent a bit of information. A normal bit is always in one of two opposite states - one or zero. A quantum particle, on the other hand, is normally in a superposition of states - its state is not determined until it's observed. (The cat is in a superposition of life and death - it's alive and dead simultaneously) It means that a bit of information represented by a quantum particle somehow contains two values - one and zero - at the same time. If we string such quantum bits in a bigger information unit - for example, we can combine eight quantum bits in a quantum byte - this quantum byte will contain 256 values simultaneously. You might ask, what sense does it make in terms of computations? Like, the quantum byte contains multiple quantum states, well, but from our human perspective it's kinda the same as if we just didn't know what actual value this byte had, or it didn't have any specific value at all. And when we observe this quantum byte it always takes some particular state, so what difference does this magic quantum superposition actually make?
Let's draw another analogy. For example, how do we make steel objects? We heat the steel until it turns into liquid, then prepare the form and pour this glowing liquid metal into the form. Then we cool it down until it solidifies and, as a result, we have a neat, brand new, and shining steel rail, or pipe, or whatever. To think about it, we utilize a very complicated process with innumerable interacting atoms forming crystal structures, although we don't think about the complexities of atom interactions, as well as subtle and complex processes, occurring when the material is transformed from the liquid to solid state. This all happens behind the curtain; we just prepare the form and, knowing that liquid metal gets hard when it cools down, use this its property to get what we need. Similarly, an array of quantum bits can be compared to the liquid metal - a steaming cauldron of boiling possibilities. It's not in any way useful for us while it's in this boiling chaotic condition, but if we cool it down - at the same time applying a special procedure ensuring that we eventually turn the chaos into something that can be useful for us - it will eventually harden and take some specific shape - the one we were looking for. A quantum computer in this sense can be seen as a computer that processes myriads of computations in parallel. Well, because an array of quantum bits contains all the multiple combinations of data at the same time. Maybe these combinations exist in a multitude of parallel dimensions, who knows. What's important for us here is that we can extract tangible practical results from this situation, for example, when we need to find a certain value in a sequence of randomly arranged numbers. As I mentioned before, normally we would need to iterate through the whole sequence and, hopefully, we would come across the number we need somewhere in the middle. If the sequence is really long, for example, like a sequence of all the possible combinations of atoms in a DNA molecule, it would take a very long time for traditional computers to find the result. Like, millions of years probably. For all intents and purposes, it doesn't make any practical sense. When we use a quantum computer, on the other hand, all those computations - that on a normal computer would be performed one at a time - are done in parallel in the spooky multidimensional quantum reality. It's like a pot of boiling water where billions of molecules produce countless combinations, all at once. Our role here is to create conditions that would drive the quantum system to some particular state - the one we need. In the case of finding a specific number in a sequence of random numbers, we "cool down" the quantum system - at the same time, doing some magical manipulations - so when we measure it we get as an output exactly the position index of the desired number. Now among all quantum possibilities, we found one, and it's exactly what we need.
Qilimanjaro
The Qilimanjaro project brings into light another important aspect of Quantum Computing. While we are currently still somewhat at the early stages, regarding the development of practically applicable quantum computers - with IT giants like IBM and Google presenting their prototype level models with a handful of Q-bits - the general concept of Quantum Computing proved to be viable. In other words, it was confirmed that it's practically possible to build computers based on quantum principles, (one of the created prototypes was already successfully tested on the task of factoring numbers) which opens the gates of unlimited fantastic possibilities. The thing is, quantum computers can solve complex tasks that would take millions of years for normal computers to solve. With major IT companies successfully overcoming technical difficulties related to building and maintaining quantum systems, the moment when quantum computers will become practically useful is not far away. With this comes another concern - what would be the most effective way to utilize and distribute computational resources of quantum computers? Such systems are definitely not going to be like desktop computers that can be purchased by any interested user, plus by their physical nature, they are designed to solve a very specific class of tasks, namely, tasks related to optimization - finding global minimum or maximum of the optimization function. This is another practical hurdle of quantum computing - every possible algorithmic task needs to be formulated as an optimization problem, so it can be tackled by the quantum machine. Depending on the algorithm that needs to be reformulated this way, this task can range from non-trivial to impossibly difficult and often requires ingenuity and hard efforts of the best scientists specializing in this field. Qilimanjaro project aims to create a platform that would provide both an infrastructure for organizing a potential market of quantum computational resources and a collaborative environment where quantum and IT specialists can unite their efforts in solving the problem of converting standard algorithms into algorithms and procedures for quantum machines. In addition, Qilimanjaro project is building four of its own quantum computers based on the technology of quantum annealing, which resources will be available through the project's online platform. To make developing programs for quantum computers easier, the project develops its own programming language Qibo, intended to introduce a higher level of abstraction over technical details of quantum computing, allowing programmers to develop algorithms without the need to deeply understand underlying technological complexity.
Overall, the Qilimanjaro project's intent is very timely. With quantum computation quickly gaining momentum, companies building quantum computers will need algorithms to test the limits of their systems, and specialists that can provide such algorithms. At the same time, many spheres of science and research - as well as companies developing complex technologies and the whole field of Artificial Intelligence - can hugely benefit from having at their disposal the unlimited power of quantum computation. The question of distribution and providing public access to quantum computational resources hadn't been considered before, but it's about time when this aspect related to this fast-growing technology should be brought into focus. The access to quantum computers, in turn, will accelerate the development of the software for such devices and spark a collective effort of scientists and IT professionals to translate computational problems - especially those with exponentially growing complexity that cannot be solved by traditional computers - into the algorithms that can be cracked by quantum machines.
Token allocation
In the third quarter of 2018, Qilimanjaro will conduct a token sale aiming to distribute 45% of its total supply of 300,000,000 QBIT token. The fundraising goal is 25,000,000 USD
Useful links
Website | ANN | Whitepaper | Telegram | Twitter | Medium | Github | Facebook | Reddit | LinkedIn | Bounty
This post was resteemed by @steemvote and received a 91.22% Upvote. Send 0.5 SBD or STEEM to @steemvote
Looks promising, can't wait for the #ico!
I love these ideas about supercomputers. Hope I will see them someday. ☺