The main achievements of this project so far relate to quantum walks and related quantum algorithmic techniques. We managed to extend the "quantum walk search" framework to a more powerful framework that we call "multidimensional quantum walks". We showed that this framework can achieve exponential speedups over the best classical algorithms, and also gave an application to an important problem called k-distinctness, solving a 10-year open problem.
The multidimensional quantum walk framework is also powerful enough to incorporate the span program framework. We used techniques from span programs to prove results about composing quantum algorithms -- some results specific to quantum walks, but some that apply to all quantum algorithms. To illustrate, imagine you have a classical randomized algorithm that calls one of k classical randomized subroutines, each with some probability. The cost of this call is naturally the expected (average) running time of the subroutine you called. A similar result was not at all obvious for quantum algorithms, but we showed that such a similar result does actually hold.
We used similar techniques to understand how quantum algorithms with recursion work, including some divide-and-conquer algorithms.
We also developed a new technique, called transducers, that generalizes even multidimensional quantum walks, and achieves even better subroutine composition results than are possible classically. If a classical algorithm calls a classical subroutine many times (say m times), and it has has some error probability (say 1/3), then it will likely be wrong about 1/3 of the time. To remedy this, if the subroutine only outputs a single bit, 0 or 1, each time it is called, the subroutine can be run around log(m) times and the most common output value can be returned as the output of the subroutine. Each time the subroutine is called, it will be correct with probability about 1-1/m, so there is a good chance it will be correct every time. However, this repetition introduces a log(m) factor in the complexity. Remarkably, this log factor is not necessary in quantum algorithmic composition.
In addition to these results for better quantum algorithmic techniques, we also have a better understanding of the quantum time-space tradeoff for an important problem in classical space complexity called st-connectivity. In its undirected version, we showed it is possible to solve quantumly with optimal time and space simultaneously, which is not known to be true classically (there seems to be a tradeoff between the amount of time and the amount of space needed by a classical algorithm). Our algorithm uses a quantum walk. For the perhaps more important direction version of the problem, we used some of our divide-and-conquer techniques to quadratically speed up the best known classical algorithm that uses the smallest known space. Finally, we gave a quantum algorithm for the related problem of finding an st-path (in undirected graphs) in some special cases.