<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Comput. Sci.</journal-id>
<journal-title>Frontiers in Computer Science</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Comput. Sci.</abbrev-journal-title>
<issn pub-type="epub">2624-9898</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fcomp.2025.1519212</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Computer Science</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Shallow implementation of quantum fingerprinting with application to quantum finite automata</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name><surname>Ziiatdinov</surname> <given-names>Mansur</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="corresp" rid="c001"><sup>&#x0002A;</sup></xref>
<xref ref-type="author-notes" rid="fn002"><sup>&#x02020;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/2917658/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<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/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Khadieva</surname> <given-names>Aliya</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
<xref ref-type="aff" rid="aff3"><sup>3</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/3054775/overview"/>
<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/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name><surname>Khadiev</surname> <given-names>Kamil</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="aff" rid="aff3"><sup>3</sup></xref>
<xref ref-type="corresp" rid="c002"><sup>&#x0002A;</sup></xref>
<uri xlink:href="http://loop.frontiersin.org/people/2545127/overview"/>
<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/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
</contrib>
</contrib-group>
<aff id="aff1"><sup>1</sup><institution>Institute of Computational Mathematics and Information Technologies, Kazan Federal University</institution>, <addr-line>Kazan</addr-line>, <country>Russia</country></aff>
<aff id="aff2"><sup>2</sup><institution>Faculty of Computing, University of Latvia</institution>, <addr-line>Riga</addr-line>, <country>Latvia</country></aff>
<aff id="aff3"><sup>3</sup><institution>Zavoisky Physical-Technical Institute, FRC Kazan Scientific Center of RAS</institution>, <addr-line>Kazan</addr-line>, <country>Russia</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Daowen Qiu, Sun Yat-sen University, China</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: Heng Fan, Chinese Academy of Sciences (CAS), China</p>
<p>Suryansh Upadhyay, The Pennsylvania State University (PSU), United States</p></fn>
<corresp id="c001">&#x0002A;Correspondence: Mansur Ziiatdinov <email>mansur.ziiatdinov&#x00040;unime.it</email></corresp>
<corresp id="c002">Kamil Khadiev <email>kamilhadi&#x00040;gmail.com</email></corresp>
<fn fn-type="present-address" id="fn002"><p>&#x02020;Present address: Mansur Ziiatdinov, MIFT Department, University of Messina, Messina, Italy</p></fn></author-notes>
<pub-date pub-type="epub">
<day>16</day>
<month>05</month>
<year>2025</year>
</pub-date>
<pub-date pub-type="collection">
<year>2025</year>
</pub-date>
<volume>7</volume>
<elocation-id>1519212</elocation-id>
<history>
<date date-type="received">
<day>29</day>
<month>10</month>
<year>2024</year>
</date>
<date date-type="accepted">
<day>17</day>
<month>04</month>
<year>2025</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2025 Ziiatdinov, Khadieva and Khadiev.</copyright-statement>
<copyright-year>2025</copyright-year>
<copyright-holder>Ziiatdinov, Khadieva and Khadiev</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>Quantum fingerprinting is a technique that maps a classical input word to a quantum state. The obtained quantum state is much shorter than the original word, and its processing uses fewer resources, making it useful in quantum algorithms, communication, and cryptography. One of the examples of quantum fingerprinting is the quantum automata algorithm for <inline-formula><mml:math id="M1"><mml:mrow><mml:mi>M</mml:mi><mml:mi>O</mml:mi><mml:msub><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x000B7;</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:msup><mml:mo>&#x02223;</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x02265;</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> languages, where <italic>p</italic> is a prime number. However, implementing such an automaton on current quantum hardware is not efficient. Quantum fingerprinting maps a word <italic>x</italic>&#x02208;{0, 1}<sup><italic>n</italic></sup> of length <italic>n</italic> to a state |&#x003C8;(<italic>x</italic>)&#x0232A; of <italic>O</italic>(log<italic>n</italic>) qubits, and uses <italic>O</italic>(<italic>n</italic>) unitary operations. Computing quantum fingerprint using all available qubits of the current quantum computers is infeasible due to many quantum operations. To make quantum fingerprinting practical, we should optimize the circuit for depth instead of width, in contrast to the previous works. We propose explicit methods of quantum fingerprinting based on tools from additive combinatorics, such as generalized arithmetic progressions (GAPs), and prove that these methods provide circuit depth comparable to a probabilistic method. We also compare our method to prior work on explicit quantum fingerprinting methods. We provide a series of numerical experiments with implementation of the quantum automata for <italic>MOD</italic><sub>17</sub> language on noisy simulators of IBMQ quantum devices. We show that shallow implementation based on GAPs produces results with much smaller computational error compared to standard deep circuit implementation. Despite the fact that on the ideal quantum computational device, the opposite situation arises. We show that the shallow circuit for the quantum automaton is better for near-future quantum computational devices.</p></abstract>
<kwd-group>
<kwd>quantum finite automata</kwd>
<kwd>quantum fingerprinting</kwd>
<kwd>quantum circuit</kwd>
<kwd>shallow quantum circuit</kwd>
<kwd>quantum hash</kwd>
</kwd-group>
<contract-num rid="cn001">24-21-00406</contract-num>
<contract-num rid="cn002">FZSM-2024-0013</contract-num>
<contract-sponsor id="cn001">Russian Science Foundation<named-content content-type="fundref-id">10.13039/501100006769</named-content></contract-sponsor>
<contract-sponsor id="cn002">Kazan Federal University<named-content content-type="fundref-id">10.13039/501100012528</named-content></contract-sponsor>
<counts>
<fig-count count="9"/>
<table-count count="2"/>
<equation-count count="27"/>
<ref-count count="84"/>
<page-count count="14"/>
<word-count count="9023"/>
</counts>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Theoretical Computer Science</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>1 Introduction</title>
<p>A quantum finite state automaton (QFA) is a generalization of a classical finite automaton (Say and Yakary&#x00131;lmaz, <xref ref-type="bibr" rid="B66">2014</xref>; Ambainis and Yakary&#x00131;lmaz, <xref ref-type="bibr" rid="B24">2021</xref>). Here we use the simplest QFA model (Moore and Crutchfield, <xref ref-type="bibr" rid="B57">2000</xref>). Formally, a QFA is 5-tuple <inline-formula><mml:math id="M2"><mml:mrow><mml:mi>M</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy='false'>(</mml:mo><mml:mi>Q</mml:mi><mml:mo>,</mml:mo><mml:mi>A</mml:mi><mml:mo>&#x0222A;</mml:mo><mml:mo>&#x0007B;</mml:mo><mml:mo>&#x000A2;</mml:mo><mml:mo>,</mml:mo><mml:mi>&#x00024;</mml:mi><mml:mo>&#x0007D;</mml:mo><mml:mo>,</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>&#x003C8;</mml:mi><mml:mn>0</mml:mn></mml:msub></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mi mathvariant='script'>U</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x0210B;</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:math></inline-formula>, where <italic>Q</italic> &#x0003D; {<italic>q</italic><sub>1</sub>, &#x02026;, <italic>q</italic><sub><italic>D</italic></sub>} is a finite set of states, <italic>A</italic> is the finite input alphabet, &#x000A2;, <italic>$</italic> are the left and right end-markers, respectively. The state of <italic>M</italic> is represented as a vector <inline-formula><mml:math id="M3"><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mi>&#x003C8;</mml:mi><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>&#x02208;</mml:mo><mml:mi>&#x0210B;</mml:mi></mml:mrow></mml:math></inline-formula>, where <inline-formula><mml:math id="M4"><mml:mrow><mml:mi mathvariant="script">H</mml:mi></mml:mrow></mml:math></inline-formula> is the <italic>D</italic>-dimensional Hilbert space spanned by {|<italic>q</italic><sub>1</sub>&#x0232A;, &#x02026;, |<italic>q</italic><sub><italic>D</italic></sub>&#x0232A;} (here |<italic>q</italic><sub><italic>j</italic></sub>&#x0232A; is a zero column vector except its <italic>j</italic>-th entry that is 1). The automaton <italic>M</italic> starts in the initial <inline-formula><mml:math id="M5"><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>&#x003C8;</mml:mi><mml:mn>0</mml:mn></mml:msub></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>&#x02208;</mml:mo><mml:mi>&#x0210B;</mml:mi></mml:mrow></mml:math></inline-formula>, and makes transitions according to the operators <inline-formula><mml:math id="M6"><mml:mrow><mml:mrow><mml:mi mathvariant="script">U</mml:mi></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02223;</mml:mo><mml:mi>a</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi>A</mml:mi></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> of unitary matrices. After reading the whole input word, the final state is observed with respect to the accepting subspace <inline-formula><mml:math id="M7"><mml:mrow><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">H</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02286;</mml:mo><mml:mrow><mml:mi mathvariant="script">H</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula>.</p>
<p>Quantum fingerprinting provides a method of constructing automata for certain problems. It maps an input word <italic>w</italic>&#x02208;{0, 1}<sup><italic>n</italic></sup> to much shorter quantum state, its fingerprint <inline-formula><mml:math id="M8"><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mi>&#x003C8;</mml:mi><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mi>w</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msup><mml:mn>0</mml:mn><mml:mi>m</mml:mi></mml:msup></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula>, where <italic>U</italic><sub><italic>w</italic></sub> is the single transition matrix representing the multiplication of all transition matrices while reading <italic>w</italic> and <inline-formula><mml:math id="M9"><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msup><mml:mn>0</mml:mn><mml:mi>m</mml:mi></mml:msup></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:munder><mml:munder><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mn>0</mml:mn><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>&#x02297;</mml:mo><mml:mo>&#x022EF;</mml:mo><mml:mo>&#x02297;</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:mrow><mml:mo>|</mml:mo><mml:mn>0</mml:mn><mml:mo>&#x0232A;</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy='true'>&#x0FE38;</mml:mo></mml:munder><mml:mrow><mml:mi>m</mml:mi><mml:mo>&#x000A0;</mml:mo><mml:mtext>times</mml:mtext></mml:mrow></mml:munder></mml:mrow></mml:math></inline-formula>. The number of qubits in a fingerprint <italic>m</italic> can be exponentially less than the length of the word <italic>n</italic>. An example of such an automaton was first presented in the study by Ambainis and Freivalds (<xref ref-type="bibr" rid="B20">1998</xref>) and then improved as provided in the study by Ambainis and Nahimovs (<xref ref-type="bibr" rid="B21">2009</xref>). This result is discussed in this section. Quantum fingerprint captures essential properties of the input word that can be useful for computation.</p>
<p>One example of quantum fingerprinting applications is the QFA algorithms for the <italic>MOD</italic><sub><italic>p</italic></sub> language (Ambainis and Nahimovs, <xref ref-type="bibr" rid="B21">2009</xref>). For a given prime number <italic>p</italic>, the language <italic>MOD</italic><sub><italic>p</italic></sub> is defined as <inline-formula><mml:math id="M10"><mml:mrow><mml:mi>M</mml:mi><mml:mi>O</mml:mi><mml:msub><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msup><mml:mo>&#x02223;</mml:mo><mml:mi>i</mml:mi><mml:mstyle class="text"><mml:mtext class="textrm" mathvariant="normal">is divisible by</mml:mtext></mml:mstyle><mml:mi>p</mml:mi></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula>. Let us briefly describe the construction of the QFA algorithms for <italic>MOD</italic><sub><italic>p</italic></sub>.</p>
<p>We start with a 2-state QFA <italic>M</italic><sub><italic>k</italic></sub>, where <italic>k</italic>&#x02208;{1, &#x02026;, <italic>p</italic>&#x02212;1}. The automaton <italic>M</italic><sub><italic>k</italic></sub> has two base states <italic>Q</italic> &#x0003D; {<italic>q</italic><sub>0</sub>, <italic>q</italic><sub>1</sub>}, it starts in the state |&#x003C8;<sub>0</sub>&#x0232A; &#x0003D; |<italic>q</italic><sub>0</sub>&#x0232A;, and it has the accepting subspace spanned by |<italic>q</italic><sub>0</sub>&#x0232A;. At each step (for each letter), we perform the rotation</p>
<disp-formula id="E1"><mml:math id="M11"><mml:mrow><mml:msub><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo stretchy="true">(</mml:mo><mml:mrow><mml:mtable style="text-align:axis;" equalrows="false" columnlines="none none none none none none none none none" equalcolumns="false" class="array"><mml:mtr><mml:mtd><mml:mo class="qopname">cos</mml:mo><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:mfrac></mml:mtd><mml:mtd><mml:mo class="qopname">sin</mml:mo><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:mfrac></mml:mtd></mml:mtr><mml:mtr></mml:mtr><mml:mtr><mml:mtd><mml:mo>-</mml:mo><mml:mo class="qopname">sin</mml:mo><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:mfrac></mml:mtd><mml:mtd><mml:mo class="qopname">cos</mml:mo><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:mfrac></mml:mtd></mml:mtr><mml:mtr></mml:mtr></mml:mtable></mml:mrow><mml:mo stretchy="true">)</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
<p>If <italic>w</italic>&#x02208;<italic>MOD</italic><sub><italic>p</italic></sub>, then the rotation <italic>U</italic><sub><italic>a</italic></sub> is applied <italic>i</italic> &#x0003D; <italic>r</italic>&#x000B7;<italic>p</italic> times, for some integer <italic>r</italic>. In that case, <italic>i</italic> is a multiple of <italic>p</italic>. Therefore, the total rotation angle is <inline-formula><mml:math id="M12"><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:mfrac><mml:mo>&#x000B7;</mml:mo><mml:mi>r</mml:mi><mml:mo>&#x000B7;</mml:mo><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:mi>k</mml:mi><mml:mo>&#x000B7;</mml:mo><mml:mi>r</mml:mi></mml:math></inline-formula>, which is a multiple of 2&#x003C0; for any <italic>k</italic>. It means, the automaton is in the state |<italic>q</italic><sub>0</sub>&#x0232A; for any <italic>k</italic>, and it accepts the word with probability 1. It is the correct answer.</p>
<p>However, if <italic>w</italic>&#x02209;<italic>MOD</italic><sub><italic>p</italic></sub>, the probability of correct answer can be close to 0 rather than 1 (i.e., bounded below by 1 &#x02212; cos<sup>2</sup>(&#x003C0;/<italic>p</italic>)). To boost the success probability we use <italic>d</italic> copies of this automaton, namely, <italic>M</italic><sub><italic>k</italic><sub>1</sub></sub>, &#x02026;, <italic>M</italic><sub><italic>k</italic><sub><italic>d</italic></sub></sub>, as described below.</p>
<p>The QFA <italic>M</italic> for <italic>MOD</italic><sub><italic>p</italic></sub> has 2<italic>d</italic> states: <italic>Q</italic> &#x0003D; {<italic>q</italic><sub>1, 0</sub>, <italic>q</italic><sub>1, 1</sub>, &#x02026;, <italic>q</italic><sub><italic>d</italic>, 0</sub>, <italic>d</italic><sub><italic>d</italic>, 1</sub>}, and it starts in the state <inline-formula><mml:math id="M13"><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>&#x003C8;</mml:mi><mml:mn>0</mml:mn></mml:msub></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msqrt><mml:mi>d</mml:mi></mml:msqrt></mml:mrow></mml:mfrac><mml:mstyle displaystyle='true'><mml:msubsup><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>d</mml:mi></mml:msubsup><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow></mml:mrow></mml:mstyle></mml:mrow></mml:math></inline-formula>. In each step, it applies the transformation defined as follows:</p>
<disp-formula id="E2"><label>(1)</label><mml:math id="M14"><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mtext>&#x000A0;</mml:mtext><mml:mo>&#x021A6;</mml:mo><mml:mi>cos</mml:mi><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mi>p</mml:mi></mml:mfrac><mml:mtext>&#x000A0;</mml:mtext><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mi>sin</mml:mi><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mi>p</mml:mi></mml:mfrac><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula>
<disp-formula id="E3"><label>(2)</label><mml:math id="M15"><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mtext>&#x000A0;</mml:mtext><mml:mo>&#x021A6;</mml:mo><mml:mo>&#x02212;</mml:mo><mml:mi>sin</mml:mi><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mi>p</mml:mi></mml:mfrac><mml:mtext>&#x000A0;</mml:mtext><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mi>cos</mml:mi><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mi>p</mml:mi></mml:mfrac><mml:mtext>&#x000A0;</mml:mtext><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula>
<p>Indeed, <italic>M</italic> enters into equal superposition of <italic>d</italic> sub-QFAs, and each sub-QFA applies its rotation. Thus, quantum fingerprinting technique associates the input word <italic>w</italic> &#x0003D; <italic>a</italic><sup><italic>j</italic></sup> with its fingerprint</p>
<disp-formula id="E4"><mml:math id="M16"><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mi>&#x003C8;</mml:mi><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msqrt><mml:mi>d</mml:mi></mml:msqrt></mml:mrow></mml:mfrac><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>d</mml:mi></mml:munderover><mml:mrow><mml:mi>cos</mml:mi></mml:mrow></mml:mstyle><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mi>j</mml:mi></mml:mrow><mml:mi>p</mml:mi></mml:mfrac><mml:mtext>&#x000A0;</mml:mtext><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mi>sin</mml:mi><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mi>j</mml:mi></mml:mrow><mml:mi>p</mml:mi></mml:mfrac><mml:mtext>&#x000A0;</mml:mtext><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
<p>Ambainis and Nahimovs (<xref ref-type="bibr" rid="B21">2009</xref>) proved that this QFA accepts the language <italic>MOD</italic><sub><italic>p</italic></sub> with error probability that depends on the choice of the coefficients <italic>k</italic><sub><italic>i</italic></sub>&#x00027;s. They also showed that for <italic>d</italic> &#x0003D; 2log(2<italic>p</italic>)/&#x003B5; there is at least one choice of coefficients <italic>k</italic><sub><italic>i</italic></sub>&#x00027;s such that the error probability is less than &#x003B5;. The proof uses a probabilistic method, so these coefficients are not explicit. They also suggest two explicit sequences of coefficients: cyclic sequence <inline-formula><mml:math id="M17"><mml:mrow><mml:msub><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msup><mml:mspace width="0.3em"/><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mo>mod</mml:mo><mml:mspace width="0.3em"/><mml:mi>p</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> for primitive root <italic>g</italic> modulo <italic>p</italic> and more complex AIKPS (Ajtai, Iwaniec, Koml&#x000F3;s, Pintz, Szemer&#x000E9;di) sequences based on the results presented in the study by Ajtai et al. (<xref ref-type="bibr" rid="B19">1990</xref>).</p>
<p>Quantum fingerprinting is versatile and has several applications. Buhrman et al. (<xref ref-type="bibr" rid="B29">2001</xref>) in their study provided an explicit definition of quantum fingerprinting for constructing an efficient quantum communication protocol for equality checking. The technique was applied to branching programs in the studies by Ablayev and Vasiliev (<xref ref-type="bibr" rid="B11">2009</xref>, <xref ref-type="bibr" rid="B12">2011</xref>, <xref ref-type="bibr" rid="B18">2013b</xref>); this computational model can be considered as a non-uniform automata. They show examples of Boolean functions that can be computed by a quantum branching program with exponentially smaller complexity (width or states in terms of automata) than the deterministic ones. Based on this research, they developed the concept of cryptographic quantum hashing (Ablayev and Vasiliev, <xref ref-type="bibr" rid="B13">2013a</xref>, <xref ref-type="bibr" rid="B14">2014</xref>; Ablayev et al., <xref ref-type="bibr" rid="B17">2014</xref>; Ablayev and Ablayev, <xref ref-type="bibr" rid="B1">2015</xref>). Later, they generalized the technique and suggested a family of quantum hashes that allow us to see a trade-off between one-way resistance and collision resistance of the hash function (Ablayev et al., <xref ref-type="bibr" rid="B4">2016a</xref>; Vasiliev, <xref ref-type="bibr" rid="B69">2016a</xref>; Vasiliev et al., <xref ref-type="bibr" rid="B73">2017</xref>; Ablayev et al., <xref ref-type="bibr" rid="B6">2020</xref>). The question of computing cryptographic quantum hashes with a restricted size of memory was discussed in the study by Ablayev et al. (<xref ref-type="bibr" rid="B5">2018b</xref>). Connection of the approach with Quantum Fourier transom where presented in the study by Ablayev and Vasiliev (<xref ref-type="bibr" rid="B15">2020</xref>); Khadieva (<xref ref-type="bibr" rid="B50">2024</xref>). A survey on cryptographic quantum hashes can be found in the study by Ablayev et al. (<xref ref-type="bibr" rid="B7">2016b</xref>, <xref ref-type="bibr" rid="B3">2018a</xref>). The experimental implementation on real devices was considered in the study by Vasiliev et al. (<xref ref-type="bibr" rid="B74">2019</xref>); Turaykhanov et al. (<xref ref-type="bibr" rid="B68">2021</xref>), and optimization for emulators of quantum computers was explored in the study by Zinnatullin et al. (<xref ref-type="bibr" rid="B84">2023</xref>). Different versions of hash functions were applied that are hash functions in the case of finite Abelian groups (Vasiliev, <xref ref-type="bibr" rid="B71">2016c</xref>) and arbitrary groups (Ziatdinov, <xref ref-type="bibr" rid="B81">2016b</xref>); functions based on graphs (Ziatdinov, <xref ref-type="bibr" rid="B80">2016a</xref>; Zinnatullin, <xref ref-type="bibr" rid="B83">2023</xref>). The technique was extended to qudits (Ablayev and Vasiliev, <xref ref-type="bibr" rid="B16">2022</xref>; Vasiliev, <xref ref-type="bibr" rid="B72">2023</xref>). This approach has been widely used in various areas such as</p>
<list list-type="bullet">
<list-item><p>stream processing algorithms (Le Gall, <xref ref-type="bibr" rid="B54">2009</xref>, <xref ref-type="bibr" rid="B53">2006</xref>). Here, the technique allows authors to obtain an advantage in memory size for a quantum version of the model.</p></list-item>
<list-item><p>Query model algorithms (Ablayev et al., <xref ref-type="bibr" rid="B2">2022</xref>, <xref ref-type="bibr" rid="B10">2024</xref>). Here, the quantum fingerprinting algorithm is applied as a base for the quantum algorithm for the string-matching problem. The algorithm uses less memory compared to existing quantum algorithms (Ramesh and Vinay, <xref ref-type="bibr" rid="B63">2003</xref>; Montanaro, <xref ref-type="bibr" rid="B56">2017</xref>; Khadiev and Serov, <xref ref-type="bibr" rid="B47">2025</xref>).</p></list-item>
<list-item><p>Online algorithms (Khadiev and Khadieva, <xref ref-type="bibr" rid="B42">2021</xref>, <xref ref-type="bibr" rid="B43">2022</xref>). Here, authors present a problem that can be solved by quantum online algorithms with restricted memory size (Khadiev et al., <xref ref-type="bibr" rid="B45">2018</xref>, <xref ref-type="bibr" rid="B46">2022b</xref>, <xref ref-type="bibr" rid="B48">2023</xref>), but cannot be solved by randomized or deterministic counterparts in the case of logarithmic memory size.</p></list-item>
<list-item><p>branching programs (Khadiev and Khadieva, <xref ref-type="bibr" rid="B41">2017</xref>; Khadiev et al., <xref ref-type="bibr" rid="B44">2022a</xref>; Ablayev et al., <xref ref-type="bibr" rid="B9">2016c</xref>, <xref ref-type="bibr" rid="B3">2018a</xref>). In these studies, authors present a specially constructed Boolean function that allows them to show a hierarchy of complexity classes for quantum read-k-times branching programs. The upper bound was proven using the quantum fingerprinting technique. For read-1-times branching programs, researchers (Gainutdinova, <xref ref-type="bibr" rid="B32">2002</xref>; Ablayev et al., <xref ref-type="bibr" rid="B8">2005</xref>; Ablayev and Vasiliev, <xref ref-type="bibr" rid="B11">2009</xref>, <xref ref-type="bibr" rid="B18">2013b</xref>) presented a Boolean function that can be computed by a quantum model with smaller complexity than by classical models.</p></list-item>
<list-item><p>Development of quantum devices (Vasiliev, <xref ref-type="bibr" rid="B70">2016b</xref>).</p></list-item>
<list-item><p>Automata. The technique was introduced for automata model (Ambainis and Freivalds, <xref ref-type="bibr" rid="B20">1998</xref>) and later improved in a study by Ambainis and Nahimovs (<xref ref-type="bibr" rid="B21">2009</xref>). At the same time, the same technique for the constant number of qubits was used for two-way automata with classical and quantum states (Ambainis et al., <xref ref-type="bibr" rid="B22">2002</xref>; Ambainis and Watrous, <xref ref-type="bibr" rid="B23">2002</xref>; Yakaryilmaz, <xref ref-type="bibr" rid="B77">2013</xref>; Yakary&#x00131;lmaz and Say, <xref ref-type="bibr" rid="B78">2009</xref>). It allows authors to show a language that can be recognized by the model but cannot be recognized by the probabilistic two-way automata.</p>
<p>Later, the same idea was used for one-way automata and promise problems (Ambainis and Yakary&#x00131;lmaz, <xref ref-type="bibr" rid="B24">2021</xref>; Gainutdinova and Yakary&#x00131;lmaz, <xref ref-type="bibr" rid="B34">2017</xref>; Yakary&#x00131;lmaz and Say, <xref ref-type="bibr" rid="B79">2010</xref>; Gainutdinova and Yakary&#x00131;lmaz, <xref ref-type="bibr" rid="B35">2018</xref>, <xref ref-type="bibr" rid="B33">2015</xref>; Hu et al., <xref ref-type="bibr" rid="B37">2020</xref>; Nakanishi and Yakary&#x00131;lmaz, <xref ref-type="bibr" rid="B59">2015</xref>).</p>
</list-item>
</list>
<p>At the same time, the technique is not practical for the currently available real quantum computers. The main obstacle is that quantum fingerprinting uses an exponential (in the number <italic>m</italic> of qubits) circuit depth (e.g., see Khadieva and Ziatdinov, <xref ref-type="bibr" rid="B52">2023</xref>; Birkan et al., <xref ref-type="bibr" rid="B28">2021</xref>; Salehi and Yakary&#x00131;lmaz, <xref ref-type="bibr" rid="B65">2021</xref>; Zinnatullin et al., <xref ref-type="bibr" rid="B84">2023</xref> for some implementations of the aforementioned automaton <italic>M</italic>). Therefore, the required quantum volume<xref ref-type="fn" rid="fn0001"><sup>1</sup></xref> <italic>V</italic><sub><italic>Q</italic></sub> is roughly 2<sup>|<italic>w</italic></sup>|&#x000B7;<sup>2<italic>m</italic></sup>. For example, IBM reports (IBM, <xref ref-type="bibr" rid="B38">2022</xref>) that its Falcon r5 quantum computer has 27 qubits with a quantum volume of 128. It means that we can use only 7 of the 27 qubits for the fingerprint technique.</p>
<p>This study investigates how to obtain better circuit depth by optimizing the coefficients used by <italic>M</italic>: <italic>k</italic><sub>1</sub>, &#x02026;, <italic>k</italic><sub><italic>d</italic></sub>. We use generalized arithmetic progressions to generate a set of coefficients and show that such sets have a circuit depth comparable to the set obtained by the probabilistic method.</p>
<p>Additionally, we implement the circuit for the noisy emulator of the IBMQ quantum machine (IBM, <xref ref-type="bibr" rid="B39">2025</xref>). The emulator emulates the behavior of real IBMQ quantum machines and allows us to see the results closely compared to the results we can obtain on real machines. Note that IBMQ is a device that allows to invoke of a quantum circuit with universal basic gates. Therefore, we can implement any unitary transformation on this machine that gives us universality (M&#x000F6;tt&#x000F6;nen et al., <xref ref-type="bibr" rid="B58">2004</xref>). At the same time, the current quantum devices are in the Noisy Intermediate-Scale Quantum (NISQ) era (Preskill, <xref ref-type="bibr" rid="B60">2018</xref>), which is why the noise and other effects do not allow for the implementation of any quantum algorithm. Our shallow circuit will enable us to obtain useful results for the quantum fingerprinting algorithm for <italic>MOD</italic><sub>17</sub> language on 4 qubits. At the same time, it is known that we cannot recognize this language using classical automata with 4 qubits of memory (Ambainis and Freivalds, <xref ref-type="bibr" rid="B20">1998</xref>). Moreover, the standard circuit for the quantum fingerprinting algorithm (not the shallow one) does not give us any useful results, even if it gives a smaller error probability in &#x0201C;ideal&#x0201D; (not noisy) devices.</p>
<p>We summarize the previous and our results in the following list.</p>
<list list-type="bullet">
<list-item><p>The cyclic method, for some constant <italic>c</italic>&#x0003E;0:</p></list-item></list>
<list list-type="simple">
<list-item><p>- the width is <italic>p</italic><sup><italic>c</italic>/loglog<italic>p</italic></sup></p></list-item>
<list-item><p>- the depth is <italic>p</italic><sup><italic>c</italic>/loglog<italic>p</italic></sup></p></list-item>
<list-item><p>- explored in the study by Ambainis and Nahimovs (<xref ref-type="bibr" rid="B21">2009</xref>).</p></list-item>
</list>
<list list-type="bullet">
<list-item><p>The AIKPS method:</p></list-item></list>
<list list-type="simple">
<list-item><p>- the width is log<sup>2&#x0002B;3&#x003F5;</sup><italic>p</italic></p></list-item>
<list-item><p>- the depth is (1&#x0002B;2&#x003F5;)log<sup>1&#x0002B;&#x003F5;</sup><italic>p</italic>loglog<italic>p</italic></p></list-item>
<list-item><p>- explored in the study by Razborov et al. (<xref ref-type="bibr" rid="B64">1993</xref>).</p></list-item>
</list>
<list list-type="bullet">
<list-item><p>The probabilistic method:</p></list-item></list>
<list list-type="simple">
<list-item><p>- the width is 4log(2<italic>p</italic>)/&#x003B5;</p></list-item>
<list-item><p>- the depth is 2log(2<italic>p</italic>)/&#x003B5;</p></list-item>
<list-item><p>- explored in Ambainis and Nahimovs (<xref ref-type="bibr" rid="B21">2009</xref>).</p></list-item>
</list>
<list list-type="bullet">
<list-item><p>The GAPs method (this study):</p></list-item></list>
<list list-type="simple">
<list-item><p>- the width is <italic>p</italic>/&#x003B5;<sup>2</sup></p></list-item>
<list-item><p>- the depth is &#x02308;log<italic>p</italic>&#x02212;2log&#x003B5;&#x02309;&#x0002B;2</p></list-item>
<list-item><p>- developed in this study.</p></list-item>
</list>
<p>Note that <italic>p</italic> is exponential in the number of qubits <italic>m</italic>. The depth of the circuits is discussed in Section 3.</p>
<p>The study is an extended version of the Ziiatdinov et al. (<xref ref-type="bibr" rid="B82">2023</xref>) conference paper presented at the AFL2023 conference.</p>
<p>In addition, we perform computational experiments for computing parameters <italic>K</italic> that minimize the error probability for our circuit and the standard circuit. We show that in the case of an &#x0201C;ideal&#x0201D; non-noisy quantum device, the error probability for the proposed circuit is at most twice as large as that of the standard circuit. At the same time, in the case of noisy quantum devices (current and near-future ones), the error probability is much less than that of the standard circuit, and allows us to implement QFA for <italic>MOD</italic><sub>17</sub> language using 4 qubits.</p>
<p>The rest of the article is organized as follows. In Section 2, we give the necessary definitions and results on quantum computation and additive combinatorics to follow the rest of the article. Section 3 contains the construction of the shallow fingerprinting function and the proof of its correctness. Then, we present several numerical simulations in Section 4. We conclude the article with Section 5 by presenting some open questions and discussions for further research.</p></sec>
<sec id="s2">
<title>2 Preliminaries</title>
<p>Let us denote by <inline-formula><mml:math id="M18"><mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mi mathvariant="script">H</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> two-dimensional Hilbert space, and by <inline-formula><mml:math id="M19"><mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mi mathvariant="script">H</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mo>&#x02297;</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> 2<sup><italic>m</italic></sup>-dimensional Hilbert space (i.e., the space of <italic>m</italic> qubits). We use bra- and ket-notations for vectors in Hilbert space. For any natural number <italic>N</italic>, we use &#x02124;<sub><italic>N</italic></sub> to denote the cyclic group of order <italic>N</italic>.</p>
<p>Let us describe in detail how the automaton <italic>M</italic> works. As we outlined in the introduction, the automaton <italic>M</italic> has 2<italic>d</italic> states: <italic>Q</italic> &#x0003D; {<italic>q</italic><sub>1, 0</sub>, <italic>q</italic><sub>1, 1</sub>, &#x02026;, <italic>q</italic><sub><italic>d</italic>, 0</sub>, <italic>d</italic><sub><italic>d</italic>, 1</sub>}, and it starts in the state <inline-formula><mml:math id="M20"><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>&#x003C8;</mml:mi><mml:mn>0</mml:mn></mml:msub></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msqrt><mml:mi>d</mml:mi></mml:msqrt></mml:mrow></mml:mfrac><mml:mstyle displaystyle='true'><mml:msubsup><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>d</mml:mi></mml:msubsup><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow></mml:mrow></mml:mstyle></mml:mrow></mml:math></inline-formula>. After reading a symbol <italic>a</italic>, it applies the transformation <italic>U</italic><sub><italic>a</italic></sub> defined by <xref ref-type="disp-formula" rid="E2">Equations 1</xref>, <xref ref-type="disp-formula" rid="E3">2</xref>:</p>
<disp-formula id="E5"><mml:math id="M21"><mml:mtable columnalign='left'><mml:mtr><mml:mtd><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>&#x021A6;</mml:mo><mml:mi>cos</mml:mi><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mi>p</mml:mi></mml:mfrac><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mi>sin</mml:mi><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mi>p</mml:mi></mml:mfrac><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>&#x021A6;</mml:mo><mml:mo>&#x02212;</mml:mo><mml:mi>sin</mml:mi><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mi>p</mml:mi></mml:mfrac><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mi>cos</mml:mi><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mi>p</mml:mi></mml:mfrac><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>After reading the right endmarker <italic>$</italic>, it applies the transformation <italic>U</italic><sub><italic>$</italic></sub> defined in such way that <italic>U</italic><sub><italic>$</italic></sub>|&#x003C8;<sub>0</sub>&#x0232A; &#x0003D; |<italic>q</italic><sub>1, 0</sub>&#x0232A;. The automaton measures the final state and accepts the word if the result is <italic>q</italic><sub>1, 0</sub>.</p>
<p>So, the quantum state after reading the input word <italic>w</italic> &#x0003D; <italic>a</italic><sup><italic>j</italic></sup> is</p>
<disp-formula id="E6"><mml:math id="M22"><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mi>&#x003C8;</mml:mi><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msqrt><mml:mi>d</mml:mi></mml:msqrt></mml:mrow></mml:mfrac><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>d</mml:mi></mml:munderover><mml:mrow><mml:mi>cos</mml:mi></mml:mrow></mml:mstyle><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mi>j</mml:mi></mml:mrow><mml:mi>p</mml:mi></mml:mfrac><mml:mtext>&#x000A0;</mml:mtext><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mi>sin</mml:mi><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mi>j</mml:mi></mml:mrow><mml:mi>p</mml:mi></mml:mfrac><mml:mtext>&#x000A0;</mml:mtext><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
<p>If <italic>j</italic>&#x02261;0 (mod <italic>p</italic>), then |&#x003C8;&#x0232A; &#x0003D; |&#x003C8;<sub>0</sub>&#x0232A;, and <italic>U</italic><sub><italic>$</italic></sub> transforms it into accepting state |<italic>q</italic><sub>1, 0</sub>&#x0232A;, therefore, in this case, the automaton always accepts. If the input word <italic>w</italic>&#x02209;<italic>MOD</italic><sub><italic>p</italic></sub>, then the quantum state after reading the right endmarker <italic>$</italic> is</p>
<disp-formula id="E7"><mml:math id="M23"><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:msup><mml:mi>&#x003C8;</mml:mi><mml:mo>&#x02032;</mml:mo></mml:msup><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>d</mml:mi></mml:mfrac><mml:mo stretchy='false'>(</mml:mo><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>d</mml:mi></mml:munderover><mml:mrow><mml:mi>cos</mml:mi></mml:mrow></mml:mstyle><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mi>j</mml:mi></mml:mrow><mml:mi>p</mml:mi></mml:mfrac><mml:mo stretchy='false'>)</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mo>&#x02026;</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
<p>and the error probability is</p>
<disp-formula id="E8"><mml:math id="M24"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi>e</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msup><mml:mi>d</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac><mml:msup><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>d</mml:mi></mml:munderover><mml:mrow><mml:mi>cos</mml:mi></mml:mrow></mml:mstyle><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mi>x</mml:mi></mml:mrow><mml:mi>p</mml:mi></mml:mfrac><mml:mo stretchy='false'>)</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:msup><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
<p>In simpler terms, the automaton maintains <italic>d</italic> angles in different subspaces. After encountering the symbol <italic>a</italic>, the automaton performs <italic>d</italic> rotations: it rotates by 2&#x003C0;<italic>k</italic><sub><italic>i</italic></sub>/<italic>p</italic> in the <italic>i</italic>-th subspace. Since rotating <italic>p</italic> times would have the same result as not rotating at all, the automaton counts the number of <italic>a</italic> symbols modulo <italic>p</italic>. The coefficients <italic>k</italic><sub><italic>i</italic></sub> ensure that the small error probability: even if some of angles are close to 0, other subspaces are far from 0, so the whole state is far from the state <italic>q</italic><sub>1, 0</sub>.</p>
<p>In the rest of the article, we denote by <italic>m</italic> the number of qubits in the quantum fingerprint, by <italic>d</italic> &#x0003D; 2<sup><italic>m</italic></sup> the number of parameters in the set <italic>K</italic>, by <italic>p</italic> the size of domain of the quantum fingerprinting function, and by <italic>U</italic><sub><italic>a</italic></sub>(<italic>K</italic>) the transformation defined above, which depends on the set <italic>K</italic>.</p>
<p>Let us also define a function <inline-formula><mml:math id="M25"><mml:mrow><mml:mi>&#x003B5;</mml:mi><mml:mo>:</mml:mo><mml:msubsup><mml:mrow><mml:mi>&#x02124;</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x02192;</mml:mo><mml:mi>&#x0211D;</mml:mi></mml:mrow></mml:math></inline-formula> as follows:</p>
<disp-formula id="E9"><mml:math id="M26"><mml:mrow><mml:mi>&#x003B5;</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>K</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>max</mml:mi></mml:mrow><mml:mrow><mml:mi>x</mml:mi><mml:mo>&#x02208;</mml:mo><mml:msub><mml:mi>&#x02124;</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:msup><mml:mi>d</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac><mml:mo>&#x0007C;</mml:mo><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>d</mml:mi></mml:munderover><mml:mrow><mml:mi>exp</mml:mi></mml:mrow></mml:mstyle><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:mi>i</mml:mi><mml:msub><mml:mi>k</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mi>x</mml:mi></mml:mrow><mml:mi>p</mml:mi></mml:mfrac><mml:msup><mml:mo>&#x0007C;</mml:mo><mml:mn>2</mml:mn></mml:msup><mml:mo stretchy='false'>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
<p>Note that <italic>P</italic><sub><italic>e</italic></sub> &#x02264; &#x003B5;(<italic>K</italic>).</p>
<p>We also use some tools from additive combinatorics. We refer the reader to the textbook by Tao and Vu (<xref ref-type="bibr" rid="B67">2006</xref>) for a deeper introduction to additive combinatorics.</p>
<p>An additive set <italic>A</italic>&#x02286;<italic>Z</italic> is a finite non-empty subset of <italic>Z</italic>, an abelian group with group operation &#x0002B;. We refer to <italic>Z</italic> as the ambient group.</p>
<p>If <italic>A, B</italic> are additive sets in <italic>Z</italic>, we define the sum set <italic>A</italic>&#x0002B;<italic>B</italic> &#x0003D; {<italic>a</italic>&#x0002B;<italic>b</italic>&#x02223;<italic>a</italic>&#x02208;<italic>A, b</italic>&#x02208;<italic>B</italic>}. We define additive energy <italic>E</italic>(<italic>A, B</italic>) between <italic>A, B</italic> to be</p>
<disp-formula id="E10"><mml:math id="M27"><mml:mrow><mml:mi>E</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>A</mml:mi><mml:mo>,</mml:mo><mml:mi>B</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:mo>&#x0007C;</mml:mo><mml:mo>&#x0007B;</mml:mo><mml:mo stretchy='false'>(</mml:mo><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>a</mml:mi><mml:mo>&#x02032;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>b</mml:mi><mml:mo>&#x02032;</mml:mo></mml:msup><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x02208;</mml:mo><mml:mi>A</mml:mi><mml:mo>&#x000D7;</mml:mo><mml:mi>B</mml:mi><mml:mo>&#x000D7;</mml:mo><mml:mi>A</mml:mi><mml:mo>&#x000D7;</mml:mo><mml:mi>B</mml:mi><mml:mo>&#x02223;</mml:mo><mml:mi>a</mml:mi><mml:mo>+</mml:mo><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>a</mml:mi><mml:mo>&#x02032;</mml:mo></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mi>b</mml:mi><mml:mo>&#x02032;</mml:mo></mml:msup><mml:mo>&#x0007D;</mml:mo><mml:mo>&#x0007C;</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
<p>Let us denote by <italic>e</italic>(&#x003B8;) &#x0003D; <italic>e</italic><sup>2&#x003C0;<italic>i&#x003B8;</italic></sup>, and by &#x003BE;&#x000B7;<italic>x</italic> &#x0003D; &#x003BE;<italic>x</italic>/<italic>p</italic> bilinear form from &#x02124;<sub><italic>p</italic></sub>&#x000D7;&#x02124;<sub><italic>p</italic></sub> into &#x0211D;/&#x02124;. Fourier transform of <italic>f</italic>:&#x02124;<sub><italic>p</italic></sub> &#x02192; &#x02124;<sub><italic>p</italic></sub> is <inline-formula><mml:math id="M28"><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>f</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>&#x003BE;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mo class="qopname">E</mml:mo></mml:mrow><mml:mrow><mml:mi>x</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi>Z</mml:mi></mml:mrow></mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mover accent="false" class="mml-overline"><mml:mrow><mml:mi>e</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>&#x003BE;</mml:mi><mml:mo>&#x000B7;</mml:mo><mml:mi>x</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo accent="true">&#x000AF;</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula>.</p>
<p>We also denote the characteristic function of the set <italic>A</italic> as 1<sub><italic>A</italic></sub>, and we define <inline-formula><mml:math id="M29"><mml:mrow><mml:msub><mml:mrow><mml:mo class="qopname">P</mml:mo></mml:mrow><mml:mrow><mml:mi>Z</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mover accent="false"><mml:mrow><mml:msub><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo class="qopname">^</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mo>|</mml:mo><mml:mi>A</mml:mi><mml:mo>|</mml:mo><mml:mo>/</mml:mo><mml:mo>|</mml:mo><mml:mi>Z</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
<p>Definition 1 (Tao and Vu, <xref ref-type="bibr" rid="B67">2006</xref>). Let <italic>Z</italic> be a finite additive group. If <italic>A</italic>&#x02286;<italic>Z</italic>, we define Fourier bias <inline-formula><mml:math id="M30"><mml:mrow><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:mi>A</mml:mi><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="script">U</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> of the set <italic>A</italic> to be</p>
<disp-formula id="E11"><mml:math id="M31"><mml:mrow><mml:mo>&#x02016;</mml:mo><mml:mi>A</mml:mi><mml:msub><mml:mo>&#x02016;</mml:mo><mml:mi mathvariant='script'>U</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:munder><mml:mrow><mml:mi>sup</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x003BE;</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi>Z</mml:mi><mml:mo>&#x0005C;</mml:mo><mml:mo>&#x0007B;</mml:mo><mml:mn>0</mml:mn><mml:mo>&#x0007D;</mml:mo></mml:mrow></mml:munder><mml:mo>&#x0007C;</mml:mo><mml:mover accent='true'><mml:mrow><mml:msub><mml:mn>1</mml:mn><mml:mi>A</mml:mi></mml:msub></mml:mrow><mml:mo stretchy='true'>&#x0005E;</mml:mo></mml:mover><mml:mo stretchy='false'>(</mml:mo><mml:mi>&#x003BE;</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x0007C;</mml:mo></mml:mrow></mml:math></disp-formula>
<p>Basically, the additive energy <italic>E</italic>(<italic>A, A</italic>) and the Fourier bias <inline-formula><mml:math id="M32"><mml:mrow><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:mi>A</mml:mi><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="script">U</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> tell how &#x0201C;structured&#x0201D; the set <italic>A</italic> is with respect to addition. The additive energy <italic>E</italic>(<italic>A, A</italic>) measures how many pairwise sums <italic>a</italic>&#x0002B;<italic>a</italic>&#x02032; of elements <italic>a, a</italic>&#x02032;&#x02208;<italic>A</italic> coincide; for a random set we expect many different pairwise sums, and for an arithmetic progression the pairwise sums mostly coincide.</p>
<p>There is a connection between the Fourier bias and the additive energy.</p>
<p>Theorem 1 (Tao and Vu, <xref ref-type="bibr" rid="B67">2006</xref>). Let <italic>A</italic> be an additive set in a finite additive group <italic>Z</italic>. Then</p>
<disp-formula id="E12"><mml:math id="M33"><mml:mrow><mml:mo>&#x02016;</mml:mo><mml:mi>A</mml:mi><mml:msubsup><mml:mo>&#x02016;</mml:mo><mml:mi mathvariant='script'>U</mml:mi><mml:mn>4</mml:mn></mml:msubsup><mml:mo>&#x02264;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mo>&#x0007C;</mml:mo><mml:mi>Z</mml:mi><mml:msup><mml:mo>&#x0007C;</mml:mo><mml:mn>3</mml:mn></mml:msup></mml:mrow></mml:mfrac><mml:mi>E</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>A</mml:mi><mml:mo>,</mml:mo><mml:mi>A</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x02212;</mml:mo><mml:mtext>&#x000A0;</mml:mtext><mml:msub><mml:mi>P</mml:mi><mml:mi>Z</mml:mi></mml:msub><mml:msup><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mi>A</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow><mml:mn>4</mml:mn></mml:msup><mml:mo>&#x02264;</mml:mo><mml:mo>&#x02016;</mml:mo><mml:mi>A</mml:mi><mml:msubsup><mml:mo>&#x02016;</mml:mo><mml:mi mathvariant='script'>U</mml:mi><mml:mn>2</mml:mn></mml:msubsup><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mi>P</mml:mi><mml:mi>Z</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>A</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:math></disp-formula>
<p>Definition 2 (Tao and Vu, <xref ref-type="bibr" rid="B67">2006</xref>). A generalized arithmetic progression (GAP) of dimension <italic>d</italic> is a set</p>
<disp-formula id="E13"><mml:math id="M34"><mml:mrow><mml:mi>A</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mo>&#x02026;</mml:mo><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02223;</mml:mo><mml:mn>0</mml:mn><mml:mo>&#x02264;</mml:mo><mml:msub><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x02264;</mml:mo><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x022EF;</mml:mo><mml:mo>,</mml:mo><mml:mn>0</mml:mn><mml:mo>&#x02264;</mml:mo><mml:msub><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02264;</mml:mo><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
<p>where <italic>x</italic><sub>0</sub>, <italic>x</italic><sub>1</sub>, &#x02026;, <italic>x</italic><sub><italic>d</italic></sub>, <italic>N</italic><sub>1</sub>, &#x02026;, <italic>N</italic><sub><italic>d</italic></sub>&#x02208;<italic>Z</italic>. The size of GAP is a product <italic>N</italic><sub>1</sub>&#x022EF;<italic>N</italic><sub><italic>d</italic></sub>. If the size of set <italic>A</italic>, |<italic>A</italic>|, equals to <italic>N</italic><sub>1</sub>&#x022EF;<italic>N</italic><sub><italic>d</italic></sub>, we say that GAP is proper.</p>
<p>The GAPs generalize the usual notion of arithmetic progressions by allowing multiple differences <italic>x</italic><sub>1</sub>, &#x02026;, <italic>x</italic><sub><italic>d</italic></sub> instead of just one <italic>x</italic><sub>1</sub>. The proper GAP has differences such that its elements are all distinct, i.e., its elements cannot be represented as a sum of differences in two ways.</p></sec>
<sec id="s3">
<title>3 Shallow fingerprinting</title>
<p>Quantum fingerprint can be computed using the quantum circuit shown in <xref ref-type="fig" rid="F1">Figure 1</xref>. The last qubit is rotated by a different angle 2&#x003C0;<italic>k</italic><sub><italic>j</italic></sub><italic>x</italic>/<italic>q</italic> in different subspaces enumerated by |<italic>j</italic>&#x0232A;. The circuit rotates the qubit for all possible angles. The <italic>j</italic>-th rotation is controlled by first <italic>m</italic> qubits and applied if the values of these qubits are <italic>j</italic>. Therefore, the circuit depth is |<italic>K</italic>| &#x0003D; <italic>t</italic> &#x0003D; 2<sup><italic>m</italic></sup>. As the set <italic>K</italic> is random, the depth is unlikely to be less than |<italic>K</italic>|.</p>
<fig id="F1" position="float">
<label>Figure 1</label>
<caption><p>Deep fingerprinting circuit example. Gate <italic>U</italic><sub><italic>j</italic></sub> is a rotation <italic>R</italic><sub><italic>y</italic></sub>(4&#x003C0;<italic>k</italic><sub><italic>j</italic></sub><italic>x</italic>/<italic>p</italic>) for <italic>j</italic>&#x02208;{0, &#x02026;2<sup><italic>m</italic></sup>&#x02212;1}. Here, we have <italic>m</italic> control qubits. All possible values from 0 to 2<sup><italic>m</italic></sup>&#x02212;1 are encoded by all binary strings of length <italic>m</italic>. These values are presented as control values for control rotation gates <italic>U</italic><sub><italic>j</italic></sub> such that <italic>U</italic><sub><italic>j</italic></sub> is applied if the value of control qubits is <italic>j</italic>.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-07-1519212-g0001.tif"/>
</fig>


<p>Let us note that fingerprinting is similar to the quantum Fourier transform. Quantum Fourier transform computes the following transformation:</p>
<disp-formula id="E14"><label>(3)</label><mml:math id="M35"><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>&#x021A6;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>N</mml:mi></mml:mfrac><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>N</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover><mml:mrow><mml:msubsup><mml:mi>&#x003C9;</mml:mi><mml:mi>N</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:mstyle><mml:mrow><mml:mo>|</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
<p>where &#x003C9;<sub><italic>N</italic></sub> &#x0003D; <italic>e</italic>(1/<italic>N</italic>). Here is the quantum fingerprinting transform:</p>
<disp-formula id="E15"><mml:math id="M36"><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>&#x021A6;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>t</mml:mi></mml:mfrac><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>t</mml:mi></mml:munderover><mml:mrow><mml:msubsup><mml:mi>&#x003C9;</mml:mi><mml:mi>N</mml:mi><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mi>x</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:mstyle><mml:mrow><mml:mo>|</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x0232A;</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
<p>The depth of the circuit that computes quantum Fourier transform is <italic>O</italic>((log<italic>N</italic>)<sup>2</sup>), and it heavily relies on the fact that in <xref ref-type="disp-formula" rid="E14">Equation 3</xref> the sum runs over all <italic>k</italic> &#x0003D; 0, &#x02026;, <italic>N</italic>&#x02212;1. Therefore, to construct a shallow fingerprinting circuit, we desire to find a set <italic>K</italic> with a special structure.</p>
<p>Suppose that we construct a coefficient set <italic>K</italic>&#x02282;&#x02124;<sub><italic>p</italic></sub> in the following way. We start with a set <italic>T</italic> &#x0003D; {<italic>t</italic><sub>1</sub>, &#x02026;, <italic>t</italic><sub><italic>m</italic></sub>} and construct the set of coefficients as a set of sums of all possible subsets:</p>
<disp-formula id="E16"><mml:math id="M37"><mml:mrow><mml:mi>K</mml:mi><mml:mo>=</mml:mo><mml:mo>&#x0007B;</mml:mo><mml:mstyle displaystyle='true'><mml:munder><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi>S</mml:mi></mml:mrow></mml:munder><mml:mi>t</mml:mi></mml:mstyle><mml:mo>&#x02223;</mml:mo><mml:mi>S</mml:mi><mml:mo>&#x02286;</mml:mo><mml:mi>T</mml:mi><mml:mo>&#x0007D;</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

<p>where we sum modulo <italic>p</italic>.</p>
<p>The quantum fingerprinting function with these coefficients can be computed by a circuit of depth <italic>O</italic>(<italic>m</italic>) (K&#x00101;lis, <xref ref-type="bibr" rid="B40">2018</xref>) (see <xref ref-type="fig" rid="F2">Figure 2</xref>).</p>
<fig id="F2" position="float">
<label>Figure 2</label>
<caption><p>Shallow fingerprinting circuit example. Gate <italic>R</italic><sub><italic>j</italic></sub> is a rotation <italic>R</italic><sub><italic>y</italic></sub>(4&#x003C0;<italic>t</italic><sub><italic>j</italic></sub><italic>x</italic>/<italic>p</italic>) for <italic>j</italic>&#x02208;{0, &#x02026;<italic>m</italic>}. Here, we have <italic>m</italic> control qubits.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-07-1519212-g0002.tif"/>
</fig>


<p>Finally, let us prove why the construction of the set <italic>K</italic>&#x02282;&#x02124;<sub><italic>p</italic></sub> works.</p>
<p>Theorem 2. Let &#x003B5;&#x0003E;0, let <italic>m</italic> &#x0003D; &#x02308;log<italic>p</italic>&#x02212;2log&#x003B5;&#x02309; and <italic>d</italic> &#x0003D; 2<sup><italic>m</italic></sup>.</p>
<p>Suppose that the number <italic>t</italic><sub>0</sub>&#x02208;&#x02124;<sub><italic>p</italic></sub> and the set <italic>T</italic> &#x0003D; {<italic>t</italic><sub>1</sub>, &#x02026;, <italic>t</italic><sub><italic>m</italic></sub>}&#x02282;&#x02124;<sub><italic>p</italic></sub> are such that</p>
<disp-formula id="E17"><mml:math id="M38"><mml:mrow><mml:mi>B</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mn>2</mml:mn><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mo>&#x022EF;</mml:mo><mml:mo>&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>&#x02223;</mml:mo><mml:mn>0</mml:mn><mml:mo>&#x02264;</mml:mo><mml:msub><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0003C;</mml:mo><mml:mn>3</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x02026;</mml:mo><mml:mo>,</mml:mo><mml:mn>0</mml:mn><mml:mo>&#x02264;</mml:mo><mml:msub><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo>&#x0003C;</mml:mo><mml:mn>3</mml:mn></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula>
<p>is a proper GAP.</p>
<p>Then the set <italic>A</italic> defined as</p>
<disp-formula id="E18"><mml:math id="M39"><mml:mrow><mml:mi>A</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi>S</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:mi>t</mml:mi><mml:mo>&#x02223;</mml:mo><mml:mi>S</mml:mi><mml:mo>&#x02286;</mml:mo><mml:mi>T</mml:mi></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula>
<p>has &#x003B5;(<italic>A</italic>) &#x02264; &#x003B5;.</p>
<p>Let us outline the proof of this theorem. First, we estimate the number of solutions to <italic>a</italic>&#x0002B;<italic>b</italic> &#x0003D; <italic>n</italic>. Second, we use it to bound the additive energy <italic>E</italic>(<italic>A, A</italic>) of the set <italic>A</italic>. Third, we bound the Fourier bias <inline-formula><mml:math id="M40"><mml:mrow><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:mi>A</mml:mi><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mrow><mml:mi mathvariant="script">U</mml:mi></mml:mrow></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>. Finally, we get a bound on &#x003B5;(<italic>A</italic>) in terms of <italic>p</italic> and <italic>m</italic>.</p>
<p><italic>Proof.</italic> Let us denote a set <italic>R</italic><sub><italic>n</italic></sub>(<italic>A</italic>) of solutions to <italic>a</italic>&#x0002B;<italic>b</italic> &#x0003D; <italic>n</italic>, where <italic>a, b</italic>&#x02208;<italic>A</italic> and <italic>n</italic>&#x02208;&#x02124;<sub><italic>p</italic></sub>:</p>
<disp-formula id="E19"><mml:math id="M41"><mml:mrow><mml:msub><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>b</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x02223;</mml:mo><mml:mi>a</mml:mi><mml:mo>&#x0002B;</mml:mo><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:mi>n</mml:mi><mml:mo>;</mml:mo><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi>A</mml:mi></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
<p>Note that we have <inline-formula><mml:math id="M42"><mml:mrow><mml:mi>E</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>A</mml:mi><mml:mo>,</mml:mo><mml:mi>A</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi>Z</mml:mi></mml:mrow></mml:munder><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>.</p>
<p>Suppose that <italic>n</italic> is represented as <inline-formula><mml:math id="M43"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:munderover accentunder="false" accent="false"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mrow><mml:mi>&#x003B3;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, &#x003B3;<sub><italic>i</italic></sub>&#x02208;{0, 1, 2}. It is unique if such a representation exists because <italic>B</italic> is a proper GAP. Let us denote <italic>c</italic><sub>0</sub>: &#x0003D; {<italic>i</italic>&#x02223;&#x003B3;<sub><italic>i</italic></sub> &#x0003D; 0}, <italic>c</italic><sub>1</sub>: &#x0003D; {<italic>i</italic>&#x02223;&#x003B3;<sub><italic>i</italic></sub> &#x0003D; 1}, <italic>c</italic><sub>2</sub>: &#x0003D; {<italic>i</italic>&#x02223;&#x003B3;<sub><italic>i</italic></sub> &#x0003D; 2}. It is clear that <italic>c</italic><sub>0</sub>&#x0228E;<italic>c</italic><sub>1</sub>&#x0228E;<italic>c</italic><sub>2</sub> &#x0003D; [<italic>m</italic>].</p>
<p>Suppose that <italic>n</italic> &#x0003D; <italic>a</italic>&#x0002B;<italic>b</italic> for some <italic>a, b</italic>&#x02208;<italic>A</italic>. But <inline-formula><mml:math id="M44"><mml:mrow><mml:mi>a</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mi>&#x003B1;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M45"><mml:mrow><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>&#x0002B;</mml:mo><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:munder><mml:msub><mml:mrow><mml:mi>&#x003B2;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, &#x003B1;<sub><italic>i</italic></sub>, &#x003B2;<sub><italic>i</italic></sub>&#x02208;{0, 1}. We get that if <italic>i</italic>&#x02208;<italic>c</italic><sub>0</sub> or <italic>i</italic>&#x02208;<italic>c</italic><sub>2</sub> then the corresponding coefficients &#x003B1;<sub><italic>i</italic></sub> and &#x003B2;<sub><italic>i</italic></sub> are uniquely determined. Consider <italic>i</italic>&#x02208;<italic>c</italic><sub>1</sub>. Then we have two choices: either &#x003B1;<sub><italic>i</italic></sub> &#x0003D; 1;&#x003B2;<sub><italic>i</italic></sub> &#x0003D; 0, or &#x003B1;<sub><italic>i</italic></sub> &#x0003D; 0;&#x003B2;<sub><italic>i</italic></sub> &#x0003D; 1. Therefore, we have <inline-formula><mml:math id="M46"><mml:mrow><mml:msub><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo>,</mml:mo><mml:mi>A</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>.</p>
<p>We have that</p>
<disp-formula id="E20"><mml:math id="M47"><mml:mrow><mml:mi>E</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>A</mml:mi><mml:mo>,</mml:mo><mml:mi>A</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi>Z</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:munder class="msub"><mml:mrow><mml:mo>&#x02211;</mml:mo></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi>Z</mml:mi></mml:mrow></mml:munder></mml:mstyle><mml:msup><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo>,</mml:mo><mml:mi>A</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
<p>Using the fact that |<italic>c</italic><sub>0</sub>(<italic>n, A</italic>)|&#x0002B;|<italic>c</italic><sub>1</sub>(<italic>n, A</italic>)|&#x0002B;|<italic>c</italic><sub>2</sub>(<italic>n, A</italic>)| &#x0003D; <italic>m</italic>, we see that</p>
<disp-formula id="E21"><mml:math id="M48"><mml:mrow><mml:mi>E</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>A</mml:mi><mml:mo>,</mml:mo><mml:mi>A</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle='true'><mml:munder><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi>Z</mml:mi></mml:mrow></mml:munder><mml:mrow><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mo>&#x0007C;</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>n</mml:mi><mml:mo>,</mml:mo><mml:mi>A</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x0007C;</mml:mo></mml:mrow></mml:msup></mml:mrow></mml:mstyle><mml:mo>=</mml:mo><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mi>m</mml:mi></mml:munderover><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mtable><mml:mtr><mml:mtd><mml:mi>m</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>j</mml:mi></mml:mtd></mml:mtr></mml:mtable><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mstyle><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mi>m</mml:mi><mml:mo>&#x02212;</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msup><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mn>2</mml:mn><mml:mi>j</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mstyle displaystyle='true'><mml:munderover><mml:mo>&#x02211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mi>m</mml:mi></mml:munderover><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mtable><mml:mtr><mml:mtd><mml:mi>m</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>j</mml:mi></mml:mtd></mml:mtr></mml:mtable><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mstyle><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mi>m</mml:mi><mml:mo>+</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msup><mml:mo>&#x02264;</mml:mo><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mn>3</mml:mn><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:math></disp-formula>
<p>We can bound the Fourier bias by Theorem 1:</p>
<disp-formula id="E22"><mml:math id="M56"><mml:mtable columnalign='left'><mml:mtr><mml:mtd><mml:mo>&#x02016;</mml:mo><mml:mi>A</mml:mi><mml:msubsup><mml:mo>&#x02016;</mml:mo><mml:mi mathvariant='script'>U</mml:mi><mml:mn>4</mml:mn></mml:msubsup><mml:mo>&#x02264;</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mo>&#x0007C;</mml:mo><mml:mi>Z</mml:mi><mml:msup><mml:mo>&#x0007C;</mml:mo><mml:mn>3</mml:mn></mml:msup></mml:mrow></mml:mfrac><mml:mi>E</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>A</mml:mi><mml:mo>,</mml:mo><mml:mi>A</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x02212;</mml:mo><mml:mtext>&#x02009;</mml:mtext><mml:msub><mml:mi>P</mml:mi><mml:mi>Z</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>A</mml:mi><mml:msup><mml:mo stretchy='false'>)</mml:mo><mml:mn>4</mml:mn></mml:msup><mml:mo>&#x02264;</mml:mo><mml:mo>&#x02016;</mml:mo><mml:mi>A</mml:mi><mml:msubsup><mml:mo>&#x02016;</mml:mo><mml:mi mathvariant='script'>U</mml:mi><mml:mn>2</mml:mn></mml:msubsup><mml:msub><mml:mi>P</mml:mi><mml:mi>Z</mml:mi></mml:msub><mml:mo stretchy='false'>(</mml:mo><mml:mi>A</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;</mml:mtext><mml:mo>&#x02016;</mml:mo><mml:mi>A</mml:mi><mml:msubsup><mml:mo>&#x02016;</mml:mo><mml:mi mathvariant='script'>U</mml:mi><mml:mn>4</mml:mn></mml:msubsup><mml:mo>&#x02264;</mml:mo><mml:mfrac><mml:mrow><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mn>3</mml:mn><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mn>3</mml:mn><mml:mo>&#x000B7;</mml:mo><mml:msup><mml:mn>2</mml:mn><mml:mi>m</mml:mi></mml:msup></mml:mrow></mml:msup></mml:mrow></mml:mfrac><mml:mo>&#x02212;</mml:mo><mml:mfrac><mml:mrow><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mn>4</mml:mn><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mn>4</mml:mn><mml:mo>&#x000B7;</mml:mo><mml:msup><mml:mn>2</mml:mn><mml:mi>m</mml:mi></mml:msup></mml:mrow></mml:msup></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msup><mml:mi>d</mml:mi><mml:mn>3</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mn>3</mml:mn><mml:mi>d</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mfrac><mml:mo>&#x02212;</mml:mo><mml:mfrac><mml:mrow><mml:msup><mml:mi>d</mml:mi><mml:mn>4</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mn>2</mml:mn><mml:mrow><mml:mn>4</mml:mn><mml:mi>d</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtext>&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;&#x02009;</mml:mtext><mml:mo>&#x02016;</mml:mo><mml:mi>A</mml:mi><mml:msub><mml:mo>&#x02016;</mml:mo><mml:mi mathvariant='script'>U</mml:mi></mml:msub><mml:mo>&#x02264;</mml:mo><mml:mfrac><mml:mrow><mml:msup><mml:mi>d</mml:mi><mml:mrow><mml:mn>3</mml:mn><mml:mo>/</mml:mo><mml:mn>4</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mi>p</mml:mi><mml:mrow><mml:mn>3</mml:mn><mml:mo>/</mml:mo><mml:mn>4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>Finally, we have</p>
<disp-formula id="E23"><mml:math id="M57"><mml:mrow><mml:mi>&#x003B5;</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>A</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mo stretchy='false'>(</mml:mo><mml:mfrac><mml:mi>p</mml:mi><mml:mi>d</mml:mi></mml:mfrac><mml:mo>&#x02016;</mml:mo><mml:mi>A</mml:mi><mml:msub><mml:mo>&#x02016;</mml:mo><mml:mi mathvariant='script'>U</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:msup><mml:mo>&#x02264;</mml:mo><mml:mfrac><mml:mrow><mml:msup><mml:mi>p</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>/</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mi>d</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>/</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
<p>We prove the theorem by substituting the definitions of <italic>d</italic> and <italic>m</italic>.&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x02395;</p>
<p><bold> Corollary 1</bold>. The depth of the circuit that computes <italic>U</italic><sub><italic>a</italic></sub>(<italic>A</italic>) is &#x02308;log<italic>p</italic>&#x02212;2log&#x003F5;&#x02309;.</p>
<p>Theorem 3 (Circuit depth for AIKPS sequences). For given &#x003B5;&#x0003E;0, let</p>
<disp-formula id="E24"><mml:math id="M58"><mml:mtable columnalign="left"><mml:mtr><mml:mtd><mml:mi>R</mml:mi></mml:mtd><mml:mtd><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mi>r</mml:mi><mml:mo>&#x02223;</mml:mo><mml:mi>r</mml:mi><mml:mtext class="textrm" mathvariant="normal">is prime</mml:mtext><mml:mo>,</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mo class="qopname">log</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x0002B;</mml:mo><mml:mi>&#x003B5;</mml:mi></mml:mrow></mml:msup><mml:mo>/</mml:mo><mml:mn>2</mml:mn><mml:mo>&#x0003C;</mml:mo><mml:mi>r</mml:mi><mml:mo>&#x0003C;</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mo class="qopname">log</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x0002B;</mml:mo><mml:mi>&#x003B5;</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>S</mml:mi></mml:mtd><mml:mtd><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x02026;</mml:mo><mml:mo>,</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mo class="qopname">log</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x0002B;</mml:mo><mml:mn>2</mml:mn><mml:mi>&#x003B5;</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>T</mml:mi></mml:mtd><mml:mtd><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mi>s</mml:mi><mml:mo>&#x000B7;</mml:mo><mml:msup><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo>&#x02223;</mml:mo><mml:mi>r</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi>R</mml:mi><mml:mo>,</mml:mo><mml:mi>s</mml:mi><mml:mo>&#x02208;</mml:mo><mml:mi>S</mml:mi></mml:mrow><mml:mo>}</mml:mo></mml:mrow><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<p>where <italic>r</italic><sup>&#x02212;1</sup> is the inverse of <italic>r</italic> modulo <italic>p</italic>.</p>
<p>Then the depth of the circuit that computes <italic>U</italic><sub><italic>a</italic></sub>(<italic>T</italic>) is less than (1&#x0002B;2&#x003F5;)log<sup>1&#x0002B;&#x003F5;</sup><italic>p</italic>loglog<italic>p</italic>.</p>
<p><italic>Proof.</italic> Let us denote the elements of <italic>R</italic> by <italic>r</italic><sub>1</sub>, <italic>r</italic><sub>2</sub>, &#x02026;. Let <italic>S</italic>&#x000B7;{<italic>r</italic><sup>&#x02212;1</sup>} be a set {<italic>s</italic>&#x000B7;<italic>r</italic><sup>&#x02212;1</sup>&#x02223;<italic>s</italic>&#x02208;<italic>S</italic>}.</p>
<p>Consider the following circuit <inline-formula><mml:math id="M59"><mml:mrow><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">C</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> (see <xref ref-type="fig" rid="F3">Figure 3</xref>) with <italic>w</italic> &#x0003D; &#x02308;(1&#x0002B;2&#x003B5;)loglog<italic>p</italic>&#x02309;&#x0002B;1 wires.</p>
<fig id="F3" position="float">
<label>Figure 3</label>
<caption><p>Circuit <inline-formula><mml:math id="M49"><mml:mrow><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">C</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> for AIKPS subsequence. Gate <italic>R</italic><sub><italic>j</italic></sub> is a rotation <inline-formula><mml:math id="M50"><mml:mrow><mml:msub><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>4</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>/</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula>. Gate <italic>R</italic><sub><italic>j, k</italic></sub> is a rotation <inline-formula><mml:math id="M51"><mml:mrow><mml:msub><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo>&#x000B7;</mml:mo><mml:mn>4</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>/</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula>.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-07-1519212-g0003.tif"/>
</fig>


<p>The circuit <inline-formula><mml:math id="M60"><mml:mrow><mml:msub><mml:mrow><mml:mrow><mml:mi mathvariant="script">C</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> has depth &#x02308;(1&#x0002B;2&#x003B5;)loglog<italic>p</italic>&#x02309;&#x0002B;1 and computes the transformation <inline-formula><mml:math id="M61"><mml:mrow><mml:msub><mml:mrow><mml:mi>U</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>S</mml:mi><mml:mo>&#x000B7;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula>. By repeating the same circuit for all <italic>r</italic><sub><italic>j</italic></sub>&#x02208;<italic>R</italic> we get the required circuit for <italic>U</italic><sub><italic>a</italic></sub>(<italic>T</italic>) (see <xref ref-type="fig" rid="F4">Figure 4</xref>).</p>
<fig id="F4" position="float">
<label>Figure 4</label>
<caption><p>Circuit for <italic>U</italic><sub><italic>a</italic></sub>(<italic>T</italic>). Gate <italic>R</italic><sub><italic>j</italic></sub> is a rotation <inline-formula><mml:math id="M52"><mml:mrow><mml:msub><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>4</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>/</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula>. Gate <italic>R</italic><sub><italic>j, k</italic></sub> is a rotation <inline-formula><mml:math id="M53"><mml:mrow><mml:msub><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:mo>&#x000B7;</mml:mo><mml:mn>4</mml:mn><mml:mi>&#x003C0;</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>/</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula>.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-07-1519212-g0004.tif"/>
</fig>


<p>Since |<italic>R</italic>| &#x0003C; (log<italic>p</italic>)<sup>1&#x0002B;&#x003B5;</sup>, we obtain that the depth of the circuit <italic>U</italic><sub><italic>a</italic></sub>(<italic>T</italic>) is less than</p>
<disp-formula id="E25"><mml:math id="M62"><mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x0002B;</mml:mo><mml:mn>2</mml:mn><mml:mi>&#x003F5;</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:msup><mml:mrow><mml:mo class="qopname">log</mml:mo></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>&#x0002B;</mml:mo><mml:mi>&#x003F5;</mml:mi></mml:mrow></mml:msup><mml:mi>p</mml:mi><mml:mo class="qopname">log</mml:mo><mml:mo class="qopname">log</mml:mo><mml:mi>p</mml:mi><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
<p>&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x000A0;&#x02395;</p>
</sec>
<sec id="s4">
<title>4 Numerical experiments</title>
<p>We conduct the following numerical experiments. We compute sets of coefficients <italic>K</italic> for the automaton for the language <italic>MOD</italic><sub><italic>p</italic></sub> with minimal computational error.</p>
<p>Finding an optimal set of coefficients is an optimization problem with many parameters, and the running time of a brute force algorithm is large, especially with an increasing number <italic>m</italic> of control qubits and large values of parameter <italic>p</italic>. Then, the original automaton has 2<italic>d</italic> states, where <italic>d</italic> &#x0003D; 2<sup><italic>m</italic></sup>. We observe circuits for several <italic>m</italic> values and use a heuristic method for finding the optimal sets <italic>K</italic> with respect to an error minimization. For this purpose, the coordinate descent method (Wright, <xref ref-type="bibr" rid="B76">2015</xref>) is used.</p>
<p>We find an optimal set of coefficients for different values of <italic>p</italic> and <italic>m</italic> and compare computational errors of original and shallow fingerprinting algorithms for the automaton (see <xref ref-type="fig" rid="F5">Figure 5</xref>). Namely, we set <italic>m</italic> &#x0003D; 3, 4, 5 and find sets using the coordinate descent method for each case that minimizes &#x003B5;(<italic>K</italic>). Even heuristic computing, for <italic>s</italic>&#x0003E;5, takes exponentially more computational time andis hard to implement on our devices.</p>
<fig id="F5" position="float">
<label>Figure 5</label>
<caption><p>Computational errors for <italic>m</italic> &#x0003D; 3, 4, 5 of original and shallow automata.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-07-1519212-g0005.tif"/>
</fig>


<p>One can note that the difference between errors increases with increasing <italic>m</italic>, especially for higher values of <italic>p</italic>. The program code and numerical data are presented in a git repository (Khadieva, <xref ref-type="bibr" rid="B49">2023</xref>).</p>
<p>The graphics in <xref ref-type="fig" rid="F6">Figure 6</xref> show a proportion of the errors of the original automaton over the errors of the shallow automaton for <italic>m</italic> &#x0003D; 3, 4, 5 and the prime numbers until 1013.</p>
<fig id="F6" position="float">
<label>Figure 6</label>
<caption><p>Proportions of the shallow automaton errors over the original automaton errors for <italic>m</italic> &#x0003D; 3, 4, 5 and different values of <italic>p</italic>.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-07-1519212-g0006.tif"/>
</fig>


<p>As we see, for a number of control qubits <italic>m</italic> &#x0003D; 3, the difference between the original and shallow automata errors is approximately constant. The ratio of values fluctuates between 1 and 1.2. In the case <italic>m</italic> &#x0003D; 4, this ratio is approximately 1.5 for almost all observed values <italic>p</italic>. The ratio of errors is nearly between 1.5 and 3, for <italic>m</italic> &#x0003D; 5.</p>
<p>According to the results of our experiments, the circuit depth <italic>m</italic>&#x0002B;1 is enough for valid computations, while the original circuit uses <italic>O</italic>(2<sup><italic>m</italic></sup>) gates. Since the shallow circuit is much simpler than the original one, its implementation on real quantum machines is much easier. For instance, in such machines as IBMQ Manila or Baidu quantum computer, a &#x0201C;quantum computer&#x0201D; is represented by a linearly connected sequence of qubits. CX-gates can be applied only to the neighbor qubits. For such a linear structure of qubits, the shallow circuit can be implemented using 3<italic>m</italic>&#x0002B;3 CX-gates. Whereas a nearest-neighbor decomposition (Bergholm et al., <xref ref-type="bibr" rid="B25">2005</xref>) of the original circuit requires <italic>O</italic>(<italic>d</italic>log<italic>d</italic>) &#x0003D; <italic>O</italic>(<italic>m</italic>2<sup><italic>m</italic></sup>) CX-gates.</p>
<sec>
<title>4.1 Numerical experiments for a noisy device</title>
<p>The numerical experiments presented above were performed on an abstract machine with no noise, that is, all operators and measurements are always correct. In contrast, current real quantum devices are the NISQ era machines (Preskill, <xref ref-type="bibr" rid="B60">2018</xref>), which means that each operator is noisy. Therefore, we invoke a new series of computational experiments to find a set of coefficients <italic>K</italic> for the automaton that recognizes the language <italic>MOD</italic><sub><italic>p</italic></sub>, so that we can separate members and non-members of the language when implementing the automaton on a noisy simulator of the IBMQ quantum machine. As an example, we set the <italic>p</italic> &#x0003D; 17 and <italic>m</italic> &#x0003D; 3 control qubits. So, our device uses 4 qubits. At the same time, it is known that any deterministic device needs at least 5 classical bits to recognize the <italic>MOD</italic><sub>17</sub> language (Ambainis and Freivalds, <xref ref-type="bibr" rid="B20">1998</xref>).</p>
<p>For these parameters, we invoke a brute-force algorithm to find the set <italic>K</italic> that satisfies two conditions:</p>
<list list-type="order">
<list-item><p>The probability of accepting member words should be as high as possible.</p></list-item>
<list-item><p>The probability of accepting non-member words should be as small as possible.</p></list-item>
</list>
<p>For this reason, we minimize a value <italic>diff</italic> &#x0003D; <bold>P</bold>(6&#x000B7;<italic>p</italic>)&#x02212;<italic>max</italic>{<bold>P</bold>(<italic>r</italic>):<italic>r</italic> mod <italic>p</italic>&#x02260;0, 1 &#x02264; <italic>r</italic> &#x02264; 6&#x000B7;<italic>p</italic>&#x0002B;9}, where <bold>P</bold>(<italic>i</italic>) is the acceptance probability for a word of length <italic>i</italic>. The resulting set is <italic>K</italic> &#x0003D; {4, 8, 12, 6}. After that, we execute the circuit for this automaton on input words of length at most 7&#x000B7;<italic>p</italic>&#x0002B;9 &#x0003D; 128. We use an optimization of the circuit from a study by Khadieva et al. (<xref ref-type="bibr" rid="B51">2024</xref>) that allows us to use the Rz operator instead of the Ry operator. It is presented in <xref ref-type="fig" rid="F7">Figure 7</xref>.</p>
<fig id="F7" position="float">
<label>Figure 7</label>
<caption><p>Shallow circuit that uses Rz operators.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-07-1519212-g0007.tif"/>
</fig>


<p>It is important to use this optimization because the emulator of a real IBMQ device allows us to use only a limited set of possible gates. For instance, we cannot use the Ry operator, although the Rz gate is available.</p>
<p>We run the program 10,000 times and calculate the number of shots that return the state |0&#x0232A; (accepting state). We use the notation <inline-formula><mml:math id="M63"><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> for this number, where <italic>i</italic> is the length of the word. These numbers <inline-formula><mml:math id="M64"><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> for each length <italic>i</italic> for 1 &#x02264; <italic>i</italic> &#x02264; 129 are presented in Section 6 and <xref ref-type="fig" rid="F8">Figure 8</xref>. We can say that it is a statistical representation of probability <bold>P</bold>(<italic>i</italic>).</p>
<fig id="F8" position="float">
<label>Figure 8</label>
<caption><p>Computational errors for <italic>m</italic> &#x0003D; 3 of shallow automata for noisy device.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-07-1519212-g0008.tif"/>
</fig>


<p>Normally, for the bounded error QFA (Say and Yakary&#x00131;lmaz, <xref ref-type="bibr" rid="B66">2014</xref>), an input of length <italic>i</italic> is accepted if the probability of observing an accepting state is <bold>P</bold>(<italic>i</italic>)&#x0003E;0.5&#x0002B;&#x003B5; for some &#x003B5;&#x0003E;0 and is rejected if <bold>P</bold>(<italic>i</italic>) &#x0003C; 0.5&#x02212;&#x003B5;. In terms of the number of shots that return the accepting state in our experiment, we can say that the word is accepted if <inline-formula><mml:math id="M65"><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x02265;</mml:mo><mml:mn>5001</mml:mn></mml:math></inline-formula>, and rejected if <inline-formula><mml:math id="M66"><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x02264;</mml:mo><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>999</mml:mn></mml:math></inline-formula>. In that case, we can execute an algorithm once, return its answer, and the result will be correct with probability more than one half. In that case, we can recognize only the word of length <italic>i</italic> &#x0003D; <italic>p</italic> because only <inline-formula><mml:math id="M67"><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x02265;</mml:mo><mml:mn>5</mml:mn><mml:mo>,</mml:mo><mml:mn>001</mml:mn></mml:math></inline-formula>, and <inline-formula><mml:math id="M68"><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x02264;</mml:mo><mml:mn>4</mml:mn><mml:mo>,</mml:mo><mml:mn>999</mml:mn></mml:math></inline-formula> for any <italic>i</italic>&#x02260;<italic>p</italic> due to the results of our numerical experiments. So, the automaton rejects all other words, including members and non-members.</p>
<p>Another type of QFA in terms of acceptance criteria is a QFA with an isolated cut-point (Chadha et al., <xref ref-type="bibr" rid="B30">2013</xref>; Bertoni, <xref ref-type="bibr" rid="B26">1975</xref>; Bertoni et al., <xref ref-type="bibr" rid="B27">1977</xref>; Gimbert and Oualhadj, <xref ref-type="bibr" rid="B36">2010</xref>; Rabin, <xref ref-type="bibr" rid="B62">1963</xref>). In that case, we choose two constants 0 &#x0003C; &#x003BB; &#x0003C; 1 and 0 &#x0003C; &#x003B5; &#x0003C; min{&#x003BB;, 1&#x02212;&#x003BB;}. A word of length <italic>i</italic> is accepted if <bold>P</bold>(<italic>i</italic>)&#x0003E;&#x003BB;&#x0002B;&#x003B5;, and rejected if <bold>P</bold>(<italic>i</italic>) &#x0003C; &#x003BB;&#x02212;&#x003B5;. For our numerical experiments, we can set a threshold (or a cut-point) <inline-formula><mml:math id="M69"><mml:mn>1</mml:mn><mml:mo>&#x02264;</mml:mo><mml:mover accent="true"><mml:mrow><mml:mi>&#x003BB;</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mo>&#x02264;</mml:mo><mml:mn>9</mml:mn><mml:mo>,</mml:mo><mml:mn>999</mml:mn></mml:math></inline-formula> and accept a word of length <italic>i</italic> if <inline-formula><mml:math id="M70"><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x02265;</mml:mo><mml:mover accent="true"><mml:mrow><mml:mi>&#x003BB;</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mo>&#x0002B;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>; and reject a word of length <italic>i</italic> if <inline-formula><mml:math id="M71"><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x02264;</mml:mo><mml:mover accent="true"><mml:mrow><mml:mi>&#x003BB;</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>.</p>
<p>Analyzing the results of the experiments, we can say that each member <italic>i</italic> of <italic>MOD</italic><sub><italic>p</italic></sub> has <inline-formula><mml:math id="M72"><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x02265;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>021</mml:mn></mml:math></inline-formula>. At the same time, each non-member <italic>i</italic> has <inline-formula><mml:math id="M73"><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x02264;</mml:mo><mml:mn>925</mml:mn></mml:math></inline-formula>.</p>
<p>So, we can choose any threshold <inline-formula><mml:math id="M74"><mml:mn>926</mml:mn><mml:mo>&#x02264;</mml:mo><mml:mover accent="true"><mml:mrow><mml:mi>&#x003BB;</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mo>&#x02264;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>020</mml:mn></mml:math></inline-formula>. Here we choose the middle of the interval <inline-formula><mml:math id="M75"><mml:mover accent="true"><mml:mrow><mml:mi>&#x003BB;</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mn>973</mml:mn></mml:math></inline-formula> for more statistical safety. Finally, we can say that our algorithm accepts a word of length <italic>i</italic> if <inline-formula><mml:math id="M76"><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x02265;</mml:mo><mml:mn>974</mml:mn></mml:math></inline-formula>, and rejects it if <inline-formula><mml:math id="M77"><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x02264;</mml:mo><mml:mn>972</mml:mn></mml:math></inline-formula>.</p>
<p>The criteria based on isolated cut-point are not as good as in the bounded error automata, but are also useful. For practical implementation, we should invoke our algorithm at least <italic>O</italic>(1/&#x003BB;) times to have a reasonable statistic that approximates <bold>P</bold>(<italic>i</italic>).</p>
<p>We perform similar experiments for the standard circuit for the automaton for the <italic>MOD</italic><sub><italic>p</italic></sub> language. Since <italic>m</italic> &#x0003D; 3, we need to calculate 2<sup><italic>m</italic></sup> &#x0003D; 8 integer parameters as coefficients for the rotation angles. For this case, using the brute force algorithm for parameter finding is unrealistic because the standard circuit execution on the IBMQ simulator takes much more time than in the case of the shallow circuit execution. We use three approaches:</p>
<list list-type="bullet">
<list-item><p>The coordinate descent method (Wright, <xref ref-type="bibr" rid="B76">2015</xref>) for finding the first six parameters and the brute force approach for calculating the last two parameters.</p></list-item>
<list-item><p>Simulated annealing algorithm (Press, <xref ref-type="bibr" rid="B61">1992</xref>) for finding all parameters.</p></list-item>
<list-item><p>Genetic algorithm (Mitchell, <xref ref-type="bibr" rid="B55">1998</xref>) for finding all parameters.</p></list-item>
</list>
<p>The objective function for minimization is <inline-formula><mml:math id="M78"><mml:mrow><mml:mi>d</mml:mi><mml:mi>i</mml:mi><mml:mi>f</mml:mi><mml:msup><mml:mi>f</mml:mi><mml:mo>&#x02032;</mml:mo></mml:msup><mml:mo>=</mml:mo><mml:mover accent='true'><mml:mi>P</mml:mi><mml:mo>&#x002DC;</mml:mo></mml:mover><mml:mo stretchy='false'>(</mml:mo><mml:mi>p</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>&#x02212;</mml:mo><mml:mo>&#x0007B;</mml:mo><mml:mover accent='true'><mml:mi>P</mml:mi><mml:mo>&#x002DC;</mml:mo></mml:mover><mml:mo stretchy='false'>(</mml:mo><mml:mi>r</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mo>:</mml:mo><mml:mi>r</mml:mi></mml:mrow></mml:math></inline-formula> mod <italic>p</italic>&#x02260;0, 1 &#x02264; <italic>r</italic> &#x02264; 2&#x000B7;<italic>p</italic>&#x0002B;10}. We compute <inline-formula><mml:math id="M79"><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>, which is the number of shots that return the state |0&#x0232A; (accepting state).</p>
<p>We use these three algorithms, obtain the results, and choose the best result among them. The target parameters are <italic>K</italic> &#x0003D; {14, 9, 6, 7, 10, 4, 2, 16}.</p>
<p>Then we invoke the circuit for the automaton using these parameters on input words of length at most 7&#x000B7;<italic>p</italic>&#x0002B;9 &#x0003D; 128. The program is executed 10,000 times, and we calculate <inline-formula><mml:math id="M80"><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>. These numbers are presented in Section 6 and <xref ref-type="fig" rid="F9">Figure 9</xref>.</p>
<fig id="F9" position="float">
<label>Figure 9</label>
<caption><p>Computational errors for <italic>m</italic> &#x0003D; 3 of original automata with deep circuit for noisy device.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fcomp-07-1519212-g0009.tif"/>
</fig>


<p>When analyzing the data, we can see that no member word <italic>i</italic> has <inline-formula><mml:math id="M81"><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0003E;</mml:mo><mml:mn>5</mml:mn><mml:mo>,</mml:mo><mml:mn>000</mml:mn></mml:math></inline-formula>, which means that the probability <bold>P</bold>(<italic>i</italic>) &#x0003C; 0.5 for any input <italic>i</italic>. Therefore, if the automaton is the QFA with bounded error, we cannot separate members from non-members using this acceptance criterion.</p>
<p>However, if the automaton is the QFA with an isolated cut-point, then we can see that several members of the language, for instance, <italic>i</italic> &#x0003D; <italic>p</italic>, <italic>i</italic> &#x0003D; 2<italic>p</italic>, <italic>i</italic> &#x0003D; 4<italic>p</italic>, and <italic>i</italic> &#x0003D; 7<italic>p</italic>, can be separated from non-members. Nevertheless, other members of <italic>MOD</italic><sub><italic>p</italic></sub> are not separable from non-members, for example, <italic>i</italic> &#x0003D; 3<italic>p</italic>, <italic>i</italic> &#x0003D; 5<italic>p</italic>, and <italic>i</italic> &#x0003D; 6<italic>p</italic>. In addition, we can note that the number <inline-formula><mml:math id="M82"><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0003E;</mml:mo><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>. Our algorithm cannot find a set <italic>K</italic> that violates this condition. At the same time, we can ignore the case <italic>i</italic> &#x0003D; 1 because it can be processed separately. Even if we fix the issue with <italic>i</italic> &#x0003D; 1, the algorithm still detects only some members. For the members <italic>i</italic> &#x0003D; <italic>p</italic>, <italic>i</italic> &#x0003D; 2<italic>p</italic>, <italic>i</italic> &#x0003D; 4<italic>p</italic>, and <italic>i</italic> &#x0003D; 7<italic>p</italic>, the minimal value of <inline-formula><mml:math id="M83"><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> is 828. For the non-members except <italic>i</italic> &#x0003D; 1, the maximum value of <inline-formula><mml:math id="M84"><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> is 823. As a threshold <inline-formula><mml:math id="M85"><mml:mover accent="true"><mml:mrow><mml:mi>&#x003BB;</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover></mml:math></inline-formula>, we can choose 824 or 825. Nevertheless, we cannot separate the members <italic>i</italic> &#x0003D; 3<italic>p</italic>, <italic>i</italic> &#x0003D; 5<italic>p</italic>, and <italic>i</italic> &#x0003D; 6<italic>p</italic> from non-members for any threshold.</p>
<p>Note that in the case of the shallow circuit, <inline-formula><mml:math id="M86"><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> is much higher than in the case of the standard circuit. For instance, <inline-formula><mml:math id="M87"><mml:mover accent="true"><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mo>&#x0007E;</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>p</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>&#x0003E;</mml:mo><mml:mn>5</mml:mn><mml:mo>,</mml:mo><mml:mn>100</mml:mn></mml:math></inline-formula> for the shallow circuit, which corresponds to <bold>P</bold>(<italic>p</italic>)&#x0003E;0.51; while for the standard circuit, the corresponding probability would be much smaller than 0.5 (approximately 0.1).</p>
<p>Finally, we can see that the shallow circuit is more efficient on noisy devices (emulators) than the standard circuit. However, in the case of an &#x0201C;ideal&#x0201D; noise-free device, we have an opposite situation.</p></sec></sec>
<sec sec-type="conclusions" id="s5">
<title>5 Conclusion</title>
<p>We show that generalized arithmetic progressions generate some sets of coefficients <italic>k</italic><sub><italic>i</italic></sub> for the quantum fingerprinting technique with provable properties. These sets have large sizes, but their depth is small and comparable to that of the sets obtained by the probabilistic method. These sets can be used to implement quantum finite automata on current quantum hardware.</p>
<p>We perform numerical simulations. In the case of &#x0201C;ideal&#x0201D; (noise-free) devices, the experiments show that the error probability for the shallow circuit is close to the error probability for the standard circuit. At the same time, we show that the shallow circuit is much more efficient than the standard circuit when implemented on IBMQ noisy device simulators.</p>
<p>The depth optimization of quantum finite automata is also an open question. The lower bound on the size of <italic>K</italic> with respect to <italic>p</italic> and &#x003B5; is already known (Ablayev et al., <xref ref-type="bibr" rid="B7">2016b</xref>). Therefore, for given <italic>p</italic> and &#x003B5;, quantum finite automata cannot have less than <italic>O</italic>(log<italic>p</italic>/&#x003B5;) states. However, to our knowledge, a lower bound on the circuit depth of the transition function implementation is unknown. Thus, we pose an open question: Is it possible to implement a transition function with a depth less than <italic>O</italic>(log<italic>p</italic>)? What is the lower bound?</p></sec>
<sec id="s6">
<title>6 Numerical experiments for noisy devices</title>
<p>The data for the shallow circuit for fingerprinting are tabulated in <xref ref-type="table" rid="T1">Table 1</xref>.</p>
<table-wrap position="float" id="T1">
<label>Table 1</label>
<caption><p>The number of shots that return accepting state for different lengths of the word for the shallow automaton of <italic>MOD</italic><sub>17</sub> on a noisy device.</p></caption>
<table frame="box" rules="all">
<thead>
<tr>
<th valign="top" align="left"><bold>The length of a word</bold></th>
<th valign="top" align="left"><bold>1</bold></th>
<th valign="top" align="left"><bold>2</bold></th>
<th valign="top" align="left"><bold>3</bold></th>
<th valign="top" align="left"><bold>4</bold></th>
<th valign="top" align="left"><bold>5</bold></th>
<th valign="top" align="left"><bold>6</bold></th>
<th valign="top" align="left"><bold>7</bold></th>
<th valign="top" align="left"><bold>8</bold></th>
<th valign="top" align="left"><bold>9</bold></th>
<th valign="top" align="left"><bold>10</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left">122</td>
<td valign="top" align="left">925</td>
<td valign="top" align="left">61</td>
<td valign="top" align="left">92</td>
<td valign="top" align="left">187</td>
<td valign="top" align="left">539</td>
<td valign="top" align="left">184</td>
<td valign="top" align="left">91</td>
<td valign="top" align="left">77</td>
<td valign="top" align="left">237</td>
</tr> <tr>
<td valign="top" align="left">The length of a word</td>
<td valign="top" align="left">11</td>
<td valign="top" align="left">12</td>
<td valign="top" align="left">13</td>
<td valign="top" align="left">14</td>
<td valign="top" align="left">15</td>
<td valign="top" align="left">16</td>
<td valign="top" align="left"><bold>17</bold></td>
<td valign="top" align="left">18</td>
<td valign="top" align="left">19</td>
<td valign="top" align="left">20</td>
</tr> <tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left">514</td>
<td valign="top" align="left">273</td>
<td valign="top" align="left">142</td>
<td valign="top" align="left">149</td>
<td valign="top" align="left">737</td>
<td valign="top" align="left">571</td>
<td valign="top" align="left"><bold>6,439</bold></td>
<td valign="top" align="left">570</td>
<td valign="top" align="left">875</td>
<td valign="top" align="left">312</td>
</tr> <tr>
<td valign="top" align="left">The length of a word</td>
<td valign="top" align="left">21</td>
<td valign="top" align="left">22</td>
<td valign="top" align="left">23</td>
<td valign="top" align="left">24</td>
<td valign="top" align="left">25</td>
<td valign="top" align="left">26</td>
<td valign="top" align="left">27</td>
<td valign="top" align="left">28</td>
<td valign="top" align="left">29</td>
<td valign="top" align="left">30</td>
</tr> <tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left">240</td>
<td valign="top" align="left">293</td>
<td valign="top" align="left">586</td>
<td valign="top" align="left">348</td>
<td valign="top" align="left">231</td>
<td valign="top" align="left">235</td>
<td valign="top" align="left">271</td>
<td valign="top" align="left">604</td>
<td valign="top" align="left">348</td>
<td valign="top" align="left">181</td>
</tr> <tr>
<td valign="top" align="left">The length of a word</td>
<td valign="top" align="left">31</td>
<td valign="top" align="left">32</td>
<td valign="top" align="left">33</td>
<td valign="top" align="left"><bold>34</bold></td>
<td valign="top" align="left">35</td>
<td valign="top" align="left">36</td>
<td valign="top" align="left">37</td>
<td valign="top" align="left">38</td>
<td valign="top" align="left">39</td>
<td valign="top" align="left">40</td>
</tr> <tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left">268</td>
<td valign="top" align="left">626</td>
<td valign="top" align="left">793</td>
<td valign="top" align="left"><bold>3,870</bold></td>
<td valign="top" align="left">691</td>
<td valign="top" align="left">701</td>
<td valign="top" align="left">462</td>
<td valign="top" align="left">377</td>
<td valign="top" align="left">432</td>
<td valign="top" align="left">557</td>
</tr> <tr>
<td valign="top" align="left">The length of a word</td>
<td valign="top" align="left">41</td>
<td valign="top" align="left">42</td>
<td valign="top" align="left">43</td>
<td valign="top" align="left">44</td>
<td valign="top" align="left">45</td>
<td valign="top" align="left">46</td>
<td valign="top" align="left">47</td>
<td valign="top" align="left">48</td>
<td valign="top" align="left">49</td>
<td valign="top" align="left">50</td>
</tr> <tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left">471</td>
<td valign="top" align="left">354</td>
<td valign="top" align="left">358</td>
<td valign="top" align="left">365</td>
<td valign="top" align="left">603</td>
<td valign="top" align="left">402</td>
<td valign="top" align="left">412</td>
<td valign="top" align="left">360</td>
<td valign="top" align="left">737</td>
<td valign="top" align="left">845</td>
</tr> <tr>
<td valign="top" align="left">The length of a word</td>
<td valign="top" align="left"><bold>51</bold></td>
<td valign="top" align="left">52</td>
<td valign="top" align="left">53</td>
<td valign="top" align="left">54</td>
<td valign="top" align="left">55</td>
<td valign="top" align="left">56</td>
<td valign="top" align="left">57</td>
<td valign="top" align="left">58</td>
<td valign="top" align="left">59</td>
<td valign="top" align="left">60</td>
</tr> <tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left"><bold>2,608</bold></td>
<td valign="top" align="left">756</td>
<td valign="top" align="left">613</td>
<td valign="top" align="left">453</td>
<td valign="top" align="left">427</td>
<td valign="top" align="left">564</td>
<td valign="top" align="left">665</td>
<td valign="top" align="left">466</td>
<td valign="top" align="left">440</td>
<td valign="top" align="left">396</td>
</tr> <tr>
<td valign="top" align="left">The length of a word</td>
<td valign="top" align="left">61</td>
<td valign="top" align="left">62</td>
<td valign="top" align="left">63</td>
<td valign="top" align="left">64</td>
<td valign="top" align="left">65</td>
<td valign="top" align="left">66</td>
<td valign="top" align="left">67</td>
<td valign="top" align="left"><bold>68</bold></td>
<td valign="top" align="left">69</td>
<td valign="top" align="left">70</td>
</tr> <tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left">497</td>
<td valign="top" align="left">560</td>
<td valign="top" align="left">494</td>
<td valign="top" align="left">463</td>
<td valign="top" align="left">523</td>
<td valign="top" align="left">671</td>
<td valign="top" align="left">701</td>
<td valign="top" align="left"><bold>1,981</bold></td>
<td valign="top" align="left">758</td>
<td valign="top" align="left">754</td>
</tr> <tr>
<td valign="top" align="left">The length of a word</td>
<td valign="top" align="left">71</td>
<td valign="top" align="left">72</td>
<td valign="top" align="left">73</td>
<td valign="top" align="left">74</td>
<td valign="top" align="left">75</td>
<td valign="top" align="left">76</td>
<td valign="top" align="left">77</td>
<td valign="top" align="left">78</td>
<td valign="top" align="left">79</td>
<td valign="top" align="left">80</td>
</tr> <tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left">529</td>
<td valign="top" align="left">468</td>
<td valign="top" align="left">595</td>
<td valign="top" align="left">594</td>
<td valign="top" align="left">600</td>
<td valign="top" align="left">385</td>
<td valign="top" align="left">473</td>
<td valign="top" align="left">570</td>
<td valign="top" align="left">567</td>
<td valign="top" align="left">579</td>
</tr> <tr>
<td valign="top" align="left">The length of a word</td>
<td valign="top" align="left">81</td>
<td valign="top" align="left">82</td>
<td valign="top" align="left">83</td>
<td valign="top" align="left">84</td>
<td valign="top" align="left"><bold>85</bold></td>
<td valign="top" align="left">86</td>
<td valign="top" align="left">87</td>
<td valign="top" align="left">88</td>
<td valign="top" align="left">89</td>
<td valign="top" align="left">90</td>
</tr> <tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left">501</td>
<td valign="top" align="left">435</td>
<td valign="top" align="left">667</td>
<td valign="top" align="left">717</td>
<td valign="top" align="left"><bold>2,011</bold></td>
<td valign="top" align="left">775</td>
<td valign="top" align="left">679</td>
<td valign="top" align="left">544</td>
<td valign="top" align="left">532</td>
<td valign="top" align="left">512</td>
</tr> <tr>
<td valign="top" align="left">The length of a word</td>
<td valign="top" align="left">91</td>
<td valign="top" align="left">92</td>
<td valign="top" align="left">93</td>
<td valign="top" align="left">94</td>
<td valign="top" align="left">95</td>
<td valign="top" align="left">96</td>
<td valign="top" align="left">97</td>
<td valign="top" align="left">98</td>
<td valign="top" align="left">99</td>
<td valign="top" align="left">100</td>
</tr> <tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left">626</td>
<td valign="top" align="left">586</td>
<td valign="top" align="left">495</td>
<td valign="top" align="left">552</td>
<td valign="top" align="left">541</td>
<td valign="top" align="left">631</td>
<td valign="top" align="left">472</td>
<td valign="top" align="left">524</td>
<td valign="top" align="left">448</td>
<td valign="top" align="left">641</td>
</tr> <tr>
<td valign="top" align="left">The length of a word</td>
<td valign="top" align="left">101</td>
<td valign="top" align="left"><bold>102</bold></td>
<td valign="top" align="left">103</td>
<td valign="top" align="left">104</td>
<td valign="top" align="left">105</td>
<td valign="top" align="left">106</td>
<td valign="top" align="left">107</td>
<td valign="top" align="left">108</td>
<td valign="top" align="left">109</td>
<td valign="top" align="left">110</td>
</tr> <tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left">678</td>
<td valign="top" align="left"><bold>1,527</bold></td>
<td valign="top" align="left">702</td>
<td valign="top" align="left">688</td>
<td valign="top" align="left">495</td>
<td valign="top" align="left">498</td>
<td valign="top" align="left">561</td>
<td valign="top" align="left">621</td>
<td valign="top" align="left">587</td>
<td valign="top" align="left">527</td>
</tr> <tr>
<td valign="top" align="left">The length of a word</td>
<td valign="top" align="left">111</td>
<td valign="top" align="left">112</td>
<td valign="top" align="left">113</td>
<td valign="top" align="left">114</td>
<td valign="top" align="left">115</td>
<td valign="top" align="left">116</td>
<td valign="top" align="left">117</td>
<td valign="top" align="left">118</td>
<td valign="top" align="left"><bold>119</bold></td>
<td valign="top" align="left">120</td>
</tr> <tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left">521</td>
<td valign="top" align="left">457</td>
<td valign="top" align="left">632</td>
<td valign="top" align="left">556</td>
<td valign="top" align="left">518</td>
<td valign="top" align="left">546</td>
<td valign="top" align="left">692</td>
<td valign="top" align="left">697</td>
<td valign="top" align="left"><bold>1,021</bold></td>
<td valign="top" align="left">694</td>
</tr> <tr>
<td valign="top" align="left">The length of a word</td>
<td valign="top" align="left">121</td>
<td valign="top" align="left">122</td>
<td valign="top" align="left">123</td>
<td valign="top" align="left">124</td>
<td valign="top" align="left">125</td>
<td valign="top" align="left">126</td>
<td valign="top" align="left">127</td>
<td valign="top" align="left">128</td>
<td/>
<td/>
</tr> <tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left">608</td>
<td valign="top" align="left">558</td>
<td valign="top" align="left">631</td>
<td valign="top" align="left">546</td>
<td valign="top" align="left">568</td>
<td valign="top" align="left">560</td>
<td valign="top" align="left">421</td>
<td valign="top" align="left">582</td>
<td/>
<td/>
</tr></tbody>
</table>
<table-wrap-foot>
<p>The total number of shorts is 10000. The length of word that is multiple of <italic>p</italic> is marked with bold font.</p>
</table-wrap-foot>
</table-wrap>


<p>The data for the standard circuit for fingerprinting are tabulated in <xref ref-type="table" rid="T2">Table 2</xref>.</p>
<table-wrap position="float" id="T2">
<label>Table 2</label>
<caption><p>The number of shots that return accepting state for different lengths of the word for the original automaton of <italic>MOD</italic><sub>17</sub> on a noisy device.</p></caption>
<table frame="box" rules="all">
<thead>
<tr>
<th valign="top" align="left"><bold>The length of a word</bold></th>
<th valign="top" align="left"><bold>1</bold></th>
<th valign="top" align="left"><bold>2</bold></th>
<th valign="top" align="left"><bold>3</bold></th>
<th valign="top" align="left"><bold>4</bold></th>
<th valign="top" align="left"><bold>5</bold></th>
<th valign="top" align="left"><bold>6</bold></th>
<th valign="top" align="left"><bold>7</bold></th>
<th valign="top" align="left"><bold>8</bold></th>
<th valign="top" align="left"><bold>9</bold></th>
<th valign="top" align="left"><bold>10</bold></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left">4,042</td>
<td valign="top" align="left">82</td>
<td valign="top" align="left">654</td>
<td valign="top" align="left">388</td>
<td valign="top" align="left">217</td>
<td valign="top" align="left">463</td>
<td valign="top" align="left">280</td>
<td valign="top" align="left">210</td>
<td valign="top" align="left">364</td>
<td valign="top" align="left">318</td>
</tr> <tr>
<td valign="top" align="left">The length of a word</td>
<td valign="top" align="left">11</td>
<td valign="top" align="left">12</td>
<td valign="top" align="left">13</td>
<td valign="top" align="left">14</td>
<td valign="top" align="left">15</td>
<td valign="top" align="left">16</td>
<td valign="top" align="left"><bold>17</bold></td>
<td valign="top" align="left">18</td>
<td valign="top" align="left">19</td>
<td valign="top" align="left">20</td>
</tr> <tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left">596</td>
<td valign="top" align="left">459</td>
<td valign="top" align="left">311</td>
<td valign="top" align="left">419</td>
<td valign="top" align="left">465</td>
<td valign="top" align="left">558</td>
<td valign="top" align="left"><bold>1,005</bold></td>
<td valign="top" align="left">589</td>
<td valign="top" align="left">324</td>
<td valign="top" align="left">547</td>
</tr> <tr>
<td valign="top" align="left">The length of a word</td>
<td valign="top" align="left">21</td>
<td valign="top" align="left">22</td>
<td valign="top" align="left">23</td>
<td valign="top" align="left">24</td>
<td valign="top" align="left">25</td>
<td valign="top" align="left">26</td>
<td valign="top" align="left">27</td>
<td valign="top" align="left">28</td>
<td valign="top" align="left">29</td>
<td valign="top" align="left">30</td>
</tr> <tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left">561</td>
<td valign="top" align="left">366</td>
<td valign="top" align="left">467</td>
<td valign="top" align="left">446</td>
<td valign="top" align="left">528</td>
<td valign="top" align="left">649</td>
<td valign="top" align="left">823</td>
<td valign="top" align="left">459</td>
<td valign="top" align="left">622</td>
<td valign="top" align="left">659</td>
</tr> <tr>
<td valign="top" align="left">The length of a word</td>
<td valign="top" align="left">31</td>
<td valign="top" align="left">32</td>
<td valign="top" align="left">33</td>
<td valign="top" align="left"><bold>34</bold></td>
<td valign="top" align="left">35</td>
<td valign="top" align="left">36</td>
<td valign="top" align="left">37</td>
<td valign="top" align="left">38</td>
<td valign="top" align="left">39</td>
<td valign="top" align="left">40</td>
</tr> <tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left">372</td>
<td valign="top" align="left">441</td>
<td valign="top" align="left">735</td>
<td valign="top" align="left"><bold>1,053</bold></td>
<td valign="top" align="left">662</td>
<td valign="top" align="left">410</td>
<td valign="top" align="left">450</td>
<td valign="top" align="left">637</td>
<td valign="top" align="left">618</td>
<td valign="top" align="left">507</td>
</tr> <tr>
<td valign="top" align="left">The length of a word</td>
<td valign="top" align="left">41</td>
<td valign="top" align="left">42</td>
<td valign="top" align="left">43</td>
<td valign="top" align="left">44</td>
<td valign="top" align="left">45</td>
<td valign="top" align="left">46</td>
<td valign="top" align="left">47</td>
<td valign="top" align="left">48</td>
<td valign="top" align="left">49</td>
<td valign="top" align="left">50</td>
</tr> <tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left">614</td>
<td valign="top" align="left">623</td>
<td valign="top" align="left">524</td>
<td valign="top" align="left">517</td>
<td valign="top" align="left">545</td>
<td valign="top" align="left">534</td>
<td valign="top" align="left">608</td>
<td valign="top" align="left">626</td>
<td valign="top" align="left">476</td>
<td valign="top" align="left">634</td>
</tr> <tr>
<td valign="top" align="left">The length of a word</td>
<td valign="top" align="left"><bold>51</bold></td>
<td valign="top" align="left">52</td>
<td valign="top" align="left">53</td>
<td valign="top" align="left">54</td>
<td valign="top" align="left">55</td>
<td valign="top" align="left">56</td>
<td valign="top" align="left">57</td>
<td valign="top" align="left">58</td>
<td valign="top" align="left">59</td>
<td valign="top" align="left">60</td>
</tr> <tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left"><bold>746</bold></td>
<td valign="top" align="left">712</td>
<td valign="top" align="left">604</td>
<td valign="top" align="left">500</td>
<td valign="top" align="left">531</td>
<td valign="top" align="left">513</td>
<td valign="top" align="left">624</td>
<td valign="top" align="left">571</td>
<td valign="top" align="left">602</td>
<td valign="top" align="left">571</td>
</tr> <tr>
<td valign="top" align="left">The length of a word</td>
<td valign="top" align="left">61</td>
<td valign="top" align="left">62</td>
<td valign="top" align="left">63</td>
<td valign="top" align="left">64</td>
<td valign="top" align="left">65</td>
<td valign="top" align="left">66</td>
<td valign="top" align="left">67</td>
<td valign="top" align="left"><bold>68</bold></td>
<td valign="top" align="left">69</td>
<td valign="top" align="left">70</td>
</tr> <tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left">475</td>
<td valign="top" align="left">635</td>
<td valign="top" align="left">558</td>
<td valign="top" align="left">569</td>
<td valign="top" align="left">654</td>
<td valign="top" align="left">549</td>
<td valign="top" align="left">767</td>
<td valign="top" align="left"><bold>1,160</bold></td>
<td valign="top" align="left">727</td>
<td valign="top" align="left">603</td>
</tr> <tr>
<td valign="top" align="left">The length of a word</td>
<td valign="top" align="left">71</td>
<td valign="top" align="left">72</td>
<td valign="top" align="left">73</td>
<td valign="top" align="left">74</td>
<td valign="top" align="left">75</td>
<td valign="top" align="left">76</td>
<td valign="top" align="left">77</td>
<td valign="top" align="left">78</td>
<td valign="top" align="left">79</td>
<td valign="top" align="left">80</td>
</tr> <tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left">631</td>
<td valign="top" align="left">607</td>
<td valign="top" align="left">565</td>
<td valign="top" align="left">617</td>
<td valign="top" align="left">576</td>
<td valign="top" align="left">564</td>
<td valign="top" align="left">542</td>
<td valign="top" align="left">609</td>
<td valign="top" align="left">625</td>
<td valign="top" align="left">620</td>
</tr> <tr>
<td valign="top" align="left">The length of a word</td>
<td valign="top" align="left">81</td>
<td valign="top" align="left">82</td>
<td valign="top" align="left">83</td>
<td valign="top" align="left">84</td>
<td valign="top" align="left"><bold>85</bold></td>
<td valign="top" align="left">86</td>
<td valign="top" align="left">87</td>
<td valign="top" align="left">88</td>
<td valign="top" align="left">89</td>
<td valign="top" align="left">90</td>
</tr> <tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left">573</td>
<td valign="top" align="left">610</td>
<td valign="top" align="left">622</td>
<td valign="top" align="left">617</td>
<td valign="top" align="left"><bold>712</bold></td>
<td valign="top" align="left">630</td>
<td valign="top" align="left">629</td>
<td valign="top" align="left">591</td>
<td valign="top" align="left">628</td>
<td valign="top" align="left">566</td>
</tr> <tr>
<td valign="top" align="left">The length of a word</td>
<td valign="top" align="left">91</td>
<td valign="top" align="left">92</td>
<td valign="top" align="left">93</td>
<td valign="top" align="left">94</td>
<td valign="top" align="left">95</td>
<td valign="top" align="left">96</td>
<td valign="top" align="left">97</td>
<td valign="top" align="left">98</td>
<td valign="top" align="left">99</td>
<td valign="top" align="left">100</td>
</tr> <tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left">647</td>
<td valign="top" align="left">623</td>
<td valign="top" align="left">579</td>
<td valign="top" align="left">608</td>
<td valign="top" align="left">654</td>
<td valign="top" align="left">649</td>
<td valign="top" align="left">629</td>
<td valign="top" align="left">611</td>
<td valign="top" align="left">625</td>
<td valign="top" align="left">593</td>
</tr> <tr>
<td valign="top" align="left">The length of a word</td>
<td valign="top" align="left">101</td>
<td valign="top" align="left"><bold>102</bold></td>
<td valign="top" align="left">103</td>
<td valign="top" align="left">104</td>
<td valign="top" align="left">105</td>
<td valign="top" align="left">106</td>
<td valign="top" align="left">107</td>
<td valign="top" align="left">108</td>
<td valign="top" align="left">109</td>
<td valign="top" align="left">110</td>
</tr> <tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left">654</td>
<td valign="top" align="left"><bold>682</bold></td>
<td valign="top" align="left">628</td>
<td valign="top" align="left">592</td>
<td valign="top" align="left">604</td>
<td valign="top" align="left">628</td>
<td valign="top" align="left">639</td>
<td valign="top" align="left">589</td>
<td valign="top" align="left">614</td>
<td valign="top" align="left">652</td>
</tr> <tr>
<td valign="top" align="left">The length of a word</td>
<td valign="top" align="left">111</td>
<td valign="top" align="left">112</td>
<td valign="top" align="left">113</td>
<td valign="top" align="left">114</td>
<td valign="top" align="left">115</td>
<td valign="top" align="left">116</td>
<td valign="top" align="left">117</td>
<td valign="top" align="left">118</td>
<td valign="top" align="left"><bold>119</bold></td>
<td valign="top" align="left">120</td>
</tr> <tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left">625</td>
<td valign="top" align="left">637</td>
<td valign="top" align="left">599</td>
<td valign="top" align="left">606</td>
<td valign="top" align="left">612</td>
<td valign="top" align="left">684</td>
<td valign="top" align="left">648</td>
<td valign="top" align="left">627</td>
<td valign="top" align="left"><bold>828</bold></td>
<td valign="top" align="left">655</td>
</tr> <tr>
<td valign="top" align="left">The length of a word</td>
<td valign="top" align="left">121</td>
<td valign="top" align="left">122</td>
<td valign="top" align="left">123</td>
<td valign="top" align="left">124</td>
<td valign="top" align="left">125</td>
<td valign="top" align="left">126</td>
<td valign="top" align="left">127</td>
<td valign="top" align="left">128</td>
<td/>
<td/>
</tr> <tr>
<td valign="top" align="left">The number of accepted shorts</td>
<td valign="top" align="left">603</td>
<td valign="top" align="left">662</td>
<td valign="top" align="left">635</td>
<td valign="top" align="left">637</td>
<td valign="top" align="left">591</td>
<td valign="top" align="left">651</td>
<td valign="top" align="left">613</td>
<td valign="top" align="left">624</td>
<td/>
<td/>
</tr></tbody>
</table>
<table-wrap-foot>
<p>The total number of shorts is 10000. The length of word that is multiple of <italic>p</italic> is marked with bold font.</p>
</table-wrap-foot>
</table-wrap>

</sec>
</body>
<back>
<sec sec-type="data-availability" id="s7">
<title>Data availability statement</title>
<p>The datasets presented in this study can be found in online repositories. The names of the repository/repositories and accession number(s) can be found in the article/supplementary material.</p>
</sec>
<sec sec-type="author-contributions" id="s8">
<title>Author contributions</title>
<p>MZ: Conceptualization, Formal analysis, Investigation, Methodology, Project administration, Writing &#x02013; original draft. AK: Data curation, Formal analysis, Investigation, Methodology, Validation, Writing &#x02013; original draft. KK: Data curation, Formal analysis, Investigation, Methodology, Visualization, Writing &#x02013; review &#x00026; editing.</p>
</sec>
<sec sec-type="funding-information" id="s9">
<title>Funding</title>
<p>The author(s) declare that financial support was received for the research and/or publication of this article. The study was funded by the subsidy allocated to Kazan Federal University for the state assignment in the sphere of scientific activities (Project No. FZSM-2024-0013). The research in Section 4.1 is supported by Russian Science Foundation Grant 24-21-00406, <ext-link ext-link-type="uri" xlink:href="https://rscf.ru/en/project/24-21-00406/">https://rscf.ru/en/project/24-21-00406/</ext-link>. MZ acknowledges financial support under the National Recovery and Resilience Plan (PNRR), Mission 4, Component 2, Investment 1.4, Call for tender No. 1031 published on 17/06/2022 by the Italian Ministry of University and Research (MUR), funded by the European Union-NextGenerationEU, Project Title &#x0201C;National Centre for HPC, Big Data and Quantum Computing (HPC)&#x0201D;-Code National Center CN00000013-CUP D43C22001240001.</p>
</sec>
<sec sec-type="COI-statement" id="conf1">
<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="ai-statement" id="s10">
<title>Generative AI statement</title>
<p>The author(s) declare that no Gen AI was used in the creation of this manuscript.</p></sec>
<sec sec-type="disclaimer" id="s11">
<title>Publisher&#x00027;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>
<fn-group>
<fn id="fn0001"><p><sup>1</sup>Quantum volume is an exponent of the maximal square circuit size that can be implemented on the quantum computer (Cross et al., <xref ref-type="bibr" rid="B31">2019</xref>; Wack et al., <xref ref-type="bibr" rid="B75">2021</xref>).</p></fn>
</fn-group>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ablayev</surname> <given-names>F.</given-names></name> <name><surname>Ablayev</surname> <given-names>M.</given-names></name></person-group> (<year>2015</year>). <article-title>On the concept of cryptographic quantum hashing</article-title>. <source>Laser Phys. Lett</source>. <volume>12</volume>:<fpage>125204</fpage>. <pub-id pub-id-type="doi">10.1088/1612-2011/12/12/125204</pub-id></citation>
</ref>
<ref id="B2">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Ablayev</surname> <given-names>F.</given-names></name> <name><surname>Ablayev</surname> <given-names>M.</given-names></name> <name><surname>Khadiev</surname> <given-names>K.</given-names></name> <name><surname>Salihova</surname> <given-names>N.</given-names></name> <name><surname>Vasiliev</surname> <given-names>A.</given-names></name></person-group> (<year>2022</year>). <article-title>&#x0201C;Quantum algorithms for string processing,&#x0201D;</article-title> in <source>Mesh Methods for Boundary-Value Problems and Applications, Vol. 141</source> (<publisher-loc>Lecture Notes in Computational Science and Engineering</publisher-loc>), <fpage>1</fpage>&#x02013;<lpage>14</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-030-87809-2_1</pub-id></citation>
</ref>
<ref id="B3">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ablayev</surname> <given-names>F.</given-names></name> <name><surname>Ablayev</surname> <given-names>M.</given-names></name> <name><surname>Khadiev</surname> <given-names>K.</given-names></name> <name><surname>Vasiliev</surname> <given-names>A.</given-names></name></person-group> (<year>2018a</year>). <article-title>Classical and quantum computations with restricted memory</article-title>. <source>LNCS</source> <volume>11011</volume>, <fpage>129</fpage>&#x02013;<lpage>155</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-319-98355-4_9</pub-id></citation>
</ref>
<ref id="B4">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ablayev</surname> <given-names>F.</given-names></name> <name><surname>Ablayev</surname> <given-names>M.</given-names></name> <name><surname>Vasiliev</surname> <given-names>A.</given-names></name></person-group> (<year>2016a</year>). On the balanced quantum hashing,&#x0201D; in <italic>J. Physics: Conference Series</italic> (IOP Publishing), <fpage>012019</fpage>. <pub-id pub-id-type="doi">10.1088/1742-6596/681/1/012019</pub-id></citation>
</ref>
<ref id="B5">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Ablayev</surname> <given-names>F.</given-names></name> <name><surname>Ablayev</surname> <given-names>M.</given-names></name> <name><surname>Vasiliev</surname> <given-names>A.</given-names></name></person-group> (<year>2018b</year>). <article-title>&#x0201C;Computing quantum hashing in the model of quantum branching programs,&#x0201D;</article-title> in <source>AIP Conference Proceedings</source> (<publisher-loc>AIP Publishing LLC</publisher-loc>), <fpage>020020</fpage>. <pub-id pub-id-type="doi">10.1063/1.5025458</pub-id></citation>
</ref>
<ref id="B6">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Ablayev</surname> <given-names>F.</given-names></name> <name><surname>Ablayev</surname> <given-names>M.</given-names></name> <name><surname>Vasiliev</surname> <given-names>A.</given-names></name></person-group> (<year>2020</year>). <article-title>&#x0201C;Quantum hashing and fingerprinting for quantum cryptography and computations,&#x0201D;</article-title> in <source>International Computer Science Symposium in Russia</source> (<publisher-loc>Springer</publisher-loc>), <fpage>1</fpage>&#x02013;<lpage>15</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-030-50026-9_1</pub-id></citation>
</ref>
<ref id="B7">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ablayev</surname> <given-names>F.</given-names></name> <name><surname>Ablayev</surname> <given-names>M.</given-names></name> <name><surname>Vasiliev</surname> <given-names>A.</given-names></name> <name><surname>Ziatdinov</surname> <given-names>M.</given-names></name></person-group> (<year>2016b</year>). <article-title>Quantum fingerprinting and quantum hashing. Computational and cryptographical aspects</article-title>. <source>Baltic J. Modern Comput</source>. <volume>4</volume>, <fpage>860</fpage>&#x02013;<lpage>875</lpage>. <pub-id pub-id-type="doi">10.22364/bjmc.2016.4.4.17</pub-id></citation>
</ref>
<ref id="B8">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ablayev</surname> <given-names>F.</given-names></name> <name><surname>Gainutdinova</surname> <given-names>A.</given-names></name> <name><surname>Karpinski</surname> <given-names>M.</given-names></name> <name><surname>Moore</surname> <given-names>C.</given-names></name> <name><surname>Pollett</surname> <given-names>C.</given-names></name></person-group> (<year>2005</year>). <article-title>On the computational power of probabilistic and quantum branching program</article-title>. <source>Inf. Comput</source>. <volume>203</volume>, <fpage>145</fpage>&#x02013;<lpage>162</lpage>. <pub-id pub-id-type="doi">10.1016/j.ic.2005.04.003</pub-id></citation>
</ref>
<ref id="B9">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ablayev</surname> <given-names>F.</given-names></name> <name><surname>Gainutdinova</surname> <given-names>A.</given-names></name> <name><surname>Khadiev</surname> <given-names>K.</given-names></name> <name><surname>Yakary&#x00131;lmaz</surname> <given-names>A.</given-names></name></person-group> (<year>2016c</year>). <article-title>Very narrow quantum OBDDs and width hierarchies for classical OBDDs</article-title>. <source>Lobachevskii J. Mathem</source>. <volume>37</volume>, <fpage>670</fpage>&#x02013;<lpage>682</lpage>. <pub-id pub-id-type="doi">10.1134/S199508021606007X</pub-id></citation>
</ref>
<ref id="B10">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ablayev</surname> <given-names>F.</given-names></name> <name><surname>Salikhova</surname> <given-names>N.</given-names></name> <name><surname>Ablayev</surname> <given-names>M.</given-names></name></person-group> (<year>2024</year>). <article-title>Hybrid classical-quantum text search based on hashing</article-title>. <source>Mathematics</source> <volume>12</volume>:<fpage>1858</fpage>. <pub-id pub-id-type="doi">10.3390/math12121858</pub-id></citation>
</ref>
<ref id="B11">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ablayev</surname> <given-names>F.</given-names></name> <name><surname>Vasiliev</surname> <given-names>A.</given-names></name></person-group> (<year>2009</year>). <article-title>On quantum realisation of boolean functions by the fingerprinting technique</article-title>. <source>Discrete Mathem. Applic</source>. <volume>19</volume>, <fpage>555</fpage>&#x02013;<lpage>572</lpage>. <pub-id pub-id-type="doi">10.1515/DMA.2009.037</pub-id></citation>
</ref>
<ref id="B12">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Ablayev</surname> <given-names>F.</given-names></name> <name><surname>Vasiliev</surname> <given-names>A.</given-names></name></person-group> (<year>2011</year>). <article-title>&#x0201C;Classical and quantum parallelism in the quantum fingerprinting method,&#x0201D;</article-title> in <source>International Conference on Parallel Computing Technologies</source> (<publisher-loc>Springer</publisher-loc>), <fpage>1</fpage>&#x02013;<lpage>12</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-642-23178-0_1</pub-id></citation>
</ref>
<ref id="B13">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ablayev</surname> <given-names>F.</given-names></name> <name><surname>Vasiliev</surname> <given-names>A.</given-names></name></person-group> (<year>2013a</year>). <article-title>Cryptographic quantum hashing</article-title>. <source>Laser Phys. Lett</source>. <volume>11</volume>:<fpage>025202</fpage>. <pub-id pub-id-type="doi">10.1088/1612-2011/11/2/025202</pub-id></citation>
</ref>
<ref id="B14">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ablayev</surname> <given-names>F.</given-names></name> <name><surname>Vasiliev</surname> <given-names>A.</given-names></name></person-group> (<year>2014</year>). <article-title>&#x0201C;Computing boolean functions via quantum hashing,&#x0201D;</article-title> in <source>Computing with New Resources: Essays Dedicated to Jozef Gruska on the Occasion of His 80th Birthday</source>, 149&#x02013;160. <pub-id pub-id-type="doi">10.1007/978-3-319-13350-8_11</pub-id></citation>
</ref>
<ref id="B15">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Ablayev</surname> <given-names>F.</given-names></name> <name><surname>Vasiliev</surname> <given-names>A.</given-names></name></person-group> (<year>2020</year>). <article-title>&#x0201C;Quantum hashing and fourier transform,&#x0201D;</article-title> in <source>Journal of Physics: Conference Series</source> (<publisher-loc>IOP Publishing</publisher-loc>), <fpage>012001</fpage>. <pub-id pub-id-type="doi">10.1088/1742-6596/1680/1/012001</pub-id></citation>
</ref>
<ref id="B16">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Ablayev</surname> <given-names>F.</given-names></name> <name><surname>Vasiliev</surname> <given-names>A.</given-names></name></person-group> (<year>2022</year>). <article-title>&#x0201C;Quantum hashing on the high-dimensional states,&#x0201D;</article-title> in <source>International Conference on Micro-and Nano-Electronics 2021</source> (<publisher-loc>SPIE</publisher-loc>), <fpage>565</fpage>&#x02013;<lpage>570</lpage>. <pub-id pub-id-type="doi">10.1117/12.2624628</pub-id></citation>
</ref>
<ref id="B17">
<citation citation-type="web"><person-group person-group-type="author"><name><surname>Ablayev</surname> <given-names>F. M.</given-names></name> <name><surname>Ablayev</surname> <given-names>M. F.</given-names></name> <name><surname>Vasilev</surname> <given-names>A. V.</given-names></name></person-group> (<year>2014</year>). <article-title>Universal quantum hashing. Uchenye Zapiski Kazanskogo Universiteta</article-title>. <source>Seriya Fiziko-Matematicheskie Nauki</source> <volume>156</volume>, <fpage>7</fpage>&#x02013;<lpage>18</lpage>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://www.mathnet.ru/eng/uzku1261">https://www.mathnet.ru/eng/uzku1261</ext-link></citation>
</ref>
<ref id="B18">
<citation citation-type="web"><person-group person-group-type="author"><name><surname>Ablayev</surname> <given-names>F. M.</given-names></name> <name><surname>Vasiliev</surname> <given-names>A.</given-names></name></person-group> (<year>2013b</year>). <article-title>Algorithms for quantum branching programs based on fingerprinting</article-title>. <source>Int. J. Softw. Inform</source>. <volume>7</volume>, <fpage>485</fpage>&#x02013;<lpage>500</lpage>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://openurl.ebsco.com/EPDB%3Agcd%3A12%3A22738220/detailv2?sid=ebsco%3Aplink%3Ascholar&#x00026;id=ebsco%3Agcd%3A95709941&#x00026;crl=c&#x00026;link_origin=scholar.google.com">https://openurl.ebsco.com/EPDB%3Agcd%3A12%3A22738220/detailv2?sid=ebsco%3Aplink%3Ascholar&#x00026;id=ebsco%3Agcd%3A95709941&#x00026;crl=c&#x00026;link_origin=scholar.google.com</ext-link></citation>
</ref>
<ref id="B19">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ajtai</surname> <given-names>M.</given-names></name> <name><surname>Iwaniec</surname> <given-names>H.</given-names></name> <name><surname>Koml&#x000F3;s</surname> <given-names>J.</given-names></name> <name><surname>Pintz</surname> <given-names>J.</given-names></name> <name><surname>Szemer&#x000E9;di</surname> <given-names>E.</given-names></name></person-group> (<year>1990</year>). <article-title>Construction of a thin set with small fourier coefficients</article-title>. <source>Bull. London Mathem. Soc</source>. <volume>22</volume>, <fpage>583</fpage>&#x02013;<lpage>590</lpage>. <pub-id pub-id-type="doi">10.1112/blms/22.6.583</pub-id></citation>
</ref>
<ref id="B20">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Ambainis</surname> <given-names>A.</given-names></name> <name><surname>Freivalds</surname> <given-names>R.</given-names></name></person-group> (<year>1998</year>). <article-title>&#x0201C;1-way quantum finite automata: strengths, weaknesses and generalizations,&#x0201D;</article-title> in <source>FOCS&#x00027;98</source> (<publisher-loc>IEEE</publisher-loc>), <fpage>332</fpage>&#x02013;<lpage>341</lpage>. <pub-id pub-id-type="doi">10.1109/SFCS.1998.743469</pub-id></citation>
</ref>
<ref id="B21">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ambainis</surname> <given-names>A.</given-names></name> <name><surname>Nahimovs</surname> <given-names>N.</given-names></name></person-group> (<year>2009</year>). <article-title>Improved constructions of quantum automata</article-title>. <source>Theor. Comput. Sci</source>. <volume>410</volume>, <fpage>1916</fpage>&#x02013;<lpage>1922</lpage>. <pub-id pub-id-type="doi">10.1016/j.tcs.2009.01.027</pub-id></citation>
</ref>
<ref id="B22">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ambainis</surname> <given-names>A.</given-names></name> <name><surname>Nayak</surname> <given-names>A.</given-names></name> <name><surname>Ta-Shma</surname> <given-names>A.</given-names></name> <name><surname>Vazirani</surname> <given-names>U.</given-names></name></person-group> (<year>2002</year>). <article-title>Dense quantum coding and quantum finite automata</article-title>. <source>J. ACM</source> <volume>49</volume>, <fpage>496</fpage>&#x02013;<lpage>511</lpage>. <pub-id pub-id-type="doi">10.1145/581771.581773</pub-id></citation>
</ref>
<ref id="B23">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ambainis</surname> <given-names>A.</given-names></name> <name><surname>Watrous</surname> <given-names>J.</given-names></name></person-group> (<year>2002</year>). <article-title>Two-way finite automata with quantum and classical states</article-title>. <source>Theor. Comput. Sci</source>. <volume>287</volume>, <fpage>299</fpage>&#x02013;<lpage>311</lpage>. <pub-id pub-id-type="doi">10.1016/S0304-3975(02)00138-X</pub-id></citation>
</ref>
<ref id="B24">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ambainis</surname> <given-names>A.</given-names></name> <name><surname>Yakary&#x00131;lmaz</surname> <given-names>A.</given-names></name></person-group> (<year>2021</year>). <article-title>&#x0201C;Automata and quantum computing,&#x0201D;</article-title> in <source>Handbook of Automata Theory</source>, ed. J. &#x000C9;ric Pin (European Mathematical Society Publishing House), <fpage>1457</fpage>&#x02013;<lpage>1493</lpage>. <pub-id pub-id-type="doi">10.4171/automata-2/17</pub-id></citation>
</ref>
<ref id="B25">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bergholm</surname> <given-names>V.</given-names></name> <name><surname>Vartiainen</surname> <given-names>J. J.</given-names></name> <name><surname>M&#x000F6;tt&#x000F6;nen</surname> <given-names>M.</given-names></name> <name><surname>Salomaa</surname> <given-names>M. M.</given-names></name></person-group> (<year>2005</year>). <article-title>Quantum circuits with uniformly controlled one-qubit gates</article-title>. <source>Phys. Rev. A</source> <volume>71</volume>:<fpage>052330</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevA.71.052330</pub-id></citation>
</ref>
<ref id="B26">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bertoni</surname> <given-names>A.</given-names></name></person-group> (<year>1975</year>). <source>The Solution of Problems Relative to Probabilistic Automata in the Frame of the Formal Languages Theory</source>. GI-4. Jahrestagung: <volume>Berlin</volume>, <fpage>107</fpage>&#x02013;<lpage>112</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-662-40087-6_6</pub-id></citation>
</ref>
<ref id="B27">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bertoni</surname> <given-names>A.</given-names></name> <name><surname>Mauri</surname> <given-names>G.</given-names></name> <name><surname>Torelli</surname> <given-names>M.</given-names></name></person-group> (<year>1977</year>). <article-title>&#x0201C;Some recursively unsolvable problems relating to isolated cutpoints in probabilistic automata,&#x0201D;</article-title> in <source>Automata, Languages and Programming: Fourth Colloquium</source>, University of Turku, Finland (Springer), <fpage>87</fpage>&#x02013;<lpage>94</lpage>. <pub-id pub-id-type="doi">10.1007/3-540-08342-1_7</pub-id></citation>
</ref>
<ref id="B28">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Birkan</surname> <given-names>U.</given-names></name> <name><surname>Salehi</surname> <given-names>&#x000D6;.</given-names></name> <name><surname>Olejar</surname> <given-names>V.</given-names></name> <name><surname>Nurlu</surname> <given-names>C.</given-names></name> <name><surname>Yakary&#x00131;lmaz</surname> <given-names>A.</given-names></name></person-group> (<year>2021</year>). <article-title>&#x0201C;Implementing quantum finite automata algorithms on noisy devices,&#x0201D;</article-title> in <source>International Conference on Computational Science</source> (<publisher-loc>Springer</publisher-loc>), <fpage>3</fpage>&#x02013;<lpage>16</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-030-77980-1_1</pub-id></citation>
</ref>
<ref id="B29">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Buhrman</surname> <given-names>H.</given-names></name> <name><surname>Cleve</surname> <given-names>R.</given-names></name> <name><surname>Watrous</surname> <given-names>J.</given-names></name> <name><surname>de Wolf</surname> <given-names>R.</given-names></name></person-group> (<year>2001</year>). <article-title>Quantum fingerprinting</article-title>. <source>Phys. Rev. Lett</source>. <volume>87</volume>:<fpage>167902</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevLett.87.167902</pub-id><pub-id pub-id-type="pmid">11690244</pub-id></citation></ref>
<ref id="B30">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Chadha</surname> <given-names>R.</given-names></name> <name><surname>Sistla</surname> <given-names>A. P.</given-names></name> <name><surname>Viswanathan</surname> <given-names>M.</given-names></name></person-group> (<year>2013</year>). <article-title>&#x0201C;Probabilistic automata with isolated cut-points,&#x0201D;</article-title> in <source>International Symposium on Mathematical Foundations of Computer Science</source> (<publisher-loc>Springer</publisher-loc>), <fpage>254</fpage>&#x02013;<lpage>265</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-642-40313-2_24</pub-id></citation>
</ref>
<ref id="B31">
<citation citation-type="journal"><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>Sheldon</surname> <given-names>S.</given-names></name> <name><surname>Nation</surname> <given-names>P. D.</given-names></name> <name><surname>Gambetta</surname> <given-names>J. M.</given-names></name></person-group> (<year>2019</year>). <article-title>Validating quantum computers using randomized model circuits</article-title>. <source>Phys. Rev. A</source> <volume>100</volume>:<fpage>032328</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevA.100.032328</pub-id></citation>
</ref>
<ref id="B32">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gainutdinova</surname> <given-names>A.</given-names></name></person-group> (<year>2002</year>). <article-title>On relative complexity of quantum and classical branching programs</article-title>. <source>Discrete Mathem. Applic</source>. <volume>12</volume>, <fpage>515</fpage>&#x02013;<lpage>526</lpage>. <pub-id pub-id-type="doi">10.1515/dma-2002-0510</pub-id></citation>
</ref>
<ref id="B33">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Gainutdinova</surname> <given-names>A.</given-names></name> <name><surname>Yakary&#x00131;lmaz</surname> <given-names>A.</given-names></name></person-group> (<year>2015</year>). <article-title>&#x0201C;Unary probabilistic and quantum automata on promise problems,&#x0201D;</article-title> in <source>Developments in Language Theory</source> (<publisher-loc>Springer</publisher-loc>), <fpage>252</fpage>&#x02013;<lpage>263</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-319-21500-6_20</pub-id></citation>
</ref>
<ref id="B34">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gainutdinova</surname> <given-names>A.</given-names></name> <name><surname>Yakary&#x00131;lmaz</surname> <given-names>A.</given-names></name></person-group> (<year>2017</year>). <article-title>&#x0201C;Nondeterministic unitary obdds,&#x0201D;</article-title> in <source>Computer Science</source> - <italic>Theory and Applications</italic>- <italic>12th International Computer Science Symposium in Russia, CSR 2017, Kazan, Russia, June 8&#x02013;12, 2017, Proceedings, volume 10304 of Lecture Notes in Computer Science</italic> (Springer), <fpage>126</fpage>&#x02013;<lpage>140</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-319-58747-9_13</pub-id></citation>
</ref>
<ref id="B35">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gainutdinova</surname> <given-names>A.</given-names></name> <name><surname>Yakary&#x00131;lmaz</surname> <given-names>A.</given-names></name></person-group> (<year>2018</year>). <article-title>Unary probabilistic and quantum automata on promise problems</article-title>. <source>Quant. Inf. Proc</source>. <volume>17</volume>:<fpage>28</fpage>. <pub-id pub-id-type="doi">10.1007/s11128-017-1799-0</pub-id></citation>
</ref>
<ref id="B36">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Gimbert</surname> <given-names>H.</given-names></name> <name><surname>Oualhadj</surname> <given-names>Y.</given-names></name></person-group> (<year>2010</year>). <article-title>&#x0201C;Probabilistic automata on finite words: decidable and undecidable problems,&#x0201D;</article-title> in <source>Automata, Languages and Programming: 37th International Colloquium, ICALP 2010, Bordeaux, France, July 6&#x02013;10, 2010, Proceedings, Part II 37</source> (<publisher-loc>Springer</publisher-loc>), <fpage>527</fpage>&#x02013;<lpage>538</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-642-14162-1_44</pub-id></citation>
</ref>
<ref id="B37">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Hu</surname> <given-names>Y.</given-names></name> <name><surname>Melnyk</surname> <given-names>D.</given-names></name> <name><surname>Wang</surname> <given-names>Y.</given-names></name> <name><surname>Wattenhofer</surname> <given-names>R.</given-names></name></person-group> (<year>2020</year>). <article-title>&#x0201C;Space complexity of streaming algorithms on universal quantum computers,&#x0201D;</article-title> in <source>Theory and Applications of Models of Computation: 16th International Conference, TAMC 2020, Changsha, China, October 18&#x02013;20, 2020, Proceedings 16</source> (<publisher-loc>Springer</publisher-loc>), <fpage>275</fpage>&#x02013;<lpage>286</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-030-59267-7_24</pub-id></citation>
</ref>
<ref id="B38">
<citation citation-type="web"><person-group person-group-type="author"><collab>IBM</collab></person-group> (<year>2022</year>). <source>Eagle&#x00027;s quantum performance progress</source>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://www.ibm.com/quantum/blog/eagle-quantum-processor-performance">https://www.ibm.com/quantum/blog/eagle-quantum-processor-performance</ext-link> (accessed April 30, 2024).</citation>
</ref>
<ref id="B39">
<citation citation-type="web"><person-group person-group-type="author"><collab>IBM</collab></person-group> (<year>2025</year>). <source>Qiskit SDK v2.0.0. GenericBackendV2</source>. <ext-link ext-link-type="uri" xlink:href="https://docs.quantum.ibm.com/api/qiskit/qiskit.providers.fake_provider.GenericBackendV2">https://docs.quantum.ibm.com/api/qiskit/qiskit.providers.fake_provider.GenericBackendV2</ext-link> (accessed March 23, 2025).</citation>
</ref>
<ref id="B40">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>K&#x00101;lis</surname> <given-names>M.</given-names></name></person-group> (<year>2018</year>). <source>Kvantu algoritmu realiz&#x00101;cija fizisk&#x00101; kvantu dator&#x00101; (quantum algorithm implementation on a physical quantum computer)</source>. Master&#x00027;s thesis, University of Latvia.</citation>
</ref>
<ref id="B41">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Khadiev</surname> <given-names>K.</given-names></name> <name><surname>Khadieva</surname> <given-names>A.</given-names></name></person-group> (<year>2017</year>). <article-title>&#x0201C;Reordering method and hierarchies for quantum and classical ordered binary decision diagrams,&#x0201D;</article-title> in <source>CSR 2017</source> (<publisher-loc>Springer</publisher-loc>), <fpage>162</fpage>&#x02013;<lpage>175</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-319-58747-9_16</pub-id></citation>
</ref>
<ref id="B42">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Khadiev</surname> <given-names>K.</given-names></name> <name><surname>Khadieva</surname> <given-names>A.</given-names></name></person-group> (<year>2021</year>). <article-title>Quantum online streaming algorithms with logarithmic memory</article-title>. <source>Int. J. Theor. Phys</source>. <volume>60</volume>, <fpage>608</fpage>&#x02013;<lpage>616</lpage>. <pub-id pub-id-type="doi">10.1007/s10773-019-04209-1</pub-id></citation>
</ref>
<ref id="B43">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Khadiev</surname> <given-names>K.</given-names></name> <name><surname>Khadieva</surname> <given-names>A.</given-names></name></person-group> (<year>2022</year>). <article-title>Quantum and classical log-bounded automata for the online disjointness problem</article-title>. <source>Mathematics</source> <volume>10</volume>:<fpage>143</fpage>. <pub-id pub-id-type="doi">10.3390/math10010143</pub-id></citation>
</ref>
<ref id="B44">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Khadiev</surname> <given-names>K.</given-names></name> <name><surname>Khadieva</surname> <given-names>A.</given-names></name> <name><surname>Knop</surname> <given-names>A.</given-names></name></person-group> (<year>2022a</year>). <article-title>Exponential separation between quantum and classical ordered binary decision diagrams, reordering method and hierarchies</article-title>. <source>Nat. Comput</source>. <volume>22</volume>, <fpage>723</fpage>&#x02013;<lpage>736</lpage>. <pub-id pub-id-type="doi">10.1007/s11047-022-09904-3</pub-id></citation>
</ref>
<ref id="B45">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Khadiev</surname> <given-names>K.</given-names></name> <name><surname>Khadieva</surname> <given-names>A.</given-names></name> <name><surname>Mannapov</surname> <given-names>I.</given-names></name></person-group> (<year>2018</year>). <article-title>Quantum online algorithms with respect to space and advice complexity</article-title>. <source>Lobachevskii J. Mathem</source>. <volume>39</volume>, <fpage>1210</fpage>&#x02013;<lpage>1220</lpage>. <pub-id pub-id-type="doi">10.1134/S1995080218090421</pub-id></citation>
</ref>
<ref id="B46">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Khadiev</surname> <given-names>K.</given-names></name> <name><surname>Khadieva</surname> <given-names>A.</given-names></name> <name><surname>Ziatdinov</surname> <given-names>M.</given-names></name> <name><surname>Mannapov</surname> <given-names>I.</given-names></name> <name><surname>Kravchenko</surname> <given-names>D.</given-names></name> <name><surname>Rivosh</surname> <given-names>A.</given-names></name> <etal/></person-group>. (<year>2022b</year>). <article-title>Two-way and one-way quantum and classical automata with advice for online minimization problems</article-title>. <source>Theor. Comput. Sci</source>. <volume>920</volume>, <fpage>76</fpage>&#x02013;<lpage>94</lpage>. <pub-id pub-id-type="doi">10.1016/j.tcs.2022.02.026</pub-id></citation>
</ref>
<ref id="B47">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Khadiev</surname> <given-names>K.</given-names></name> <name><surname>Serov</surname> <given-names>D.</given-names></name></person-group> (<year>2025</year>). <article-title>&#x0201C;Quantum algorithm for the multiple string matching problem,&#x0201D;</article-title> in <source>International Conference on Current Trends in Theory and Practice of Computer Science</source> (<publisher-loc>Springer</publisher-loc>), <fpage>58</fpage>&#x02013;<lpage>69</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-031-82697-9_5</pub-id></citation>
</ref>
<ref id="B48">
<citation citation-type="journal"><person-group person-group-type="author"><collab>Khadiev K. and Khadieva A. Kravchenko D. Mannapov I. Rivosh A. Yamilov R.</collab></person-group> (<year>2023</year>). <article-title>Quantum versus classical online streaming algorithms with logarithmic size of memory</article-title>. <source>Lobachevskii J. Mathem</source>. <volume>44</volume>, <fpage>687</fpage>&#x02013;<lpage>698</lpage>. <pub-id pub-id-type="doi">10.1134/S1995080223020208</pub-id></citation>
</ref>
<ref id="B49">
<citation citation-type="web"><person-group person-group-type="author"><name><surname>Khadieva</surname> <given-names>A.</given-names></name></person-group> (<year>2023</year>). <source>Optimal parameters computing code</source>. Available online at: <ext-link ext-link-type="uri" xlink:href="https://github.com/aliyakhadi/Parameters_counting">https://github.com/aliyakhadi/Parameters_counting</ext-link> (accessed April 30, 2025).</citation>
</ref>
<ref id="B50">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Khadieva</surname> <given-names>A.</given-names></name></person-group> (<year>2024</year>). <source>Quantum hashing algorithm implementation</source>. Technical report. arXiv:quant-ph/2024.</citation>
</ref>
<ref id="B51">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Khadieva</surname> <given-names>A.</given-names></name> <name><surname>Salehi</surname> <given-names>O.</given-names></name> <name><surname>Yakary&#x00131;lmaz</surname> <given-names>A.</given-names></name></person-group> (<year>2024</year>). <article-title>&#x0201C;A representative framework for implementing quantum finite automata on real devices,&#x0201D;</article-title> in <source>Proceedings of UCNC 2024</source>. <pub-id pub-id-type="doi">10.1007/978-3-031-63742-1_12</pub-id></citation>
</ref>
<ref id="B52">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Khadieva</surname> <given-names>A.</given-names></name> <name><surname>Ziatdinov</surname> <given-names>M.</given-names></name></person-group> (<year>2023</year>). <article-title>Deterministic construction of qfas based on the quantum fingerprinting technique</article-title>. <source>Lobachevskii J. Mathem</source>. <volume>44</volume>, <fpage>713</fpage>&#x02013;<lpage>723</lpage>. <pub-id pub-id-type="doi">10.1134/S199508022302021X</pub-id></citation>
</ref>
<ref id="B53">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Le Gall</surname> <given-names>F.</given-names></name></person-group> (<year>2006</year>). <article-title>&#x0201C;Exponential separation of quantum and classical online space complexity,&#x0201D;</article-title> in <source>SPAA &#x00027;06: Proceedings of the Eighteenth Annual ACM Symposium on Parallelism in Algorithms and Architectures</source> (<publisher-loc>ACM</publisher-loc>), <fpage>67</fpage>&#x02013;<lpage>73</lpage>. <pub-id pub-id-type="doi">10.1145/1148109.1148119</pub-id></citation>
</ref>
<ref id="B54">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Le Gall</surname> <given-names>F.</given-names></name></person-group> (<year>2009</year>). <article-title>Exponential separation of quantum and classical online space complexity</article-title>. <source>Theory Comput. Syst</source>. <volume>45</volume>, <fpage>188</fpage>&#x02013;<lpage>202</lpage>. <pub-id pub-id-type="doi">10.1007/s00224-007-9097-3</pub-id></citation>
</ref>
<ref id="B55">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Mitchell</surname> <given-names>M.</given-names></name></person-group> (<year>1998</year>). <source>An Introduction to Genetic Algorithms</source>. <publisher-loc>London</publisher-loc>: <publisher-name>MIT press</publisher-name>.</citation>
</ref>
<ref id="B56">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Montanaro</surname> <given-names>A.</given-names></name></person-group> (<year>2017</year>). <article-title>Quantum pattern matching fast on average</article-title>. <source>Algorithmica</source> <volume>77</volume>, <fpage>16</fpage>&#x02013;<lpage>39</lpage>. <pub-id pub-id-type="doi">10.1007/s00453-015-0060-4</pub-id></citation>
</ref>
<ref id="B57">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Moore</surname> <given-names>C.</given-names></name> <name><surname>Crutchfield</surname> <given-names>J. P.</given-names></name></person-group> (<year>2000</year>). <article-title>Quantum automata and quantum grammars</article-title>. <source>Theor. Comput. Sci</source>. <volume>237</volume>, <fpage>275</fpage>&#x02013;<lpage>306</lpage>. <pub-id pub-id-type="doi">10.1016/S0304-3975(98)00191-1</pub-id></citation>
</ref>
<ref id="B58">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>M&#x000F6;tt&#x000F6;nen</surname> <given-names>M.</given-names></name> <name><surname>Vartiainen</surname> <given-names>J. J.</given-names></name> <name><surname>Bergholm</surname> <given-names>V.</given-names></name> <name><surname>Salomaa</surname> <given-names>M. M.</given-names></name></person-group> (<year>2004</year>). <article-title>Quantum circuits for general multiqubit gates</article-title>. <source>Phys. Rev. Lett</source>. <volume>93</volume>:<fpage>130502</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevLett.93.130502</pub-id><pub-id pub-id-type="pmid">15524693</pub-id></citation></ref>
<ref id="B59">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Nakanishi</surname> <given-names>M.</given-names></name> <name><surname>Yakary&#x00131;lmaz</surname> <given-names>A.</given-names></name></person-group> (<year>2015</year>). <article-title>&#x0201C;Classical and quantum counter automata on promise problems,&#x0201D;</article-title> in <source>International Conference on Implementation and Application of Automata</source> (<publisher-loc>Springer</publisher-loc>), <fpage>224</fpage>&#x02013;<lpage>237</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-319-22360-5_19</pub-id></citation>
</ref>
<ref id="B60">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Preskill</surname> <given-names>J.</given-names></name></person-group> (<year>2018</year>). <article-title>Quantum computing in the nisq era and beyond</article-title>. <source>Quantum</source> <volume>2</volume>:<fpage>79</fpage>. <pub-id pub-id-type="doi">10.22331/q-2018-08-06-79</pub-id></citation>
</ref>
<ref id="B61">
<citation citation-type="book"><person-group person-group-type="author"><collab>Press W. H..</collab></person-group> (<year>1992</year>). <source>The Art of Scientific Computing</source>. <publisher-loc>Cambridge</publisher-loc>: <publisher-name>Cambridge University Press</publisher-name>.</citation>
</ref>
<ref id="B62">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Rabin</surname> <given-names>M. O.</given-names></name></person-group> (<year>1963</year>). <article-title>Probabilistic automata</article-title>. <source>Inf. Control</source> <volume>6</volume>, <fpage>230</fpage>&#x02013;<lpage>245</lpage>. <pub-id pub-id-type="doi">10.1016/S0019-9958(63)90290-0</pub-id></citation>
</ref>
<ref id="B63">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ramesh</surname> <given-names>H.</given-names></name> <name><surname>Vinay</surname> <given-names>V.</given-names></name></person-group> (<year>2003</year>). <article-title>String matching in <inline-formula><mml:math id="M88"><mml:mi>O</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msqrt><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msqrt><mml:mo>&#x0002B;</mml:mo><mml:msqrt><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msqrt></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> quantum time</article-title>. <source>J. Discr. Algor</source>. <volume>1</volume>, <fpage>103</fpage>&#x02013;<lpage>110</lpage>. <pub-id pub-id-type="doi">10.1016/S1570-8667(03)00010-8</pub-id></citation>
</ref>
<ref id="B64">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Razborov</surname> <given-names>A.</given-names></name> <name><surname>Szemer&#x000E9;di</surname> <given-names>E.</given-names></name> <name><surname>Wigderson</surname> <given-names>A.</given-names></name></person-group> (<year>1993</year>). <article-title>Constructing small sets that are uniform in arithmetic progressions</article-title>. <source>Combinat. Probab. Comput</source>. <volume>2</volume>, <fpage>513</fpage>&#x02013;<lpage>518</lpage>. <pub-id pub-id-type="doi">10.1017/S0963548300000870</pub-id></citation>
</ref>
<ref id="B65">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Salehi</surname> <given-names>&#x000D6;.</given-names></name> <name><surname>Yakary&#x00131;lmaz</surname> <given-names>A.</given-names></name></person-group> (<year>2021</year>). <article-title>Cost-efficient QFA algorithm for quantum computers</article-title>. <source>arXiv:2107.02262</source>.</citation>
</ref>
<ref id="B66">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Say</surname> <given-names>A. C. C.</given-names></name> <name><surname>Yakary&#x00131;lmaz</surname> <given-names>A.</given-names></name></person-group> (<year>2014</year>). <article-title>&#x0201C;Quantum finite automata: a modern introduction,&#x0201D;</article-title> in <source>Computing with New Resources</source> (<publisher-loc>Springer</publisher-loc>), <fpage>208</fpage>&#x02013;<lpage>222</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-319-13350-8_16</pub-id></citation>
</ref>
<ref id="B67">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Tao</surname> <given-names>T.</given-names></name> <name><surname>Vu</surname> <given-names>V.</given-names></name></person-group> (<year>2006</year>). <source>Additive Combinatorics, volume 105 of Cambridge Studies in Advanced Mathematics</source>. Cambridge: Cambridge University Press. <pub-id pub-id-type="doi">10.1017/CBO9780511755149</pub-id></citation>
</ref>
<ref id="B68">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Turaykhanov</surname> <given-names>D.</given-names></name> <name><surname>Akat&#x00027;ev</surname> <given-names>D.</given-names></name> <name><surname>Vasiliev</surname> <given-names>A.</given-names></name> <name><surname>Ablayev</surname> <given-names>F.</given-names></name> <name><surname>Kalachev</surname> <given-names>A.</given-names></name></person-group> (<year>2021</year>). <article-title>Quantum hashing via single-photon states with orbital angular momentum</article-title>. <source>Phys. Rev. A</source> <volume>104</volume>:<fpage>052606</fpage>. <pub-id pub-id-type="doi">10.1103/PhysRevA.104.052606</pub-id></citation>
</ref>
<ref id="B69">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Vasiliev</surname> <given-names>A.</given-names></name></person-group> (<year>2016a</year>). <article-title>Binary quantum hashing</article-title>. <source>Russian Mathem</source>. <volume>60</volume>, <fpage>61</fpage>&#x02013;<lpage>65</lpage>. <pub-id pub-id-type="doi">10.3103/S1066369X16090073</pub-id></citation>
</ref>
<ref id="B70">
<citation citation-type="book"><person-group person-group-type="author"><name><surname>Vasiliev</surname> <given-names>A.</given-names></name></person-group> (<year>2016b</year>). <article-title>&#x0201C;A model of quantum communication device for quantum hashing,&#x0201D;</article-title> in <source>Journal of Physics: Conference Series</source> (<publisher-loc>IOP Publishing</publisher-loc>), <fpage>012020</fpage>. <pub-id pub-id-type="doi">10.1088/1742-6596/681/1/012020</pub-id></citation>
</ref>
<ref id="B71">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Vasiliev</surname> <given-names>A.</given-names></name></person-group> (<year>2016c</year>). <article-title>Quantum hashing for finite abelian groups</article-title>. <source>Lobachevskii J. Mathem</source>. <volume>37</volume>, <fpage>753</fpage>&#x02013;<lpage>757</lpage>. <pub-id pub-id-type="doi">10.1134/S1995080216060184</pub-id></citation>
</ref>
<ref id="B72">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Vasiliev</surname> <given-names>A.</given-names></name></person-group> (<year>2023</year>). <article-title>Constant-depth algorithm for quantum hashing</article-title>. <source>Russian Microelectr</source>. <volume>52</volume>, <fpage>S399</fpage>&#x02013;<lpage>S402</lpage>. <pub-id pub-id-type="doi">10.1134/S106373972360067X</pub-id></citation>
</ref>
<ref id="B73">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Vasiliev</surname> <given-names>A.</given-names></name> <name><surname>Latypov</surname> <given-names>M.</given-names></name> <name><surname>Ziatdinov</surname> <given-names>M.</given-names></name></person-group> (<year>2017</year>). <article-title>Minimizing collisions for quantum hashing</article-title>. <source>J. Eng. Appl. Sci</source>. <volume>12</volume>, <fpage>877</fpage>&#x02013;<lpage>880</lpage>. <pub-id pub-id-type="doi">10.3923/jeasci.2017.877.880</pub-id></citation>
</ref>
<ref id="B74">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Vasiliev</surname> <given-names>A.</given-names></name> <name><surname>Vasilov</surname> <given-names>A.</given-names></name> <name><surname>Latypov</surname> <given-names>M.</given-names></name></person-group> (<year>2019</year>). <article-title>Analysis of properties of quantum hashing</article-title>. <source>J. Mathem. Sci</source>. <volume>241</volume>, <fpage>117</fpage>&#x02013;<lpage>124</lpage>. <pub-id pub-id-type="doi">10.1007/s10958-019-04412-9</pub-id></citation>
</ref>
<ref id="B75">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wack</surname> <given-names>A.</given-names></name> <name><surname>Paik</surname> <given-names>H.</given-names></name> <name><surname>Javadi-Abhari</surname> <given-names>A.</given-names></name> <name><surname>Jurcevic</surname> <given-names>P.</given-names></name> <name><surname>Faro</surname> <given-names>I.</given-names></name> <name><surname>Gambetta</surname> <given-names>J. M.</given-names></name> <etal/></person-group>. (<year>2021</year>). <article-title>Quality, speed, and scale: three key attributes to measure the performance of near-term quantum computers</article-title>. <source>arXiv:2110.14108</source>.</citation>
</ref>
<ref id="B76">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wright</surname> <given-names>S. J.</given-names></name></person-group> (<year>2015</year>). <article-title>Coordinate descent algorithms</article-title>. <source>Mathem. Program</source>. <volume>151</volume>, <fpage>3</fpage>&#x02013;<lpage>34</lpage>. <pub-id pub-id-type="doi">10.1007/s10107-015-0892-3</pub-id></citation>
</ref>
<ref id="B77">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yakary&#x00131;lmaz</surname> <given-names>A.</given-names></name></person-group> (<year>2013</year>). <article-title>Log-space counter is useful for unary languages by help of a constant-size quantum register</article-title>. <source>arXiv preprint arXiv:1309.4767</source>.</citation>
</ref>
<ref id="B78">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yakary&#x00131;lmaz</surname> <given-names>A.</given-names></name> <name><surname>Say</surname> <given-names>A. C.</given-names></name></person-group> (<year>2009</year>). <article-title>Efficient probability amplification in two-way quantum finite automata</article-title>. <source>Theor. Comput. Sci</source>. <volume>410</volume>, <fpage>1932</fpage>&#x02013;<lpage>1941</lpage>. <pub-id pub-id-type="doi">10.1016/j.tcs.2009.01.029</pub-id></citation>
</ref>
<ref id="B79">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yakary&#x00131;lmaz</surname> <given-names>A.</given-names></name> <name><surname>Say</surname> <given-names>A. C. C.</given-names></name></person-group> (<year>2010</year>). <article-title>Languages recognized by nondeterministic quantum finite automata</article-title>. <source>Quantum Inf. Comput</source>. <volume>10</volume>, <fpage>747</fpage>&#x02013;<lpage>770</lpage>. <pub-id pub-id-type="doi">10.26421/QIC10.9-10-3</pub-id></citation>
</ref>
<ref id="B80">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ziatdinov</surname> <given-names>M.</given-names></name></person-group> (<year>2016a</year>). <article-title>From graphs to keyed quantum hash functions</article-title>. <source>Lobachevskii J. Mathem</source>. <volume>37</volume>, <fpage>705</fpage>&#x02013;<lpage>712</lpage>. <pub-id pub-id-type="doi">10.1134/S1995080216060202</pub-id></citation>
</ref>
<ref id="B81">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ziatdinov</surname> <given-names>M.</given-names></name></person-group> (<year>2016b</year>). <article-title>Quantum hashing group approach</article-title>. <source>Lobachevskii J. Mathem</source>. <volume>37</volume>, <fpage>222</fpage>&#x02013;<lpage>226</lpage>. <pub-id pub-id-type="doi">10.1134/S1995080216020165</pub-id></citation>
</ref>
<ref id="B82">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ziiatdinov</surname> <given-names>M.</given-names></name> <name><surname>Khadieva</surname> <given-names>A.</given-names></name> <name><surname>Yakary&#x00131;lmaz</surname> <given-names>A.</given-names></name></person-group> (<year>2023</year>). <article-title>&#x0201C;Gaps for shallow implementation of quantum finite automata,&#x0201D;</article-title> in <source>Proceedings of the 16th International Conference on Automata and Formal Languages (AFL 2023), Eger, Hungary</source>, eds. S. I. Zsolt Gazdag and G. Kovasznai (Open Publishing Association), <fpage>269</fpage>&#x02013;<lpage>280</lpage>. <pub-id pub-id-type="doi">10.4204/EPTCS.386.21</pub-id></citation>
</ref>
<ref id="B83">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zinnatullin</surname> <given-names>I.</given-names></name></person-group> (<year>2023</year>). <article-title>Cryptographic properties of the quantum hashing based on expander graphs</article-title>. <source>Lobachevskii J. Mathem</source>. <volume>44</volume>, <fpage>776</fpage>&#x02013;<lpage>787</lpage>. <pub-id pub-id-type="doi">10.1134/S1995080223020397</pub-id></citation>
</ref>
<ref id="B84">
<citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zinnatullin</surname> <given-names>I.</given-names></name> <name><surname>Khadiev</surname> <given-names>K.</given-names></name> <name><surname>Khadieva</surname> <given-names>A.</given-names></name></person-group> (<year>2023</year>). <article-title>Efficient implementation of amplitude form of quantum hashing using state-of-the-art quantum processors</article-title>. <source>Russian Microelectr</source>. <volume>52</volume>, <fpage>S390</fpage>&#x02013;<lpage>S394</lpage>. <pub-id pub-id-type="doi">10.1134/S1063739723600620</pub-id></citation>
</ref>
</ref-list>
</back>
</article>