Processing math: 3%
We use cookies to improve your experience with our site.

Qualitative and Quantitative Model Checking Against Recurrent Neural Networks

Zhen Liang, Wan-Wei Liu, Fu Song, Bai Xue, Wen-Jing Yang, Ji Wang, Zheng-Bin Pang

downloadPDF
梁震, 刘万伟, 宋富, 薛白, 杨文婧, 王戟, 庞征斌. 循环神经网络的定性和定量模型检验[J]. 计算机科学技术学报, 2024, 39(6): 1292-1311. DOI: 10.1007/s11390-023-2703-2
引用本文: 梁震, 刘万伟, 宋富, 薛白, 杨文婧, 王戟, 庞征斌. 循环神经网络的定性和定量模型检验[J]. 计算机科学技术学报, 2024, 39(6): 1292-1311. DOI: 10.1007/s11390-023-2703-2
Liang Z, Liu WW, Song F et al. Qualitative and quantitative model checking against recurrent neural networks. JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY 39(6): 1292−1311 Nov. 2024. DOI: 10.1007/s11390-023-2703-2.
Citation: Liang Z, Liu WW, Song F et al. Qualitative and quantitative model checking against recurrent neural networks. JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY 39(6): 1292−1311 Nov. 2024. DOI: 10.1007/s11390-023-2703-2.
梁震, 刘万伟, 宋富, 薛白, 杨文婧, 王戟, 庞征斌. 循环神经网络的定性和定量模型检验[J]. 计算机科学技术学报, 2024, 39(6): 1292-1311. CSTR: 32374.14.s11390-023-2703-2
引用本文: 梁震, 刘万伟, 宋富, 薛白, 杨文婧, 王戟, 庞征斌. 循环神经网络的定性和定量模型检验[J]. 计算机科学技术学报, 2024, 39(6): 1292-1311. CSTR: 32374.14.s11390-023-2703-2
Liang Z, Liu WW, Song F et al. Qualitative and quantitative model checking against recurrent neural networks. JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY 39(6): 1292−1311 Nov. 2024. CSTR: 32374.14.s11390-023-2703-2.
Citation: Liang Z, Liu WW, Song F et al. Qualitative and quantitative model checking against recurrent neural networks. JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY 39(6): 1292−1311 Nov. 2024. CSTR: 32374.14.s11390-023-2703-2.

循环神经网络的定性和定量模型检验

Qualitative and Quantitative Model Checking Against Recurrent Neural Networks

