<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Bioinform.</journal-id>
<journal-title>Frontiers in Bioinformatics</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Bioinform.</abbrev-journal-title>
<issn pub-type="epub">2673-7647</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1401223</article-id>
<article-id pub-id-type="doi">10.3389/fbinf.2024.1401223</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Bioinformatics</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>The quantum hypercube as a k-mer graph</article-title>
<alt-title alt-title-type="left-running-head">Becerra-Gavino and Barbosa-Santillan</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fbinf.2024.1401223">10.3389/fbinf.2024.1401223</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Becerra-Gavino</surname>
<given-names>Gustavo</given-names>
</name>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2676684/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/data-curation/"/>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Barbosa-Santillan</surname>
<given-names>Liliana Ibeth</given-names>
</name>
<uri xlink:href="https://loop.frontiersin.org/people/2222534/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
</contrib>
</contrib-group>
<aff>
<institution>Doctorado en Technolog&#xed;as de Informaci&#xf3;n</institution>, <institution>Universidad de Guadalajara</institution>, <institution>Centro Universitario de Ciencias Econ&#xf3;micas Administrativas</institution>, <addr-line>Zapopan</addr-line>, <addr-line>Jalisco</addr-line>, <country>Mexico</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2033045/overview">Lei Wang</ext-link>, Guangxi Academy of Sciences, China</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/943577/overview">Meineng Wang</ext-link>, Yichun University, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1101292/overview">Hasan Zulfiqar</ext-link>, University of Electronic Science and Technology of China, China</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Gustavo Becerra-Gavino, <email>gustavo.becerra5666@alumnos.udg.mx</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>12</day>
<month>09</month>
<year>2024</year>
</pub-date>
<pub-date pub-type="collection">
<year>2024</year>
</pub-date>
<volume>4</volume>
<elocation-id>1401223</elocation-id>
<history>
<date date-type="received">
<day>14</day>
<month>03</month>
<year>2024</year>
</date>
<date date-type="accepted">
<day>19</day>
<month>06</month>
<year>2024</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2024 Becerra-Gavino and Barbosa-Santillan.</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Becerra-Gavino and Barbosa-Santillan</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>The application of quantum principles in computing has garnered interest since the 1980s. Today, this concept is not only theoretical, but we have the means to design and execute techniques that leverage the quantum principles to perform calculations. The emergence of the quantum walk search technique exemplifies the practical application of quantum concepts and their potential to revolutionize information technologies. It promises to be versatile and may be applied to various problems. For example, the coined quantum walk search allows for identifying a marked item in a combinatorial search space, such as the quantum hypercube. The quantum hypercube organizes the qubits such that the qubit states represent the vertices and the edges represent the transitions to the states differing by one qubit state. It offers a novel framework to represent k-mer graphs in the quantum realm. Thus, the quantum hypercube facilitates the exploitation of parallelism, which is made possible through superposition and entanglement to search for a marked k-mer. However, as found in the analysis of the results, the search is only sometimes successful in hitting the target. Thus, through a meticulous examination of the quantum walk search circuit outcomes, evaluating what input-target combinations are useful, and a visionary exploration of DNA k-mer search, this paper opens the door to innovative possibilities, laying down the groundwork for further research to bridge the gap between theoretical conjecture in quantum computing and a tangible impact in bioinformatics.</p>
</abstract>
<kwd-group>
<kwd>k-mer graph</kwd>
<kwd>coined quantum walk</kwd>
<kwd>quantum search</kwd>
<kwd>quantum computing with python</kwd>
<kwd>qiskit</kwd>
<kwd>quantum register initialization</kwd>
</kwd-group>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Genomic Analysis</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>This paper embarks on a journey through quantum computing basics, providing readers with a foundational understanding of quantum mechanics, qubits, and quantum algorithms. It then delves into quantum software stacks, elucidating the essential tools, programming languages, and development environments that drive quantum computing&#x2019;s practical applications. Moving forward, it explores the coined quantum walk search, unraveling the intricate algorithm&#x2019;s potential applications in fields such as combinatorial problems. Shifting gears, the paper investigates DNA 2-bit Encoding, a cutting-edge approach to data storage, and discusses the practical implications and prospects of this novel technology. Lastly, it presents a technique to input DNA patterns into a quantum register to execute a coined quantum walk search for DNA pattern matching. It highlights the unique research objectives, methodologies, and results at this paper&#x2019;s heart, promising to contribute to the ongoing dialogue in these exciting fields.</p>
<sec id="s1-1">
<title>1.1 DNA 2bit encoding</title>
<p>The DNA genetic code is based on the monomer nucleotides <inline-formula id="inf1">
<mml:math id="m1">
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>C</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>G</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. From the point of view of information, this set is, in fact, a 4-symbol alphabet, and it is representable by 2&#xa0;bits in a binary number system (<xref ref-type="bibr" rid="B15">Nemzer, 2017</xref>). One possible mapping to represent genetic code in binary format is <inline-formula id="inf2">
<mml:math id="m2">
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#x2194;</mml:mo>
<mml:mn>00</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>C</mml:mi>
<mml:mo>&#x2194;</mml:mo>
<mml:mn>01</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo>&#x2194;</mml:mo>
<mml:mn>10</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>G</mml:mi>
<mml:mo>&#x2194;</mml:mo>
<mml:mn>11</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. This mapping is used in the <bold>.2bit</bold> file format, 2bit, to encode DNA sequences is used in the current work.</p>
</sec>
<sec id="s1-2">
<title>1.2 K-mer sequencing</title>
<p>In dealing with comparisons and searching, a technique used in genomics to analyze DNA data breaks down DNA sequences in fragments of <bold>k</bold>-lenght of monomers (<xref ref-type="bibr" rid="B11">Langmead, 2016</xref>). These fragments are named according to the number of monomers in the fragment. If the number of monomers <bold>k</bold> is 1, the k-mer is called a 1-mer. If the number of monomers <bold>k</bold> is 2, the k-mer is called a 2-mer, and so forth. Examples of 2-mer DNA fragments are <bold>CA</bold> and <bold>GC</bold>.</p>
</sec>
<sec id="s1-3">
<title>1.3 Quantum computing basics</title>
<p>While the concepts in quantum mechanics have been around for about a century (<xref ref-type="bibr" rid="B3">Born, 1926</xref>), it was in the 1980s that those concepts were theorized as options in the computer science disciplines (<xref ref-type="bibr" rid="B1">Benioff, 1982</xref>). Applying these quantum mechanics principles to computing is now known as quantum computing (<xref ref-type="bibr" rid="B21">Steane, 1998</xref>). Over the years, quantum computing has evolved from a theoretical hypothesis into a tangible reality. In the contemporary landscape of technological advancement, the theoretical underpinnings of quantum computing have transformed into practical methodologies that allow us to execute techniques reliant on quantum principles for complex computations.</p>
<p>The basic unit of information in quantum computing is the qubit (<xref ref-type="bibr" rid="B19">Schumacher, 1995</xref>). While a binary bit can only be in a state of 0 or 1, the qubit has the property that it can be in a combined state of <inline-formula id="inf3">
<mml:math id="m3">
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mn mathvariant="bold-italic">0</mml:mn>
<mml:mo stretchy="false">&#x232a;</mml:mo>
</mml:math>
</inline-formula> or <inline-formula id="inf4">
<mml:math id="m4">
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mn mathvariant="bold-italic">1</mml:mn>
<mml:mo stretchy="false">&#x232a;</mml:mo>
</mml:math>
</inline-formula> (read ket 0 or ket 1). This property is called superposition. The wave function in <xref ref-type="disp-formula" rid="e1">Equation 1</xref> expresses the general qubit state, <inline-formula id="inf5">
<mml:math id="m5">
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>&#x3c8;</mml:mi>
<mml:mo stretchy="false">&#x232a;</mml:mo>
</mml:math>
</inline-formula>. The qubit state notation is taken from the Dirac bra-ket notation (<xref ref-type="bibr" rid="B8">Dirac, 1939</xref>).<disp-formula id="e1">
<mml:math id="m6">
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>&#x3c8;</mml:mi>
<mml:mo stretchy="false">&#x232a;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">&#x232a;</mml:mo>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">&#x232a;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mspace width="0.3333em"/>
<mml:mi mathvariant="normal">w</mml:mi>
<mml:mi mathvariant="normal">h</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
<mml:mi mathvariant="normal">e</mml:mi>
<mml:mspace width="0.3333em"/>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">&#x232a;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mspace width="0.3333em"/>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">n</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mspace width="0.3333em"/>
<mml:mfenced open="|" close="&#x27e9;">
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:math>
<label>(1)</label>
</disp-formula>
</p>
<p>One fundamental difference between a binary computer and a quantum computer is that measuring the binary bit state does not alter its state, whereas in quantum computing, measuring a qubit collapses it into a pure state <inline-formula id="inf6">
<mml:math id="m7">
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">&#x232a;</mml:mo>
</mml:math>
</inline-formula> or <inline-formula id="inf7">
<mml:math id="m8">
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">&#x232a;</mml:mo>
</mml:math>
</inline-formula>. The probability that a qubit will collapse into a <inline-formula id="inf8">
<mml:math id="m9">
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">&#x232a;</mml:mo>
</mml:math>
</inline-formula> or <inline-formula id="inf159">
<mml:math id="m169">
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">&#x232a;</mml:mo>
</mml:math>
</inline-formula> is given by <xref ref-type="disp-formula" rid="e2">Equation 2</xref> where <inline-formula id="inf10">
<mml:math id="m11">
<mml:mi>&#x3b1;</mml:mi>
</mml:math>
</inline-formula> and <inline-formula id="inf11">
<mml:math id="m12">
<mml:mi>&#x3b2;</mml:mi>
</mml:math>
</inline-formula> are complex numbers capturing the amplitudes of the state in <xref ref-type="disp-formula" rid="e1">Equation 1</xref>.<disp-formula id="e2">
<mml:math id="m13">
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">&#x7c;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">&#x7c;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:math>
<label>(2)</label>
</disp-formula>
</p>
<p>Qubits perform calculations using quantum gates or operators to manipulate the qubit states. One such gate is the Pauli-X gate, represented by the<inline-graphic xlink:href="fbinf-04-1401223-fx1.tif"/>symbol (<xref ref-type="bibr" rid="B16">Nielsen and Chuang, 2000</xref>). This gate has the property of flipping the qubit state. If the qubit is in a <inline-formula id="inf13">
<mml:math id="m15">
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">&#x232a;</mml:mo>
</mml:math>
</inline-formula> state the new state becomes <inline-formula id="inf14">
<mml:math id="m16">
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">&#x232a;</mml:mo>
</mml:math>
</inline-formula> and <italic>vice versa</italic>. The transformation matrix in <xref ref-type="disp-formula" rid="e3">Equation 3</xref> defines the Pauli-X gate. <disp-formula id="e3">
<inline-graphic xlink:href="fbinf-04-1401223-fx3.tif"/>
<label>(3)</label>
</disp-formula>
</p>
<p>The<inline-graphic xlink:href="fbinf-04-1401223-fx2.tif"/>gate is a unitary operator; it is reversible. It is also applied to only one qubit. Other gates may be applied to a set of qubits. For instance, the CNOT gate defined in <xref ref-type="disp-formula" rid="e4">Equation 4</xref> is one of the gates used to entangle two qubits (<xref ref-type="bibr" rid="B10">Hughes et al., 2021</xref>). The first is the control qubit; the other is the target qubit. With this gate, the qubits are set to interact between them. <disp-formula id="e4">
<inline-graphic xlink:href="fbinf-04-1401223-fx4.tif"/>
<label>(4)</label>
</disp-formula>
</p>
<p>With both superposition and entanglement, qubit interference may be leveraged to perform computation. Since the qubit status is based on the quantum wave function, when two different qubits are entangled and subject to operators, their amplitudes will interact constructively or destructively. This phenomenon allows for computations beyond the capability of binary computing.</p>
</sec>
<sec id="s1-4">
<title>1.4 Quantum software stacks</title>
<p>Since the conception of the quantum computing concept, human ingenuity has been at work to explore the potential of this new computing paradigm. Quantum computing may increase cybersecurity (<xref ref-type="bibr" rid="B4">Bova et al., 2021</xref>), or break widely used cybersecurity technologies such as public key cryptography (<xref ref-type="bibr" rid="B13">Mavroeidis et al., 2018</xref>). It also may be used to speed up searching for a marked item in unstructured data through a quantum search. Since quantum computing has a promising outlook, companies worldwide are interested in facilitating quantum computing for research and commercial use through Quantum Software Stacks (QSS) (<xref ref-type="bibr" rid="B23">Wang et al., 2021</xref>). Google provides Cirq, Rigetti PyQuil, and IBM provides the Qiskit. The current work was researched, developed, and executed using IBM&#x2019;s Qiskit QSS.</p>
</sec>
<sec id="s1-5">
<title>1.5 IBM quantum platform</title>
<p>The IBM Quantum Platform, formerly known as the IBM Quantum Experience (<xref ref-type="bibr" rid="B6">Cross, 2018</xref>), is an open platform intended to ease the work of designing, developing, and running quantum circuits. Anyone interested may create these circuits through the Quantum Composer (<xref ref-type="bibr" rid="B12">Lehka et al., 2022</xref>), a cloud-based visual development environment. They also may be written in OpenQASM (<xref ref-type="bibr" rid="B7">Cross et al., 2017</xref>), an assembly-like computer language. Another familiar option is to write the quantum circuits using Python programming with the Qiskit (<xref ref-type="bibr" rid="B17">Qiskit contributors, 2023</xref>), modules installed. Qiskit allows for different quantum system backends to be used, both simulators and actual quantum processors with limited access. In addition, educational materials, such as the Qiskit Textbook (<xref ref-type="bibr" rid="B22">various authors, 2023</xref>), demonstrate tools available to create quantum algorithms. In this book, the coined quantum walk search algorithm (<xref ref-type="bibr" rid="B24">Wanzambi and Andersson, 2021</xref>), is implemented to search for a marked node in a tesseract, a hypercube with four dimensions as shown in <xref ref-type="fig" rid="F1">Figure 1</xref>. This tesseract is built within the QuantumCircuit instance pointed by the <bold>circuit</bold> variable with the following Python code:</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Hypercube with 4-bit nodes.</p>
</caption>
<graphic xlink:href="fbinf-04-1401223-g001.tif"/>
</fig>
<p>
<monospace>
<inline-formula id="inf160">
<mml:math id="m170">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#1A9700">
<mml:mtext>&#x23; Shift operator function for 4d-hypercube</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>
</monospace>
</p>
<p>
<monospace>&#x2003;<inline-formula id="inf161">
<mml:math id="m171">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mtext>def</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula> shift_operator(circuit)<inline-formula id="inf200">
<mml:math id="m200">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mtext>:</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>
</monospace>
</p>
<p>
<monospace>&#x2003;&#x2003;&#x2003;<inline-formula id="inf162">
<mml:math id="m172">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mtext>for</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula> i <inline-formula id="inf163">
<mml:math id="m173">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mtext>in range</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula> (0,4)<inline-formula id="inf201">
<mml:math id="m201">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mtext>:</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>
</monospace>
</p>
<p>
<monospace>&#x2003;&#x2003;&#x2003;&#x2003;&#x2003;circuit.x(4)</monospace>
</p>
<p>&#x2003;&#x2003;&#x2003;&#x2003;&#x2003;<monospace>
<inline-formula id="inf164">
<mml:math id="m174">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mtext>if</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula> i<inline-formula id="inf165">
<mml:math id="m175">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mo>&#x0025;</mml:mo>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>2<inline-formula id="inf166">
<mml:math id="m176">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mo>&#x003D;&#x003D;</mml:mo>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>0<inline-formula id="inf202">
<mml:math id="m202">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mtext>:</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>
</monospace>
</p>
<p>&#x2003;&#x2003;&#x2003;&#x2003;&#x2003;&#x2003;&#x2003;<monospace>circuit.x(5)</monospace>
</p>
<p>
<monospace>&#x2003;&#x2003;&#x2003;&#x2003;&#x2003;circuit.ccx(4,5,i)</monospace>
</p>
<p>This qubit arrangement allows us to represent the <inline-formula id="inf16">
<mml:math id="m20">
<mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> vertices in the hypercube with only four qubits. This is, in fact, an exponential information density.</p>
</sec>
<sec id="s1-6">
<title>1.6 The coined quantum walk search</title>
<p>The coined quantum walk search is a search algorithm targeted at unstructured databases. This search algorithm employs a quantum version of classical random walks executed on Markov chains <xref ref-type="bibr" rid="B20">(Shenvi et al., 2003</xref>; <xref ref-type="bibr" rid="B2">Boettcher et al., 2015)</xref>. In the quantum version of the random walk, the walker evaluates several paths on the graph simultaneously through the superposition of states of the coin operator. The shift operator then takes the step influenced by the coin state. The phase estimation serves as the state evaluation tool to determine if a state is the search target. The coin is a set of qubits used to evaluate the walker&#x2019;s next step. The coined quantum walk search demonstrated in the Qiskit textbook in chapter 3.10 uses 11 qubits. Four are used as the theta qubits for phase estimation, four for the tesseract nodes, two for the Grover&#x2019;s coin, and one as an auxiliary (ancilla) qubit.</p>
<p>The coined quantum walk search stands out as a particularly promising paradigm. It holds the potential to transcend its theoretical origins and address an extensive array of problems, spanning an impressive spectrum of applications. Among these applications are solutions to combinatorial (<xref ref-type="bibr" rid="B4">Bova et al., 2021</xref>), problems where the search space is all the combinations of a finite set of symbols. DNA pattern matching belongs to this type of problem. In bioinformatics, DNA pattern matching and prediction plays such an important role that brilliant minds have designed practical algorithms to leverage traditional computing (<xref ref-type="bibr" rid="B18">Rahate and Chandak, 2018</xref>; <xref ref-type="bibr" rid="B14">Neamatollahi et al., 2020</xref>); and even advanced deep learning model techniques such as the Convolution Autoencoder (<xref ref-type="bibr" rid="B9">Guo et al., 2024</xref>). Poising our attention towards quantum computing, the quantum hypercube, with its exponential information density, also enables the prospect to execute the coined quantum walk search for a marked state.</p>
</sec>
<sec id="s1-7">
<title>1.7 The quantum hypercube as a K-mer graph</title>
<p>The current work researches a technique to encode DNA information to input it to a quantum computer and provide a target k-mer in the quantum hypercube search space for a coined quantum walk search algorithm to find. The coined quantum walk search is executed with each of the 16 possible combinations as a starting node. In addition, the 11-qubit quantum register is tested with all the possible initialization states. Each initialization state is executed with each of the 16 possible target nodes. The results generated are analyzed to provide insights into the effects of initializing the 11-qubit quantum register on the execution of the coined quantum walk search. The information is useful for peeking into the possibilities of leveraging the quantum hypercube as a k-mer graph to perform DNA pattern matching.</p>
</sec>
</sec>
<sec sec-type="materials|methods" id="s2">
<title>2 Materials and methods</title>
<sec id="s2-1">
<title>2.1 Development platform</title>
<p>The IBM Quantum Software Platform facilitates the use of a quantum computer through the use of Python modules. These modules implement potent methods to build up and execute quantum circuits. The two packages used for the experiments in this research are the <inline-formula id="inf17">
<mml:math id="m21">
<mml:mi mathvariant="bold-italic">q</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mi mathvariant="bold-italic">t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">0.39</mml:mn>
<mml:mo>.</mml:mo>
<mml:mn mathvariant="bold">0</mml:mn>
</mml:math>
</inline-formula> and <inline-formula id="inf18">
<mml:math id="m22">
<mml:mi mathvariant="bold-italic">q</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mi mathvariant="bold-italic">t</mml:mi>
<mml:mtext>_</mml:mtext>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mi mathvariant="bold-italic">b</mml:mi>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mtext>_</mml:mtext>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mi mathvariant="bold-italic">o</mml:mi>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">e</mml:mi>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">0.2</mml:mn>
<mml:mo>.</mml:mo>
<mml:mn mathvariant="bold">0</mml:mn>
</mml:math>
</inline-formula>. Specifying these packages to be installed through the <bold>pip</bold> package manager also installs other packages as dependencies. Another advantage of using the Qiskit framework is that the circuits created will run as long as a compatible backend is available.</p>
</sec>
<sec id="s2-2">
<title>2.2 Loading DNA binary data into a quantum circuit</title>
<p>When using the Qiskit QSS, a QuantumCircuit instance is initialized to a <inline-formula id="inf19">
<mml:math id="m23">
<mml:mfenced open="|" close="&#x27e9;">
<mml:mrow>
<mml:mn mathvariant="bold">0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> state by default. However, the Qiskit QuantumCircuit Python class allows for each qubit in instances of n-qubits to be initialized to a target state of <inline-formula id="inf20">
<mml:math id="m24">
<mml:mfenced open="|" close="&#x27e9;">
<mml:mrow>
<mml:mn mathvariant="bold">0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> or <inline-formula id="inf21">
<mml:math id="m25">
<mml:mfenced open="|" close="&#x27e9;">
<mml:mrow>
<mml:mn mathvariant="bold">1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> by passing a string of n-length of 0&#x2019;s and 1&#x2019;s as a parameter. The right-most character is applied to the first qubit from top to bottom, following a right-to-left and top-to-bottom order. This simplified initialization method is more familiar to classical programmers since this initialization string is, in fact, a binary string. For an 11-qubit circuit, an initialization string may take the form <bold>&#x201c;01001100010&#x201d;</bold>. When the method to initialize a quantum circuit object is called, the circuit is modified by adding<inline-graphic xlink:href="fbinf-04-1401223-fx5.tif"/>gates to rotate the qubits from a <inline-formula id="inf23">
<mml:math id="m27">
<mml:mfenced open="|" close="&#x27e9;">
<mml:mrow>
<mml:mn mathvariant="bold">0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> state to a <inline-formula id="inf24">
<mml:math id="m28">
<mml:mfenced open="|" close="&#x27e9;">
<mml:mrow>
<mml:mn mathvariant="bold">1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> state to achieve the desired circuit state.</p>
<p>The corresponding Python code with the modules installed and imported into the program is:</p>
<p>
<monospace>...</monospace>
</p>
<p>
<monospace>
<inline-formula id="inf167">
<mml:math id="m177">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mtext>from</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula> qiskit <inline-formula id="inf168">
<mml:math id="m178">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mtext>import</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula> QuantumCircuit, execute, Aer, IBMQ, QuantumRegister, ClassicalRegister</monospace>
</p>
<p>
<monospace>...</monospace>
</p>
<p>
<monospace>circuit.initialize(<inline-formula id="inf169">
<mml:math id="m179">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#9A0000">
<mml:mo>&#x201c;</mml:mo>
<mml:mtext>01001100010</mml:mtext>
<mml:mo>&#x201d;</mml:mo>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>, circuit.qubits)</monospace>
</p>
<p>
<monospace>...</monospace>
</p>
<p>After calling the <bold>circuit. initialize</bold> method, the circuit is modified to set the quantum register into the specified state before executing the circuit. Thus, applying <bold>&#x201c;01001100010&#x201d;</bold> as the circuit initialization string to the coined quantum walk modifies the beginning of the circuit as illustrated in <xref ref-type="fig" rid="F2">Figure 2</xref>.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>IBM Quantum Platform Register with the initialization string 01001100010 applied.</p>
</caption>
<graphic xlink:href="fbinf-04-1401223-g002.tif"/>
</fig>
<p>The&#x2009;&#x2009;<inline-graphic xlink:href="fbinf-04-1401223-fx6.tif"/> and&#x2009;&#x2009;<inline-graphic xlink:href="fbinf-04-1401223-fx7.tif"/> symbols in <xref ref-type="fig" rid="F2">Figure 2</xref> are not quantum gates. These two symbols illustrate how the quantum circuit is initialized to a desired tesseract node and what that node &#x201c;0110&#x201d; represents in a .2bit mapping for DNA sequences. Notice that the encoding is mapped from left to right to stay consistent with the Qiskit QuantumCircuit initialization string pattern.</p>
</sec>
<sec id="s2-3">
<title>2.3 The DNA hypercube space</title>
<p>After the initialization method is called, the coined quantum walk implementation presented in the Qiskit Textbook is used to find the marked node in a hypercube with 4-bit vertices. These 4&#xa0;bits represent two-letter DNA patterns, also called 2-mer substrings. This way, the hypercube in <xref ref-type="fig" rid="F1">Figure 1</xref> becomes the hypercube in <xref ref-type="fig" rid="F3">Figure 3</xref>.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Hypercube with 2-mer DNA pattern nodes.</p>
</caption>
<graphic xlink:href="fbinf-04-1401223-g003.tif"/>
</fig>
</sec>
<sec id="s2-4">
<title>2.4 The coined quantum walk search circuit</title>
<p>The coined quantum walk implementation has three parts: A set of Hadamard gates applied to the node and coin qubits to set them into a superposition state; the phase oracle, where the target state is marked; and the phase estimation. The phase oracle and the phase estimation sections may be repeated as many times as desired. The last step is measuring the states of the tesseract nodes, which collapses the quantum circuit into a binary state. <xref ref-type="fig" rid="F4">Figure 4</xref> illustrates the complete quantum walk search algorithm. The entire circuit was implemented and executed using the Python programming language.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Complete Coined Quantum Walk Circuit with the CA DNA pattern provided as the initialization node and the node GC as a marked pattern.</p>
</caption>
<graphic xlink:href="fbinf-04-1401223-g004.tif"/>
</fig>
<p>The mark section in the QuantumCircuit object, circuit, is implemented with the Python snippet:</p>
<p>
<monospace>
<inline-formula id="inf170">
<mml:math id="m180">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#1A9700">
<mml:mtext>&#x23; Mark the target pattern within the circuit</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>
</monospace>
</p>
<p>
<monospace>
<inline-formula id="inf171">
<mml:math id="m181">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mtext>def</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula> mark(self, circuit, target):</monospace>
</p>
<p>
<monospace>&#x2003;&#x2003;<inline-formula id="inf172">
<mml:math id="m182">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mtext>for</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula> i <inline-formula id="inf173">
<mml:math id="m183">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mtext>in range</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula> (<inline-formula id="inf174">
<mml:math id="m184">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="blue">
<mml:mtext>len</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>(target) <inline-formula id="inf175">
<mml:math id="m185">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mo>-</mml:mo>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula> 1, <inline-formula id="inf176">
<mml:math id="m186">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mo>-</mml:mo>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>1, <inline-formula id="inf177">
<mml:math id="m187">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mo>-</mml:mo>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>1 )<inline-formula id="inf178">
<mml:math id="m188">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mo>:</mml:mo>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>
</monospace>
</p>
<p>
<monospace>&#x2003;&#x2003;&#x2003;&#x2003;&#x2006;<inline-formula id="inf179">
<mml:math id="m189">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mtext>if</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula> <inline-formula id="inf180">
<mml:math id="m190">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#9A0000">
<mml:mtext>&#x2018;0&#x2019;</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula> <inline-formula id="inf181">
<mml:math id="m191">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mtext>&#x3d;&#x3d;</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula> target<inline-formula id="inf182">
<mml:math id="m192">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mo>[</mml:mo>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>i<inline-formula id="inf183">
<mml:math id="m193">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mtext>]:</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>
</monospace>
</p>
<p>
<monospace>&#x2003;&#x2003;&#x2003;&#x2003;&#x2003;&#x2006;&#x2003;circuit.x(<inline-formula id="inf184">
<mml:math id="m194">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="blue">
<mml:mtext>len</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>(target) <inline-formula id="inf185">
<mml:math id="m195">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mo>-</mml:mo>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula> 1 <inline-formula id="inf186">
<mml:math id="m196">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mo>-</mml:mo>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula> i)</monospace>
</p>
<p>
<monospace>&#x2003;&#x2003;circuit.h(3)</monospace>
</p>
<p>
<monospace>&#x2003;&#x2003;circuit.mct(<inline-formula id="inf187">
<mml:math id="m197">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mo>[</mml:mo>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>0,1,2<inline-formula id="inf188">
<mml:math id="m198">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mo>]</mml:mo>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>, 3)</monospace>
</p>
<p>
<monospace>&#x2003;&#x2003;circuit.h(3)</monospace>
</p>
<p>
<monospace>&#x2003;&#x2003;<inline-formula id="inf189">
<mml:math id="m199">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mtext>for</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula> i <inline-formula id="inf190">
<mml:math id="m203">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mtext>in range</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>(0, (<inline-formula id="inf191">
<mml:math id="m204">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="blue">
<mml:mtext>len</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>(target)):</monospace>
</p>
<p>&#x2003;&#x2003;&#x2003;&#x2003;&#x2006;<monospace>
<inline-formula id="inf192">
<mml:math id="m205">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mtext>if</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula> <inline-formula id="inf193">
<mml:math id="m206">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#9A0000">
<mml:mtext>&#x2018;0&#x2019;</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula> <inline-formula id="inf194">
<mml:math id="m207">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mo>&#x3d;&#x3d;</mml:mo>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula> target<inline-formula id="inf195">
<mml:math id="m208">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mo>[</mml:mo>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>i<inline-formula id="inf196">
<mml:math id="m209">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mtext>]:</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>
</monospace>
</p>
<p>
<monospace>&#x2003;&#x2003;&#x2003;&#x2003;&#x2003;&#x2003;circuit.x (<inline-formula id="inf197">
<mml:math id="m210">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="blue">
<mml:mtext>len</mml:mtext>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>(target) <inline-formula id="inf198">
<mml:math id="m211">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mo>-</mml:mo>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula> 1 <inline-formula id="inf199">
<mml:math id="m212">
<mml:mrow>
<mml:mstyle displaystyle="false" mathcolor="#E60093">
<mml:mo>-</mml:mo>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula> i)</monospace>
</p>
<p>To cover all the 32768 possible input-mark, the circuit illustrated in <xref ref-type="fig" rid="F4">Figure 4</xref> was executed through a Python program. This Python program ran each execution with 1024 shots. The reader can find this Python program in the Supplementary Materials section.</p>
</sec>
<sec id="s2-5">
<title>2.5 Supplementary Materials</title>
<p>The data used in this study and its original program are available in GitHub at: <ext-link ext-link-type="uri" xlink:href="https://github.com/dti-data/quantum-k-mer-graph">https://github.com/dti-data/quantum-k-mer-graph</ext-link>.</p>
</sec>
</sec>
<sec id="s3">
<title>3 Experiments and results</title>
<p>Each combination of input-mark outputs a line of data. Since the 15 bits (11 for the quantum hypercube, four for the mark) have <inline-formula id="inf27">
<mml:math id="m31">
<mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>15</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> combinations, the data collected is 32768 lines of data. Each one of those lines is a distribution of 1024 shots spread across the 16 possible states for the 2-mer qubits when the QuantumCircuit object is measured. An example of a line of output data is <xref ref-type="table" rid="T1">Table 1</xref>.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Sample output data line with the initialization string set to &#x201c;00000000000&#x201d; and the mark set to &#x201c;0000&#x201d;.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Aux</th>
<th align="left">Coin</th>
<th align="left">Node</th>
<th align="left">Theta</th>
<th align="left">Mark</th>
<th align="left">0000</th>
<th align="left">0001</th>
<th align="left">0010</th>
<th align="left">0011</th>
<th align="left">0100</th>
<th align="left">0101</th>
<th align="left">0110</th>
<th align="left">0111</th>
<th align="left">1000</th>
<th align="left">1001</th>
<th align="left">1010</th>
<th align="left">1011</th>
<th align="left">1100</th>
<th align="left">1101</th>
<th align="left">1110</th>
<th align="left">1111</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0000</td>
<td align="left">0000</td>
<td align="left">904</td>
<td align="left">5</td>
<td align="left">10</td>
<td align="left">10</td>
<td align="left">8</td>
<td align="left">3</td>
<td align="left">9</td>
<td align="left">13</td>
<td align="left">7</td>
<td align="left">8</td>
<td align="left">5</td>
<td align="left">14</td>
<td align="left">9</td>
<td align="left">5</td>
<td align="left">7</td>
<td align="left">7</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>For ease of reading, this initialization string is separated into the values used for the different quantum registers: Auxiliary (1), Coin (2), Node (4), and Theta (4). The &#x201c;mark&#x201d; column contains the binary values provided to the oracle as marks. The remaining 16 columns contain the frequency for each state measured at the Node register when the quantum circuit collapses.</p>
<p>The expected result is for the quantum walk search to hit the marked state regardless of the initialization state. <xref ref-type="table" rid="T2">Table 2</xref> presents the number of hits for each node state when the QauntumCircuit four is initialized to the string &#x201c;00000000000&#x201d; and executed with 1024 shots.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Number of hits for each vertex out of 1024 shots taken for the initialization string &#x201c;00000000000&#x201d;.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Aux</th>
<th align="left">Coin</th>
<th align="left">Node</th>
<th align="left">Theta</th>
<th align="left">Mark</th>
<th align="left">0000</th>
<th align="left">0001</th>
<th align="left">0010</th>
<th align="left">0011</th>
<th align="left">0100</th>
<th align="left">0101</th>
<th align="left">0110</th>
<th align="left">0111</th>
<th align="left">1000</th>
<th align="left">1001</th>
<th align="left">1010</th>
<th align="left">1011</th>
<th align="left">1100</th>
<th align="left">1101</th>
<th align="left">1110</th>
<th align="left">1111</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0000</td>
<td align="left">0000</td>
<td align="left">904</td>
<td align="left">5</td>
<td align="left">10</td>
<td align="left">10</td>
<td align="left">8</td>
<td align="left">3</td>
<td align="left">9</td>
<td align="left">13</td>
<td align="left">7</td>
<td align="left">8</td>
<td align="left">5</td>
<td align="left">14</td>
<td align="left">9</td>
<td align="left">5</td>
<td align="left">7</td>
<td align="left">7</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0000</td>
<td align="left">0001</td>
<td align="left">3</td>
<td align="left">907</td>
<td align="left">7</td>
<td align="left">6</td>
<td align="left">9</td>
<td align="left">10</td>
<td align="left">5</td>
<td align="left">12</td>
<td align="left">7</td>
<td align="left">7</td>
<td align="left">8</td>
<td align="left">7</td>
<td align="left">7</td>
<td align="left">12</td>
<td align="left">12</td>
<td align="left">5</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0000</td>
<td align="left">0010</td>
<td align="left">5</td>
<td align="left">6</td>
<td align="left">910</td>
<td align="left">6</td>
<td align="left">7</td>
<td align="left">6</td>
<td align="left">6</td>
<td align="left">8</td>
<td align="left">10</td>
<td align="left">9</td>
<td align="left">9</td>
<td align="left">9</td>
<td align="left">7</td>
<td align="left">8</td>
<td align="left">11</td>
<td align="left">7</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0000</td>
<td align="left">0011</td>
<td align="left">7</td>
<td align="left">5</td>
<td align="left">9</td>
<td align="left">911</td>
<td align="left">2</td>
<td align="left">9</td>
<td align="left">8</td>
<td align="left">9</td>
<td align="left">8</td>
<td align="left">5</td>
<td align="left">6</td>
<td align="left">10</td>
<td align="left">7</td>
<td align="left">8</td>
<td align="left">10</td>
<td align="left">10</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0000</td>
<td align="left">0100</td>
<td align="left">14</td>
<td align="left">8</td>
<td align="left">12</td>
<td align="left">9</td>
<td align="left">880</td>
<td align="left">10</td>
<td align="left">6</td>
<td align="left">4</td>
<td align="left">8</td>
<td align="left">13</td>
<td align="left">19</td>
<td align="left">9</td>
<td align="left">8</td>
<td align="left">8</td>
<td align="left">8</td>
<td align="left">8</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0000</td>
<td align="left">0101</td>
<td align="left">7</td>
<td align="left">7</td>
<td align="left">4</td>
<td align="left">7</td>
<td align="left">7</td>
<td align="left">920</td>
<td align="left">8</td>
<td align="left">6</td>
<td align="left">8</td>
<td align="left">6</td>
<td align="left">11</td>
<td align="left">4</td>
<td align="left">3</td>
<td align="left">6</td>
<td align="left">12</td>
<td align="left">8</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0000</td>
<td align="left">0110</td>
<td align="left">5</td>
<td align="left">5</td>
<td align="left">4</td>
<td align="left">11</td>
<td align="left">7</td>
<td align="left">8</td>
<td align="left">919</td>
<td align="left">5</td>
<td align="left">6</td>
<td align="left">17</td>
<td align="left">8</td>
<td align="left">6</td>
<td align="left">6</td>
<td align="left">3</td>
<td align="left">5</td>
<td align="left">9</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0000</td>
<td align="left">0111</td>
<td align="left">10</td>
<td align="left">3</td>
<td align="left">12</td>
<td align="left">13</td>
<td align="left">9</td>
<td align="left">13</td>
<td align="left">9</td>
<td align="left">898</td>
<td align="left">8</td>
<td align="left">7</td>
<td align="left">11</td>
<td align="left">7</td>
<td align="left">2</td>
<td align="left">5</td>
<td align="left">9</td>
<td align="left">8</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0000</td>
<td align="left">1000</td>
<td align="left">5</td>
<td align="left">4</td>
<td align="left">4</td>
<td align="left">5</td>
<td align="left">5</td>
<td align="left">7</td>
<td align="left">8</td>
<td align="left">8</td>
<td align="left">923</td>
<td align="left">10</td>
<td align="left">5</td>
<td align="left">8</td>
<td align="left">13</td>
<td align="left">9</td>
<td align="left">4</td>
<td align="left">6</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0000</td>
<td align="left">1001</td>
<td align="left">5</td>
<td align="left">1</td>
<td align="left">11</td>
<td align="left">4</td>
<td align="left">7</td>
<td align="left">7</td>
<td align="left">13</td>
<td align="left">6</td>
<td align="left">8</td>
<td align="left">922</td>
<td align="left">9</td>
<td align="left">3</td>
<td align="left">8</td>
<td align="left">8</td>
<td align="left">8</td>
<td align="left">4</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0000</td>
<td align="left">1010</td>
<td align="left">5</td>
<td align="left">6</td>
<td align="left">11</td>
<td align="left">14</td>
<td align="left">14</td>
<td align="left">9</td>
<td align="left">5</td>
<td align="left">7</td>
<td align="left">12</td>
<td align="left">5</td>
<td align="left">908</td>
<td align="left">6</td>
<td align="left">7</td>
<td align="left">3</td>
<td align="left">3</td>
<td align="left">9</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0000</td>
<td align="left">1011</td>
<td align="left">12</td>
<td align="left">9</td>
<td align="left">12</td>
<td align="left">7</td>
<td align="left">6</td>
<td align="left">10</td>
<td align="left">13</td>
<td align="left">11</td>
<td align="left">9</td>
<td align="left">8</td>
<td align="left">9</td>
<td align="left">893</td>
<td align="left">12</td>
<td align="left">3</td>
<td align="left">2</td>
<td align="left">8</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0000</td>
<td align="left">1100</td>
<td align="left">6</td>
<td align="left">16</td>
<td align="left">6</td>
<td align="left">14</td>
<td align="left">8</td>
<td align="left">4</td>
<td align="left">5</td>
<td align="left">12</td>
<td align="left">7</td>
<td align="left">12</td>
<td align="left">8</td>
<td align="left">9</td>
<td align="left">900</td>
<td align="left">5</td>
<td align="left">6</td>
<td align="left">6</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0000</td>
<td align="left">1101</td>
<td align="left">4</td>
<td align="left">8</td>
<td align="left">11</td>
<td align="left">6</td>
<td align="left">7</td>
<td align="left">8</td>
<td align="left">10</td>
<td align="left">8</td>
<td align="left">6</td>
<td align="left">7</td>
<td align="left">13</td>
<td align="left">9</td>
<td align="left">11</td>
<td align="left">897</td>
<td align="left">11</td>
<td align="left">8</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0000</td>
<td align="left">1110</td>
<td align="left">8</td>
<td align="left">9</td>
<td align="left">5</td>
<td align="left">9</td>
<td align="left">7</td>
<td align="left">4</td>
<td align="left">4</td>
<td align="left">5</td>
<td align="left">10</td>
<td align="left">4</td>
<td align="left">7</td>
<td align="left">12</td>
<td align="left">12</td>
<td align="left">7</td>
<td align="left">910</td>
<td align="left">11</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0000</td>
<td align="left">1111</td>
<td align="left">12</td>
<td align="left">5</td>
<td align="left">7</td>
<td align="left">10</td>
<td align="left">7</td>
<td align="left">8</td>
<td align="left">4</td>
<td align="left">4</td>
<td align="left">8</td>
<td align="left">6</td>
<td align="left">5</td>
<td align="left">6</td>
<td align="left">15</td>
<td align="left">2</td>
<td align="left">9</td>
<td align="left">916</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Notably, the number of hits for each marked state is not 1024. Indeed, the quantum walk search circuit sometimes collapses to a state other than the marked state. This effect is intrinsic to quantum computing (<xref ref-type="bibr" rid="B5">Brassard et al., 1998</xref>). The gates applied to the qubits introduce the probability that the system will collapse into the wrong answer. Although theoretically possible, as the quantum circuits grow larger and involve more qubits, calculating the probability that a quantum circuit will collapse to a particular state becomes prohibitively complex. However, we can still shed light on the effects of an initialization state on a quantum circuit. Since the number of shots is known, Shots &#x3d; 1024, and the Accuracy is directly proportional to the number of Hits for the mark when the quantum circuit is executed, the Accuracy comes to be <inline-formula id="inf28">
<mml:math id="m32">
<mml:mi>A</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:math>
</inline-formula>. <xref ref-type="table" rid="T3">Table 3</xref> shows the Accuracy for each marked state with the initialization string &#x201c;00000000000&#x201d;.</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Accuracy when executing the coined quantum walk wearch circuit with initialization string &#x201c;00000000000&#x201d; applied.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Mark</th>
<th align="left">Accuracy</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">0000</td>
<td align="left">0.86816</td>
</tr>
<tr>
<td align="left">0001</td>
<td align="left">0.87011</td>
</tr>
<tr>
<td align="left">0010</td>
<td align="left">0.87695</td>
</tr>
<tr>
<td align="left">0011</td>
<td align="left">0.88085</td>
</tr>
<tr>
<td align="left">0100</td>
<td align="left">0.89746</td>
</tr>
<tr>
<td align="left">0101</td>
<td align="left">0.89843</td>
</tr>
<tr>
<td align="left">0110</td>
<td align="left">0.90625</td>
</tr>
<tr>
<td align="left">0111</td>
<td align="left">0.85937</td>
</tr>
<tr>
<td align="left">1000</td>
<td align="left">0.88476</td>
</tr>
<tr>
<td align="left">1001</td>
<td align="left">0.89843</td>
</tr>
<tr>
<td align="left">1010</td>
<td align="left">0.86132</td>
</tr>
<tr>
<td align="left">1011</td>
<td align="left">0.88183</td>
</tr>
<tr>
<td align="left">1100</td>
<td align="left">0.88671</td>
</tr>
<tr>
<td align="left">1101</td>
<td align="left">0.89062</td>
</tr>
<tr>
<td align="left">1110</td>
<td align="left">0.88085</td>
</tr>
<tr>
<td align="left">1111</td>
<td align="left">0.84960</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>In addition, since in quantum computing, the results are based on the probability that a circuit will collapse into a binary state for the measured qubits, the result may vary between circuit executions. One way to measure the expected variation for executions of the same circuit using a particular backend platform is to calculate the difference in hits for each state from different executions for the exact initialization string. This is the technique used in this research to determine if setting the auxiliary qubit to a <inline-formula id="inf29">
<mml:math id="m33">
<mml:mfenced open="|" close="&#x27e9;">
<mml:mrow>
<mml:mn mathvariant="bold">0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> or <inline-formula id="inf30">
<mml:math id="m34">
<mml:mfenced open="|" close="&#x27e9;">
<mml:mrow>
<mml:mn mathvariant="bold">1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> state using the initialization string affects the execution of quantum circuit. The results obtained are summarized in <xref ref-type="fig" rid="F5">Figure 5</xref>. <xref ref-type="fig" rid="F5">Figure 5A</xref> is a set of six histograms placed on the same graph to compare the differences between state hits when setting the auxiliary qubit to a <inline-formula id="inf31">
<mml:math id="m35">
<mml:mfenced open="|" close="&#x27e9;">
<mml:mrow>
<mml:mn mathvariant="bold-italic">0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> or <inline-formula id="inf32">
<mml:math id="m36">
<mml:mfenced open="|" close="&#x27e9;">
<mml:mrow>
<mml:mn mathvariant="bold-italic">1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> state in the initialization string and using that string with each of the 16 possible target states.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Hit differences used to determine the effect of setting the auxiliary bit to <inline-formula id="inf33">
<mml:math id="m37">
<mml:mfenced open="|" close="&#x27e9;">
<mml:mrow>
<mml:mn mathvariant="bold">0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula> or <inline-formula id="inf34">
<mml:math id="m38">
<mml:mfenced open="|" close="&#x27e9;">
<mml:mrow>
<mml:mn mathvariant="bold">1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:math>
</inline-formula>. <bold>(A)</bold> Run hit differences. <bold>(B)</bold> Cumulative run hit differences.</p>
</caption>
<graphic xlink:href="fbinf-04-1401223-g005.tif"/>
</fig>
<p>The differences and similarities in the hit difference distribution are readily apparent. The six distributions follow a similar skewed right distribution with slight variations, which are accounted for by the random nature of quantum computing. <xref ref-type="fig" rid="F5">Figure 5B</xref> shows the cumulative distributions. This set of graphs presents the maximum difference for each distribution. Given that all the graphs display similar skewed right distributions and the mode is calculated to be 1.5 for every one of them, the conclusion is that the samples are equivalent, and, therefore, initializing the auxiliary qubit to 0 or one does not have an effect on the results when executing the quantum coined search circuit.</p>
<p>Since the tesseract used for the coined quantum walk contains 16 nodes, each of which may be used as a target, each unique initialization string is used 16 times in this experiment. In addition, each execution of the quantum circuit using a particular initialization string is a 1024-size sample since the circuit execution is set to attempt 1024 shots. Also, each shot is an independent event. Therefore, calculating the standard deviation, denoted as <inline-formula id="inf35">
<mml:math id="m39">
<mml:mi>&#x3c3;</mml:mi>
</mml:math>
</inline-formula>, for the results obtained using an initialization string produces information that sheds light on the usability of each initialization string. <xref ref-type="fig" rid="F6">Figure 6</xref> presents the distribution of standard deviation values for the distribution of hits for the collapsed states.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Standard deviation distributions plotted as a histogram along with arbitrary limits to organize the results for initialization string according to how randomized the results are.</p>
</caption>
<graphic xlink:href="fbinf-04-1401223-g006.tif"/>
</fig>
<p>The standard deviation measures how close the number of hits for a state is to the expected value of 64 hits (1024 shots/16 possible states). The smaller the value of <inline-formula id="inf36">
<mml:math id="m40">
<mml:mi>&#x3c3;</mml:mi>
</mml:math>
</inline-formula> for the hit distribution, the closer each state gets to getting 64 hits. Therefore, it also measures how random the circuit produces the hits for a given initialization string. As <inline-formula id="inf37">
<mml:math id="m41">
<mml:mi>&#x3c3;</mml:mi>
</mml:math>
</inline-formula> increases, the hit distribution is skewed into a few states. This means that the greater the standard deviation for the results for a given initialization string is, the better defined a pattern within the results is.</p>
<p>Classifying the initialization strings based on the standard deviation values aids in visualizing the patterns for the hit distributions. To leverage this analysis technique, let us define six arbitrary categories such that <inline-formula id="inf38">
<mml:math id="m42">
<mml:mi>&#x3c3;</mml:mi>
</mml:math>
</inline-formula> takes the values as shown in <xref ref-type="table" rid="T4">Table 4</xref>.</p>
<table-wrap id="T4" position="float">
<label>Table 4</label>
<caption>
<p>Hit distribution categories based on the standard deviation calculated for the hit distribution for each initialization string.</p>
</caption>
<table>
<tbody valign="top">
<tr>
<td align="left">Random: <inline-formula id="inf101">
<mml:math id="m102">
<mml:mi>&#x3c3;</mml:mi>
</mml:math>
</inline-formula> <inline-formula id="inf103">
<mml:math id="m104">
<mml:mo>&#x3c;</mml:mo>
</mml:math>
</inline-formula> 14.7 &#x2003;Normal distribution, mode near the expected value, 64.</td>
</tr>
<tr>
<td align="left">Emerging: 14.7 <inline-formula id="inf105">
<mml:math id="m106">
<mml:mo>&#x2264;</mml:mo>
</mml:math>
</inline-formula> <inline-formula id="inf107">
<mml:math id="m108">
<mml:mi>&#x3c3;</mml:mi>
</mml:math>
</inline-formula> <inline-formula id="inf109">
<mml:math id="m110">
<mml:mo>&#x3c;</mml:mo>
</mml:math>
</inline-formula> 21.0 &#x2003;Single modal distribution, mode diverts from 64.</td>
</tr>
<tr>
<td align="left">Weak: 21.0 <inline-formula id="inf111">
<mml:math id="m112">
<mml:mo>&#x2264;</mml:mo>
</mml:math>
</inline-formula> <inline-formula id="inf113">
<mml:math id="m114">
<mml:mi>&#x3c3;</mml:mi>
</mml:math>
</inline-formula> <inline-formula id="inf115">
<mml:math id="m116">
<mml:mo>&#x3c;</mml:mo>
</mml:math>
</inline-formula> 40.0 &#x2003;Multimodal distribution, patterns are discernible.</td>
</tr>
<tr>
<td align="left">Complex: 40.0 <inline-formula id="inf117">
<mml:math id="m118">
<mml:mo>&#x2264;</mml:mo>
</mml:math>
</inline-formula> <inline-formula id="inf119">
<mml:math id="m120">
<mml:mi>&#x3c3;</mml:mi>
</mml:math>
</inline-formula> <inline-formula id="inf121">
<mml:math id="m122">
<mml:mo>&#x3c;</mml:mo>
</mml:math>
</inline-formula> 50.0 &#x2003;Multimodal Patterns are readily distinguished.</td>
</tr>
<tr>
<td align="left">Clear: 50.0 <inline-formula id="inf123">
<mml:math id="m124">
<mml:mo>&#x2264;</mml:mo>
</mml:math>
</inline-formula> <inline-formula id="inf125">
<mml:math id="m126">
<mml:mi>&#x3c3;</mml:mi>
</mml:math>
</inline-formula> <inline-formula id="inf127">
<mml:math id="m128">
<mml:mo>&#x3c;</mml:mo>
</mml:math>
</inline-formula> 80.0 &#x2003;Multimodal with nearly disconnected modes.</td>
</tr>
<tr>
<td align="left">Strong: 80.0 <inline-formula id="inf129">
<mml:math id="m130">
<mml:mo>&#x2264;</mml:mo>
</mml:math>
</inline-formula> <inline-formula id="inf131">
<mml:math id="m132">
<mml:mi>&#x3c3;</mml:mi>
</mml:math>
</inline-formula> &#x2003;&#x2003;&#x2003;&#x2003;The distribution is bimodal with disconnected modes.</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The set of <xref ref-type="fig" rid="F7">Figure 7</xref> displays the six resulting hit distributions with the limits for <inline-formula id="inf55">
<mml:math id="m59">
<mml:mi>&#x3c3;</mml:mi>
</mml:math>
</inline-formula> defined in <xref ref-type="table" rid="T4">Table 4</xref>.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Hit distributions for the categories in <xref ref-type="table" rid="T4">Table 4</xref> based on the standard deviation of each execution with 1024 shots. <bold>(A)</bold> Random: &#x03C3; &#x003c; 14.7; <bold>(B)</bold> Emerging 14.7 &#x2264; &#x03C3; &#x003c; 21.0; <bold>(C)</bold> Weak: 21 &#x2264; &#x03C3; &#x003c; 40.0; <bold>(D)</bold> Complex: 40.0 &#x2264; &#x03C3; &#x003c; 50.0; <bold>(E)</bold> Clear: 50.0 &#x2264; &#x03C3; &#x003c; 80.0; <bold>(F)</bold> Strong: 80.0 &#x2264; &#x03C3;.</p>
</caption>
<graphic xlink:href="fbinf-04-1401223-g007.tif"/>
</fig>
<p>The standard deviation, <inline-formula id="inf56">
<mml:math id="m60">
<mml:mi>&#x3c3;</mml:mi>
</mml:math>
</inline-formula>, for the string &#x201c;00000000001&#x201d; results is 28.53, which places it into the Weak category. However, finding a marked state is an interpretation exercise. An interpreter may use the fact that the marked state is being avoided since it gets fewer hits than the rest to find the marked item. In addition, although the standard deviation for the hit distribution for this string is low, the accuracy for finding the marked state trough avoidance would be much higher.</p>
<p>The results for &#x201c;00000110010&#x201d; have a standard deviation of 49.26 which belongs to the Complex category.</p>
</sec>
<sec sec-type="discussion" id="s4">
<title>4 Discussion</title>
<p>Quantum computing is a relatively new but rapidly evolving field. Currently, the manipulation of quantum circuits is done at the gate level. This activity requires detailed knowledge of quantum computing. While efforts are underway to ease the expertise requirements through software stacks, executing quantum circuits may not produce the expected results. Take, for instance, the experiments performed in this research. Although the inputs and marks were applied to the circuit using the same techniques, the results are inconsistent. This finding prompts us to dissect the quantum circuit and analyze what happens deeper into the different execution levels to leverage those phenomena and the information density from the quantum hypercube to implement faster k-mer searching techniques. The effort to organize and summarize the data in the categories presented in <xref ref-type="table" rid="T4">Table 4</xref>, is to reference the outcomes and focus further research, beyond the scope of the current work, on the different behaviors prompted by the inputs.</p>
<p>One of the surprising outcomes of the experiments was that only four initialization strings produced a &#x201c;Strong&#x201d; output pattern using the coined quantum walk as is. This outcome is the expected behavior. The marked k-mer in the hypercube is hit the most times. Those four initialization strings are: &#x201c;00000000000&#x201d;, &#x201c;00011110001&#x201d;, &#x201c;10000000000&#x201d;, &#x201c;10011110001&#x201d;. The bit in position 10 is loaded into the auxiliary qubit which has no effect. Therefore, the set is reduced to &#x201c;0000000000&#x201d;, and &#x201c;0011110001&#x201d;.</p>
<p>Another finding is that While the quantum circuits, when implemented with superposition, may leverage the parallel processing of a quantum device, changing even the initial state of a qubit may change the quantum circuit behavior so dramatically that when measured, it collapses to a random state. This is the output of 1434 initialization strings with a hit distribution with a standard deviation less than 14.2; therefore, the results are &#x201c;Random&#x201d;, <xref ref-type="fig" rid="F7">Figure 7A</xref>. This count is already more than half of the possible initialization strings.</p>
<p>The &#x201c;Emerging&#x201d; category is close to having a normal distribution but with some distortions. Some states get hits that diverge significantly from the expected value but more is needed to establish a pattern.</p>
<p>The &#x201c;Weak&#x201d; patterns already show an accumulation of hits around values other than 64. One feature in this category is that the quantum search establishes a pattern on the marked state by hitting it with the least frequency, as is the case with the initialization string &#x201c;00000000001&#x201d; as shown in <xref ref-type="table" rid="T5">Table 5</xref>. This effect may be useful in finding the marked state through avoidance since &#x201c;finding&#x201d; is an interpretation exercise.</p>
<table-wrap id="T5" position="float">
<label>TABLE 5</label>
<caption>
<p>Results for executing the coined quantum walk search on a 2-mer hypercube with initialization string &#x201c;00000000001&#x201d;.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">aux</th>
<th align="left">Coin</th>
<th align="left">Node</th>
<th align="left">Theta</th>
<th align="left">Mark</th>
<th align="left">0000</th>
<th align="left">0001</th>
<th align="left">0010</th>
<th align="left">0011</th>
<th align="left">0100</th>
<th align="left">0101</th>
<th align="left">0110</th>
<th align="left">0111</th>
<th align="left">1000</th>
<th align="left">1001</th>
<th align="left">1010</th>
<th align="left">1011</th>
<th align="left">1100</th>
<th align="left">1101</th>
<th align="left">1110</th>
<th align="left">1111</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0001</td>
<td align="left">0000</td>
<td align="left">6</td>
<td align="left">97</td>
<td align="left">85</td>
<td align="left">38</td>
<td align="left">91</td>
<td align="left">40</td>
<td align="left">42</td>
<td align="left">75</td>
<td align="left">92</td>
<td align="left">40</td>
<td align="left">42</td>
<td align="left">89</td>
<td align="left">57</td>
<td align="left">93</td>
<td align="left">94</td>
<td align="left">43</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0001</td>
<td align="left">0001</td>
<td align="left">86</td>
<td align="left">11</td>
<td align="left">42</td>
<td align="left">81</td>
<td align="left">41</td>
<td align="left">95</td>
<td align="left">89</td>
<td align="left">52</td>
<td align="left">50</td>
<td align="left">89</td>
<td align="left">91</td>
<td align="left">42</td>
<td align="left">74</td>
<td align="left">54</td>
<td align="left">43</td>
<td align="left">84</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0001</td>
<td align="left">0010</td>
<td align="left">97</td>
<td align="left">28</td>
<td align="left">6</td>
<td align="left">99</td>
<td align="left">30</td>
<td align="left">80</td>
<td align="left">86</td>
<td align="left">33</td>
<td align="left">39</td>
<td align="left">89</td>
<td align="left">104</td>
<td align="left">55</td>
<td align="left">79</td>
<td align="left">50</td>
<td align="left">51</td>
<td align="left">98</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0001</td>
<td align="left">0011</td>
<td align="left">48</td>
<td align="left">80</td>
<td align="left">68</td>
<td align="left">6</td>
<td align="left">64</td>
<td align="left">50</td>
<td align="left">42</td>
<td align="left">98</td>
<td align="left">96</td>
<td align="left">49</td>
<td align="left">59</td>
<td align="left">100</td>
<td align="left">41</td>
<td align="left">82</td>
<td align="left">98</td>
<td align="left">43</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0001</td>
<td align="left">0100</td>
<td align="left">82</td>
<td align="left">29</td>
<td align="left">43</td>
<td align="left">93</td>
<td align="left">7</td>
<td align="left">91</td>
<td align="left">89</td>
<td align="left">42</td>
<td align="left">45</td>
<td align="left">99</td>
<td align="left">89</td>
<td align="left">42</td>
<td align="left">83</td>
<td align="left">40</td>
<td align="left">50</td>
<td align="left">100</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0001</td>
<td align="left">0101</td>
<td align="left">45</td>
<td align="left">82</td>
<td align="left">96</td>
<td align="left">50</td>
<td align="left">95</td>
<td align="left">6</td>
<td align="left">32</td>
<td align="left">87</td>
<td align="left">91</td>
<td align="left">40</td>
<td align="left">45</td>
<td align="left">87</td>
<td align="left">53</td>
<td align="left">84</td>
<td align="left">99</td>
<td align="left">32</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0001</td>
<td align="left">0110</td>
<td align="left">43</td>
<td align="left">118</td>
<td align="left">90</td>
<td align="left">42</td>
<td align="left">93</td>
<td align="left">35</td>
<td align="left">7</td>
<td align="left">100</td>
<td align="left">74</td>
<td align="left">49</td>
<td align="left">46</td>
<td align="left">88</td>
<td align="left">33</td>
<td align="left">83</td>
<td align="left">77</td>
<td align="left">46</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0001</td>
<td align="left">0111</td>
<td align="left">86</td>
<td align="left">35</td>
<td align="left">40</td>
<td align="left">83</td>
<td align="left">46</td>
<td align="left">86</td>
<td align="left">92</td>
<td align="left">6</td>
<td align="left">41</td>
<td align="left">88</td>
<td align="left">91</td>
<td align="left">54</td>
<td align="left">86</td>
<td align="left">48</td>
<td align="left">48</td>
<td align="left">94</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0001</td>
<td align="left">1000</td>
<td align="left">97</td>
<td align="left">50</td>
<td align="left">42</td>
<td align="left">83</td>
<td align="left">44</td>
<td align="left">83</td>
<td align="left">81</td>
<td align="left">48</td>
<td align="left">6</td>
<td align="left">78</td>
<td align="left">100</td>
<td align="left">38</td>
<td align="left">87</td>
<td align="left">40</td>
<td align="left">50</td>
<td align="left">97</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0001</td>
<td align="left">1001</td>
<td align="left">49</td>
<td align="left">85</td>
<td align="left">83</td>
<td align="left">44</td>
<td align="left">89</td>
<td align="left">39</td>
<td align="left">35</td>
<td align="left">86</td>
<td align="left">87</td>
<td align="left">9</td>
<td align="left">42</td>
<td align="left">90</td>
<td align="left">41</td>
<td align="left">95</td>
<td align="left">95</td>
<td align="left">55</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0001</td>
<td align="left">1010</td>
<td align="left">43</td>
<td align="left">81</td>
<td align="left">89</td>
<td align="left">36</td>
<td align="left">103</td>
<td align="left">54</td>
<td align="left">48</td>
<td align="left">78</td>
<td align="left">81</td>
<td align="left">38</td>
<td align="left">6</td>
<td align="left">97</td>
<td align="left">42</td>
<td align="left">93</td>
<td align="left">91</td>
<td align="left">44</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0001</td>
<td align="left">1011</td>
<td align="left">89</td>
<td align="left">50</td>
<td align="left">51</td>
<td align="left">86</td>
<td align="left">42</td>
<td align="left">104</td>
<td align="left">92</td>
<td align="left">49</td>
<td align="left">32</td>
<td align="left">91</td>
<td align="left">80</td>
<td align="left">3</td>
<td align="left">89</td>
<td align="left">35</td>
<td align="left">31</td>
<td align="left">100</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0001</td>
<td align="left">1100</td>
<td align="left">49</td>
<td align="left">77</td>
<td align="left">87</td>
<td align="left">50</td>
<td align="left">106</td>
<td align="left">29</td>
<td align="left">54</td>
<td align="left">74</td>
<td align="left">107</td>
<td align="left">40</td>
<td align="left">44</td>
<td align="left">90</td>
<td align="left">2</td>
<td align="left">83</td>
<td align="left">93</td>
<td align="left">39</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0001</td>
<td align="left">1101</td>
<td align="left">94</td>
<td align="left">50</td>
<td align="left">45</td>
<td align="left">81</td>
<td align="left">40</td>
<td align="left">87</td>
<td align="left">79</td>
<td align="left">47</td>
<td align="left">31</td>
<td align="left">95</td>
<td align="left">83</td>
<td align="left">35</td>
<td align="left">99</td>
<td align="left">5</td>
<td align="left">50</td>
<td align="left">103</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0001</td>
<td align="left">1110</td>
<td align="left">82</td>
<td align="left">51</td>
<td align="left">44</td>
<td align="left">85</td>
<td align="left">39</td>
<td align="left">88</td>
<td align="left">80</td>
<td align="left">36</td>
<td align="left">46</td>
<td align="left">91</td>
<td align="left">92</td>
<td align="left">42</td>
<td align="left">79</td>
<td align="left">54</td>
<td align="left">8</td>
<td align="left">107</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0000</td>
<td align="left">0001</td>
<td align="left">1111</td>
<td align="left">55</td>
<td align="left">80</td>
<td align="left">97</td>
<td align="left">36</td>
<td align="left">83</td>
<td align="left">46</td>
<td align="left">51</td>
<td align="left">96</td>
<td align="left">78</td>
<td align="left">44</td>
<td align="left">36</td>
<td align="left">91</td>
<td align="left">34</td>
<td align="left">92</td>
<td align="left">98</td>
<td align="left">7</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The &#x201c;Clear&#x201d; category displays hits consolidating on the marked state, just as in the Strong category, but the hit count is far from being 100%.</p>
<p>The category &#x201c;Complex&#x201d; is named as such based on the patterns displayed on the hit distribution. The hits are accumulated around the marked state, but the node with the binary inverse of the marked state is also avoided. Even more, the circuit hits other states, forming a complex pattern. As shown in <xref ref-type="table" rid="T6">Table 6</xref>.&#x2018;&#x2019; The input-mark combinations in this category output are intriguing and may be the subject of deeper studies.</p>
<table-wrap id="T6" position="float">
<label>TABLE 6</label>
<caption>
<p>Results for executing the coined quantum walk search on a 2-mer hypercube with initialization string &#x201c;00000110010&#x201d;.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">aux</th>
<th align="left">Coin</th>
<th align="left">Node</th>
<th align="left">Theta</th>
<th align="left">Mark</th>
<th align="left">0000</th>
<th align="left">0001</th>
<th align="left">0010</th>
<th align="left">0011</th>
<th align="left">0100</th>
<th align="left">0101</th>
<th align="left">0110</th>
<th align="left">0111</th>
<th align="left">1000</th>
<th align="left">1001</th>
<th align="left">1010</th>
<th align="left">1011</th>
<th align="left">1100</th>
<th align="left">1101</th>
<th align="left">1110</th>
<th align="left">1111</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0011</td>
<td align="left">0010</td>
<td align="left">0000</td>
<td align="left">232</td>
<td align="left">55</td>
<td align="left">43</td>
<td align="left">105</td>
<td align="left">60</td>
<td align="left">33</td>
<td align="left">38</td>
<td align="left">66</td>
<td align="left">53</td>
<td align="left">29</td>
<td align="left">37</td>
<td align="left">42</td>
<td align="left">108</td>
<td align="left">54</td>
<td align="left">64</td>
<td align="left">5</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0011</td>
<td align="left">0010</td>
<td align="left">0001</td>
<td align="left">42</td>
<td align="left">226</td>
<td align="left">123</td>
<td align="left">49</td>
<td align="left">31</td>
<td align="left">50</td>
<td align="left">52</td>
<td align="left">37</td>
<td align="left">42</td>
<td align="left">50</td>
<td align="left">59</td>
<td align="left">37</td>
<td align="left">57</td>
<td align="left">107</td>
<td align="left">4</td>
<td align="left">58</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0011</td>
<td align="left">0010</td>
<td align="left">0010</td>
<td align="left">50</td>
<td align="left">106</td>
<td align="left">240</td>
<td align="left">51</td>
<td align="left">38</td>
<td align="left">57</td>
<td align="left">56</td>
<td align="left">22</td>
<td align="left">30</td>
<td align="left">57</td>
<td align="left">43</td>
<td align="left">37</td>
<td align="left">52</td>
<td align="left">7</td>
<td align="left">118</td>
<td align="left">60</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0011</td>
<td align="left">0010</td>
<td align="left">0011</td>
<td align="left">115</td>
<td align="left">56</td>
<td align="left">57</td>
<td align="left">233</td>
<td align="left">65</td>
<td align="left">30</td>
<td align="left">31</td>
<td align="left">39</td>
<td align="left">57</td>
<td align="left">44</td>
<td align="left">28</td>
<td align="left">49</td>
<td align="left">7</td>
<td align="left">48</td>
<td align="left">56</td>
<td align="left">109</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0011</td>
<td align="left">0010</td>
<td align="left">0100</td>
<td align="left">51</td>
<td align="left">31</td>
<td align="left">33</td>
<td align="left">44</td>
<td align="left">216</td>
<td align="left">51</td>
<td align="left">71</td>
<td align="left">98</td>
<td align="left">118</td>
<td align="left">59</td>
<td align="left">48</td>
<td align="left">7</td>
<td align="left">67</td>
<td align="left">34</td>
<td align="left">42</td>
<td align="left">54</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0011</td>
<td align="left">0010</td>
<td align="left">0101</td>
<td align="left">28</td>
<td align="left">55</td>
<td align="left">62</td>
<td align="left">33</td>
<td align="left">55</td>
<td align="left">234</td>
<td align="left">110</td>
<td align="left">53</td>
<td align="left">63</td>
<td align="left">103</td>
<td align="left">3</td>
<td align="left">54</td>
<td align="left">30</td>
<td align="left">43</td>
<td align="left">54</td>
<td align="left">44</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0011</td>
<td align="left">0010</td>
<td align="left">0110</td>
<td align="left">38</td>
<td align="left">52</td>
<td align="left">46</td>
<td align="left">37</td>
<td align="left">58</td>
<td align="left">100</td>
<td align="left">220</td>
<td align="left">55</td>
<td align="left">37</td>
<td align="left">6</td>
<td align="left">121</td>
<td align="left">55</td>
<td align="left">45</td>
<td align="left">58</td>
<td align="left">57</td>
<td align="left">39</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0011</td>
<td align="left">0010</td>
<td align="left">0111</td>
<td align="left">48</td>
<td align="left">41</td>
<td align="left">30</td>
<td align="left">56</td>
<td align="left">97</td>
<td align="left">64</td>
<td align="left">52</td>
<td align="left">246</td>
<td align="left">1</td>
<td align="left">72</td>
<td align="left">44</td>
<td align="left">102</td>
<td align="left">52</td>
<td align="left">38</td>
<td align="left">33</td>
<td align="left">48</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0011</td>
<td align="left">0010</td>
<td align="left">1000</td>
<td align="left">62</td>
<td align="left">33</td>
<td align="left">35</td>
<td align="left">48</td>
<td align="left">110</td>
<td align="left">57</td>
<td align="left">61</td>
<td align="left">3</td>
<td align="left">233</td>
<td align="left">56</td>
<td align="left">53</td>
<td align="left">110</td>
<td align="left">51</td>
<td align="left">22</td>
<td align="left">25</td>
<td align="left">65</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0011</td>
<td align="left">0010</td>
<td align="left">1001</td>
<td align="left">37</td>
<td align="left">47</td>
<td align="left">63</td>
<td align="left">41</td>
<td align="left">73</td>
<td align="left">107</td>
<td align="left">4</td>
<td align="left">56</td>
<td align="left">50</td>
<td align="left">214</td>
<td align="left">102</td>
<td align="left">53</td>
<td align="left">45</td>
<td align="left">59</td>
<td align="left">43</td>
<td align="left">30</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0011</td>
<td align="left">0010</td>
<td align="left">1010</td>
<td align="left">30</td>
<td align="left">59</td>
<td align="left">41</td>
<td align="left">36</td>
<td align="left">56</td>
<td align="left">7</td>
<td align="left">128</td>
<td align="left">67</td>
<td align="left">67</td>
<td align="left">96</td>
<td align="left">214</td>
<td align="left">54</td>
<td align="left">34</td>
<td align="left">53</td>
<td align="left">47</td>
<td align="left">35</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0011</td>
<td align="left">0010</td>
<td align="left">1011</td>
<td align="left">46</td>
<td align="left">32</td>
<td align="left">31</td>
<td align="left">51</td>
<td align="left">5</td>
<td align="left">64</td>
<td align="left">35</td>
<td align="left">125</td>
<td align="left">122</td>
<td align="left">53</td>
<td align="left">52</td>
<td align="left">218</td>
<td align="left">52</td>
<td align="left">40</td>
<td align="left">42</td>
<td align="left">56</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0011</td>
<td align="left">0010</td>
<td align="left">1100</td>
<td align="left">126</td>
<td align="left">51</td>
<td align="left">56</td>
<td align="left">7</td>
<td align="left">52</td>
<td align="left">30</td>
<td align="left">26</td>
<td align="left">55</td>
<td align="left">55</td>
<td align="left">28</td>
<td align="left">42</td>
<td align="left">64</td>
<td align="left">214</td>
<td align="left">65</td>
<td align="left">42</td>
<td align="left">10011</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0011</td>
<td align="left">0010</td>
<td align="left">1101</td>
<td align="left">46</td>
<td align="left">119</td>
<td align="left">6</td>
<td align="left">60</td>
<td align="left">45</td>
<td align="left">52</td>
<td align="left">51</td>
<td align="left">38</td>
<td align="left">48</td>
<td align="left">65</td>
<td align="left">46</td>
<td align="left">30</td>
<td align="left">49</td>
<td align="left">221</td>
<td align="left">104</td>
<td align="left">44</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0011</td>
<td align="left">0010</td>
<td align="left">1110</td>
<td align="left">45</td>
<td align="left">6</td>
<td align="left">116</td>
<td align="left">47</td>
<td align="left">29</td>
<td align="left">71</td>
<td align="left">45</td>
<td align="left">37</td>
<td align="left">36</td>
<td align="left">58</td>
<td align="left">58</td>
<td align="left">28</td>
<td align="left">62</td>
<td align="left">109</td>
<td align="left">213</td>
<td align="left">64</td>
</tr>
<tr>
<td align="left">0</td>
<td align="left">00</td>
<td align="left">0011</td>
<td align="left">0010</td>
<td align="left">1111</td>
<td align="left">5</td>
<td align="left">43</td>
<td align="left">50</td>
<td align="left">117</td>
<td align="left">49</td>
<td align="left">46</td>
<td align="left">32</td>
<td align="left">51</td>
<td align="left">48</td>
<td align="left">45</td>
<td align="left">30</td>
<td align="left">55</td>
<td align="left">119</td>
<td align="left">58</td>
<td align="left">53</td>
<td align="left">223</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The presented categories show that there is much to be researched and developed for the coined quantum walk search on a 2-mer quantum hypercube to be practical. In theory, the quantum hypercube has an exponential information density. The fact that a quantum N-dimensional hypercube can represent <inline-formula id="inf57">
<mml:math id="m61">
<mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> vertices with N qubits is awe-inspiring. This information density is even more impressive when compared to the classical bits necessary to define the vertices for an N-dimensional hypercube, which are <inline-formula id="inf58">
<mml:math id="m62">
<mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2a;</mml:mo>
<mml:mi>N</mml:mi>
</mml:math>
</inline-formula>. As technology allows for larger quantum computers and quantum algorithm design becomes reusable, developing techniques to exploit the features of a quantum hypercube as a k-mer graph will become essential in our quest to make sense of the vast information nature has in store for us. While the outcomes produced in the experiments have little use in practical applications, the discoveries made bring us closer to applying quantum computing to bioinformatics.</p>
</sec>
<sec sec-type="conclusion" id="s5">
<title>5 Conclusion</title>
<p>Encoding binary data into a quantum computer is possible through the initialization string and marking the desired quantum states. Thus, it is possible to encode DNA sequences into such a device. Once the hypercube is built with marked DNA k-mer fragments, the coined quantum walk search is able to return useful results on some instances. However, only some initialization strings output useful repeatable patterns from which information may be extracted.</p>
<p>One limitation of the coined quantum walk search on a 2-mer hypercube is that it is not a universal search technique. The search design has to be adapted to the specific input string. The wide difference in results supports this assertion. Therefore, while a quantum computer can represent an N-dimensional hypercube with N qubits and exploit parallelism in searching, a substantial limitation is that the circuit does not behave consistently for all input-mark combinations.</p>
<p>Another limitation is that the k-mers in the hypercube are of fixed length, in this research, 2-mer, as the hypercube was created. If a different size of k-mer is required, a new hypercube needs to be constructed.</p>
<p>Since quantum computing is still a young field, much research is being done to explore and demonstrate its usefulness. One possible improvement beneficial for adopting this powerful paradigm is developing high-level methods or functions that behave consistently in the face of different inputs.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s6">
<title>Data availability statement</title>
<p>The raw data supporting the conclusions of this article will be made available by the authors, without undue reservation.</p>
</sec>
<sec id="s7">
<title>Author contributions</title>
<p>GB-G: Conceptualization, Data curation, Formal Analysis, Investigation, Software, Validation, Visualization, Writing&#x2013;original draft, Writing&#x2013;review and editing. LB-S: Methodology, Supervision, Writing&#x2013;review and editing, Conceptualization.</p>
</sec>
<sec sec-type="funding-information" id="s8">
<title>Funding</title>
<p>The author(s) declare that no financial support was received for the research, authorship, and/or publication of this article.</p>
</sec>
<sec sec-type="COI-statement" id="s9">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s10">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Benioff</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>1982</year>). <article-title>Quantum mechanical Hamiltonian models of turing machines</article-title>. <source>J. Stat. Phys.</source> <volume>29</volume>, <fpage>515</fpage>&#x2013;<lpage>546</lpage>. <pub-id pub-id-type="doi">10.1007/bf01342185</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Boettcher</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Falkner</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Portugal</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Relation between random walks and quantum walks</article-title>. <source>Phys. Rev. A</source> <volume>91</volume>, <fpage>052330</fpage>. <pub-id pub-id-type="doi">10.1103/physreva.91.052330</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Born</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>1926</year>). <source>Quantum mechanics of collision processes</source>. <publisher-name>Uspekhi Fizich</publisher-name>.</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bova</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Goldfarb</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Melko</surname>
<given-names>R. G.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Commercial applications of quantum computing</article-title>. <source>EPJ quantum Technol.</source> <volume>8</volume>, <fpage>2</fpage>. <pub-id pub-id-type="doi">10.1140/epjqt/s40507-021-00091-1</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Brassard</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Chuang</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Lloyd</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Monroe</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>1998</year>). <article-title>Quantum computing</article-title>. <source>Proc. Natl. Acad. Sci.</source> <volume>95</volume>, <fpage>11032</fpage>&#x2013;<lpage>11033</lpage>. <pub-id pub-id-type="doi">10.1073/pnas.95.19.11032</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cross</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>The IBM Q experience and QISKit open-source quantum computing software</article-title>. <source>Bull. Am. Phys. Soc</source>.</citation>
</ref>
<ref id="B7">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Cross</surname>
<given-names>A. W.</given-names>
</name>
<name>
<surname>Bishop</surname>
<given-names>L. S.</given-names>
</name>
<name>
<surname>Smolin</surname>
<given-names>J. A.</given-names>
</name>
<name>
<surname>Gambetta</surname>
<given-names>J. M.</given-names>
</name>
</person-group> (<year>2017</year>). <source>Open quantum assembly language</source>. <comment>
<italic>arXiv preprint arXiv:1707.03429</italic>
</comment>.</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dirac</surname>
<given-names>P. A. M.</given-names>
</name>
</person-group> (<year>1939</year>). <article-title>A new notation for quantum mechanics</article-title>. <source>Math. Proc. Camb. Phil. Soc.</source> <volume>35</volume>, <fpage>416</fpage>&#x2013;<lpage>418</lpage>. <pub-id pub-id-type="doi">10.1017/s0305004100021162</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Guo</surname>
<given-names>L.-X.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>You</surname>
<given-names>Z.-H.</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>C.-Q.</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>M.-L.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>B.-W.</given-names>
</name>
<etal/>
</person-group> (<year>2024</year>). <article-title>Likelihood-based feature representation learning combined with neighborhood information for predicting circrna&#x2013;mirna associations</article-title>. <source>Briefings Bioinforma.</source> <volume>25</volume>, <fpage>bbae020</fpage>. <pub-id pub-id-type="doi">10.1093/bib/bbae020</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Hughes</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Isaacson</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Perry</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>R. F.</given-names>
</name>
<name>
<surname>Turner</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2021</year>). <source>Quantum computing for the quantum curious</source>. <publisher-name>Springer Nature</publisher-name>.</citation>
</ref>
<ref id="B11">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Langmead</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2016</year>). <source>Algorithms for DNA sequencing</source>.</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lehka</surname>
<given-names>L. V.</given-names>
</name>
<name>
<surname>Shokaliuk</surname>
<given-names>S. V.</given-names>
</name>
<name>
<surname>Osadchyi</surname>
<given-names>V. V.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Hardware and software tools for teaching the basics of quantum informatics to students of specialized (high) schools</article-title>. <source>CTE Workshop Proc.</source> <volume>9</volume>, <fpage>228</fpage>&#x2013;<lpage>244</lpage>. <pub-id pub-id-type="doi">10.55056/cte.117</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Mavroeidis</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Vishi</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Zych</surname>
<given-names>M. D.</given-names>
</name>
<name>
<surname>J&#xf8;sang</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2018</year>). <source>The impact of quantum computing on present cryptography</source>. <comment>
<italic>arXiv preprint arXiv:1804.00200</italic>
</comment>.</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Neamatollahi</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Hadi</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Naghibzadeh</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Simple and efficient pattern matching algorithms for biological sequences</article-title>. <source>IEEE Access</source> <volume>8</volume>, <fpage>23838</fpage>&#x2013;<lpage>23846</lpage>. <pub-id pub-id-type="doi">10.1109/access.2020.2969038</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Nemzer</surname>
<given-names>L. R.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>A binary representation of the genetic code</article-title>. <source>Biosystems</source> <volume>155</volume>, <fpage>10</fpage>&#x2013;<lpage>19</lpage>. <pub-id pub-id-type="doi">10.1016/j.biosystems.2017.03.001</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Nielsen</surname>
<given-names>M. A.</given-names>
</name>
<name>
<surname>Chuang</surname>
<given-names>I. L.</given-names>
</name>
</person-group> (<year>2000</year>). <source>Quantum computation and quantum information</source>. <edition>10th Anniversary Edition</edition>. <publisher-loc>USA</publisher-loc>: <publisher-name>Cambridge University Press</publisher-name>.</citation>
</ref>
<ref id="B17">
<citation citation-type="book">
<collab>Qiskit contributors</collab> (<year>2023</year>). <source>Qiskit: an open-source framework for quantum computing</source>. <pub-id pub-id-type="doi">10.5281/zenodo.2573505</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Rahate</surname>
<given-names>P. M.</given-names>
</name>
<name>
<surname>Chandak</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Comparative study of string matching algorithms for dna dataset</article-title>. <source>Int. J. Comput. Sci. Eng.</source> <volume>6</volume>, <fpage>1067</fpage>&#x2013;<lpage>1074</lpage>. <pub-id pub-id-type="doi">10.26438/ijcse/v6i5.10671074</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Schumacher</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>1995</year>). <article-title>Quantum coding</article-title>. <source>Phys. Rev. A</source> <volume>51</volume>, <fpage>2738</fpage>&#x2013;<lpage>2747</lpage>. <pub-id pub-id-type="doi">10.1103/physreva.51.2738</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shenvi</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Kempe</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Whaley</surname>
<given-names>K. B.</given-names>
</name>
</person-group> (<year>2003</year>). <article-title>Quantum random-walk search algorithm</article-title>. <source>Phys. Rev. A</source> <volume>67</volume>, <fpage>052307</fpage>. <pub-id pub-id-type="doi">10.1103/physreva.67.052307</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Steane</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>1998</year>). <article-title>Quantum computing</article-title>. <source>Rep. Prog. Phys.</source> <volume>61</volume>, <fpage>117</fpage>&#x2013;<lpage>173</lpage>. <pub-id pub-id-type="doi">10.1088/0034-4885/61/2/002</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="book">
<collab>various authors</collab> (<year>2023</year>). <source>Qiskit textbook</source>. <publisher-name>Github</publisher-name>.</citation>
</ref>
<ref id="B23">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>G. H.</given-names>
</name>
<name>
<surname>Kim</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2021</year>). &#x201c;<article-title>Qdiff: differential testing of quantum software stacks</article-title>,&#x201d; in <source>2021 36th IEEE/ACM international conference on automated software engineering (ASE)</source> (<publisher-name>IEEE</publisher-name>), <fpage>692</fpage>&#x2013;<lpage>704</lpage>.</citation>
</ref>
<ref id="B24">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Wanzambi</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Andersson</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2021</year>). <source>Quantum computing: implementing hitting time for coined quantum walks on regular graphs</source>. <comment>arXiv preprint arXiv:2108.02723</comment>.</citation>
</ref>
</ref-list>
</back>
</article>