This article was the subject of a Wiki Education Foundation-supported course assignment, between 20 August 2020 and 23 November 2020. Further details are avail
This article is within the scope of WikiProject Computer science, a collaborative effort to improve the coverage of Computer science related articles on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.Computer scienceWikipedia:WikiProject Computer scienceTemplate:WikiProject Computer scienceComputer science
Wiki Education Foundation-supported course assignment
Latest comment: 4 years ago1 comment1 person in discussion
This article was the subject of a Wiki Education Foundation-supported course assignment, between 20 August 2020 and 23 November 2020. Further details are available on the course page. Student editor(s): Calhin, CtFrck. Peer reviewers: Afk2231, Aflemingclt.
Latest comment: 8 years ago1 comment1 person in discussion
This article requires a complete rewrite to make it accessible to a non specialist reader. As it stands it is totally opaque to anyone without mathematical training. Is there anyone who has a knowledge of the subject that they wish to share with a general readership who would be prepared to do such a rewrite? LuciusAeliusSejanus (talk) 16:04, 30 September 2017 (UTC)Reply
Making it clear that measurement does not cause interference
I was new to quantum computing before reading this, and it took me some time to see that the interference happens before the measurement, and is not caused by it. I've edited the article to reflect that.
The previous version has the advantage that it was shorter. I have nothing against reverting the edit.
Circuit diagram
Latest comment: 15 years ago2 comments2 people in discussion
Proposed move: Simon's algorithm -> Simon's problem
Latest comment: 13 years ago2 comments2 people in discussion
I think the article should be named after the problem instead of the algorithm. The problem was invented to show a separation and didn't exist before. (Unlike, say, Shor's algorithm for factorization or Grover's algorithm for the search problem.) --Robin (talk) 23:28, 16 October 2012 (UTC)Reply
Latest comment: 7 years ago1 comment1 person in discussion
"Although the problem itself is of little practical value, it can be proved that a quantum algorithm can solve this problem exponentially faster than any classical algorithm."
This is not true. Simon's algorithm is in fact exponentially faster than any KNOWN classical algorithm, but there is no proof that there isn't a classical algorithm that runs as fast as Simon's algorithm. I propose changing the above sentence to:
Latest comment: 6 years ago1 comment1 person in discussion
The claim that Simon's algorithm is the inspiration for Shor's algorithm is supported by this reliable source: "In 1994, inspired by Simon's algorithm, Peter Shor found a bounded probability polynomial-time quantum algorithm for factoring integers." Rieffel and Polak, Quantum Computing: A Gentle Introduction (2011) p. 163. Mgnbar (talk) 19:32, 8 May 2020 (UTC)Reply
Intuition at the end of the overview
Latest comment: 4 years ago1 comment1 person in discussion
At the end of the overview section I'd like to consider adding some text to aid intuition of how the algorithm works. Using the example function described in the overview section, we might expect to see this possible outcome if we measure the output qubits:
Although it's not necessary to measure the output qubits, the correlations between the input qubits after the oracle has interacted with them contains everything required, it's helpful to focus on a single, narrow example where the output qubits have decohered or been measured.
In this example, inputs of either or can result in the output that occurred in this run of the algorithm, .
The input qubits that have a corresponding entry in of 0 will decohere to either or depending on the function. In the example, the third input qubit has decohered to because both possible inputs have a in the third qubit position.
Conversely, input qubits that have a corresponding entry in of 1 will always decohere to because the two possible inputs have different values. In the example, this applies to the first and second input qubits.
The inputs are now passed through hadamard gates:
And then measured:
The input qubits that have a corresponding entry in of 1 will always result in a measurement of 0. The input qubits that have a corresponding entry in of 0 will measure 50/50 as 0 or 1. Notice that this is the only possibility of measuring 1. Repeating the algorithm many times for the same function provides an exponentially increasing chance of seeing a 1 measured for qubits that have a corresponding entry in of 0 and no chance of seeing a 1 for other qubits. Gathering evidence of the measured 1 values will allow deduction of , which can be trivially verified as the correct solution.
Latest comment: 3 years ago2 comments1 person in discussion
A large portion of the algorithm section is a plagiarism of Watrous' lecture notes.
- Problem Hardness
From Watrous' notes: "Intuitively this is a very hard problem classically, even if one uses randomness and accepts a small probability of error. We will not go through the proof of this fact, because (like many lower-bound proofs) it is harder than one might expect and I prefer that our focus remain on the quantum algorithmic aspects of this problem. However, the intuition is reasonably simple: if you want to solve the problem classically you need to find two different inputs and for which . There is not necessarily any structure in the function that would help you to find two such inputs—without any additional constraints on you are as likely to find two such inputs by randomly guessing them as you would using any other method. But you would need to guess different inputs before being likely to find a pair on which takes the same output."
From the page: "Intuitively, this is a very hard problem to solve in a "classical" way, even if one uses randomness and accepts a small probability of error. The intuition behind the hardness is reasonably simple: if you want to solve the problem classically, you need to find two different inputs and for which . There is not necessarily any structure in the function that would help us to find two such inputs: more specifically, we can discover something about (or what it does) only when, for two different inputs, we obtain the same output. In any case, we would need to guess different inputs before being likely to find a pair on which takes the same output, as per the birthday problem. Since, classically to find with a 100% certainty it would require checking up to inputs, Simon's problem seeks to find using fewer queries than this classical method."
- Classical Post Processing
From Watrous' notes: "You will only get a unique non-zero solution if you are lucky and are linearly independent. The probability that are linearly independent is at least
If you have linear independence, solve the system to get a candidate solution , and test that . If , you know that and the problem has been solved. If , it must be the case that (because if this were not so, the unique nonzero solution to the linear equations would have been ). Either way, once you have linear independence, you can solve the problem."
From the page: "We only get a unique non-zero solution if we are "lucky" and are linearly independent. The probability that are linearly independent is at least
If we have linear independence, we can solve the system to get a candidate solution and test that . If , we know that , and the problem has been solved. If , it must be that (because, if this were not so, the unique non-zero solution to the linear equations would have been ). Either way, once we have linear independence, we can solve the problem."
The rest of the classical post processing section is plagiarized too.
- First Case
From Watrous' notes: "Let us first consider the special case where , which means that is a one-to-one function."
From the page: "Let's first analyze the (special) case , which means that is (by requirement) a one-to-one function"
- Similar Equations. Lot's of similar stuff.
- In the measurement section, the range of is referred to as , just as it is in the lecture notes.
- Similar variable characters are chosen (e.g. , ,
This is kind of less of a problem, since it's the actual math, but it illustrates my point.
And are you asking us to solve a homework problem for you? There cannot be n independent equations. If there were n independent equations, then that would be bad for s. I hope that this helps you. Mgnbar (talk) 15:02, 15 May 2023 (UTC)Reply
Your condescending tone is unnecessary. I didn't ask you to solve anything for me, I pointed out an error.
The fact there cannot be n independent equations doesn't mean n-1 equations are enough to solve for s. Therefore, the sentence "Thus, we can efficiently solve this system of equations classically to find s" is still erroneous.
That said, it is not true that there cannot be n independent equations. If s=0 then every vector is possible (because every vector zeroes s under direct sum), and you may indeed obtain n independent vectors, which in turn yield n independent equations. However if s is not 0, the maximum rank you can get is n-1, which is the degree of the hyperplane perpendicular to s.
Thus a possible algorithm is to obtain n-1 vectors, then solve not for s, but for *the two possible solutions*. One will be the trivial solution (all zeroes). The other one, call it s*, will be s if s is not zero, or a random vector otherwise. Thus, a test whether f(0)=f(s*) will deterministically decide between the two cases.
Alternatively, you may sample more than n vectors (O(n) is enough), and then check their degree. if s is not 0 it will be less than n with probability 1, and if s is zero it will be n with high probability.
In the formulation, with which I'm most familiar, s cannot be 0...0. Therefore there cannot be n independent equations. That's why I responded, how I did. However, you are right that, in the article's formulation, it is possible that s is 0...0. Sorry. I should have re-read the article. Now your question makes sense. I agree with your most recent post.
However, as you have explained, you can stop once you have n - 1 independent equations, and then do a small check to finish the problem. Perhaps this is why people gloss over the s = 0...0 case. Certainly the algorithm can't have a step where it gathers n independent equations, because this step might not terminate. (Moreover, if we regard calls to the quantum subroutine as expensive, then you would never make more calls than you had to.)
Thanks. I believe it should be edited. It certainly confused me... Something along the lines of item 3 in my reply above should suffice. Doobiefletzet (talk) 10:37, 16 May 2023 (UTC)Reply
Potentially confusing problem description?
Latest comment: 1 year ago2 comments1 person in discussion
I had some trouble parsing the problem description as it is currently written.
Simon's original description of the problem seems much clearer to me:
Suppose we are given a function ,
with , and we are promised that either
is 1-to-1, or there exists a non-trivial such that
, where denotes
bitwise exclusive-or. We wish to determine which of
these conditions holds for , and, in the second case,
to find .
A possible rewriting of the section would be as follows:
Simon's problem considers access to a function , , as implemented by a black box or an oracle. This function is promised to be either a one-to-one function, or a two-to-one function; if is two-to-one, it is furthermore promised that two inputs and evaluate to the same value if and only if and differ in a fixed set of bits. I.e., if is not one-to-one, it is promised that there exists a non-zero such that, for all , if and only if , where denotes bitwise exclusive-or. Simon's problem asks, in its decision version, whether is one-to-one or two-to-one. In its non-decision version, Simon's problem asks whether is one-to-one or what is the value of (as defined above). The goal is to solve this task with the least number of queries (evaluations) of .
Note that the promise on if is two-to-one implies that it is, in this case, a periodic function:
With some modification, the rewriting above contains all of the information in the current version of the article. I'll update the article to use the rewrite. Feel free to revert the change if you feel appropriate. Miguelmurca (talk) 16:52, 15 January 2025 (UTC)Reply
reformulation reverted
Latest comment: 1 year ago4 comments2 people in discussion
I've reverted a modification of the 2nd formulation of Simon's problem, which now reads (again):
Given black-box or oracle access to , promised to satisfy, for some and all , if and only if , determine whether (decision version), or output (non-decision version).
I think one needs to make that statement for all (and not all ) since it always holds that for and so the if-and-only-if statement holds for two-to-one functions only if we talk about . --Qcomp (talk) 19:26, 15 January 2025 (UTC)Reply
Ah, that's right. But this is subtle, as the condition becomes trivially false when , and it is from that (plus your observation) that you get that must be one-to-one. (Am I thinking correctly?)
I was just writing a reply; I think your new formulation works and avoids both the problems with the reverted one and with the one I reverted t. Thanks. --Qcomp (talk) 14:56, 16 January 2025 (UTC)Reply
Reverting the addition of the Qiskit section
Latest comment: 1 year ago2 comments2 people in discussion
I'm reverting the addition of a Qiskit section, since it restates much of the discussion of the rest of the article, and there is almost no benefit to providing explicit code. (There is arguably little benefit in providing any code, since the point of Simon's problem is to establish a separation.) A quantum circuit is already provided in the Simon's algorithm section, with a detailed discussion on how the algorithm works, and there are also various explicit examples with a few qubits in the article.
Note that an extremely similar Qiskit section was added by the same user to the Deutsch-Jozsa page, and had also been added to Bernstein-Vazirani algorithm page, where there was prior discussion against having such a section. Miguel M. (talk) 15:42, 18 February 2025 (UTC)Reply
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.