classiq-library icon indicating copy to clipboard operation
classiq-library copied to clipboard

Quantum Walks for Search and Graph Analysis - Classiq and Quantum Coalition “Implementation Challenge”

Open Abinaya-29751 opened this issue 10 months ago • 11 comments

Greetings!! We (@ManjulaGandhi, @sgayathridevi, @Sasika2003, and @Abinaya-29751) aim to implement Quantum Walks for Search and Graph Analysis, based on the approach outlined in the research paper "Spatial Search by Quantum Walk" (A.M. Childs, J. Goldstone, 2003). Specifically, we will construct quantum circuits to leverage quantum walks for efficient search and traversal in large graphs, with applications in network analysis, database searching, and AI-driven optimization.

The attached proposal contains a detailed plan and implementation approach. Please refer to it. Quantum Walks for Search and Graph Analysis.pdf

Would love to hear feedback and explore possible collaborations for implementation on Classiq’s platform. Looking forward to your insights! 

Abinaya-29751 avatar Feb 28 '25 09:02 Abinaya-29751

Sounds good @Abinaya-29751 ! this is a canonical technique in quantum computation that is currently absent in our library.

Are you planning to treat a specific use-case of this approach?

TomerGoldfriend avatar Mar 02 '25 07:03 TomerGoldfriend

Thank you for your response! Since this technique is currently absent in the library, I would love to understand how you envision its implementation. Are there any references or guidelines that could help me get started?

Regarding specific use cases, we plan to focus on three primary applications:

Network Analysis – Implementing quantum centrality measures to identify important nodes in social and transportation networks, aiding influence modeling and infrastructure optimization.

Database Search – Developing quantum-enhanced search algorithms for large structured datasets, demonstrating a quadratic speedup in practical data retrieval scenarios.

Combinatorial Optimization – Applying quantum walks to tackle routing problems (such as simplified TSP instances), relevant for logistics and supply chain management.

For our initial implementation, we plan to prioritize the Database Search Application , as it most directly demonstrates the quantum advantage described in the Childs & Goldstone paper and provides a clear benchmark against classical algorithms.

We would appreciate guidance on which of these use cases would be most valuable to prioritize for the Classiq platform, along with any suggestions for setting up appropriate test scenarios. Looking forward to your insights!

Abinaya-29751 avatar Mar 03 '25 04:03 Abinaya-29751

Hi @Abinaya-29751 , I think that data search on some simple graph should be a good initial example. If you can treat some well-known example from the literature that would be wonderful (I do not have one in mind right now). The main guidelines I have is to try to build the algorithm in a high-level description (as much as this specific approach allows). You can take a look at our Grover's algorithm examples, or the Deutsch-Jozsa algorithm example. You can see that the algorithm is defined in a modular way once, and then is called with different oracles.

Feel free to reach out to the community for any questions! Good luck!

(Please note that we accept high-quality implementations to our repository and will be glad to accept a contribution that meets our standards).

TomerGoldfriend avatar Mar 04 '25 15:03 TomerGoldfriend

Thank you for your guidance! I appreciate the suggestion to start with data search on a simple graph as an initial example. I’ll look into well-known examples from the literature and align the implementation with Classiq’s modular approach, as seen in the Grover’s algorithm and Deutsch-Jozsa examples.

I’ll also ensure the implementation follows best practices for high-level abstraction while maintaining flexibility for different oracle definitions. If I encounter any challenges, I’ll reach out to the community for support.

I’ll begin drafting the initial design and will share an update soon. Please let me know if there are any specific preferences or constraints I should keep in mind during implementation.

Looking forward to contributing a high-quality implementation that meets Classiq’s standards!

Abinaya-29751 avatar Mar 09 '25 10:03 Abinaya-29751

Hi @TomerGoldfriend @orsa-classiq @NadavClassiq

I have implemented two versions of the Quantum Walks for Search and Graph Analysis:

Generalized Version: This version only sets up registers to store the nodes of a graph without encoding specific edges or transitions.

4-Node Specific Version: This explicitly encodes the graph structure and transitions for a fixed 4-node graph.

Could you provide feedback on which approach aligns better with Classiq’s framework? Would you recommend further generalization, or should we focus on optimizing for specific graph structures? Additionally, what improvements can be made to enhance efficiency or adaptability?

Abinaya-29751 avatar Mar 24 '25 04:03 Abinaya-29751

@Abinaya-29751 the if the specific version uses the generalized version then this is perfect. It will be good to eventually have an end-to-end example for a specific graphs. Did you submit a PR?

TomerGoldfriend avatar Apr 01 '25 14:04 TomerGoldfriend

Hi @TomerGoldfriend

As of now we have done this for a 4 qubit graph by searching for a specific node. We need to generalize this code but while trying in classiq platform by creating new model we were not able to synthesize the general code because we got the error that the size of the graph must be explicitly specified. We are working to sort that error.

Below I have attached the documentation for 4-Node Specific Version: This explicitly encodes the graph structure and transitions for a fixed 4-node graph.

https://platform.classiq.io/circuit/2vA4wse5SGyM2jR52EmrnISFd9k

Quantum Graph Search Algorithm Documentation.docx

We did not submitted the PR yet.

Abinaya-29751 avatar Apr 02 '25 15:04 Abinaya-29751

@Abinaya-29751 did you open a PR? Are you still facing an error when trying to implement a general example? Feel free to reach out to the community for support.

TomerGoldfriend avatar Apr 22 '25 10:04 TomerGoldfriend

We haven't done the PR We have done coding part in classic studio while running the circuit we are getting "Classic Internal Server Error". We have asked about this in Slack but they also dont know how to solve it. Can you help us to solve this error.

Abinaya-29751 avatar Apr 22 '25 15:04 Abinaya-29751

We have asked about this in Slack but they also dont know how to solve it. Can you help us to solve this error. @Abinaya-29751 please tag me on slack in your question thread.

TomerGoldfriend avatar Apr 23 '25 06:04 TomerGoldfriend

Hi @Abinaya-29751, are you still working on this?

TaliCohn avatar May 08 '25 10:05 TaliCohn