Funds: This work was supported by the National Natural Science Foundation of China under Grant Nos. 61872371, 62032024, and U19A2062, and the Open Fund from the State Key Laboratory of High Performance Computing of China (HPCL) under Grant No. 202001-07.
More Information
    Author Bio:

    Zhen Liang received his B.S. degree in computer science and technology from National University of Defense Technology, Changsha, in 2019. He is currently a Ph.D. candidate at National University of Defense Technology, Changsha. His research interests include model checking, interpretation and formal verification of artificial intelligence

    Wan-Wei Liu received his Ph.D degree in computer science from National University of Defense Technology, Changsha, in 2009. He is a professor at National University of Defense Technology, Changsha. His research interests include theoretical computer science (particularly in automata theory and temporal logic), formal methods (particularly in verification), and software engineering

    Fu Song received his Ph.D. degree in computer science from University Paris-Diderot, Paris, in 2013. He is an associate professor with ShanghaiTech University, Shanghai. His research interests include formal methods and computer/AI security

    Bai Xue received his Ph.D. degree in applied mathematics from Beihang University, Beijing, in 2014. He is currently a research professor with the Institute of Software, Chinese Academy of Sciences, Beijing. His research interests involve formal verification of hybrid systems and AI

    Wen-Jing Yang received her Ph.D. degree in multi-scale modeling from Manchester University, Manchester, in 2014. She is currently an associate research fellow at the State Key Laboratory of High Performance Computing, National University of Defense Technology, Changsha. Her research interests include machine learning, robotics software, and high-performance computing

    Ji Wang received his PhD degree in computer science from National University of Defense Technology, Changsha, in 1995. He is currently a full professor at National University of Defense Technology, Changsha, and he is a fellow of CCF. His research interests include software engineering and formal methods

    Zheng-Bin Pang received his B.S., M.S., and Ph.D. degrees in computer science from National University of Defense Technology, Changsha. Currently, he is a professor at National University of Defense Technology, Changsha. His research interests range across high-speed interconnect, heterogeneous computing, and high performance computer systems

    Corresponding author:

    Wan-Wei Liu: wwliu@nudt.edu.cn

  • 摘要:
    研究背景 

    近些年,随着人工智能和深度学习的发展,循环神经网络(Recurrent Neural Networks,RNNs)在序列数据处理中得到了广泛应用,如自然语言处理。然而,由于循环神经网络的黑盒性质和独特的网络结构,它们的网络行为缺乏严格的形式化保证,这极大地阻碍了其在安全攸关领域的应用和推广。因此,循环神经网络的形式化推理和验证是一项紧迫而富有挑战性的任务。

    目的 

    我们的研究目的在于构建一个针对循环神经网络的定性和定量的验证框架。对于给定的网络性质规约,该框架能够给出该性质是否成立的定性结论,如果不成立,能够给出该性质成立的置信度(概率)。

    方法 

    我们提出LTLf逻辑的一个扩展语言LTLf[x],用于推理循环神经网络的关键性质,例如鲁棒性、可达性和已有工作中很少被研究的时序性质。验证语句被形式化为一个类似于霍尔逻辑的三元组,包含定性和定量的语义解释。验证借助于Polyhedron抽象域,提出了抽象域上的关键技术来处理定性和定量模型检验的问题,主要包括正向/反向传播技术,基于维度保持的抽象技术,蒙特卡洛采样等。提出了循环神经网络定性和定量模型检验的验证框架BPMC2,主要算法的正确性给出了严格的证明。

    结果 

    基于提出的循环神经网络定性和定量验证框架BPMC2,实现了原型工具,该工具可以对常见的网络性质(如鲁棒性,可达性等)和时序性质给出定性和定量验证的结论。

    结论 

    基于LTLf[x]和Polyhedra抽象域,我们的验证框架BPMC2从理论上解决了ReLU作为激活函数的RNN验证的技术难题。然而,对于其在实际大规模网络中的部署和应用,仍需要对其扩展性进行进一步优化,例如更高效的数据结构和组织、更合理的近似策略来平衡精度和效率等。将我们的验证框架扩展到其他激活函数和RNN变体网络上也是未来需要考虑的研究方向。

    Abstract:

    Recurrent neural networks (RNNs) have been heavily used in applications relying on sequence data such as time series and natural languages. As a matter of fact, their behaviors lack rigorous quality assurance due to the black-box nature of deep learning. It is an urgent and challenging task to formally reason about the behaviors of RNNs. To this end, we first present an extension of linear-time temporal logic to reason about properties with respect to RNNs, such as local robustness, reachability, and some temporal properties. Based on the proposed logic, we formalize the verification obligation as a Hoare-like triple, from both qualitative and quantitative perspectives. The former concerns whether all the outputs resulting from the inputs fulfilling the pre-condition satisfy the post-condition, whereas the latter is to compute the probability that the post-condition is satisfied on the premise that the inputs fulfill the pre-condition. To tackle these problems, we develop a systematic verification framework, mainly based on polyhedron propagation, dimension-preserving abstraction, and the Monte Carlo sampling. We also implement our algorithm with a prototype tool and conduct experiments to demonstrate its feasibility and efficiency.

  • Quantum computing has attracted more and more interest in the last decades, since it provides the possibility to efficiently solve important problems such as integer factorization[1], unstructured search[2], and solving linear equations[3]. However, the (great) improvements in computer science driven by quantum technology are still in the early stage, since large-scale quantum computers have not yet been built. IBM has developed the first 5-qubit backend called IBM QX2, followed by the 16-qubit backend IBM QX3. The revised versions of them are called IBM QX4 and IBM QX5, respectively. Google announced the realization of quantum supremacy, with the 53-qubit quantum processor Sycamore[4]. IBM Q Experience 1 provides the public with free quantum computing resources on the cloud and Qiskit 2, an open source quantum computing software framework.

    Users of early quantum computers mainly rely on quantum circuits to implement quantum algorithms. There is a gap between the design and the implementation of a quantum algorithm[5]. In the design stage, we usually do not consider any hardware connectivity constraints. But in order to implement an algorithm on a quantum physical device, physical constraints have to be taken into account. For example, IBM physical devices only support 1-qubit gates and the 2-qubit CX gate between two adjacent qubits. Hence, it is necessary to transform the circuits for quantum algorithms to satisfy both logical and physical constraints. It is called qubit mapping, which maps a logical circuit to a physical device by inserting additional gates. A major challenge for quantum information processing is quantum decoherence. Quantum gates are applied in a coherent period but the qubits stay in the coherent state for a very short time. The longest coherence time of a superconducting quantum chip is still within 10 μs–100 μs[6]. Thus, the main goal of qubit mapping is to reduce the number of additional gates and the depth of output circuits in an efficient way.

    In the current work, we use In-Memory Subgraph Matching (IMSM)[7] to generate partial isomorphic subgraphs of logical circuits and physical ones as a set of partial initial mappings. By exploiting an appropriate subgraph isomorphism and the connectivity of the logical circuits and the physical ones, we get a dense (clustered nodes) initial mapping, which avoids some nodes from being mapped to remote positions. Note that both subgraph isomorphism and the adjustment of qubit mapping are NP-complete[8]. Thus, to be practically efficient, we propose to use tabu search[9] to generate logical circuits that will be executed on the physical device. The advantage of tabu search is to jump out of local optimum and ensure the diversity of the transformed results. We insert SWAP gates, associated with the gates on the shortest path to the candidate set, which greatly reduces the search space and improves the search speed. We design three evaluation functions that consider not only the current gates but also the constraints of the gates already processed. Our experiments have been conducted by using the architectures of IBM Q Tokyo and Sycamore as the target physical devices. The experimental results show that the evaluation function based on calculating the number of additional gates inserts the smallest number of gates. We test several combinations of state-of-the-art initial mapping and adjustment algorithms aiming to insert fewer additional gates after qubit mapping. Generally speaking, Tabu Search Based Adjustment (TSA) outperforms the Zulehner-Paler-Wille (ZPW) algorithm[10], SWAP-Based BidiREctional heuristic search algorithm (SABRE)[11] and Filtered Depth-Limited Search (FiDLS)[12] in different aspects. When compared with the Dynamic Look-Ahead Heuristic technique (DLH)[13], which uses the maximum consecutive positive effect of an SWAP operation (MCPE) and the optimized version (MCPE_OP) as the heuristic cost function, the additional gates inserted by TSA in the DLH benchmarks have been reduced by 27.32% and 12.42%, respectively.

    The main contributions of this article are summarized as follows.

    1) We extend IMSM, which only generates a set of partial initial mappings, by completing the mapping based on the connectivity between qubits.

    2) We propose a heuristic circuit adjustment algorithm based on tabu search, TSA, which can adjust large-scale circuits much more efficiently than existing precise search and heuristic algorithms.

    3) We propose three look-ahead evaluation functions for the circuit adjustment; one employs configuration checking with aspiration (CCA)[14], and the other two use the number of additional gates and the depth of the generated circuit as evaluation criteria, taking into account both the current gates and some gates yet to be processed.

    4) We compare several state-of-the-art initial mapping and adjustment algorithms, and the results show that the initial mapping generated by our method requires inserting fewer SWAP gates, and TSA has better scalability than them for adjusting the mapping for large-scale circuits.

    The rest of this article is organized as follows. In Section 2, we discuss the related work. In Section 3, we recall some background in quantum computing and quantum information. In Section 4, we introduce the problem of qubit mapping and provide our detailed solution. Section 5 reports the experimental results. We conclude in the last section and discuss future work.

    Paler[15] has shown that initial mappings have an important impact on qubit mapping. Just by placing qubits in different positions from the default trivial placement in the circuit instances on actual noisy intermediate-scale quantum (NISQ) devices, the cost can be reduced by up to 10%. One important goal of circuit adjustment algorithms is to minimize the number of additional gates. There are currently five main methods to attack the qubit mapping problem.

    Unitary Matrix Decomposition Algorithm. It is used to rearrange a quantum circuit from the beginning while retaining the input circuit[16, 17]. It can be applied to a broad class of circuits consisting of generic gate sets, but the results are not so efficient as a compiler designed specifically for this task.

    Converting into Existing Problems. This approach converts the qubit mapping problem into some existing problems, such as AI planning[18, 19], integer linear programming[20], and satisfiability modulo theories (SMT)[21], and then uses existing tools to find the optimum in an acceptable amount of time for the problem. Furthermore, as the time cost is usually high, it can only process small-scale quantum circuits.

    Exact Methods. Siraichi et al. proposed an exact method[8]. It iterates over all possible mappings; thus it is only suitable for simple quantum circuits and cannot be extended to complex ones.

    Graph Theory. Shafaei et al. used the minimum linear permutation solution in graph theory to model the problem of reducing the interaction distance[22]. A two-step method was used to reduce the qubit mapping to a graph problem to minimize the number of additional gates[23, 24].

    Heuristic Search. Existing solutions mainly aim at inserting as few SWAP gates as possible[8, 10-13, 25, 26], using the fidelity of the generated circuit as the objective function[27] or minimizing the overall circuit latency[28]. At present, there are a number of methods[10, 11, 13, 22] that exploit the look-ahead idea. In particular, Zhu et al. proposed to dynamically adjust the number of look-ahead gates[13]. SABRE[11] depends on a random initial mapping. SAHS[26] is an annealing algorithm to find an initial mapping, but it is unstable. FiDLS[12] tends to search through all possible combinations of SWAP gates to minimize the number of executable 2-qubit gates. But the cost of a thorough search is very high, especially when dealing with medium-scale and large-scale circuits. DLH[13] can deal with some large-scale benchmarks. We will give a quantitative comparison with this method in Section 5. A variation-aware qubit movement strategy[27] was proposed, which takes advantage of the change in error rate and a change-aware qubit mapping strategy by trying to select the route with the lowest probability of failure. Lao et al. showed that the fidelity of a circuit is related to the delay and the number of gates[28]. Now some heuristic methods are also applied to other platforms such as Surface-17[28, 29] and Sycamore[12].

    In this section, we introduce some notions and notations of quantum computing. Let C denote the set of all complex numbers.

    Classical information is stored in bits, while quantum information is stored in qubits. Besides two basic states |0 and |1, a qubit can be in any linear superposition state like |ϕ=a|0+b|1, where a,bC satisfy the condition |a|2+|b|2=1. The intuition is that |ϕ is in the state |0 with probability |a|2 and in the state |1 with probability |b|2. We use the letter Q (resp. q) to denote a physical (resp. logical) qubit.

    A quantum gate acts on a qubit to change the state of the qubit. For example, the Hadamard (H) gate is applied on a qubit, and the CX gate is applied on two qubits. Their symbols and matrix forms are shown in Fig.1. The H gate turns state |0 (resp. |1) into (|0+|1)/2 (resp. (|0|1)/2). The CX gate is a generalization of the classical XOR gate, since the action of the gate may be summarized as \left| {{\boldsymbol{A}},{\boldsymbol{B}}} \right\rangle \rightarrow |{\boldsymbol{A}}, {\boldsymbol{B}} \oplus {\boldsymbol{A}}\rangle , where \oplus is addition modulo two, which is exactly what the XOR gate does. That is, the control qubit and the target qubit are XORed and stored in the target qubit. Here \left| {{\boldsymbol{A}},{\boldsymbol{B}}} \right\rangle is a shorthand of the product state \left| {\boldsymbol{A}} \right\rangle \left| {\boldsymbol{B}} \right\rangle =\left| {\boldsymbol{A}} \right\rangle \otimes \left| {\boldsymbol{B}} \right\rangle . We use an SWAP gate to exchange the states between two adjacent qubits, and multiple operations simulate moving non-adjacent qubits to adjacent positions. An SWAP gate can be implemented by three CX gates, or by inserting four H gates to change the direction of the middle CX gate, as illustrated in Fig.2.

    Figure  1.  Symbols of two quantum gates and their matrices.
    Figure  2.  Implementing an SWAP gate by CX gates and H gates.

    In a quantum circuit, each line represents a wire. The wire does not necessarily correspond to a physical wire but may correspond to the passage of time or a physical particle that moves from one location to another through space. The interested reader can find more details of these gates from the standard textbook[30]. The execution order of a quantum logical circuit is from left to right. The width of a circuit refers to the number of qubits in the circuit. The depth of a circuit refers to the number of layers executable in parallel. For example, the depth of the circuit in Fig.3(a) is 6, and the width is 5. We refer to a circuit with the number of 2-qubit gates no more than 100 as a small-scale circuit, a circuit with the number of 2-qubit gates more than 1000 as a large-scale circuit, and the rest are medium-scale circuits. It is unnecessary to consider quantum gates acting on single qubits since 1-qubit gates are local[22], which do not need to move the involved qubits for gate applications.

    Figure  3.  (a) Original quantum circuit. (b) Logical interaction graph of (a).

    In the current work, we mainly consider the physical circuits of the IBM Q series, called coupling graphs. Let {\cal{CG}}=(V_{{\cal{C}}}, E_{{\cal{C}}}) denote the coupling graph of a physical device, where V_{{\cal{C}}} is the set of physical qubits and E_{{\cal{C}}} is the set of edges representing the connectivity between qubits related by CX gates. Figs.4(a)–4(e) are the coupling graphs of the 5-qubit IBM QX2, IBM QX4, 16-qubit IBM QX3, IBM QX5, and the 20-qubit IBM Q Tokyo, respectively. The control of one qubit to a neighbor is unilateral, but for IBM Q Tokyo the control between two adjacent qubits is bilateral. The direction in each edge indicates the control direction of each 2-qubit gate, and 2-qubit gates can only be performed between two adjacent qubits.

    Figure  4.  Coupling graphs of IBM Q series. (a) IBM QX2. (b) IBM QX4. (c) IBM QX3. (d) IBM QX5. (e) IBM Q Tokyo.

    Given an interaction graph {\cal{IG}} , a coupling graph {\cal{CG}} , an initial mapping \tau , and a CX gate {\boldsymbol{g}}= \langle q_{{\rm{c}}},q_{{\rm{t}}} \rangle where q_{{\rm{c}}} is the control qubit and q_{{\rm{t}}} is the target qubit, if the gate {\boldsymbol{g}} is executable on coupling graph {\cal{CG}} , then \langle\tau[q_{{\rm{c}}}],\tau[q_{{\rm{t}}}] \rangle should be a directed edge on {\cal{CG}} .

    Example 1. Consider the logical interaction graph {\cal{IG}} and a coupling graph {\cal{CG}} shown in Fig.3(b) and the blue part of Fig.4(e). Let the initial mapping be as follows,

    \tau=\{q_{0}\rightarrow Q_{10}, q_{1}\rightarrow Q_{0}, q_{2}\rightarrow Q_{6},q_{3}\rightarrow Q_{5}, q_{4}\rightarrow Q_{11}\} .

    Then the 2-qubit gate {\boldsymbol{g}}_{0}=\langle q_{2},q_{1}\rangle is not executable, since the edge \langle \tau[q_{2}],\tau[q_{1}] \rangle = \langle Q_{6},Q_{0} \rangle does not exist in {\cal{CG}} . However, the gate {\boldsymbol{g}}_{1}=\langle q_{3},q_{4} \rangle is executable, since the edge \langle \tau[q_{3}],\tau[q_{4}] \rangle = \langle Q_{5},Q_{11} \rangle exists in {\cal{CG}} .

    Assume that the input circuit has only 1-qubit gates and CX gates[31, 32]. We expect to find a qubit mapping algorithm that, when given an input circuit, can produce an output circuit with a small number of additional gates in an acceptable amount of time. Roughly speaking, we propose a method of qubit mapping with the following three steps.

    1) Preprocessing. This step includes extracting the interaction graph from the input circuit and calculating the shortest paths of the coupling graph.

    2) Isomorphism and Completion. First, the subgraph isomorphism algorithm is used to find a set of partial initial mappings[7]. Then we perform a mapping completion to process the remaining nodes that do not satisfy all isomorphism requirements, according to the connectivity between the unmapped nodes and the mapped ones.

    3) Adjustment. After the second step, some logically adjacent nodes may be mapped to physically non-adjacent nodes, therefore, the quantum circuit is not executable on the coupling graph. We use a tabu search based adjustment algorithm to generate circuits that can be physically executed.

    In the preprocessing step, we adjust the input circuit described by an openQASM program[33] to extract the interaction graph from the input circuit and calculate the shortest paths of the coupling graph.

    Quantum gates acting on different qubits can be executed in parallel. The notation {\cal{L}}({\cal{C}})=\{{\cal{L}}_{0}, {\cal{L}}_{1}, \ldots, {\cal{L}}_{n}\} denotes the layered form of circuit {\cal{C}} , where {\cal{L}}_{i} \ (0 \leqslant i \leqslant n) stands for a set of quantum gates that can be executed in parallel. The quantum gate sets separated by the dotted lines in Fig.3(a) are the following: {\cal{L}}_{0}=\{{\boldsymbol{g}}_{0},{\boldsymbol{g}}_{1}\},{\cal{L}}_{1}=\{{\boldsymbol{g}}_{2}\}, {\cal{L}}_{2}=\{{\boldsymbol{g}}_{3},{\boldsymbol{g}}_{4}\}, {\cal{L}}_{3}=\{{\boldsymbol{g}}_{5},{\boldsymbol{g}}_{6}\},{\cal{L}}_{4}=\{{\boldsymbol{g}}_{7}\},{\cal{L}}_{5}=\{{\boldsymbol{g}}_{8}\} .

    At the same time of layering, we generate an interaction graph {\cal{IG}}=(V_{ {\cal{I}}}, E_{{\cal{I}}}) , which is an undirected graph with V_{{\cal{I}}} being the set of vertices, and E_{{\cal{I}}} the set of undirected edges that denotes the connectivity between qubits related by CX gates. Given a coupling graph and assuming that the distance of each edge is 1, we use the Floyd-Warshall algorithm[34] to calculate the shortest distance matrix, with {{D}}[Q_{{\rm{c}}}][Q_{{\rm{t}}}] denoting the shortest distance from Q_{{\rm{c}}} to Q_{{\rm{t}}} .

    Consider a CX gate {\boldsymbol{g}}= \langle q_{{\rm{c}}},q_{{\rm{t}}} \rangle . If q_{{\rm{c}}} and q_{{\rm{t}}} are mapped to Q_{{\rm{c}}} and Q_{{\rm{t}}} , respectively, then the cost of executing {\boldsymbol{g}} under the shortest path is denoted by cost_{\boldsymbol{g}}=7 \times({{D}}[Q_{{\rm{c}}}][Q_{{\rm{t}}}]-1) on devices with unilateral control. For IBM Q Tokyo, the cost is cost_{\boldsymbol{g}}=3 \times({{D}}[Q_{{\rm{c}}}][Q_{{\rm{t}}}]-1) .

    Example 2. Consider the QX5 coupling graph (cf. Fig.4(d)). Given a CX gate {\boldsymbol{g}} = \langle q_{1}, q_{2} \rangle , with q_{1} mapped to Q_{6} and q_{2} mapped to Q_{13} , the shortest distance between them is {{D}}[Q_6][Q_{13}]=3 . There are three shortest paths of moving from Q_{6} to an adjacent position of Q_{13} : \pi_{0}={Q_{6}\rightarrow Q_{5} \rightarrow Q_{4} \rightarrow Q_{13}}, \pi_{1}={Q_{6}\rightarrow Q_{5} \rightarrow Q_{12} \rightarrow Q_{13}}, \pi_{2}=Q_{6}\rightarrow Q_{11} \rightarrow Q_{12} \rightarrow Q_{13}. Their costs are given by cost_{\pi_{0}}=18,\ cost_{\pi_{1}}=14, and cost_{\pi_{2}}=14, respectively. Here cost_{\pi_i} for 0\leqslant i\leqslant 2 stands for the cost of swapping the qubits Q_{6} to Q_{13} along the path \pi_i .

    Generally speaking, in a coupling graph, it is almost impossible to find a subgraph that exactly matches the interaction graph. We regard the mapping with the largest number of mapped nodes as a good partial mapping. IMSM compares various compositions of several state-of-the-art subgraph isomorphism algorithms. Since IMSM cannot process disconnected graphs, we manually create connected graphs by linking isolated nodes to the ones with the largest degree in the interaction graph. Note that this does not change the architecture of the original circuit.

    The input of Algorithm 1 is a coupling graph {\cal{CG}} , an interaction graph {\cal{IG}} , and a partial mappings set T . Line 2 selects the largest number l of mapped nodes, and the partial mappings with l mapped nodes are used by the candidate set. Lines 3–22 complete the partial mappings. The function len(\tau) returns the size of \tau . In line 5, we initialize an empty queue V , which stores unmapped logical qubits, traverse the mapping \tau , and add the unmapped qubits to V . We then loop until V is empty, and all logical qubits are mapped to physical qubits. Line 7 takes out the first element in V to q . Line 8 gets the adjacency matrix of {\cal{CG}} . Line 9 initializes a list U , sorted by descending degree of connectivity to q . Lines 10–20 traverse U and select the node U[0] that has been mapped to the physical node Q in the coupling graph and has the largest number of logical connections to q in U . Line 13 deletes the node U[0] from U . Lines 15–17 select the node k adjacent to Q in the adjacency matrix and map q to that node. Finally, we generate a dense mapping.

    Algorithm 1. Complete the Initial Mapping
    Input: {\cal{CG}} : a coupling graph; {\cal{IG}} : an interaction graph; T : a partial mapping set obtained by IMSM;
    Output: results : a set of mapping relations between {\cal{IG}} and {\cal{CG}};
    1 Initialize results=\emptyset ;
    2 l \leftarrow \max_{\tau \in T}|\{i: \tau[i]\ne -1,\; i \leqslant len(\tau), \; i\in \mathbb{N} \}|
    3 for \tau\in T do
    4 if l=len(\tau) then
    5 V\leftarrow the unmapped logical qubits in \tau ;
    6 while len(V) >0 do
    7 q \leftarrow V. poll();
    8 {\boldsymbol{P}} \leftarrow {\cal{CG}}.adjacencyMatrix() ;
    9 U \leftarrow the neighbors of q in {\cal{IG}} ;
    10 while len(U)>0 do
    11 Q \leftarrow \tau[U[0]] ;
    12 k \leftarrow 0 ;
    13 U \leftarrow U\backslash U[0] ;
    14 while k < len({\boldsymbol{P}}[Q]) do
    15 if ({\boldsymbol{P}}[Q][k] {\rm{or}} {\boldsymbol{P}}[k][Q]\neq 0 {\rm{and\; not}} \tau. contains(k)) then
    16 \tau[q] \leftarrow k ;
    17 break;
    18 k \leftarrow k+1 ;
    19 if k\neq len({\boldsymbol{P}}[Q]) then
    20 break;
    21 results. add (\tau) ;
    22 {\bf{return}} results ;

    Example 3. Consider the interaction graph shown in Fig.3(a) and the coupling graph in Fig.4(e). Suppose we have a partial mapping set T=\{\tau_{0}, \tau_{1}, \ldots, \tau_{n}\} . We take one of the partial mappings as an example.

    \tau_{0}=\{q_{0}\rightarrow Q_{10}, q_{1}\rightarrow -1, q_{2}\rightarrow Q_{6}, q_{3}\rightarrow Q_{5}, q_{4}\rightarrow Q_{11}\},

    where q_{1}\rightarrow -1 means that q_{1} is not mapped to any physical qubit, therefore we need the mapping completion algorithm. The maximum number of mapped nodes is 4. We demonstrate how \tau_{0} is completed. We add all unmapped nodes to the queue V ; in this example, we have V=\{q_{1}\} . Then we loop until V is empty. We pop the first element q_1 of V , get the adjacency matrix of the target graph, and the candidate nodes list U=\{q_{3},q_{2},q_{4},q_{0}\} . Next, we traverse U and take out the first element q_{3} in U , and calculate the physical node Q_{5} as \tau_0[q_{3}]=Q_{5} . Finally, we map q_1 to the node connected to q_3 but not yet mapped. In this example, it can be directly mapped to Q_{0} . In the end, we obtain the mapping \tau_{0}=\{q_{0}\rightarrow Q_{10}, q_{1}\rightarrow Q_{0}, q_{2}\rightarrow Q_{6}, q_{3}\rightarrow Q_{5},q_{4}\rightarrow Q_{11}\}.

    Tabu search uses a tabu list to avoid searching repeated spaces and deadlock and amnesty rules to jump out of the local optimum to ensure the diversity of transformed results. Our circuit adjustment mainly relies on the tabu search algorithm, aiming to adjust those large-scale circuits that the existing algorithms are difficult to process and generate a circuit closer to the optimal solution.

    The calculation of the candidate set is shown in Algorithm 2. The input M_{{\rm{p}}} is a mapping from physical qubits to logical ones, where j = M_{{\rm{p}}}[i] means that the i -th physical qubit is mapped to the j -th logical qubit. The set M_{{\rm{l}}} denotes the mapping of logical qubits to physical ones, where j = M_{{\rm{l}}} [i] means that the i -th logical qubit is mapped to the j -th physical qubit. The set {\cal{L}} includes all the gates in the current layer, and the output is a candidate mapping set of the current mapping. The set E and the matrix {\boldsymbol{D}} contain the shortest paths and distances of all nodes in the coupled graph, respectively. Lines 3–7 delete the gate {\boldsymbol{g}} that can be executed in {\cal{L}} under the current mapping and gather the control qubit q_{{\rm{c}}} and target qubit q_{{\rm{t}}} of gate {\boldsymbol{g}} that cannot be executed into the set B . Lines 8–24 traverse gates {\boldsymbol{g}} in {\cal{L}} , and calculate the shortest paths between the nodes of {\boldsymbol{g}} . If the endpoints e.s and e.t of edge e intersect with B on the shortest path, then e is an element of the candidate set. Lines 14–20 update the mapping after the swap. Lines 21–24 generate a new candidate solution. Line 22 stores the swapped edges that will be used in the output circuit, and line 23 calculates the swap scores using an evaluation function.

    Algorithm 2. Calculate the Candidate Set
    Input: M_{{\rm{p}}} : the mapping from physical qubits to logical qubits; M_{{\rm{l}}} : the mapping from logical qubits to physical qubits; {\cal{L}} : gates included in the current layer of circuits; E : the shortest paths set of the coupling graph; {\boldsymbol{D}} : the distance matrix between nodes in the coupling graph;
    Output: results : the set of candidate mapping;
    1 Initialize results \leftarrow \emptyset ; B\gets \emptyset;
    2 for {\boldsymbol{g}} \in {\cal{L}} do
    3 if {\boldsymbol{g}} \; {\rm{is \;executable}} then
    4 {\cal{L}} \leftarrow {\cal{L}} \backslash \{{\boldsymbol{g}}\} ;
    5 else
    6 q_{{\rm{c}}}, q_{{\rm{t}}}\gets \; {\rm{the \;operating\; qubits\; of\; gate}}\; {\boldsymbol{g}} ;
    7 B\gets B\cup \{q_{{\rm{c}}}, q_{{\rm{t}}}\};
    8 for {\boldsymbol{g}}\in {\cal{L}} do
    9 q_{{\rm{c}}}, q_{{\rm{t}}}\gets {\rm{the\; operating\; qubits\; of\; gate}}\; {\boldsymbol{g}} ;
    10 for p \in E[M_{{\rm{l}}}[q_{{\rm{c}}}]][M_{{\rm{l}}}[q_{{\rm{t}}}]] do
    11 for e \in p do
    12 if e.s {\rm{and}} e.t \notin B then
    13 continue;
    14 M_{{\rm{p}}}^{\prime} \leftarrow M_{{\rm{p}}} ; M_{{\rm{l}}}^{\prime} \leftarrow M_{{\rm{l}}} ;
    15 Q_{1} \leftarrow M_{{\rm{p}}}^{\prime}[e.s] ; Q_{2} \leftarrow M_{{\rm{p}}}^{\prime}[e.t] ;
    16 M_{{\rm{p}}}^{\prime}[e.s] \leftarrow Q_{2} ; M_{{\rm{p}}}^{\prime}[e.t] \leftarrow Q_{1} ;
    17 if Q_{1}\neq -1 then
    18 M_{{\rm{l}}}^{\prime}[Q_{1}] \leftarrow Q_{2} ;
    19 if Q_{2}\neq-1 then
    20 M_{{\rm{l}}}^{\prime}[Q_{2}] \leftarrow Q_{1} ;
    21 s \leftarrow \emptyset ;
    22 s.swaps \leftarrow s.swaps \cup \{e\};
    23 s.value \leftarrow evaluate({\boldsymbol{D}},M_{{\rm{l}}}^{\prime},{\cal{L}}) ;
    24 results \leftarrow results \cup \{s\} ;
    25 {\bf{return}} results ;

    Example 4. Let us consider the mapping

    \tau_{0}= \{q_{0} \rightarrow Q_{10}, q_{1}\rightarrow Q_{0}, q_{2}\rightarrow Q_{6}, q_{3}\rightarrow Q_{5}, q_{4}\rightarrow Q_{11}\}.

    with {\cal{L}}_{0}=\{{\boldsymbol{g}}_{0},{\boldsymbol{g}}_{1}\} , cost_{{\boldsymbol{g}}_{1}}=0 , and cost_{{\boldsymbol{g}}_{0}}=3 . The gate {\boldsymbol{g}}_{1} can be executed directly in the \tau_{0} mapping, therefore we delete it from {\cal{L}}_{0} , but {\boldsymbol{g}}_{0} cannot be executed in the mapping \tau_{0} . The nodes that cannot be executed join the set B=\{q_{2}, q_{1}\} . The set of shortest paths is

    \{\{Q_{6}\rightarrow Q_{1} \rightarrow Q_{0} \}, \{Q_{6}\rightarrow Q_{5} \rightarrow Q_{0} \}\}.

    We traverse the shortest paths and calculate the candidate set. The current candidate set is \{(Q_{6},Q_{1}), (Q_{1},Q_{0}), (Q_{6},Q_{5}), (Q_{5},Q_{0}) \} .

    TSA takes a layered circuit and an initial mapping as input and outputs a circuit that can be executed in the specified coupling graph, as shown in Algorithm 3. The adjusted circuit mapping of each layer is used as the initial mapping of the next layer. Line 1 regards the initial mapping \tau_{{\rm{ini}}} as the best mapping \tau_{{\rm{best}}} . Lines 3–12 cyclically check whether all the gates in the current layer can be executed under the mapping \tau_{{\rm{best}}} . If all the gates are executable or the number of iterations reaches the given bound, the search is completed. Otherwise, the search continues. Line 4 gets the current mapping candidate, and line 7 finds the best mapping in the candidate set. Note that if the edge swapped by a candidate appears in the tabu list, the candidate will be removed from the candidate set. Then from the remaining candidates, we choose a mapping with the lowest cost. Line 9 takes the amnesty rules. If the best candidate is not found, the amnesty rules will select the mapping with the lowest cost in the candidate set as the best mapping. Lines 10–12 update the best mapping \tau_{{\rm{best}}} and insert the swapped edge performed by the best mapping to the tabu list tb . The motivation is to execute the generated circuit in parallel as much as possible and to avoid swapping the edges in the tabu list. Then it will check whether the termination condition of the algorithm is satisfied. The condition determines whether the number of iterations reaches the given bound, or the current mapping ensures all the gates in the current layer can be executed.

    Algorithm 3. Tabu Search
    Input: \tau_{{\rm{ini}}} : the initial mapping; tb : the tabu list;
    Output: \tau_{{\rm{best}}} : the best mapping;
    1 Initialize \tau_{{\rm{best}}} \leftarrow \tau_{{\rm{ini}}} ;
    2 it \leftarrow 1 ; /*the number of iterations*/
    3 while {\rm{not}} \ mustStop(it, \tau_{{\rm{best}}}) do
    4 C \leftarrow \tau_{{\rm{best}}}.candidates() /*candidate set*/
    5 if C {\rm{is\; empty}} then
    6 {\bf{break}} ;
    7 c_{{\rm{best}}} \leftarrow best\_candidates(C, tb) ;
    8 if c_{{\rm{best}}} {\rm{is\; empty}} then
    9 c_{{\rm{best}}} \leftarrow amnesty\_candidates(C, tb) ;
    10 \tau_{{\rm{best}}} \leftarrow c_{{\rm{best}}} ;
    11 tb \gets tb. add (c_{{\rm{best}}}.swaps) ;
    12 n \leftarrow n+1 ;
    13 {\bf{return}} \tau_{{\rm{best}}};

    We propose three evaluation functions: one introduces CCA; one uses the number of additional gates in the generated circuit as an evaluation criterion as given in (1); and the last one uses the depth of the generated circuit as an evaluation criterion as given in (2). They give rise to three variants of TSA called TSAcca, TSAnum, and TSAdep, respectively.

    CCA has mainly been used for Boolean Satisfiability (SAT) problems. We apply the idea of CCA to adjust circuits. Let submake represent the number of qubits for which two qubits are closer after an SWAP gate, and subbreak represent the number of qubits for which two qubits are farther apart after an SWAP gate. We introduce subscore= submake\ \, - subbreak into the evaluation function and adjust the weight with the Smooth Weight based Threshold (SWT) scheme[14].

    The output of the i -th layer, with i smaller than the depth of the circuit d , is used as the input of the (i+1) -th layer. Note that any SWAP gate in the i -th layer will affect the mapping of the (i+1) -th layer. If we only consider the gate of the current layer when selecting the SWAP gate, only the requirements of the i layer will be satisfied, not necessarily those of the next layer. Therefore, we take the gates from the i -th to the (i+l_{{\rm{a}}}) -th layer, with i+l_{{\rm{a}}} \leqslant d , into consideration, where l_{{\rm{a}}} is the number of look-ahead layers. It is necessary to give a higher priority to executing the gates in the i -th layer, therefore we introduce an attenuation factor \delta to control the influence of the gates in the look-ahead layers.

    \begin{split}& cost_{{\rm{num}}}(Q_{{\rm{c}}},Q_{{\rm{t}}}) =\sum\limits_{{\boldsymbol{g}} \in {\cal{L}}_{i}}3\times({{D}}[\tau[q_{{\rm{c}}}]][\tau[q_{{\rm{t}}}]]-1) + \\ &\qquad\delta \times \left(\sum\limits_{j=i}^{i+l_{{\rm{a}}}}\sum\limits_{{\boldsymbol{g}} \in {\cal{L}}_{j}}3\times({{D}}[\tau[q_{{\rm{c}}}]][\tau[q_{{\rm{t}}}]]-1)\right), \end{split} (1)
    cost_{{\rm{dep}}}(Q_{{\rm{c}}},Q_{{\rm{t}}}) = Depth\left(\bigcup\limits_{j=i}^{i+l_{{\rm{a}}}}{\cal{L}}_{j}\right). (2)

    Here cost_{{\rm{num}}}(Q_{{\rm{c}}}, Q_{{\rm{t}}}) (resp. cost_{{\rm{dep}}}(Q_{{\rm{c}}}, Q_{{\rm{t}}}) ) denotes the distance (resp. depth) of all the gates in layer {\cal{L}}_j ( i\leqslant j \leqslant i+l_{{\rm{a}}} ), after swapping the state of Q_{{\rm{c}}} with that of Q_{{\rm{t}}} . The function Depth({\cal{L}}) returns the depth of {\cal{L}} and the notation q_{{\rm{c}}} (resp. q_{{\rm{t}}} ) stands for the control (resp. target) qubit of gate {\boldsymbol{g}} .

    Example 5. Let us continue the previous example. We select the one with the lowest evaluation score from the candidate set. Assuming \delta=0.5 and l_{{\rm{a}}}=2 , for {\cal{L}}_{1}=\{{\boldsymbol{g}}_{2},{\boldsymbol{g}}_{0}\} , the candidate set is \{(Q_{6},Q_{1}), (Q_{1},Q_{0}), (Q_{6},Q_{5}), (Q_{5},Q_{0}) \}, and the costs are given as follows:

    \begin{aligned} & cost_{{\rm{num}}}(Q_{6},Q_{1})=0 , \quad\;\;\; cost_{{\rm{num}}}(Q_{1},Q_{0})=1.5 , \\ & cost_{{\rm{num}}}(Q_{6},Q_{5})=1.5, \quad cost_{{\rm{num}}}(Q_{5},Q_{0})=1.5 {\text{.}}\end{aligned}

    The algorithm chooses the first SWAP with the smallest score, and the mapping becomes \tau_{0}=\{q_{0} \rightarrow Q_{10}, q_{1}\rightarrow Q_{0}, q_{2}\rightarrow Q_{1},q_{3}\rightarrow Q_{5},q_{4}\rightarrow Q_{11}\} .

    The current mapping ensures that {\boldsymbol{g}}_{0} is executable. Thus we can continue to the next layer.

    Given an interaction graph {\cal{IG}}=(V_{{\cal{I}}},E_{{\cal{I}}}) and a coupling graph {\cal{CG}}=(V_{{\cal{C}}},E_{{\cal{C}}}) , we assume that the depth of the circuit is d and there are G 2-qubit gates in one layer. The candidate set consists of the edges connected to the control or target qubits, thus the size of the SWAP candidate set is 8\times G . The worst-case time complexity is O(d\times G\times(8\times G)^{(|E_{{\cal{C}}}|-1)}) , and the space complexity is O(G) .

    We compare TSA with several state-of-the-art algorithms for qubit mapping, namely ZPW[10], SABRE[11], FiDLS[12], and DLH[13]. Notice that other algorithms such as SAHS[26] and {\rm{t}} \mid {\rm{ket}}\rangle[25] are not listed because Li et al.[12] have pointed out that FiDLS is superior to SAHS and the latter outperforms {\rm{t}} \mid {\rm{ket}}\rangle[26]. The implementation in Python is available online 3. All the experiments are conducted on a Ubuntu machine with a 2.2 GHz CPU and 64 GB memory. We take the logarithm \log_{10} of both the x -axis and y -axis such that the experimental results are easy to observe. The time limit for each benchmark is one hour. Among the 159 benchmarks, we have considered, 158 of them are taken from some functions of RevLib[35], and one is added by our own. This dataset has also been adopted in several related work. We believe that it is representative and our comparative experiments are carried out on it. With the 159 benchmarks, we compare TSA with ZPW, SABRE, and FiDLS on IBM Q Tokyo, and with FiDLS on Sycamore. Since the code of DLH is not available online, we only make comparison with this algorithm on the number of inserted additional gates but not the running time. Note that SABRE uses a random initial mapping, thus for every benchmark we execute it five times, each with a different initial mapping, and report the best result out of the five trials. TSA uses unsorted candidates, and thus we execute it five times and take the best result. Other algorithms are deterministic, therefore they only run once. Fig.5 illustrates the entire process of our experiments. Below we go through it in more detail.

    Figure  5.  Sketch of the experiments.

    Firstly, we test TSA with fixed and variable look-ahead parameter l_{{\rm{a}}} . In Fig.6, different colors represent the logarithms of the number of additional gates. The lower the points in the figure, the fewer additional gates inserted. As for the look-ahead parameter l_{{\rm{a}}} , the optimal parameter for each circuit may be different. We have done thousands of experiments and found that when l_{{\rm{a}}}=2 , the number of additional gates is relatively small for all benchmarks. It means that a 2-layer look-ahead already gives a good performance for TSA.

    Figure  6.  Impact of the look-ahead parameter l_{{\rm{a}}} on search results.

    In Fig.7, we compare {\rm{TSA}}_{{\rm{cca}}} , {\rm{TSA}}_{{\rm{dep}}} and {\rm{TSA}}_{{\rm{num}}} using the 159 benchmarks mentioned above. Compared with {\rm{TSA}}_{{\rm{cca}}} (resp. {\rm{TSA}}_{{\rm{num}}} ), the depth of the generated circuits by {\rm{TSA}}_{{\rm{dep}}} is reduced by 2.37% (resp. 3.42%) on average. Compared with {\rm{TSA}}_{{\rm{cca}}} (resp. {\rm{TSA}}_{{\rm{dep}}} ), the number of additional gates by {\rm{TSA}}_{{\rm{num}}} is reduced by 2.69% (resp. 9.56%) on average. Therefore, it is preferable to use either {\rm{TSA}}_{{\rm{dep}}} or {\rm{TSA}}_{{\rm{num}}} , depending on the optimization objective to be either the depth or the number of additional gates of the resulting circuits.

    Figure  7.  Comparison of the number of additional gates inserted by {\rm{TSA}}_{{\rm{dep}}}, {\rm{TSA}}_{{\rm{cca}}}, and {\rm{TSA}}_{{\rm{num}}}.

    Secondly, we use the benchmarks[13] to compare {\rm{TSA}}_{{\rm{num}}} with DLH. Note that two heuristic cost functions MCPE and MCPE_OP are used in DLH. Since there is no code available online for DLH, we only compare the number of additional gates inserted with the circuits[13], as shown in Table 1. Compared with MCPE and MCPE_OP, {\rm{TSA}}_{{\rm{num}}} reduces the total number of additional gates by 27.32% and 12.42%, respectively.

    Table  1.  Comparison of MCPE, MCPE_OP and {\rm{TSA}}_{{\rm{num}}}
    Benchmark n G G_0 (MCPE) G_1 (MCPE_OP) G_2 ({\rm{TSA}}_{{\rm{num}}} ) \Delta_0(\%) \Delta_1 (\%)
    4mod5-v1_22 5 21 0 0 0 0.00 0.00
    mod5mils_65 5 35 0 0 0 0.00 0.00
    alu-v0_27 5 36 3 3 6 –100.00 –100.00
    decod24-v2_43 4 52 0 0 0 0.00 0.00
    4gt13_92 5 66 21 21 0 100.00 100.00
    ising_model_10 16 786 0 0 0 0.00 0.00
    ising_model_13 16 786 0 0 0 0.00 0.00
    ising_model_16 16 786 0 0 0 0.00 0.00
    qft_10 10 200 39 39 57 –46.15 –46.15
    qft_16 16 512 225 192 189 16.00 1.56
    rd84_142 15 343 153 108 99 35.29 8.33
    adr4_197 13 3439 1566 1224 1029 34.29 15.93
    radd_250 13 3213 1353 1047 852 37.03 18.62
    z4_268 11 3073 1071 855 915 14.57 –7.02
    sym6_145 14 3888 1017 1017 681 33.04 33.04
    misex1_241 15 4813 2118 1098 1032 51.27 6.01
    rd73_252 10 5321 2352 2193 1629 30.74 25.72
    cycle10_2_110 12 6050 2226 1968 1890 15.09 3.96
    square_root_7 15 7630 2061 1788 1509 26.78 15.60
    sqn_258 10 4459 3708 3057 3093 16.59 –1.18
    rd84_253 12 13658 6411 5697 4605 28.17 19.17
    co14_215 15 17936 5634 5062 6813 –20.93 –34.59
    sym9_193 10 34881 15420 13746 12315 20.14 10.41
    urf5_158 9 164416 69852 58947 56253 19.47 4.57
    hwb9_119 10 207775 93219 89355 78753 15.52 11.87
    urf4_187 11 512064 220329 168366 141768 35.66 15.80
    Sum 1307223 428778 355782 311598 27.32 12.42
    Note: n is the number of qubits, G is the number of gates in the input circuit, G_0G_2 are the numbers of additional gates inserted by MCPE, MCPE_OP and TSAnum, respectively, and \Delta_i=(G_i-G_2)/G_i.
    下载: 导出CSV 
    | 显示表格

    Thirdly, we compare the combinations of several algorithms for inserting fewer additional gates. In order to visualize the differences between ZPW, FiDLS, SABRE, and TSA, we have plotted a series of figures available online as supplementary materials 4. We use the initial mapping and adjustment algorithms from ZPW[10], SABRE[11], FiDLS[12], and TSA.

    In Table 2, we compare the performance of the four initial mapping algorithms of ZPW, SABRE, FiDLS, and TSA under the specific adjustment algorithms. For example, in the first row, the adjustment algorithm is fixed to be that of ZPW; there are 115 circuits that all of the four initial mapping algorithms can successfully transform and we compare the number of additional gates. As we can see, the initial mapping algorithm of TSA performs the best when used in conjunction with the five adjustment algorithms. It leads to a reduction of 41%, 30%, and 37% of additional gates compared with the initial mapping algorithms of ZPW, SABRE, and FiDLS.

    Table  2.  Comparison of the Initial Mapping Algorithms of ZPW, SABRE, FiDLS, and TSA
    Algorithm N G G_0 G_1 G_2 G_3 \Delta_0 (\%) \Delta_1 (\%) \Delta_2 (\%)
    ZPW 115 63666 29640 24951 27651 17412 41.26 30.22 37.03
    SABRE 108 77790 28671 26079 26412 16068 43.96 38.39 39.16
    FiDLS 120 209433 29484 28434 30195 25950 11.99 8.74 14.06
    {\rm{TSA}}_{{\rm{num}}} 120 163485 54969 52512 62817 45948 12.50 26.85 18.59
    {\rm{TSA}}_{{\rm{cca}}} 120 163485 57777 53922 61668 46305 19.86 14.13 24.91
    Note: N is the number of circuits that all the four initial mapping algorithms can successfully transform, G is the number of gates in the input circuits, G_0G_3 are the numbers of additional gates inserted by ZPW, SABRE, FiDLS, and TSA, respectively, and \Delta_i=(G_i-G_3)/G_i.
    下载: 导出CSV 
    | 显示表格

    We then compare the five adjustment algorithms from ZPW, SABRE, FiDLS, {\rm{TSA}}_{{\rm{num}}} , and {\rm{TSA}}_{{\rm{cca}}} under specific initial mapping algorithms in Table 3. FiDLS gives rise to the fewest additional gates. For example, in the second row, SABRE is used as the adjustment algorithm, 16632 (resp. 12072) gates are inserted under the initial mapping of SABRE (resp. TSA). The SABRE adjustment algorithm combined with the initial mapping provided by TSA has fewer gates inserted than the SABRE initial mapping algorithm in these benchmarks. This shows that the initial mapping of TSA is better than that of SABRE. FiDLS uses a deep search on the circuits, calculates the full permutation of all edges, and then selects the best among all the permutations according to an evaluation function. FiDLS takes large-scale search space and long search time for large-scale circuits. Overall, TSA performs well on large-scale circuits, trading off additional gates and runtime.

    Table  3.  Comparison of the Adjustment Algorithms of ZPW, SABRE, FiDLS, {\rm{TSA}}_{{\rm{num}}} , and {\rm{TSA}}_{{\rm{cca}}}
    Algorithm N G G_0 G_1 G_2 G_3 G_4 \Delta_0 (\%) \Delta_1 (\%) \Delta_2 (\%) \Delta_4 (\%)
    ZPW 94 29443 14472 11244 4938 10173 10389 29.71 9.53 –106.01 2.08
    SABRE 105 49987 19053 16632 6204 12072 11904 36.61 27.41 –94.58 –1.41
    FiDLS 109 105428 45813 31011 16668 37800 37851 17.49 –21.89 –126.78 0.13
    TSA 124 150464 49620 30447 19068 40461 40629 18.46 –32.89 –112.19 0.41
    Note: N is the number of circuits that all the five adjustment algorithms can successfully transform, G is the number of gates in the input circuits, G_0G_4 are the numbers of additional gates inserted by ZPW, SABRE, FiDLS, TSA_{\rm{num}}, and TSA_{\rm{cca}}, respectively, and \Delta_i=(G_i-G_3)/G_i.
    下载: 导出CSV 
    | 显示表格

    Fourthly, we compare the overall performance of {\rm{TSA}}_{{\rm{num}}} and {\rm{TSA}}_{{\rm{cca}}} with SABRE and FiDLS on IBM Q Tokyo. We test 159 circuits, including 66 small-scale circuits, 49 medium-scale circuits, and 44 large-scale ones. Note that in Table 4 and Fig.8 we do not display the data for ZPW. Instead, we make comparison with SABRE because it is already shown that SABRE is much more scalable than ZPW[11]. In Fig.8, the number of additional gates introduced by the blue bars is the largest, followed by the red ones. We can see that the yellow bars are the shortest when the x -axis is greater than 3, indicating that FiDLS has inserted the fewest gates in the large-scale circuits. The green bars are for {\rm{TSA}}_{{\rm{num}}} . The number of additional gates it introduces is slightly larger than that of FiDLS. It can also be seen from Table 4 that {\rm{TSA}}_{{\rm{num}}} takes much less time than FiDLS in general. SABRE successfully transforms 144 circuits, including all the small-scale and medium-scale circuits, and 29 large-scale ones, which takes 12436 seconds. FiDLS successfully transforms 159 circuits, which takes 63841 seconds. {\rm{TSA}}_{{\rm{num}}} and {\rm{TSA}}_{{\rm{cca}}} are much faster, as they successfully transform all the 159 circuits, taking 2465 seconds and 2523 seconds, respectively. Compared with SABRE, the number of additional SWAP gates generated by {\rm{TSA}}_{{\rm{num}}} is reduced by 51% on average, among the 115 small-scale and medium-scale circuits that both of them can successfully transform.

    Table  4.  Comparison of Runtime and Number of Circuits Successfully Transformed by SABRE, FiDLS, {\rm{TSA}}_{{\rm{num}}} , and {\rm{TSA}}_{{\rm{cca}}}
    Scale N G SABRE FiDLS {\rm{TSA}}_{{\rm{num}}} {\rm{TSA}}_{{\rm{cca}}}
    N_0 G_0 t_0 (s) N_1 G_1 t_1 (s) N_2 G_2 t_2 (s) N_3 G_3 t_3 (s)
    Small 66 5997 66 2301 2 66 1329 7 66 894 16 66 897 21
    Medium 49 21618 49 10218 22 49 5328 90 49 5199 57 49 5280 62
    Large 44 3289162 29 162522 12412 44 532485 63744 44 1013196 2392 44 1037427 2440
    Sum 159 3312734 144 175041 12436 159 539142 63841 159 1015521 2465 159 1043604 2523
    Note: N is the number of test circuits, G is the number of gates in the input circuits, N_0N_3 are the numbers of circuits successfully transformed by SABRE, FiDLS, TSA_{\rm{num}}, and TSA_{\rm{cca}} respectively, t_0t_3 are the runtime of SABRE, FiDLS, TSA_{\rm{num}}, and TSA_{\rm cca}, respectively, and G_0G_3 are the numbers of additional gates inserted by SABRE, FiDLS, TSA_{\rm{num}}, and TSA_{\rm cca}, respectively.
    下载: 导出CSV 
    | 显示表格
    Figure  8.  Comparison of SABRE, {\rm{TSA}}_{{\rm{cca}}}, {\rm{TSA}}_{{\rm{num}}} and FiDLS on IBM Q Tokyo.

    In small-scale (resp.middle-scale) circuits, {\rm{TSA}}_{{\rm{num}}} generates an average of 33% (resp. 2%) fewer additional SWAP gates compared with FiDLS. Specifically, FiDLS inserts 1329 (resp. 5328) additional gates, while the number is 894 (resp. 5199) for {\rm{TSA}}_{{\rm{num}}} . When dealing with large-scale circuits, although {\rm{TSA}}_{{\rm{num}}} inserts more additional gates, it can convert large-scale circuits more than 25 times faster than FiDLS, as we can see in the fourth row and the t_{2} -column of Table 4.

    Finally, we set the 53-qubit quantum processor Sycamore as our target device and compare TSA with FiDLS still on the 159 benchmarks. In each row of Table 5, the same initial mapping algorithm is used, and in each column, the same adjustment algorithm is used. Generally speaking, TSA leads to a reduction of 2%-3% for the number of inserted additional gates. In the experiment, we find that the degrees of the Sycamore nodes are small and the maximum is 4. If the degrees of nodes in the interaction graph are generally greater than the maximum degree of Sycamore, it is not very suitable to use subgraph isomorphism to generate the set of partial initial mappings. The algorithm tempts to first match the node with the largest degree. If the node with the maximum degree does not satisfy the isomorphism condition, the initial mapping generated by the subgraph isomorphism algorithm is not friendly. However, the adjustment of TSA is still very effective because the time cost is drastically lowered, going from 31896 seconds for FiDLS to 1795 seconds for {\rm{TSA}}_{{\rm{num}}} , that is, the latter is more than 17 times faster than the former.

    Table  5.  Comparing the Initial Mapping and Adjustment Algorithms of FiDLS and TSA on Sycamore
    Algorithm FiDLS {\rm{TSA}}_{{\rm{num}}} {\rm{TSA}}_{{\rm{cca}}} \Delta_1 (\%) \Delta_2 (\%)
    G_0 t_0 (s) G_1 t_1 (s) G_2 t_2 (s)
    FiDLS 2311560 31896 2245314 233 2257371 3392 2.86 2.56
    TSA 2305125 31211 2234937 1795 2252271 3390 3.04 2.29
    Note: The number of test circuits, N, is 159, the number of gates in the input circuits, G, is 3312734, G_0G_2 are the numbers of additional gates inserted by FiDLS, TSA_{\rm{num}} and TSA_{\rm{cca}}, respectively, t_0t_2 are the runtime of FiDLS, TSA_{\rm{num}}, and TSA_{\rm{cca}}, respectively, and \Delta_i=(G_0-G_i)/G_0.
    下载: 导出CSV 
    | 显示表格

    We proposed a scalable algorithm called Tabu Search-Based Adjustment (TSA) for qubit mapping. We first used a subgraph isomorphism algorithm and a mapping completion algorithm based on the connectivity between qubits to generate a high-quality initial mapping. Then we employed a look-ahead heuristic search to adjust the mapping, which takes into account the influence of the gates yet to be processed to reduce the number of additional gates. We compared the performance of the initial mapping and adjustment algorithms of TSA with state-of-the-art algorithms ZPW, SABRE, and FiDLS, using the architectures of IBM Q Tokyo and Sycamore as the target devices. Our experimental results show that the initial mapping of TSA gives rise to fewer SWAP gates inserted and the adjustment algorithm can be obtained in an acceptable amount of time. Most small-scale and medium-scale circuits can be transformed in a few seconds. For large-scale circuits, the results can be obtained within a few minutes. In the future, we will investigate how to reduce the number of additional gates inserted and increase the speed. We will also apply the proposed method to more noisy intermediato-scale quantum (NISQ) devices.

  • Figure  1.   Example RNN.

    Figure  2.   Unrolling illustrations of the RNN in Fig.1.

    Figure  3.   Overview of the polyhedron propagation.

    Figure  4.   Process of the ReLU algorithm on a 2D example (bounded). (a) Original polyhedron. (b) Proceeding w.r.t. the 1st coordinate. (c)–(d) Intermediate results. (e)–(f) Proceeding w.r.t. the 2nd coordinate. (g)–(i) Polyhedron bundle of the final results.

    Figure  5.   Process of the ReLU algorithm on a 2D example (unbounded). (a) Original polyhedron. (b)–(c) Results of proceeding w.r.t. the 1st coordinate. (d)–(e) Results of proceeding w.r.t. the 2nd coordinate (i.e., final results).

    Figure  6.   Illustrations for the vertex reduction algorithm of an unbounded polyhedron. The algorithm starts from the input polyhedron (a), the black arrow indicates the extreme direction), and constructs the initial simplex (b) in the first quadrant. Then preprocessing is done to ensure the infinitesimal requirement because of the boundlessness (c), (d). Lastly, the polyhedron is refined with the truncation iteration as AoYu (e). (a) Input polyhedron. (b) Initialization. (c) Preprocessing. (d) Cutting infinity. (e) Refinement.

    Figure  7.   Overview of the verification framework.

    Table  1   Network Structures and Input Sequence Lengths

    NetworkNetwork StructureInput Length
    {\cal{{N}}}_1 2-3-3-23
    {\cal{{N}}}_2 2-7-10-10-7-33
    {\cal{{N}}}_3 8-6-6-26
    {\cal{{N}}}_4 1-2-23
    {\cal{{N}}}_5 1-6-23
    下载: 导出CSV

    Table  2   Network Input Sequences

    Network Original Input Sequence
    {\cal{{N}}}_1 (–0.36, 0.5)T, (–0.71, 1.38)T, (1.79, –2.33)T
    {\cal{{N}}}_2 (–1.24, 0.48)T, (0.61, 0.92)T, (–1.7, –0.23)T
    {\cal{{N}}}_3 (–3.4, 8.0, –5.0, 9.5, 3.6, –1.4, –0.4, –0.7)T,
    (–4.1, –0.2, 9.6, –3.3, –3.7, –5, –11.2, 2.8)T,
    (6.7, 11.6, –2.8, 6.8, 0.2, 7.6, 7.1, 5.1)T,
    (–7.5, 2.2, –4.8, –3.3, 1.8, –0.6, 5.9, 7.2)T,
    (–3.6, 8.8, 1.8, –5.6, –0.4, 0.9, –0.1, 8.7)T,
    (–5.2, –0.6, –3.9, 3.9, 5.4, 2.5, –1.9, –0.9)T.
    下载: 导出CSV

    Table  3   Verification Results on the Robustness Property

    Network (i,j)/i \epsilon Quali. Res. Quan. Res. (i,j)/i \epsilon Quali. Res. Quan. Res.
    {\cal{N}}_1 (3, 1) –0.05 Sat 1.000 1 +0.05 Sat 1.000
    (3, 1) –0.10 Sat 1.000 2 +0.10 Sat 1.000
    (3, 1) –0.20 Sat 1.000 2 –0.45 Unsat 0.996
    (3, 1) +0.05 Sat 1.000 3 –0.10 Unsat 0.993
    (3, 1) +0.10 Unsat 0.705 3 +0.10 Unsat 0.870
    {\cal{N}}_2 (1, 1) +0.10 Unsat 0.884 1 –0.01 Sat 1.000
    (1, 2) –0.20 Unsat 0.717 1 –0.05 Sat 1.000
    (1, 2) –0.15 Unsat 0.725 2 –0.10 Sat 1.000
    {\cal{N}}_3 3 –0.10 Sat 1.000 5 –0.10 Sat 1.000
    4 –0.10 Sat 1.000 6 –0.10 Sat 1.000
    下载: 导出CSV

    Table  4   Model Checking Results on Adversarial Examples

    Changed
    Unit (s)
    Adversarial
    Example
    \epsilon
    1 (–0.36, 0.50)T, (–0.71, 1.38)T, (1.79, –2.39)T 0.06
    1 (–0.36, 0.35)T, (–0.71, 1.38)T, (1.79, –2.33)T 0.15
    2 (–0.36, 0.47)T, (–0.71, 1.38)T, (1.79, –2.39)T 0.09
    2 (–0.36, 0.50)T, (–0.71, 1.47)T, (1.87, –2.33)T 0.17
    3 (–0.36, 0.50)T, (–0.71, 1.43)T, (1.85, –2.27)T 0.15
    3 (–0.36, 0.44)T, (–0.71, 1.38)T, (1.73, –2.38)T 0.17
    下载: 导出CSV

    Table  5   Experimental Results of Model Checking upon Temporal Properties

    Property Pre-Condition Post-Condition Proportion
    Property 1 \forall i. 1 \leqslant i \leqslant 2\rightarrow \textsf{X}^{i+1}{\boldsymbol{x}} \geqslant \textsf{X}^{i}{\boldsymbol{x}} {\boldsymbol{e}}^ {\rm{T}}_1( \textsf{X}^{3}{\boldsymbol{x}})\leqslant{\boldsymbol{e}}^ {\rm{T}}_2( \textsf{X}^{3}{\boldsymbol{x}}) 0.1740
    Property 2 \textsf{X}^{2}{\boldsymbol{x}}\leqslant {\bf{0}} \forall i. 1\leqslant i\leqslant 2 \rightarrow ({\boldsymbol{e}}^ {\rm{T}}_1( \textsf{X}^{i+1}{\boldsymbol{x}})<{\boldsymbol{e}}^ {\rm{T}}_1( \textsf{X}^{i}{\boldsymbol{x}})) 0.6943
    Property 3 \textsf{X}^{1}{\boldsymbol{x}}\leqslant \textsf{X}^{2}{\boldsymbol{x}} {\boldsymbol{e}}^ {\rm{T}}_1( \textsf{X}^{3}{\boldsymbol{x}})\leqslant{\boldsymbol{e}}^ {\rm{T}}_2( \textsf{X}^{3}{\boldsymbol{x}}) 1.0000
    下载: 导出CSV

    Table  6   Comparisons on Computation Time and Memory

    i Timeo (s) Timea (s) Memo (MB) Mema (MB)
    3 15.405 1.181 93.2 95.2
    4 13.974 1.155 93.6 95.2
    5 14.500 1.112 93.3 95.0
    6 13.701 1.115 93.9 95.4
    下载: 导出CSV
  • [1]

    Russakovsky O, Deng J, Su H, Krause J, Satheesh S, Ma S, Huang Z H, Karpathy A, Khosla A, Bernstein M, Berg A C, Fei-Fei L. ImageNet large scale visual recognition challenge. International Journal of Computer Vision, 2015, 115(3): 211–252. DOI: 10.1007/s11263-015-0816-y.

    [2]

    Pennington J, Socher R, Manning C D. GloVe: Global vectors for word representation. In Proc. the 2014 Conference on Empirical Methods in Natural Language Processing, Oct. 2014, pp.1532–1543. DOI: 10.3115/v1/d14-1162.

    [3]

    Hinton G, Deng L, Yu D, Dahl G E, Mohamed A R, Jaitly N, Senior A, Vanhoucke V, Nguyen P, Sainath T N, Kingsbury B. Deep neural networks for acoustic modeling in speech recognition: The shared views of four research groups. IEEE Signal Processing Magazine, 2012, 29(6): 82–97. DOI: 10.1109/MSP.2012.2205597.

    [4]

    Liu X W, Zhu X Z, Li M M, Wang L, Tang C, Yin J P, Shen D G, Wang H M, Gao W. Late fusion incomplete multi-view clustering. IEEE Trans. Pattern Analysis and Machine Intelligence, 2019, 41(10): 2410–2423. DOI: 10.1109/TPAMI.2018.2879108.

    [5]

    Urmson C, Whittaker W. Self-driving cars and the urban challenge. IEEE Intelligent Systems, 2008, 23(2): 66–68. DOI: 10.1109/mis.2008.34.

    [6]

    Litjens G, Kooi T, Bejnordi B E, Setio A A A, Ciompi F, Ghafoorian M, van der Laak J A W M, van Ginneken B, Sánchez C I. A survey on deep learning in medical image analysis. Medical Image Analysis, 2017, 42: 60–88. DOI: 10.1016/j.media.2017.07.005.

    [7]

    Huang X W, Kroening D, Ruan W J, Sharp J, Sun Y C, Thamo E, Wu M, Yi X P. A survey of safety and trustworthiness of deep neural networks: Verification, testing, adversarial attack and defence, and interpretability. Computer Science Review, 2020, 37: 100270. DOI: 10.1016/j.cosrev.2020.100270.

    [8]

    Molnar C, Casalicchio G, Bischl B. Interpretable machine learning—A brief history, state-of-the-art and challenges. In Proc. the 2020 Workshops of the European Conference on Machine Learning and Knowledge Discovery in Databases, Sept. 2020, pp.417–431. DOI: 10.1007/978-3-030-65965-3_28.

    [9]

    Goodfellow I J, Shlens J, Szegedy C. Explaining and harnessing adversarial examples. In Proc. the 3rd International Conference on Learning Representations, May 2015.

    [10]

    Papernot N, McDaniel P, Jha S, Fredrikson M, Celik Z B, Swami A. The limitations of deep learning in adversarial settings. In Proc. the 2016 IEEE European Symposium on Security and Privacy, Mar. 2016, pp.372–387. DOI: 10.1109/EuroSP.2016.36.

    [11]

    Katz G, Barrett C W, Dill D L, Julian K, Kochenderfer M J. Reluplex: An efficient SMT solver for verifying deep neural networks. In Proc. the 29th International Conference on Computer Aided Verification, Jul. 2017, pp.97–117. DOI: 10.1007/978-3-319-63387-9_5.

    [12]

    Gehr T, Mirman M, Drachsler-Cohen D, Tsankov P, Chaudhuri S, Vechev M. AI2: Safety and robustness certification of neural networks with abstract interpretation. In Proc. the 2018 IEEE Symposium on Security and Privacy, May 2018, pp.3–18. DOI: 10.1109/sp.2018.00058.

    [13]

    Singh G, Gehr T, Püschel M, Vechev M. An abstract domain for certifying neural networks. Proceedings of the ACM on Programming Languages, 2019, 3(POPL): 41. DOI: 10.1145/3290354.

    [14]

    Liu W W, Song F, Zhang T H R, Wang J. Verifying ReLU neural networks from a model checking perspective. Journal of Computer Science and Technology, 2020, 35(6): 1365–1381. DOI: 10.1007/s11390-020-0546-7.

    [15]

    Akintunde M E, Kevorchian A, Lomuscio A, Pirovano E. Verification of RNN-based neural agent-environment systems. In Proc. the 33rd AAAI Conference on Artificial Intelligence, Jan. 27– Feb. 1, 2019, pp.6006–6013. DOI: 10.1609/aaai.v33i01.33016006.

    [16]

    Jacoby Y, Barrett C, Katz G. Verifying recurrent neural networks using invariant inference. In Proc. the 18th International Symposium on Automated Technology for Verification and Analysis, Oct. 2020, pp.57–74. DOI: 10.1007/978-3-030-59152-6_3.

    [17]

    Ko C Y, Lyu Z Y, Weng L, Daniel L, Wong N, Lin D H. POPQORN: Quantifying robustness of recurrent neural networks. In Proc. the 36th International Conference on Machine Learning, Jun. 2019, pp.3468–3477.

    [18]

    Du T Y, Ji S L, Shen L J, Zhang Y, Li J F, Shi J, Fang C F, Yin J W, Beyah R, Wang T. Cert-RNN: Towards certifying the robustness of recurrent neural networks. In Proc. the 2021 ACM SIGSAC Conference on Computer and Communications Security, Nov. 2021, pp.516–534. DOI: 10.1145/3460120.3484538.

    [19]

    Ryou W, Chen J Y, Balunovic M, Singh G, Dan A, Vechev M. Scalable polyhedral verification of recurrent neural networks. In Proc. the 33rd International Conference on Computer Aided Verification, Jul. 2021, pp.225–248. DOI: 10.1007/978-3-030-81685-8_10.

    [20]

    Zhang H C, Shinn M, Gupta A, Gurfinkel A, Le N, Narodytska N. Verification of recurrent neural networks for cognitive tasks via reachability analysis. In Proc. the 24th European Conference on Artificial Intelligence, Aug. 29–Sept. 8, 2020, pp.1690–1697. DOI: 10.3233/FAIA200281.

    [21]

    Vengertsev D, Sherman E. Recurrent neural network properties and their verification with Monte Carlo techniques. In Proc. the 34th AAAI Conference on Artificial Intelligence, Feb. 2020, pp.178–185.

    [22]

    Khmelnitsky I, Neider D, Roy R, Xie X, Barbot B, Bollig B, Finkel A, Haddad S, Leucker M, Ye L N. Property-directed verification and robustness certification of recurrent neural networks. In Proc. the 19th International Symposium on Automated Technology for Verification and Analysis, Oct. 2021, pp.364–380. DOI: 10.1007/978-3-030-88885-5_24.

    [23]

    Kalra N, Paddock S M. Driving to safety: How many miles of driving would it take to demonstrate autonomous vehicle reliability? Transportation Research Part A: Policy and Practice, 2016, 94: 182-193. DOI: 10.1016/j.tra.2016.09.010.

    [24]

    Dahnert M, Hou J, Nießner M, Dai A. Panoptic 3D scene reconstruction from a single RGB image. In Proc. the 35th International Conference on Neural Information Processing Systems, Dec. 2021, Article No. 633.

    [25]

    Wang J X, Wang K C, Rudzicz F, Brudno M. Grad2Task: Improved few-shot text classification using gradients for task representation. In Proc. the 35th International Conference on Neural Information Processing Systems, Dec. 2021, Article No. 501.

    [26]

    Hornik K, Stinchcombe M, White H. Multilayer feedforward networks are universal approximators. Neural Networks, 1989, 2(5): 359–366. DOI: 10.1016/0893-6080(89)90020-8.

    [27]

    Ziegler G M. Lectures on Polytopes. Springer, 1995. DOI: 10.1007/978-1-4613-8431-1.

    [28]

    Preparata F P, Shamos M I. Computational Geometry: An Introduction. Springer, 1985. DOI: 10.1007/978-1-4612-1098-6.

    [29]

    Bredon G E. Topology and Geometry. Springer, 1993. DOI: 10.1007/978-1-4757-6848-0.

    [30]

    Zheng Y. Computing bounding polytopes of a compact set and related problems in n-dimensional space. Computer-Aided Design, 2019, 109: 22–32. DOI: 10.1016/j.cad.2018.12.002.

    [31]

    Barber C B, Dobkin D P, Huhdanpaa H. The quickhull algorithm for convex hulls. ACM Trans. Mathematical Software, 1996, 22(4): 469–483. DOI: 10.1145/235815.235821.

    [32]

    Legay A, Lukina A, Traonouez L M, Yang J X, Smolka S A, Grosu R. Statistical model checking. In Computing and Software Science: State of the Art and Perspectives, Steffen B, Woeginger G (eds.), Springer, 2019, pp.478–504. DOI: 10.1007/978-3-319-91908-9_23.

    [33]

    Mancini T, Mari F, Melatti I, Salvo I, Tronci E, Gruber J K, Hayes B, Prodanovic M, Elmegaard L. Parallel statistical model checking for safety verification in smart grids. In Proc. the 2018 IEEE International Conference on Communications, Control, and Computing Technologies for Smart Grids (SmartGridComm), Oct. 2018. DOI: 10.1109/smartgridcomm.2018.8587416.

    [34]

    Wali K I, Othman S A. Schedule risk analysis using Monte Carlo simulation for residential projects. Zanco Journal of Pure and Applied Sciences, 2019, 31(5): 90–103. DOI: 10.21271/zjpas.31.5.11.

    [35]

    Younesi A, Shayeghi H, Safari A, Siano P. Assessing the resilience of multi microgrid based widespread power systems against natural disasters using Monte Carlo Simulation. Energy, 2020, 207: 118220. DOI: 10.1016/j.energy.2020.118220.

    [36]

    Okamoto M. Some inequalities relating to the partial sum of binomial probabilities. Annals of the Institute of Statistical Mathematics, 1959, 10(1): 29–35. DOI: 10.1007/bf02883985.

    [37]

    Tran H D, Manzanas Lopez D, Musau P, Yang X D, Nguyen L V, Xiang W M, Johnson T T. Star-based reachability analysis of deep neural networks. In Proc. the 3rd World Congress on Formal Methods, Oct. 2019, pp.670–686. DOI: 10.1007/978-3-030-30942-8_39.

    [38]

    Servan-Schreiber D, Cleeremans A, McClelland J L. Graded state machines: The representation of temporal contingencies in simple recurrent networks. Machine Learning, 1991, 7(2/3): 161–193. DOI: 10.1007/BF00114843.

    [39]

    Schellhammer I, Diederich J, Towsey M, Brugman C. Knowledge extraction and recurrent neural networks: An analysis of an Elman network trained on a natural language learning task. In Proc. the 1998 New Methods in Language Processing and Computational Natural Language Learning, Jan. 1998, pp.73–78. DOI: 10.5555/1603899.1603912.

  • 其他相关附件

图(7)  /  表(6)
计量
  • 文章访问数:  249
  • HTML全文浏览量:  0
  • PDF下载量:  42
  • 被引次数: 0
出版历程
  • 收稿日期:  2022-07-22
  • 录用日期:  2023-07-09
  • 网络出版日期:  2023-10-08
  • 刊出日期:  2024-12-27

目录

/

返回文章
返回