https://github.com/antonioscardace/practical-quantum-esm
[ACM] Implementation of a Quantum Exact String Matching Algorithm.
https://github.com/antonioscardace/practical-quantum-esm
acm acm-digital-library exact-string-matching grover-algorithm ibm paper-implementations qiskit quantum quantum-computing simulation string-matching
Last synced: 2 months ago
JSON representation
[ACM] Implementation of a Quantum Exact String Matching Algorithm.
- Host: GitHub
- URL: https://github.com/antonioscardace/practical-quantum-esm
- Owner: antonioscardace
- License: mit
- Created: 2024-03-10T08:33:31.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-24T14:26:21.000Z (3 months ago)
- Last Synced: 2025-02-24T15:37:17.548Z (3 months ago)
- Topics: acm, acm-digital-library, exact-string-matching, grover-algorithm, ibm, paper-implementations, qiskit, quantum, quantum-computing, simulation, string-matching
- Language: Jupyter Notebook
- Homepage:
- Size: 273 KB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Quantum Exact String Matching Algorithm
This notebook tutorial provides a practical implementation of an initial Quantum Exact String Matching algorithm, as proposed in our [paper](https://doi.org/10.1145/3660318.3660327) for the [QUASAR 24 Workshop](https://sites.google.com/view/quasar24), part of the **ACM HPDC** conference.
[](https://github.com/antonioscardace/Practical-Quantum-ESM/blob/master/LICENSE)
[](https://github.com/antonioscardace/Practical-Quantum-ESM/issues)
[](https://colab.research.google.com/github/antonioscardace/Practical-Quantum-ESM/blob/main/tutorial.ipynb)## Overview
In our paper, we present the implementation of a quantum ESM algorithm, which identifies occurrences of a specified pattern $x$ of length $m$, within a text $y$ of length $n$ $\geq$ $m$, where both sequences are composed of characters taken from an alphabet $\Sigma$ of size $\sigma$. Our article presents an initial practical implementation of a quantum circuit tailored to address the ESM problem, particularly focusing on **binary strings**.
A classical **naïve** approach exhibits a worst-case time complexity of $\mathcal{O}(n+m)$, contrasting with the capability of quantum computation to achieve a $\tilde{O}(\sqrt{n})$ complexity using **Grover's search**.
We use the **Qiskit** open-source toolkit developed by **IBM**. While current real-world hardware often struggles to produce valid results due to **decoherence** and **quantum errors**, this study presents experimental results from a circuit **simulation** on classical hardware, validating the proposed implementation's efficacy.
## Citing
Please, reference this publication if you find this code useful:
```BibTeX
@inproceedings{10.1145/3660318.3660327,
author = {Marino, Francesco Pio and Faro, Simone and Scardace, Antonio},
title = {Practical Implementation of a Quantum String Matching Algorithm},
year = {2024},
publisher = {Association for Computing Machinery},
url = {https://doi.org/10.1145/3660318.3660327}
}
```## Authors
- [Simone Faro](https://scholar.google.com/citations?user=4-fzfJEAAAAJ&hl=en)
- [Francesco Pio Marino](https://scholar.google.com/citations?user=QJDxRrsAAAAJ&hl=en)
- [Antonio Scardace](https://scholar.google.com/citations?user=VNQ6auUAAAAJ&hl=en)