Origin of the quantum speed-up
  Bob chooses a function from a set of functions and gives Alice the black box that computes it. Alice is to find a characteristic of the function through function evaluations. In the quantum case, the number of function evaluations can be smaller than the minimum classically possible. The fundamental reason for this violation of a classical limit is not known. We trace it back to a disambiguation of the principle that measuring an observable determines one of its eigenvalues. Representing Bob's choice of the label of the function as the unitary transformation of a random quantum measurement outcome shows that: (i) finding the characteristic of the function on the part of Alice is a by-product of reconstructing Bob's choice and (ii) because of the quantum correlation between choice and reconstruction, one cannot tell whether Bob's choice is determined by the action of Bob (initial measurement and successive unitary transformation) or that of Alice (further unitary transformation and final measurement). Postulating that the determination shares evenly between the two actions, in a uniform superposition of all the possible ways of sharing, implies that quantum algorithms are superpositions of histories in each of which Alice knows in advance one of the possible halves of Bob's choice. Performing, in each history, only the function evaluations required to classically reconstruct Bob's choice given the advanced knowledge of half of it yields the quantum speed-up. In all the cases examined, this goes along with interleaving function evaluations with non-computational unitary transformations that each time maximize the amount of information about Bob's choice acquired by Alice with function evaluation. 
Giuseppe Castagnoli
quant-ph