Quantum Instruction Set - Computerphile
Вставка
- Опубліковано 31 тра 2018
- Just what can you do with a quantum computer? Robert Smith of Rigetti Computing takes us through his quantum instruction set.
EXTRA BITS: • EXTRA QBITS: Quantum C... c
/ computerphile
/ computer_phile
This video was filmed and edited by Sean Riley.
Computer Science at the University of Nottingham: bit.ly/nottscomputer
Computerphile is a sister project to Brady Haran's Numberphile. More at www.bradyharan.com - Авто та транспорт
14:12 it’s like he’s trying to skip an NPC dialogue.
That's so distracting, I had to listen to it again to hear the actual question :-)
@@robinw77 He basically is, he knows the question being asked and has already formed his answer in his head. Now he's just waiting for the other person to finish speaking. Definitely comes off as rude and distracting though.
@@cameronl1859 If only people around understood that.
It feels so weird understanding everything being said, and still being clueless how the subject matter actually works...
It's all about statistics it seems. You figure out what it should do, then calibrate and test till it does what you want so you can predict it's behavior in the future.
There's a huge difference between following along and actually doing it tbh
By the end of the video it *seems* like you can essentially set up the qbits in such a way as to perform entire calculations that would, on standard computing hardware, take hundreds or thousands of independent operations in just a couple of operations.... at least that's my takeaway anyways, lol.
Agreed, Copenhagen Interpretation is pure lunacy. Pilot wave FTW
That's what's called a well meant unsatisfactory explanation.
i'd love a video where he starts by explaining the 5 operations in detail and then gives a bunch of example problems with the relative codes to solve them
how to "Hello world!" with a Quantum Computer, as it were
Same
"How many instructions are there?"
"Infinity!"
"..."
"Just kidding, there are five."
I mean, if you look at the X86 instruction set, "infinity" definitely comes to mind.
really ?
I believe he meant there is an infinite number of options if you are designing a chip. Not a teacher material.
Lol x86 is hilarious. Apparently the mov instruction is Turing complete, someone make a C compiler that only used that 1 instruction. Can't wait until apple moves macOS to ARM.
Turing complete... a single opcode ?
High level non-technical explanation of quantum computing: it's an analog computer at the quantum scale. Classical analog computers are essentially a tool to model a problem (like calculating a trajectory) by mapping it to a physical (electronic circuit) equivalent. If that mapping is done well, then physics does everything for you in constant time pretty much. The advantages of quantum computing are the density of information and complex quantum properties. However, this also comes with the caveat of being much less intuitive than classical analog computing.
Your analogy would be quite apt for adiabatic quantum computing, not exactly for superconducting qubit version which Rigetti is building.
These ‘Quantum + Robert Smith’ videos are some of the best content I’ve ever seen on UA-cam. Well spoken, clear, in-depth explanations, makes a complicated topic easy to follow.
extra bits should have been called extra qbits
you beat me to it :D
qubits*
regardless they seem to have collapsed to 0% probability of being viewable =(
nope.. why
Mhm
hes doing a verbal handshake to show that hes received the information
aggressive verbal handshake tbh
VERY aggressive hahaha
hmh
mhm
Could you show some short program and explain what it exactly does. I am just turning my head around this.
H 0
CNOT 0 1
MEASURE 0 [0]
This is a program that will apply the Hadamard gate on qubit 0, a CNOT gate on qubits 0 and 1, and a MEASURE instruction on qubit 0, putting the "answer" into classical register 0.
This is a program to randomly flip a coin. In the classical register 0, we will, 50% of the time, have a 0, and 50% of the time, a 1.
The problem might be that the way it seemed to be explained in the video you are not measuring a value and getting something x% of the time but instead you are measuring the qbit you know to be a specific value and collapsing the probability to a single predetermined combination.
Draugo You measure a particular qubit, but you do not know its value. That’s exactly what’s determined by the probability.
But it was stated in the video that you already know the probabilities then what is gained by running the calculation and measuring a qbit a multitude of times? You get values that reflect the known probabilities. Or if you don't know the probabilities then is the point to find them out by statistics? Then what does a qbit do that a gpu doesn't since they are especially build to do matrix operations?
In case of small quantum computers, sure, you know the probabilities. But when you have more than few dozens qubits, then the only place you can store those probabilities in a useful way... is the quantum computer itself. For example, if you have 50 qubits and probability is stored classically as an 8-byte complex floating-point number, you need 9 petabytes just to store those probabilities, and updating them according to calculations would take quite a long time.
This video would benefit from an example use case for a quantum computation.
Do the Fourier quantum transform and compare the number of steps to a classical approach.
it's about the speed, not the steps
@@RandomNullpointer Doesn't less steps equate to a faster executed algorithm though ?
Not necessarily, because quantum weirdness count as “parallel” instructions
Quantum FT doesn't offer a speedup as compared to regular FT. But it's a key intermediary step for algorithms like Shor's that actually do provide that quantum-y speedup!
This is the first time I get so many solid answers to my myriad of questions on the subject. And it's not for lack of trying, this person is beyond amazing at teaching. I love him so much, I'll try following him from now on.
I would now love to see an explanation of how we can compute something useful with these instructions. Maybe an example?
Because I think I understand the basic workings so far, but I can't yet see how to do anything useful with it.
I agree. How about showing us the code to factor a 4 bit number?
Wow, his explanations were so clear and evident, it really blew my mind a few times. 🤩🤯
2 to the power of 250 qubits, doing a matrix multiplication in 50 nanoseconds...what.
It's like they operate as one system, no matter how many you have.
I like how he keeps saying, 'the details don't matter' but he keeps mentioning them anyway, and 'it sounds complicated but it's not' when he's the one saying it in a needlessly complicated way.
I think what wasn’t described that well here which leaves a lot of people confused is how data is input to a quantum program. It depends on the program itself, but you could imagine setting up the initial probability table with the input data. Or have an incremental algorithm where you input probabilities into a couple qubits, then somehow integrate that into the rest of the quantum state, over and over.
This was by far the explantion I have heard yet, thank you.
This video was more illuminating than all the pop-sci articles and presentations about quantum computing in the world.
Thank you!
This is the first time I got a “mental” image of how these computations work and why it this is such a leap in computing. Thanks.
I'm a bit confused on how this can actually be used to solve problems.
Miguel Martin algorithms need to make use of quantum interference similar to the patterns produced by Young's double slit experiment (google that first if not familiar with it). the spacing between the slits causes the patterns to be compressed / spread out. if you focus on a single point on the screen, the probability of a photon landing there depends on the angles of the beams. a single slit wont have any interference patterns. quantum computers make use of that interference, not just between 2 but all of its qubits. algorithms are needed (these make use of very complicated maths) to make use of quantum interference with probabilities to determine of the answer is yes or no. you cant step through each operation like you can with maths, so they gotta trust that the algorithm and the maths behind it is correct. it wont be able to run normal algorithms with no quantum interference. the speed up is not running normal things faster, but rather running things in a completely different way
Searching in huge array using boolean logic you need to parse the whole array one by one and you need to make N checks. Using quantum login you can find an item in square root of N checks. Check Grover's algorithm. Easy as that :D
QM has no low hanging fruits. I took the online version of MIT's 8.05x (advanced QM) from EdX, in the final notes prof. Zweibach recommended a pile of books for further reading by adding, that once you have mastered them you can do actually something useful with QM.
It works like jepardy.
You put in a answer to a matrix question, and the quantum computer give you the original statement...
This is very usefull for example if you have a file that is cryptated. If you have sufficent data you can break the crypty because the quatum computer don´t have to try every single code.. well... it kind of tries every single one at the same time
Q-computers can solve all problems usual computers can solve in the same order of time.
This video should have been the main video.
Quantum scaling is turning out to be far harder than originally thought - which is why much literature of late speaks to simulation and theory, not specifics and hardware. If we are being honest, its still an open question if a system stable enough to be useful is even possible.
Gil Kalai refuted quantum scaling, basically refuted quantum computing in general, by showing that adding qubits needs increasingly more qubits for error correction, and that no: they won't be able to reduce the noise enough.
@@jmccallister-rc5dy And yet, here we are cutting around the edge.
Reducing the noise is a physical problem and mathematically is not limited any further than physics do. So it's really just a matter of going down and down on the details and improving precision and so on and eventually it will not only be sufficient but far much better than we've ever though it could be done. It's scaling physical scaling, it's not mathematical where you bump on literal impossibilities.
@@robertthompson7059 It likely means that we won't see scaling comparable to semiconductors the last few decades, but rather incremental upgrades to the number of stable/useful qbits in quantum computers.
I think the last part really saved it. I finally understand a little. Thanks computer phile!
I was doing welll with this video and was actually following along, (Pat on the back for me huh?)..... until the green intro titles disapeard..... Doh!
Guess we are in the same boat (-;
Speaks with clarity 👌🏼
Best discussion on quantum computing for the technically literate that seen to date. Two thumbs up!
I am an old Z-80/8080 assembly programmer. Also have used APL, BASIC, Pascal, and two languages I designed, R-Code, and LIM. This is an outstanding video, and I think the man explains it the best it can be explained. NOW THEN: quantum programming appears to be VOODOO. It's hard to see the practicality of a program that uses data structures that fluctuate based on some probability envelope. It's very non-deterministic.
I think it finally clicked...A quantum computer is a QPU. Like we are using GPUs, DSPs or FPGAs to perform specific computations that they are best at doing. At the end of the day, we still need a cpu to bring it all together for our Ux.
I actually understood all of this, fantastic description Robert!
Finally the kind of video I was waiting for. Deeper explanation of the instructions please.
Excellent presentation. Makes sense of quantum computing. Give us more.
I had been struggling to understand how quantum computer works and why they are better than classical one ever since news came out about google and ibm doing it . This video final showed me how they works . Thanks for saving more head scratching hours . Subscriber ++
thank you very much for the crash course, love it !
This is a great series thank you.
This is the best explanation I’ve ever seen!
First time I've understood anything about quantum computers. Thanks.
A lot of the questions being asked in the comments can be answered by watching the video again.
Thank you very much, these videos are the first to help me understand.
Surely the problem is that as you add more qubits, you need to perform more repetitions to cancel out the effects of the noise? Since if one result which has a tiny probability occurred by chance (as is possible) then it would take a lot of repetitions until it was drowned back down to the correct level?
Just in case, at 18:10 you wonder how many bits this is:
2^250=(2^10)^25 = approx. (10^3)^25 = 10^75
ah finally he mentions the efficiency. I'm aware that all of the operations should be expressable as matrices but I did not know that the calculation itself was constant-time in complexity. Very cool!
I would love to hear more about the specifics of the different instructions
Yeah, I did not understand the instructions at all, which is frustrating because not knowing what they do prevents me from wrapping my head around how this all works and is used.
Time to learn about this thing called google. (You can search for the matrix representation of all the gates)
I would love more on this topic. This guy is a great presenter.
Android480 Mhm, mhm...mhm...
great video, very nicely explained
This is why I'm subbed!
Same exact sentiment. Saw this and thought why an i not subbed already.
More of this please
crisp and clear explanation
love this man. super smart
Thank you so much, I never wrote but I like your way of explaining pretty dope, cheers!
This is a great intro on quantum computing that doesn't get bogged down with the complex math involved. Didn't even throw bra-ket notation at us. Thanks!
This was really fun.
Alternate title: " The art of explaining without actually getting to the point "
t. brainlet
@Bobbito Chicon Damn dude, pass some of whatever you're smoking
I thought is was very succinct, given that its for a broad audience of tech enthusiasts.
@Bobbito Chicon this guy's got the idea.
(Added More)
Multiple Dimensions is not at all an accurate way of stating it- coupled degrees of freedom, continuous across time but discrete in space (quantized AKA QUANTUM things are discrete objects) ... also people rarely point this out but a dimension parallel to itself is CATEGORICALLY the same dimension- dimension implies orthogonality
excellent presentation !
Thanks Robert.
This is the first video that made me think I understood SOME of the basics of quantum computing
Vốn những bài hát ngày xưa đã rất hay rồi mà thêm giọng hát giàu cảm xúc của Phúc nữa thì đúng là cực phẩm cover😍
Excellent !
Make a video about how quantum factorization works!
I've seen many videos explaining quantum computer operation and architecture but i have yet to see a video that shows it in operation, executing a piece of code.
Why are you not explaining exactly what these 5 instruction do in particular? ...This would be really helpfull to think about programs and how the connections between the qbit do their magic. :(
Linear algebra would have been needed.
So if you want to do the QuantumFourier transform for a soundwave untill 10kHz, you'd need circa log(10000)/log(2)=13 Q-bits?
So basically a quantum computer sets the Feynman Equation of a particle, and then you can observe it to get a result?
I love this guy!
Been waiting for this video for ever... Still lost
Fascination on my side!
What I missing there are NOP instruction (no operation) and HLT instruction (halt everything). :-)
By the way Bell application reminds me a little bit (little qbit) Schrodingers Cat. ON the contrary - Question: If you apply MEASURE function, do Qbits some change? I suppose not...
Thanks for that explanation, Sheldon. :)
I just thought that i could simulate q-bits by flicking a normal binary bit on and off quickly and adjusting the timing from one state to another similar to adjusting a PWM signal. ofc, you will be limited to the speed of the frequency. im guessing actual particles have an essentially a frequency of state switching at the speed of light :p
So if quantum computing can store probabilities, and probabilities are values between 0 and 1, could quantum computing make floating point numbers, as they're currently implemented, obsolete? Could you use two qbits to store any floating point value by having one qbit store a value and another qbit store a multiplier? Or, if qbits aren't precise enough for the multiplier, store the multiplier in regular bits? Or pair an integer with a qbit for the value before the . and after?
very cool video!
I found this a qbit confusing but with a certain probability that I understood, but I cannot measure it.
Definitely struggling to get my head around it. Surely by applying gates and changing the probability to a known quantity, then you’ll already know the expected outcome of the qubit?
Oh okay, luckily that question was asked.
With quantum states, the act of measuring changes the particle itself, so by jus reading you also write somewhat
I think I got it. I would like to point out something. You repeat many times that with quantum computers the number of posibilities you have doubles each time you add a qubit. I think that is exactly the same with normal computers... The real difference is that normal computers keep doing basin operations bit by bit, however in quantum computers you do it all at once. (Hence the promising fact)
Without showing how to solve an actual problem the whole idea still seems completely pointless. Clearly it isn't, but until I can see how to use those instructions to solve a specific problem it means nothing to me.
The problem is there's no way to show you how quantum computers actually work without getting very involved with complex vector spaces.
You don't need to get that involved to understand how the logic of a quantum computer works. Although getting a quantum computer to work gets pretty involved.
In the video he showed it solving a real problem. One instruction affects a set or column of probabilities. qbits can be entangled thus allowing for fairly complex optimizations and of course factoring which is why its talked about in relation to encryption as most encryption is based on the factoring problem.
I totally understand that (Chris's) feeling. I remember feeling it when I learnt my umpteenth language. And getting to know computers at all. And every new concept maths could throw at me. But after a while you figure out that it's not a productive thought process
I get the feeling he left out some important context.
chris4072511 12:50
Is this an unlisted video?
Yes you have not bed fed by the algorithm. You have been fed by humans that love algorithms!
What would you call the bus that interacts with the quantum co-processor when you use pyquil?
This is very fascinating, but also very hard to grasp. I guess the end game for quantum computing is being able to use elementary particles as qubits.
Are the Quantum counterparts to FSAs, PDAs and Turing Machines necessarily more powerful? With the Church Turing thesis, in mind, is there such a thing as Quantum Lambda calculus and do quantum programming languages draw inspiration from it?
They are not more powerful (in a sense that anything QC can compute, TM can do too). However, there is a subset of NP problems which QC can compute in polynomial time. In other words, they are faster. In practice, QCs are more powerful, because you can build a QC that can solve stuff, that would require classical computer bigger than the observable universe.
Garbage in garbage out, however this young man does an excellent job of explaining the instructions
This guy says "Mmhmm" and "yep" aggressively. It's like he's acknowledging every single word.
It's because even he doesn't understand wtf he's talking about.
It was a nervous tic.
This looks like a shoe in for Finite Element Analysis. This is an incredibly hungry field that today commands huge outlay in parallel computing budgets.
The subsea oil industry uses this for preemptive quality control on designs of offshore installations. Some of the calculations take weeks to complete on high performance parallel computing clusters. It's all matrix calculations and it looks like this is a perfect fit.
Amazing.
Luv and Peace.
Nah, QPUs aren't faster for general matrix operations than classical computers are. This is a myth. You also need to consider that all known quantum matrix multiplication algorithms do have errors associated with them both in terms of state preparation and readout.
States also need to be prepared classically, which can be done efficiently in some cases but not in general.
I'm not saying there won't be any applications in that field, but a lot more basic research is required to determine whether it's even worth pursuing that route. Not only do matrix multipliers require a lot of qubits, the associated gates are complicated and the algorithms are not very fault tolerant.
How do you get a complex output from superposition?
A question about the matrix multiplication. Basically all computer graphics for videogames relies on multiplying matrices by each other, or vectors by matrices. These are usually 4x4 matrices and vector4's. Is a quantum computer any faster than the modern GPU at this, in terms of Vec4's by Mat4x4's per second, say?
Sadly, not in the general case. Which is weird - quantum computers essentially are giant matrix multiplication machines where the gates form a huge nxn matrix and the quantum state is a vector of length n. But the problem is the matrix has to be unitary, and also that the quantum state can never be observed directly (it always collapses into one of the basis states). So while the linear algebra representation of the quantum computational model is exactly the problem of multiplying matrices and vectors, it's actually pretty terrible at doing that.
On the other hand, if you can keep multiplying a vector by a unitary matrix and eventually find a vector with a very large value for one of the basis states and small values for every other state, the exact series of matrices to multiply by is the quantum algorithm, and you've done something useful.
An explained example Programm would be awesome
algorithms need to make use of quantum interference similar to the patterns produced by Young's double slit experiment (google that first if not familiar with it). the spacing between the slits causes the patterns to be compressed / spread out. if you focus on a single point on the screen, the probability of a photon landing there depends on the angles of the beams. a single slit wont have any interference patterns. quantum computers make use of that interference, not just between 2 but all of its qubits. algorithms are needed (these make use of very complicated maths) to make use of quantum interference with probabilities to determine of the answer is yes or no. you cant step through each operation like you can with maths, so they gotta trust that the algorithm and the maths behind it is correct. it wont be able to run normal algorithms with no quantum interference. the speed up is not running normal things faster, but rather running things in a completely different way
Didn't know I could see unlisted vids. Cool!
Anyone with a link can watch an unlisted video. Private videos require direct invitations.
Bring back the EXTRA BITS please
Extra bits video is not available. The link in the description goes to an error message.
The matrix multiply at the end of the video shows that modern GPU's are at least 4 Qbit level, and I get the idea of "soft logic" applied to the data, but like many other comments, it's not clear how a particle simulation is converted into a set of operations applied to.. a single matrix of data. I guess the sticking point for many (myself included), is, where is the data flow, the bandwidth, the information you want to process? If all you are doing is sending logic operations, then as asked in the video, yeah, it sounds like you have to kind of know the answer in order to write those instructions (because how does the result of each one really tell you anything? If there is a batter video that explains these operations in terms of matrix data, I'd like to see it.
I believe you seed the initial probabilities with your input data, then apply the set of quantum transformations. The probabilities at the end contain the answer, and you then measure the qubits to get statistical information about the answer
This video is like explaining how Assembly works without actually explaining a single Assembly instruction or how it interacts with the registers.
It's nice to know you can get some bell something with the Hadamard instruction combined with cnot, but what the hell does each instruction do? What if I write cnot 10 instead of cnot 01? What does it do aside from making the video longer?
Is the following correct? Each instruction is a vector-matrix multiplication, and the time it takes is unrelated to the number of qbits. The resulting vector is the table of probabilities. The caveat is that you cannot read out the resulting vector. Each read will give you only a vector with one 1, and the rest 0s according to the probabilities in the underlying vector.
Can the answer of a quantum compute ever be certain though? Since it's in the end probabilities.
Me: I really got to get back to work, just gonna finish this random video and get back to it
My youtube search bar: H-A-D-A-M-A-R
Even though I'm a programmer, no matter how much stuff I read or watch about quantum computation, I'm no closer to really understanding it. It's as though every computer language or concept I've ever dealt with was a Romance language, or at least based on the Latin alphabet, and now all of sudden I'm trying to understand Mandarin.
Hadamard gate: Its a very important gate that does bla bla...
T gate: Not a very creative name
Justice for t gate 😂
I would like to see the "extra bits" video hinted at at the end, but have a hard time finding it. Does someone know where I can find it?
But what is the benefit to knowing probabilities and how does that relate back solving problems with a quantum computer?
One has a problem to compute the output Y from the input X. One writes a quantum program to do this. The program initializes the first state of the quantum computer to correspond to the representation for input X. The quantum computer applies each step of the quantum program to the current state. When the program terminates, the quantum computer will be in a unique state determined by the the input X. All of this is deterministic. Unfortunately, one cannot observe the state that the computer is finally in. But, one can apply the "measure" state action to get a sample of the distribution of the probabilities for that final state Y. Repeating this many times by rerunning from scratch and remeasuring, one can get a probability distribution for the final state. This probability distribution indicates what the quantum state Y is (or a restricted subset of quantum states that Y could be). I would imagine that many problems can be arranged so that the final state Y are represented by states that are "discrete" (that is, not close to one another in their probability distribution). In that case, it is easy to get the unique solution with as small an error as desired by running the program many times to get a probability distribution with small error from the true distribution.
One then convert back the state Y to what it represents as a solution for the problem. This assumes that each final state Y corresponds to one and only one solution of the problem. The programmer needs to assure that this happens when expressing the algorithm in quantum computer code (probably not hard).
Seems to me like this will be great for large scale physics simulations. Maybe we get physics cards in our computers in the future :)
PPU 😄
What if the byte code sent to a quantum computer was in a superposition? Does it do both instructions at once?
It's [adamaʁ]. I don't know if the H is "aspirated".
Could you explain what the other instructions do?
loving the quantum series :)
"It's bigger than any computer on Earth can store... bigger than any computer in the universe can store!"
First step towards the infinite improbability drive?