We use quantum walks to construct a new quantum algorithm for element distinctness and its generalization. For element distinctness (the problem of finding two equal items among N given items), we get an O(N^ 2 3 ) query quantum algorithm. This improves the previous O(N^ 3 4 ) query quantum algorithm of Buhrman this http URL. (quant-ph 0007016) and matches the lower bound by Shi (quant-ph 0112086). The algorithm also solves the generalization of element distinctness in which we have to find k equal items among N items. For this problem, we get an O(N^ k (k+1) ) query quantum algorithm.
@cite_16: Given a function f as an oracle, the collision problem is to find two distinct indexes i and j such that f(i) = f(j), under the promise that such indexes exist. Since the security of many fundamental cryptographic primitives depends on the hardness of finding collisions, our lower bounds provide evidence for the existence of cryptographic primitives that are immune to quantum cryptanalysis. We prove that any quantum algorithm for finding a collision in an r-to-one function must evaluate the function Ω((n r)1 3) times, where n is the size of the domain and r|n. This matches an upper bound of Brassard, Hoyer, and Tapp. No lower bound better than constant was previously known. Our result also implies a quantum lower bound of Ω(n2 3) queries for the element distinctness problem, which is to determine whether n integers are all distinct. The best previous lower bound was Ω(sn) queries.
If element distinctness can be solved with @math queries, then collision problem can be solved with @math queries. (This connection is credited to Andrew Yao in @cite_16 .) Thus, a quantum algorithm for element distinctness implies a quantum algorithm for collision but not the other way around.