Asynchronous mode system for performing graphical analysis in fault tolerant environment

By using random vectors and subsets of entry when calculating the adjacency matrix traces of large-scale graphs, the problems of low computing efficiency and large memory usage in traditional methods are solved, and efficient and fast trace approximation calculations are achieved.

CN120104935APending Publication Date: 2025-06-06INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411723076.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-12-04
Filing Date
2024-11-28
Publication Date
2025-06-06

AI Technical Summary

Technical Problem

Traditional methods are inefficient and occupy a lot of memory when calculating the adjacency matrix traces of large-scale graphs. Especially the direct calculation and complete matrix diagonalization methods have problems such as time-consuming and huge calculations.

Method used

By retrieving the adjacency matrix associated with the complex graph, a random vector is determined and a matrix vector is generated. Then, a subset of entries is selected from the matrix vector based on the first set of natural numbers, and the sum of the typical outer product is formed to determine the diagonal random matrix, and finally the trace approximation of the adjacency matrix is ​​calculated based on the diagonal random matrix and the subset of entries.

Benefits of technology

Through parallel processing and iterative computing, this method reduces computing power and storage requirements, can efficiently process large-dimensional adjacency matrices, realize fast and accurate trace approximation calculations, and avoids the problems of large computing volume and memory usage in traditional methods.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120104935A_ABST
    Figure CN120104935A_ABST
Patent Text Reader

Abstract

The invention provides an asynchronous mode system for executing graphic analysis in a fault-tolerant environment. The invention further discloses a system for randomizing trace approximation calculation based on an asynchronous calculation system structure. The system retrieves an adjacency matrix associated with the complex graph. The system determines a random vector based on the retrieved adjacency matrix. The system generates a matrix vector based on the adjacency matrix and the random vector. The system determines a first set of natural numbers based on a first dimension of the adjacency matrix. The system selects a subset of entries from the generated matrix vector based on the determined first set of natural numbers. The system determines a diagonal random matrix based on a sum of canonical outer products formed by the selected subset of entries. The system calculates a trace approximation of the adjacency matrix based on the determined diagonal random matrix and the selected subset of entries, and stores the calculated trace approximation of the adjacency matrix.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] The present invention relates to trace approximation computing, and more particularly, to randomized trace approximation computing based on an asynchronous computing architecture.

[0002] With the advancement in the field of computer science and linear algebra, many real-world problems in different fields such as, but not limited to, networking and telecommunications, transportation and logistics, epidemiology, computer science and information technology, biology and genetics, finance, circuit design, energy networks, and image processing and computer vision are now framed as graph theory problems where real-world problems are represented by graphs. These graphs are mathematical structures consisting of nodes (vertices) and edges connecting these nodes. These graphs provide a flexible framework for modeling, analyzing, and solving real-world problems. These graphs can also be represented in the form of matrices, and different operations can be performed on matrices to solve real-world problems. One such operation is known as trace estimation of a matrix.

[0003] Traditionally, computing the trace of an implicitly defined matrix is ​​computationally expensive, especially for large graphs. Existing methods typically involve either direct computation, which can be time-consuming for dense graphs, or full matrix diagonalization, which is computationally expensive and memory-intensive. Summary of the invention

[0004] According to an embodiment of the present disclosure, a computer-implemented method for calculating a trace approximation of an adjacency matrix is ​​described. The computer-implemented method includes retrieving an adjacency matrix associated with a complex graph by a computer. The retrieved adjacency matrix may be of a first dimension. The computer-implemented method also includes determining a random vector by a computer based on the retrieved adjacency matrix. The random vector may have an expected value of zero. The computer-implemented method also includes generating a matrix vector by a computer based on the retrieved adjacency matrix and the determined random vector. The computer-implemented method also includes determining a first natural number set by a computer based on the first dimension of the retrieved adjacency matrix. The count of elements in the determined first natural number set may be less than the first dimension of the retrieved adjacency matrix. The computer-implemented method also includes selecting a subset of entries from the generated matrix vector by a computer based on the determined first natural number set. The computer-implemented method also includes determining a diagonal random matrix by a computer based on the sum of canonical outer products formed by the selected subset of entries. The computer-implemented method also includes computing, by the computer, a trace approximation of the adjacency matrix based on the determined diagonal random matrix and the selected subset of entries, and storing, by the computer, the computed trace approximation of the adjacency matrix.

[0005] According to one or more embodiments of the present disclosure, a system for calculating a trace approximation of an adjacency matrix is ​​described. A computer executes a method for calculating a trace approximation of an adjacency matrix. The method includes retrieving an adjacency matrix associated with a complex graph. The retrieved adjacency matrix may be of a first dimension. The method also includes determining a random vector based on the retrieved adjacency matrix. The random vector may have an expected value of zero. The method also includes generating a matrix vector based on the retrieved adjacency matrix and the determined random vector. The method also includes determining a first natural number set based on the first dimension of the retrieved adjacency matrix. The count of elements in the determined first natural number set may be less than the first dimension of the retrieved adjacency matrix. The method also includes selecting a subset of entries from the generated matrix vector based on the determined first natural number set. The method also includes determining a diagonal random matrix based on the sum of canonical outer products formed by the selected subset of entries. The method also includes calculating a trace approximation of the adjacency matrix based on the determined diagonal random matrix and the selected subset of entries, and storing the calculated trace approximation of the adjacency matrix.

[0006] According to one or more embodiments of the present disclosure, a computer program product for calculating the trace approximation of an adjacency matrix is ​​described. The computer program product includes a computer-readable storage medium having program instructions embodied therewith, which can be executed by a system to enable the system to retrieve an adjacency matrix associated with a complex graph. The retrieved adjacency matrix can be of a first dimension. The program instructions also include determining a random vector by a computer based on the retrieved adjacency matrix. The random vector can have an expected value of zero. The program instructions also include generating a matrix vector by a computer based on the retrieved adjacency matrix and the determined random vector. The program instructions also include determining a first natural number set based on the first dimension of the retrieved adjacency matrix. The count of elements in the determined first natural number set can be less than the first dimension of the retrieved adjacency matrix. The program instructions further include selecting an entry subset from the generated matrix vector based on the determined first natural number set. The program instructions also include determining a diagonal random matrix based on the sum of canonical outer products formed by the selected entry subsets. The program instructions also include computing a trace approximation of the adjacency matrix based on the determined diagonal random matrix and the selected subset of entries, and storing the computed trace approximation of the adjacency matrix.

[0007] According to one or more embodiments of the present disclosure, a system for calculating a trace approximation of an adjacency matrix is ​​described. A computer executes a method for calculating a trace approximation of an adjacency matrix. The method includes retrieving an adjacency matrix associated with a complex graph. The retrieved adjacency matrix may be of a first dimension. The system determines at least one trigger point based on at least one of the computational capabilities of the system or the detection of one or more faults associated with one or more computations performed by the system. The method also includes determining a random vector based on the retrieved adjacency matrix and the determined at least one trigger point. The random vector may have an expected value of zero. The method also includes generating a matrix vector based on the retrieved adjacency matrix and the determined random vector. The method also includes determining a first natural number set based on the first dimension of the retrieved adjacency matrix. The count of elements in the determined first natural number set may be less than the first dimension of the retrieved adjacency matrix. The method also includes selecting a subset of entries from the generated matrix vector based on the determined first natural number set. The method also includes determining a diagonal random matrix based on the sum of canonical outer products formed by the selected subset of entries. The method also includes computing a trace approximation of the adjacency matrix based on the determined diagonal random matrix and the selected subset of entries, and storing the computed trace approximation of the adjacency matrix.

[0008] According to an embodiment of the present disclosure, a computer-implemented method for computing a trace approximation of an adjacency matrix is ​​described. The computer-implemented method includes retrieving, by a computer, an adjacency matrix associated with a complex graph. The retrieved adjacency matrix may be of a first dimension. The computer-implemented method also includes determining at least one trigger point based on at least one of the computational power of the computer or the detection of one or more faults associated with one or more computations performed by the computer. The computer-implemented method also includes determining, by the computer, a random vector based on the retrieved adjacency matrix and the determined at least one trigger point. The random vector may have an expected value of zero. The computer-implemented method also includes generating, by the computer, a matrix vector based on the retrieved adjacency matrix and the determined random vector. The computer-implemented method also includes determining, by the computer, a first natural number set based on the first dimension of the retrieved adjacency matrix. The count of elements in the determined first natural number set may be less than the first dimension of the retrieved adjacency matrix. The computer-implemented method also includes selecting, by the computer, a subset of entries from the generated matrix vector based on the determined first natural number set. The computer-implemented method also includes determining, by the computer, a diagonal random matrix based on the sum of canonical outer products formed by the selected subset of entries. The computer-implemented method also includes computing, by the computer, a trace approximation of the adjacency matrix based on the determined diagonal random matrix and the selected subset of entries, and storing, by the computer, the computed trace approximation of the adjacency matrix.

[0009] Some embodiments of the present disclosure describe the application of a randomized trace estimator on an asynchronous computing environment, where the quadratic form x is partially computed by observing only a random subset of rows of an adjacency matrix (A) for each sample of a random vector (x) T Ax. The disclosed asynchronous framework treats the number of rows and subsets of rows observed for each sample as random variables, and our theoretical analysis establishes the variance of the randomized estimators for Rademacher and Gaussian samples.

[0010] Additional technical features and benefits are achieved through the technology of the present invention. The embodiments and aspects of the present disclosure are described in detail herein and are considered to be part of the claimed subject matter. For a better understanding, reference is made to the detailed description and the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The following description will provide details of the preferred embodiments with reference to the following drawings, in which:

[0012] Figure 1 A diagram showing a computing environment for randomized trace approximation computing based on an asynchronous computing architecture according to an embodiment of the present disclosure;

[0013] Figure 1 A diagram showing a network environment for randomized trace approximation computing based on an asynchronous computing architecture according to an embodiment of the present disclosure;

[0014] Figure 2 A diagram showing an environment for randomized trace approximation computation based on an asynchronous computing architecture according to an embodiment of the present disclosure;

[0015] Figure 3 An exemplary complex graph and an exemplary adjacency matrix associated with the exemplary complex graph according to an embodiment of the present disclosure are shown;

[0016] Figure 4A A diagram illustrating exemplary operations for determining the computing capabilities of an underlying electronic device according to an embodiment of the present disclosure;

[0017] Figure 4B A diagram illustrating exemplary operations for determining one or more faults associated with one or more computations performed by at least one electronic device in accordance with an embodiment of the present disclosure;

[0018] Figure 5 A diagram showing an exemplary operation for randomized trace approximation computation based on an asynchronous computing architecture according to an embodiment of the present disclosure;

[0019] Figure 6 An exemplary diagram illustrating an exemplary use case scenario for randomized trace approximation according to an embodiment of the present disclosure;

[0020] Figure 7 An exemplary diagram showing a graph between a plurality of samples and relative errors according to an embodiment of the present disclosure;

[0021] Figure 8 A flowchart showing an exemplary method for randomized trajectory approximation calculation based on an asynchronous computing architecture according to an embodiment of the present disclosure is shown; and

[0022] Fig. 9 A flowchart of an exemplary method for randomized trajectory approximation calculation based on an asynchronous computing architecture according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0023] According to one aspect of the present disclosure, a computer-implemented method for calculating a trace approximation of an adjacency matrix is ​​provided. The computer-implemented method includes retrieving, by a computer, an adjacency matrix associated with a complex graph. The retrieved adjacency matrix may be of a first dimension. The computer-implemented method also includes determining, by a computer, a random vector based on the retrieved adjacency matrix. The random vector may be sampled based on one of a Rademacher distribution or a Gaussian distribution, and may have an expected value and variance zero. The computer-implemented method also includes generating, by a computer, a matrix vector based on the retrieved adjacency matrix and the determined random vector. The computer-implemented method also includes determining, by a computer, a first natural number set based on the first dimension of the retrieved adjacency matrix. The count of elements in the determined first natural number set may be less than the first dimension of the retrieved adjacency matrix. The computer-implemented method also includes selecting, by a computer, a subset of entries from the generated matrix vector based on the determined first natural number set. The computer-implemented method also includes determining, by a computer, a diagonal random matrix based on the sum of canonical outer products formed by the selected subset of entries. The computer-implemented method also includes calculating the trace approximation of the adjacency matrix by the computer based on the determined diagonal random matrix and the selected entry subset. Specifically, the computer-implemented method includes iteratively selecting an entry subset from the generated matrix vector based on the determined first natural number set by the computer. The computer-implemented method also includes iteratively determining the diagonal random matrix by the computer based on the sum of the canonical outer products formed by the corresponding entry subsets. The computer-implemented method also includes calculating the trace approximation of the adjacency matrix by the computer based on the average value of the intermediate result set, and the intermediate result set is obtained based on the iterative selection of the entry subset and the iterative determination of the diagonal random matrix. The computer-implemented method also includes storing the calculated trace approximation of the adjacency matrix by the computer. By selecting the entry subset from the matrix-vector product and by performing iterative calculations in parallel, computing power and storage requirements can be reduced. This can enable efficient processing of adjacency matrices with large dimensions for calculating corresponding trace estimates. Due to the parallel processing of a limited set of entries, the disclosed computer-implemented method can quickly and efficiently calculate the randomized trajectory of the adjacency matrix. This can further lead to resource optimization and cost savings. Furthermore, since a subset of entries is iteratively selected and a diagonal random matrix is ​​further iteratively determined to cover the variation (or diversity) of natural numbers and further averaged to compute the trace approximation of the adjacency matrix, it can be ensured that the trace approximation is not skewed by selecting only a single set of natural numbers.

[0024] In other embodiments, the computer-implemented method further comprises generating, by the computer, a solution to a graph analysis problem based on a trace approximation of a computation of an adjacency matrix, wherein a complex graph is associated with the graph analysis problem. Due to the processing of a finite set of rows as above, the time taken to generate a solution to a graph analysis problem using the disclosed trace estimation technique may be less than the time taken to generate a solution to a graph analysis problem using conventional trace estimation techniques. This may further be used to solve real-time problems in real time (or nearly real time).

[0025] In other embodiments, the graph analysis problem corresponds to one of a graph traversal problem, a network routing problem, a social network analysis problem, a protein folding problem, a graph centrality problem, a ranking problem, or a graph classification problem.

[0026] In other embodiments, the computer-implemented method further comprises generating, by a computer, a matrix vector based on the retrieved adjacency matrix, the determined random vector, and a first set of natural numbers, wherein based on determining the absence of a corresponding row number associated with at least one row of the initial matrix vector from the first set of natural numbers, at least one row of the retrieved adjacency matrix is ​​updated by a zero row vector in the generated matrix vector. As a result, the disclosed computer-implemented method can update some rows of the matrix vector with zero row vectors. During parallel computation, the disclosed method can omit rows updated with zero vectors, so that calculations for trace estimation of adjacency can be processed quickly, efficiently, and effectively using a reduced number of rows.

[0027] In other embodiments, the computer-implemented method further includes determining, by the computer, a computing capability of at least one electronic device. The computer-implemented method further includes selecting, by the computer, a subset of entries from the generated matrix vector based on the determined computing capability of the electronic device. The disclosed computer-implemented method may initially determine the computing capability of the electronic device, and further select a subset of entries from the generated matrix vector for calculating the trace estimate. Due to parallel calculations and omitting some rows for calculation, the disclosed computer-implemented method may be performed on electronic devices with low computing capabilities. Therefore, the trace of the adjacency matrix may be calculated even on low-end devices that may have low computing capabilities.

[0028] In other embodiments, the computer-implemented method further includes detecting, by the computer, one or more faults associated with one or more calculations performed by at least one electronic device. The computer-implemented method further includes selecting, by the computer, a subset of entries from the generated matrix vector based on the detection of the one or more faults. The disclosed computer-implemented method may initially determine one or more faults associated with one or more calculations performed by the electronic device, and further select a subset of entries from the generated matrix vector for trace estimation. As a result, even if there is a fault in the electronic device, due to the detection of one or more faults in the electronic device, the disclosed computer-implemented method may update the adjacency matrix by a zero row vector in the generated matrix vector. The entries updated by the zero row vector may be omitted for processing during the calculation of the trace estimation. Due to the omission, the time spent on calculating the trace approximation may be reduced to a certain extent. In addition, in the event of a fault within the electronic device, the computer-implemented method may be seamlessly executed because the identified fault is unlikely to significantly affect the overall result of the trace approximation.

[0029] According to one aspect of the present disclosure, a system for calculating a trace approximation of an adjacency matrix is ​​provided. The system performs a method for calculating a trace approximation of an adjacency matrix. The method includes retrieving an adjacency matrix associated with a complex graph. The retrieved adjacency matrix may be of a first dimension. The method also includes determining a random vector based on the retrieved adjacency matrix. The random vector may be sampled based on one of a Rademacher distribution or a Gaussian distribution, and may have an expected value and variance zero. The method also includes generating a matrix vector based on the retrieved adjacency matrix and the determined random vector. The method also includes determining a first natural number set based on the first dimension of the retrieved adjacency matrix. The count of elements in the determined first natural number set may be less than the first dimension of the retrieved adjacency matrix. The method also includes selecting a subset of entries from the generated matrix vector based on the determined first natural number set. The method also includes determining a diagonal random matrix based on the sum of canonical outer products formed by the selected subset of entries. The method also includes calculating a trace approximation of the adjacency matrix based on the determined diagonal random matrix and the selected subset of entries. Specifically, the method includes iteratively selecting a subset of entries from a generated matrix vector based on a determined first natural number set. The method also includes iteratively determining a diagonal random matrix based on the sum of canonical outer products formed by corresponding subsets of entries. The method also includes calculating a trace approximation of an adjacency matrix based on an average value of an intermediate result set, which is obtained based on iterative selection of the subset of entries and iterative determination of the diagonal random matrix. The method also includes storing the calculated trace approximation of the adjacency matrix. By selecting a subset of entries from a matrix-vector product and by performing iterative calculations in parallel, computing power and storage requirements can be reduced. This can make it possible to process adjacency matrices with extremely large sizes for calculating corresponding trace estimates. Due to the parallel processing of a limited set of entries, the disclosed system can quickly and efficiently calculate the randomized trace of the adjacency matrix. This can further lead to resource optimization and cost savings. In addition, due to iterative selection of a subset of entries and further iterative determination of a diagonal random matrix to cover the variation (or diversity) of natural numbers and further averaging to calculate the trace approximation of the adjacency matrix. This can ensure that the trace approximation will not be skewed due to selecting only a single set of natural numbers.

[0030] In other embodiments, the method further comprises selecting an entry subset from the generated matrix vector based on processor set information, wherein the processor set information indicates the count of the processors in the processor set. The method also comprises determining the diagonal random matrix based on the sum of the canonical outer products formed by the selected entry subset. Therefore, calculations can be performed asynchronously or in parallel on each processor in the processor set. This parallel computing can reduce the time spent on the trace approximation of the calculation adjacency matrix.

[0031] According to one aspect of the present disclosure, a computer program product for calculating the trace approximation of an adjacency matrix is ​​provided. The computer program product includes a computer-readable storage medium having program instructions embodied therewith, which can be executed by a system to enable the system to retrieve an adjacency matrix associated with a complex graph. The retrieved adjacency matrix can be of a first dimension. The program instructions also include determining a random vector by a computer based on the retrieved adjacency matrix. The random vector can have an expected value of zero. The program instructions also include generating a matrix vector by a computer based on the retrieved adjacency matrix and the determined random vector. The program instructions also include determining a first natural number set based on the first dimension of the retrieved adjacency matrix. The count of elements in the determined first natural number set can be less than the first dimension of the retrieved adjacency matrix. The program instructions further include selecting an entry subset from the generated matrix vector based on the determined first natural number set. The program instructions also include determining a diagonal random matrix based on the sum of canonical outer products formed by the selected entry subsets. The program instruction also includes calculating the trace approximation of the adjacency matrix based on the determined diagonal random matrix and the selected entry subset, and storing the trace approximation of the adjacency matrix calculated. By selecting the entry subset from the matrix-vector product and by performing iterative calculation in parallel, computing power and storage requirements can be reduced. This can make it possible to process the adjacency matrix with very large size for calculating the corresponding trace estimation. Due to the parallel processing of the limited entry set, the disclosed computer programmable product can quickly and efficiently calculate the randomized trace of the adjacency matrix. This can further lead to resource optimization and cost saving. In addition, due to iterative selection of entry subsets and further iterative determination of the diagonal random matrix to cover the variation (or diversity) of natural numbers and further average to calculate the trace approximation of the adjacency matrix. This can ensure that the trace approximation will not be skewed due to only selecting a single natural number set.

[0032] According to one aspect of the present disclosure, a system for calculating a trace approximation of an adjacency matrix is ​​provided. A computer executes a method for calculating a trace approximation of an adjacency matrix. The method includes retrieving an adjacency matrix associated with a complex graph. The retrieved adjacency matrix may be of a first dimension. The system determines at least one trigger point based on at least one of the computational capabilities of the system or the detection of one or more faults associated with one or more computations performed by the system. The method also includes determining a random vector based on the retrieved adjacency matrix and the determined at least one trigger point. The random vector may have an expected value of zero. The method also includes generating a matrix vector based on the retrieved adjacency matrix and the determined random vector. The method also includes determining a first natural number set based on the first dimension of the retrieved adjacency matrix. The count of elements in the determined first natural number set may be less than the first dimension of the retrieved adjacency matrix. The method also includes selecting a subset of entries from the generated matrix vector based on the determined first natural number set. The method also includes determining a diagonal random matrix based on the sum of canonical outer products formed by the selected subset of entries. The method also includes calculating a trace approximation of an adjacency matrix based on the determined diagonal random matrix and the selected subset of entries, and storing the calculated trace approximation of the adjacency matrix. By selecting a subset of entries from a matrix-vector product and by performing iterative calculations in parallel, computing power and storage requirements can be reduced. This can enable efficient processing of adjacency matrices with large dimensions for calculating corresponding trace estimates. Due to the parallel processing of a limited set of entries, the disclosed method can quickly and efficiently calculate the randomized trace of the adjacency matrix.

[0033] In other embodiments, the method further includes comparing the computing power of the system to a predetermined computing power threshold. The method further includes determining at least one trigger point based on the comparison. Therefore, even if the computing power of the system is less than the predetermined computing power threshold, the disclosed method can be seamlessly executed on the system. Whereas conventional methods may not be executed on a system whose computing power is less than the predetermined computing power threshold. Therefore, the disclosed method can be executed on a low-end system with low computing power.

[0034] According to one aspect of the present disclosure, a computer-implemented method for computing a trace approximation of an adjacency matrix is ​​provided. The computer-implemented method includes retrieving, by a computer, an adjacency matrix associated with a complex graph. The retrieved adjacency matrix may be of a first dimension. The computer-implemented method also includes determining at least one trigger point based on at least one of the computational power of the computer or the detection of one or more faults associated with one or more computations performed by the computer. The computer-implemented method also includes determining, by the computer, a random vector based on the retrieved adjacency matrix and the determined at least one trigger point. The random vector may have an expected value of zero. The computer-implemented method also includes generating, by the computer, a matrix vector based on the retrieved adjacency matrix and the determined random vector. The computer-implemented method also includes determining, by the computer, a first natural number set based on the first dimension of the retrieved adjacency matrix. The count of elements in the determined first natural number set may be less than the first dimension of the retrieved adjacency matrix. The computer-implemented method also includes selecting, by the computer, a subset of entries from the generated matrix vector based on the determined first natural number set. The computer-implemented method also includes determining, by the computer, a diagonal random matrix based on the sum of canonical outer products formed by the selected subset of entries. The computer-implemented method also includes calculating the trace approximation of the adjacency matrix based on the determined diagonal random matrix and the selected entry subset by the computer, and storing the calculated trace approximation of the adjacency matrix by the computer. By selecting the entry subset from the matrix-vector product and by performing iterative calculations in parallel, computing power and storage requirements can be reduced. This can enable efficient processing of adjacency matrices with large dimensions for calculating corresponding trace estimates. Due to the parallel processing of a limited set of entries, the disclosed computer-implemented method can quickly and efficiently calculate the randomized trace of the adjacency matrix.

[0035] Various aspects of the present disclosure are described by narrative text, flow charts, block diagrams of computer systems, and / or block diagrams of machine logic included in computer program product (CPP) embodiments. With respect to any flow chart, depending on the technology involved, the operations may be performed in an order different from the order shown in a given flow chart. For example, again depending on the technology involved, two operations shown in consecutive flow chart blocks may be performed in reverse order, as a single integrated operation, simultaneously, or in a manner that at least partially overlaps in time.

[0036] Computer program product embodiments ("CPP embodiments" or "CPP") are terms used in this disclosure to describe any collection of one or more storage media (also referred to as "media") collectively included in a collection of one or more storage devices that collectively include machine-readable code corresponding to instructions and / or data for performing the computer operations specified in a given CPP claim. A "storage device" is any tangible device that can hold and store instructions for use by a computer processor. Without limitation, a computer-readable storage medium may be an electronic storage medium, a magnetic storage medium, an optical storage medium, an electromagnetic storage medium, a semiconductor storage medium, a mechanical storage medium, or any suitable combination of the foregoing. Some known types of storage devices that include these media include: magnetic disks, hard disks, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM or flash memory), static random access memories (SRAM), compact disk read-only memories (CD-ROMs), digital versatile disks (DVDs), memory sticks, floppy disks, mechanical encoding devices (such as punch cards or pits / land formed in a major surface of a disk), or any suitable combination of the foregoing. Computer-readable storage media, as the term is used in this disclosure, should not be construed as storing in the form of transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides, light pulses through fiber optic cables, electrical signals transmitted through wires, and / or other transmission media. As will be appreciated by those skilled in the art, data is typically moved at certain occasional points in time during normal operation of the storage device, such as during access, defragmentation, or garbage collection, but this does not make the storage device transitory because the data is not transitory while it is stored.

[0037] Figure 1 is a diagram showing a computing environment for randomized trace approximation computing based on an asynchronous computing architecture according to an embodiment of the present disclosure. Figure 1, shows a computing environment 100 including an example of an environment for executing at least some of the computer codes involved in performing the methods of the present invention, such as an improved randomized trace approximation code 120B. In addition to block 120B, the computing environment 100 includes, for example, a computer 102, a wide area network (WAN) 104, an end user device (EUD) 106, a remote server 108, a public cloud 110, and a private cloud 112. In this embodiment, the computer 102 includes a processor set 114 (including a processing circuit 114A and a cache 114B), a communication structure 116, a volatile memory 118, a permanent storage device 120 (including an operating system 120A and a block 120B, as described above), a peripheral device set 122 (including a user interface (UI) device set 122A, a storage device 122B, and an Internet of Things (IoT) sensor set 122C) and a network module 124. The remote server 108 includes a remote database 108A. The public cloud 110 includes a gateway 110A, a cloud coordination module 110B, a host physical machine set 110C, a virtual machine set 110D, and a container set 110E.

[0038] Computer 102 may take the form of a desktop computer, a laptop computer, a tablet computer, a smart phone, a smart watch or other wearable computer, a mainframe computer, a quantum computer, or any other form of computer or mobile device now known or to be developed in the future that is capable of running programs, accessing a network, or querying a database such as remote database 130. As is well known in the art of computer technology, and depending on the technology, the performance of computer-implemented methods may be distributed among multiple computers and / or among multiple locations. On the other hand, in this presentation of computing environment 100, the detailed discussion focuses on a single computer, particularly computer 102, to keep the presentation as simple as possible. Computer 102 may be located in the cloud, even though it is not a physical computer. Figure 1 1 is not shown in the cloud, on the other hand, the computer 102 need not be in the cloud unless it can be positively indicated to any extent.

[0039] Processor set 114 includes one or more computer processors of any type known now or to be developed in the future. Processing circuit 114A may be distributed over multiple packages, such as multiple cooperating integrated circuit chips. Processing circuit 114A may implement multiple processor threads and / or multiple processor cores. Cache 114B may be a memory located in the processor chip package and is typically used for data or code that should be quickly accessed by threads or cores running on processor set 114. Cache memory is typically organized into multiple levels based on relative proximity to processing circuit 114A. Alternatively, some or all of cache 114B of processor set 114 may be located “off chip”. In some computing environments, processor set 114 may be designed to work with qubits and perform quantum computing.

[0040] Computer readable program instructions are typically loaded onto the computer 102 to cause a series of operations to be performed by the processor set 114 of the computer 102, thereby implementing a computer-implemented method, so that the instructions so executed will instantiate the method specified in the flow chart and / or the narrative description of the computer-implemented method included in this document (collectively referred to as the "inventive method"). These computer readable program instructions are stored in various types of computer readable storage media, such as cache 114B and other storage media discussed below. The program instructions and related data are accessed by the processor set 114 to control and direct the execution of the inventive method. In the computing environment 100, at least some of the instructions for performing the inventive method may be stored in a permanent storage device 120 in block 120B.

[0041] Communications fabric 116 is the signaling pathways that allow the various components of computer 102 to communicate with each other. Typically, the fabric is comprised of switches and conductive pathways, such as those that make up a bus, a bridge, physical input / output ports, etc. Other types of signal communication pathways may be used, such as fiber optic communication pathways and / or wireless communication pathways.

[0042] The volatile memory 118 is any type of volatile memory now known or developed in the future. Examples include dynamic random access memory (RAM) or static RAM. Typically, the volatile memory 118 is characterized as random access, but this is not required unless affirmatively indicated. In the computer 102, the volatile memory 118 is located in a single package and is internal to the computer 102, but alternatively or additionally, the volatile memory 118 can be distributed among multiple packages and / or located externally relative to the computer 102.

[0043] Persistent memory 120 is any form of non-volatile memory for computers known now or developed in the future. The non-volatility of the memory means that the stored data is maintained regardless of whether power is supplied to the computer 102 and / or directly to the permanent memory 120. Persistent memory 120 may be a read-only memory (ROM), but typically at least a portion of permanent memory 120 allows writing of data, deletion of data, and rewriting of data. Some common forms of persistent storage 120 include disks and solid-state storage devices. Operating system 120A may take several forms, such as various known proprietary operating systems or operating systems of the open source portable operating system interface type using a kernel. The code included in box 120B typically includes at least some of the computer codes involved in executing the method of the present invention.

[0044] The peripheral device set 122 includes a peripheral device set of the computer 102. The data communication connection between the peripheral device and other components of the computer 102 can be implemented in various ways, such as a Bluetooth connection, a near field communication (NFC) connection, a connection made by a cable (such as a universal serial bus (USB) type cable), a plug-in type connection (e.g., a secure digital (SD) card), a connection made through a local area communication network, and even a connection made through a wide area network such as the Internet. In various embodiments, the UI device set 122A may include components such as a display screen, a speaker, a microphone, a wearable device (such as goggles and smart watches), a keyboard, a mouse, a printer, a touchpad, a game controller, and a tactile device. The memory 122B is an external memory, such as an external hard drive, or a pluggable memory, such as an SD card. The storage device 122B may be permanent and / or volatile. In some embodiments, the storage device 122B may take the form of a quantum computing storage device for storing data in the form of quantum bits. In embodiments where the computer 102 needs to have a large amount of storage (e.g., where the computer 102 locally stores and manages a large database), the storage may be provided by a peripheral storage device designed to store very large amounts of data, such as a storage area network (SAN) shared by multiple geographically distributed computers. The IoT sensor set 122C is comprised of sensors that may be used in an IoT application. For example, one sensor may be a thermometer, while another sensor may be a motion detector.

[0045] The network module 124 is a collection of computer software, hardware, and firmware that allows the computer 102 to communicate with other computers via the WAN 104. The network module 124 may include hardware, such as a modem or a Wi-Fi signal transceiver, software for packetizing and / or depacketizing data transmitted over a communication network, and / or web browser software for transmitting data over the Internet. In some embodiments, the network control function and the network forwarding function of the network module 124 are executed on the same physical hardware device. In other embodiments (e.g., embodiments utilizing software defined networks (SDN)), the control function and the forwarding function of the network module 124 are executed on physically separated devices so that the control function manages several different network hardware devices. Computer-readable program instructions for executing the method of the present invention can typically be downloaded to the computer 102 from an external computer or an external storage device via a network adapter card or a network interface included in the network module 124.

[0046] WAN 104 is any wide area network (e.g., the Internet) capable of transmitting computer data over non-local distances by any technology known now or developed in the future for transmitting computer data. In some embodiments, WAN 104 may be replaced and / or supplemented by a local area network (LAN) designed to transmit data between devices located in a local area such as a Wi-Fi network. WAN 104 and / or LAN typically include computer hardware such as copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and edge servers.

[0047] End-user device (EUD) 106 is any computer system used and controlled by an end-user (e.g., a customer of an enterprise operating computer 102), and may take any of the forms discussed above in connection with computer 102. EUD 106 typically receives useful and useful data from the operation of computer 102. For example, in the hypothetical case where computer 102 is designed to provide recommendations to an end-user, the recommendations would typically be transmitted from network module 124 of computer 102 to EUD 106 via WAN 104. In this manner, EUD 106 may display or present the recommendations to the end-user. In some embodiments, EUD 106 may be a client device, such as a thin client, a heavy client, a mainframe computer, a desktop computer, or the like.

[0048] Remote server 108 is any computer system that provides at least some data and / or functionality to computer 102. Remote server 108 may be controlled and used by the same entity that operates computer 102. Remote server 108 represents a machine that collects and stores useful data for use by other computers, such as computer 102. For example, in the hypothetical scenario where computer 102 is designed and programmed to provide recommendations based on historical data, then that historical data may be provided to computer 102 from remote database 130 of remote server 108.

[0049] The public cloud 110 is any computer system that can be used by multiple entities, which provides on-demand availability of computer system resources and / or other computer capabilities, especially data storage (cloud storage) and computing capabilities, without the need for direct active management by users. Cloud computing generally uses the sharing of resources to achieve consistency and economy of scale. The direct and active management of the computing resources of the public cloud 110 is performed by the computer hardware and / or software of the cloud coordination module 110B. The computing resources provided by the public cloud 110 are generally implemented by virtual computing environments running on various computers that constitute the computers of the host physical machine set 110C, which is the entire domain of physical computers in the public cloud 110 and / or available for the public cloud. Virtual computing environments (VCEs) are generally in the form of virtual machines from the virtual machine set 110D and / or containers from the container set 110E. It should be understood that these VCEs can be stored as images and can be transferred between various physical machine hosts as images or after instantiation of the VCE. The cloud orchestration module 110B manages the transfer and storage of images, deploys new instantiations of VCEs, and manages active instantiations of VCE deployments. The gateway 110A is a collection of computer software, hardware, and firmware that allows the public cloud 110 to communicate over the WAN 104 .

[0050] Some further explanation of virtualized computing environments (VCEs) will now be provided. A VCE can be stored as an "image." A new active instance of a VCE can be instantiated from an image. Two common types of VCEs are virtual machines and containers. Containers are VCEs that use operating system-level virtualization. This refers to an operating system feature in which the kernel allows the existence of multiple isolated user space instances, called containers. From the perspective of the programs running in them, these isolated user space instances typically behave like actual computers. Computer programs running on a normal operating system can utilize all of the resources of that computer, such as connected devices, files and folders, network shares, CPU power, and quantifiable hardware capabilities. However, programs running within a container can only use the contents of the container and the devices assigned to the container, a feature known as containerization.

[0051] The private cloud 112 is similar to the public cloud 110, except that the computing resources are only available to a single enterprise. Although the private cloud 112 is depicted as communicating with the WAN 104, in other embodiments, the private cloud can be completely disconnected from the Internet and can only be accessed through a local / private network. A hybrid cloud is a combination of multiple clouds of different types (e.g., private, community, or public cloud types), typically implemented by different vendors. Each of the multiple clouds remains a separate and discrete entity, but the larger hybrid cloud architecture is bound together by standardized or proprietary technologies that enable coordination, management, and / or data / application portability between the multiple constituent clouds. In this embodiment, the public cloud 110 and the private cloud 112 are both part of a larger hybrid cloud.

[0052] Figure 2 is a diagram showing an environment for randomized trace approximation computing based on an asynchronous computing architecture according to an embodiment of the present disclosure. Figure 1 Component explanation Figure 2 .refer to Figure 2 , shows a diagram of a network environment 200. The network environment 200 includes a system 202, a display screen 204, a server 206, and a user 208. The network environment 200 may further include Figure 1 EUD 106 and WAN 104. In one embodiment, system 202 may be Figure 1 An exemplary embodiment of a computer 102.

[0053] System 202 may include appropriate logic, circuits, interfaces and / or codes that may be configured to calculate the trace approximation of an adjacency matrix. System 202 may be configured to retrieve an adjacency matrix associated with a complex graph, and further determine a random vector based on the retrieved adjacency matrix. System 202 may also be configured to generate a matrix vector based on the retrieved adjacency matrix and the determined random vector. System 202 may also be configured to determine a first natural number set based on the first dimension of the retrieved adjacency matrix. System 202 may further be configured to select an entry subset from the generated matrix vector based on the determined first natural number set, and determine a diagonal random matrix based on the sum of the canonical outer products formed by the selected entry subsets. System 202 may also be configured to calculate the trace approximation of an adjacency matrix based on the determined diagonal random matrix and the selected entry subset, and store the trace approximation of the calculated adjacency matrix. Examples of system 202 may include, but are not limited to, computing devices, virtual computing devices, mainframes, servers, computer workstations, smart phones, cellular phones, mobile phones, gaming devices, consumer electronics (CE) devices, and / or any other device having tracking computing capabilities.

[0054] The EUD 106 may include suitable logic, circuitry, interfaces and / or code that may provide the adjacency matrix as a user input to the system 202. In another embodiment, the EUD 106 may be configured to output the calculated trace approximation of the adjacency matrix on a display screen 204. In particular, the system 202 may control the display screen 204 of the EUD 106 to display the calculated trace approximation of the adjacency matrix on the display screen 204. The EUD 106 may be associated with a user 208 who may wish to calculate a trace approximation of the adjacency matrix or may wish to generate a solution to a graph analysis problem. Examples of the EUD 106 may include, but are not limited to, a computing device, a mainframe, a server, a computer workstation, a smart phone, a cellular phone, a mobile phone, a gaming device, a consumer electronics (CE) device, and / or any other device having trace computing capabilities.

[0055] Display screen 204 may include appropriate logic, circuits, and interfaces that may be configured to display the calculated trace approximation or solution to a graphical analysis problem. In an embodiment, display screen 204 may also display one or more user interface elements from which user 208 can provide user input. In some embodiments, display screen 204 may be an external display device associated with EUD 106. Display screen 204 may be a touch screen that enables a user to provide user input via display screen 204. The touch screen may be at least one of a resistive touch screen, a capacitive touch screen, or a thermal touch screen. Display screen 204 may be implemented by several known technologies, such as, but not limited to, at least one of a liquid crystal display (LCD) display, a light emitting diode (LED) display, a plasma display, or an organic LED (OLED) display technology or other display device. According to an embodiment, display screen 204 may refer to a head mounted device (HMD), a smart glass device, a perspective display, a display based on projection, an electrochromic display, or a transparent display.

[0056] Server 206 may include suitable logic, circuit and interface and / or code, and it may be configured to store adjacency matrix and random vector.Server 206 may also be configured to store the matrix vector of generation, the first natural number set of determination, the entry subset of selection, the trace approximation of the calculation of the random diagonal matrix of determination and the adjacency matrix.Server 206 may be implemented as a cloud server, and may perform operations by web application, cloud application, HTTP request, repository operation, file transfer etc.Other example implementations of server 206 may include but are not limited to database server, file server, web server, media server, application server, mainframe server or cloud computing server.

[0057] In at least one embodiment, the server 206 can be implemented as a plurality of distributed cloud-based resources using several techniques known to those of ordinary skill in the art. Those of ordinary skill in the art will appreciate that the scope of the present disclosure may not be limited to implementing the server 206 and the system 202 as two separate entities. In some embodiments, the functionality of the server 206 may be incorporated in whole or at least in part into the system 202, or vice versa, without departing from the scope of the present disclosure.

[0058] In operation, user 208 may wish to solve a graph analysis problem. Graph analysis problems may correspond to a class of computational problems that may involve studying and drawing insights from a graph, which may be a mathematical structure consisting of a set of nodes (vertices) and a set of edges (connections) linking the set of nodes. In one embodiment, graph analysis problems may be associated with real-world problems. Specifically, graph analysis problems may be linked to real-world problems because graph analysis problems may provide a powerful framework for modeling, understanding, and solving complex problems that may involve relationships, connections, and interactions between entities. For example, in Figure 5 Details on graph analysis problems are provided in .

[0059] In one embodiment, a graph analysis problem may include the analysis of a complex graph, which may include a set of nodes and a set of edges (or links) between the multiple nodes. The graph may be represented as an adjacency matrix. An adjacency matrix may be a square matrix that may represent the connections or relationships between nodes (or vertices) in a complex graph. Each entry in the adjacency matrix may correspond to a potential edge between two nodes, and its value indicates whether there is a connection between those nodes. Typically, in a complex graph, the adjacency matrix may be symmetric, with a "1" in the entry (I, j) if nodes i and j are connected, and a "0" if nodes i and j are not connected. Thus, the adjacency matrix may provide a structured way to encode the connectivity of a graph, and may be a fundamental tool for performing one or more graph-related computations and algorithms, making it necessary in a variety of graph analysis problems ranging from social network analysis to transportation route optimization. For example, in Figure 3 Details about graphs and adjacency matrices are provided in.

[0060] The system 202 may be configured to retrieve an adjacency matrix associated with a complex graph. The retrieved adjacency matrix has a first dimension (e.g., NxN). Based on the retrieved adjacency matrix, the system 202 may be configured to determine a random vector. The random vector may have an expected value of zero (0) and a variance of one (1). The system 202 may be configured to generate a matrix vector based on the retrieved adjacency matrix and the determined random vector. The matrix vector may correspond to the product of the retrieved adjacency matrix and the determined random vector. For example, in Figure 5 Details about matrix vectors are provided in .

[0061] The system 202 may also be configured to determine a first set of natural numbers based on the first dimension of the retrieved adjacency matrix. In an embodiment, the count of elements in the determined first set of natural numbers may be less than the first dimension of the retrieved adjacency matrix. The system 202 may further be configured to select a diagonal random matrix based on the sum of canonical outer products formed by the selected subset of entries.

[0062] Based on the determined diagonal random matrix and the selected subset of entries, the system 202 may be configured to calculate a trace approximation of the adjacency matrix. The system 202 may be further configured to store the calculated trace approximation of the adjacency matrix in the volatile memory 118. In another embodiment, the system 202 may be further configured to transmit the calculated trace approximation to the EUD 106 for rendering the calculated trace approximation on the user interface of the display screen 204.

[0063] Figure 3 An exemplary complex graph and an exemplary adjacency matrix associated with the exemplary complex graph according to an embodiment of the present disclosure are shown. Figure 1 and Figure 2 Element explanation Figure 3 .refer to Figure 3 , an exemplary diagram 300 including a complex graph 302 and an adjacency matrix 304 associated with the complex graph 302 is shown.

[0064] Complex graph 302 can be a non-linear data structure that can include a set of vertices and a set of edges. The set of vertices can also be referred to as a set of nodes. Each of the set of edges can correspond to a line or arc that can connect any two nodes in complex graph 302. More formally, complex graph 302 can be composed of a set of vertices or nodes (V) and a set of edges (E), and can be represented by G(E,V).

[0065] As described above, complex graph 302 may be associated with a graph analysis problem. Graph analysis problems may refer to a broad category of computational problems that may involve the study, exploration, and manipulation of complex graphs 302. Examples of complex graphs 302 may correspond to graphs associated with graph traversal problems, network routing problems, social network analysis problems, protein folding problems, graph centrality problems, ranking problems, or graph classification problems, but are not limited thereto.

[0066] In an exemplary embodiment, a graph traversal problem may be a basic problem that may involve visiting all nodes (vertices) of a complex graph 302 in a systematic manner to explore or search for specific information or patterns within the complex graph 302. In the real world, if there is a city map where streets are represented as a graph, each intersection may be represented by a vertex and each road between intersections may be represented by an edge. It may be necessary to find the shortest path from the user's current location to a specific destination within the city. This problem may be solved using a graph traversal, where the user starts at the current intersection and uses one or more traversal techniques to explore the street network and find the shortest route to the destination.

[0067] like Figure 3 As shown, complex graph 302 may include six (6) vertices or nodes {1, 2, 3, 4, 5, and 6}. In other scenarios, the graph data structure may include a different number of vertices than depicted. In addition, the vertex set of complex graph 302 may be connected differently than depicted.

[0068] The complex graph 302 may be associated with an adjacency matrix 304. Specifically, the complex graph 302 may also be represented by the adjacency matrix 304. The adjacency matrix 304 may be a square matrix that may be used to represent the complex graph 302. In the adjacency matrix 304, each row and each column corresponds to a vertex (or node) in the complex graph 302, and an entry of the adjacency matrix 304 may indicate whether there is an edge (or connection) between the vertices.

[0069] Assuming G(E,V) is a complex graph 302, the adjacency matrix (A) 304 of the complex graph (G) 302 may be an N×N matrix that may have a “1” in the (i, j) position (or cell) if there is an edge from the i-th vertex to the j-th vertex, and a “0” in the (i, j) position otherwise. Mathematically, the adjacency matrix (A) 304A∈{0,1} NXN It can be expressed by the following equation (1):

[0070] like Figure 3 As shown, the values ​​of cells (1, 2) and (2, 1) may be "1" because there is an edge between vertex {1} and vertex {2} of complex graph 302. Similarly, the values ​​of cells (1, 5) and (5, 1) may be "0" in adjacency matrix 304 because there is no edge between vertex {1} and vertex {5} of complex graph 302.

[0071] Figure 4A is a diagram illustrating an exemplary operation for determining the computing capability of an underlying electronic device according to an embodiment of the present disclosure. Figure 1 , Figure 2 and Figure 3 Component explanation Figure 4A ,refer to Figure 4A , a block diagram 400A illustrating exemplary operations from 402A to 402D as described herein is shown. The exemplary operations shown in block diagram 400 may begin at 402A and may be performed by any computing system, apparatus, or device, such as by Figure 1 Computer 102 or Figure 2 Although shown as discrete blocks, the exemplary operations associated with one or more blocks of block diagram 400 may be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the particular implementation.

[0072] At 402A, a data acquisition operation may be performed. In the data acquisition operation, the system 202 may be configured to acquire information associated with an underlying system or electronic device (such as the computer 102) on which operations for randomized trace approximation calculations may have to be performed. In the case where the system 202 corresponds to an on-premises system, the system 202 may be configured to acquire data associated with the on-premises system. In another embodiment, if the system 202 corresponds to a cloud system, the system 202 may be configured to acquire data associated with an underlying electronic device on which operations for randomized trace approximation may be implemented.

[0073] The acquired information may include, but is not limited to, processor information and memory information associated with the underlying system or electronic device. Specifically, the processor information may include information associated with at least one of the clock speed (clock frequency), the number of cores, the graphics processing unit (GPU), the thermal design power (TDP), and the parallel computing capability associated with one or more processors of the underlying system / electronic device. The memory information may include cache size, memory (RAM) capacity and speed, storage type and speed, etc., which are associated with the memory of the underlying system or electronic device.

[0074] At 402B, a computing capability determination operation may be performed. In the computing capability determination operation, the system 202 may be configured to determine the computing capability of the underlying system or electronic device based on the acquired information. The computing capability of the underlying system or electronic device may correspond to a measure of the ability of the underlying system or electronic device to perform calculations, process data, and execute tasks within a given time frame. Details regarding computing capability are known in the art and are therefore omitted for brevity.

[0075] At 402C, the determined computing power of the underlying system or electronic device may be compared to a predetermined computing power threshold. In the event that the determined computing power of the underlying system or electronic device is greater than the predetermined computing power threshold, a conventional trace approximation technique 402D may be performed to estimate the trace of the adjacency matrix. Such conventional trace approximation techniques are well known in the art.

[0076] If the computing capacity of the determined underlying system or electronic device is less than a predetermined computing capacity threshold, the Figure 5 or Figure 8 In some embodiments, the operations described in the example above are approximated by a computational trace. In some embodiments, even if the determined computing capability of the underlying system or electronic device is greater than a predetermined computing capability threshold, the operation may be performed. Figure 5 or Figure 8 The operations described in are used to compute the trace approximation.

[0077] Figure 4B is a diagram illustrating exemplary operations for determining one or more faults associated with one or more computations performed by at least one electronic device according to an embodiment of the present disclosure. Figure 1 , Figure 2 , Figure 3 and Figure 4A Component explanation Figure 4B . refer to Figure 4B , a block diagram 400B is shown, which illustrates exemplary operations from 402E to 402H as described herein. The exemplary operations shown in block diagram 400B may begin at 402E and may be performed by any computing system, device, or apparatus, such as by Figure 1 Computer 102 or Figure 2 Although shown as discrete blocks, the exemplary operations associated with one or more blocks of block diagram 400B may be divided into additional blocks, combined into fewer blocks, or eliminated depending on the particular implementation.

[0078] In one embodiment, randomized trace estimation requires that matrix-vector (MV) products be completed without any errors. However, the underlying system of an electronic device with a large number of processors may introduce several faults. As an example, in high-performance computing (HPC) applications, resilience becomes a huge challenge due to tens of thousands of nodes. Even if each node provides a single MTBF (mean time between failures) of a century, a machine with 100,000 such nodes may encounter a failure every 9 hours on average, which may be greater than the execution time of many HPC applications. In the case of a machine with 1,000,000 nodes (also with a century MTBF), a failure will be encountered every 53 minutes on average. Therefore, it is necessary to detect faults that may be introduced into the underlying system. In the case of a fault in the underlying system or electronic device, the disclosed method for calculating traces can be applied because the disclosed method discards a set of entries of the matrix vector due to the assumed fault because the disclosed method can be executed quickly.

[0079] At 402E, a data acquisition operation may be performed for one or more calculations. In the data acquisition operation, the system 202 may be configured to acquire data for which one or more calculations may have to be performed. In another embodiment, the acquired data may correspond to any data in any format for which the underlying system or electronic device may perform one or more calculations. As a first example and not limitation, the acquired data may correspond to any matrix (or complex matrix) for which one or more calculations may be performed by the underlying system or electronic device.

[0080] At 402F, a computational operation may be performed. In the computational operation, the system 202 may be configured to apply one or more mathematical operations (or calculations) to the acquired data. Referring to the first example, the one or more mathematical operations may correspond to a matrix multiplication operation, a matrix decomposition operation, a matrix rank calculation operation, a matrix norm identification operation, etc. As a second example, the one or more mathematical operations may correspond to a matrix rank calculation operation.

[0081] At 402G, a result output operation may be performed. In the result output operation, the system 202 may be configured to output a result generated by applying one or more mathematical operations to the acquired data. According to a second example, the result output operation may output the calculated rank of a matrix included in the acquired data.

[0082] At 402G, a fault detection operation may be performed. In the fault detection operation, the system 202 may be configured to compare the generated result with a ground truth. The ground truth may correspond to the real value and absolute value of the rank of a matrix, which may be used as a reference for detecting one or more faults associated with one or more calculations performed by the underlying system or electronic device. In the event that the result generated by the underlying system or electronic device is the same as the ground truth, a conventional trace approximation operation 404D may be performed. Otherwise, if the generated result is different from the ground truth, one or more faults exist in the underlying system or electronic device, and a conventional trace approximation operation 404D may be performed. Figure 5 or Figure 8 In some embodiments, even if the result generated by the underlying system or electronic device is the same as the ground truth, the operation described in Figure 5 or Figure 8 The operations described in are used to compute the trace approximation.

[0083] It may be noted that the calculation of the rank of the matrix is ​​provided only as an example of one or more calculations. The present disclosure is not limited to calculating the rank to detect one or more faults in the underlying system or electronic device. For example, the system 202 may utilize other techniques, such as but not limited to row checking, to detect one or more faults.

[0084] Figure 5 is a diagram showing an exemplary operation for randomized trace approximation computation based on an asynchronous computing architecture according to an embodiment of the present disclosure. Figure 1 , Figure 2 , Figure 3 , Figure 4A and Figure 4B Component explanation Figure 5 . refer to Figure 5 , a block diagram 500 is shown that illustrates exemplary operations from 502A to 502I as described herein. The exemplary operations shown in block diagram 500 may begin at 502A and may be performed by any computing system, apparatus, or device, such as by Figure 1 Computer 102 or Figure 2 Although shown as discrete blocks, the exemplary operations associated with one or more blocks of block diagram 500 may be divided into additional blocks, combined into fewer blocks, or eliminated depending on the particular implementation.

[0085] At 502A, a matrix retrieval operation may be performed. In the matrix retrieval operation, the system 202 may be configured to retrieve an adjacency matrix (A). The adjacency matrix (A) may be associated with a complex graph and may have a first dimension. Specifically, the adjacency matrix (A) may be a square matrix of dimension (NxX), where N may correspond to the number of rows and columns of the adjacency matrix (A). Specifically, the adjacency matrix (A) may have N rows and N columns.

[0086] In one embodiment, the dimension of the adjacency matrix (A) may be based on the number of vertices of the corresponding complex graph. Specifically, the number of rows and columns in the adjacency matrix (A) may be equal to the number of vertices of the complex graph associated with the adjacency matrix (A). As described above, complex graphs may be associated with graph analysis problems that may represent real-world problems. Examples of graph analysis problems may include, but are not limited to, graph traversal problems, network routing problems, social network analysis problems, protein folding problems, graph centrality problems, sorting problems, or graph classification problems. For example, in Figure 3 Details on graph analysis problems are provided in .

[0087] Generally, the adjacency matrix (A) can be mathematically represented by the following equation (2): A= f(G) (2) in, G is the correlation matrix for the graph analysis problem f(.) is a real-valued or complex-valued function, and N corresponds to a set of natural numbers.

[0088] In an alternative embodiment, system 202 may receive data associated with a graph analysis problem. System 202 may be further configured to generate a complex graph associated with the graph analysis problem based on the received data. System 202 may also generate an adjacency matrix (A) based on the generated complex graph. For example, in Figure 3 Details on complex graphs and adjacency matrices (A) are provided in.

[0089] At 502B, a vector determination operation may be performed. In the vector determination operation, the system 202 may be configured to determine a random vector (x) based on the retrieved adjacency matrix. The random vector (x) may be a collection of random variables that are statistically independent and identically distributed with a mean (or expected value) of 0 and a variance of 1, and when many samples from a potential probability distribution are considered, the expected value of the random variable may correspond to a measurement of its mean or central value. In other words, each component of the random vector (x) may follow a similar probability distribution, and on average, these components add up to zero, and their spread or dispersion is standardized to a variance of 1.

[0090] In one embodiment, random vectors (x) may be sampled based on a Rademacher distribution. Specifically, the values ​​of the components of one or more random vectors (x) may be based on a Rademacher distribution. A Rademacher distribution may be a discrete probability distribution that takes values ​​of +1 and -1 with equal probability. In the context of a random vector (x) sampled from a Rademacher distribution, each component of the random vector (x) may be an independent random variable after a Rademacher distribution. In an alternative embodiment, random vectors (x) may be sampled based on a Gaussian distribution. Details about the Gaussian distribution are known in the art, and are therefore omitted for brevity.

[0091] Generally, a random vector can be mathematically represented by the following equation (3): x=[x 1 ,x 2, x 3 ,……x k ] (3) in, x is a random vector and as well as x 1 ,x 2, x 3 ,……x k is the “k” component of the random vector x and k ≤ N, and Corresponds to the universal set of natural numbers.

[0092] In one embodiment, the mean value of a random vector may be a vector summarizing the central tendency of the components of the random vector. It is also referred to as the expected value of the random vector. Mathematically, the mean value (μ) of a random vector may be defined by the following equation (4): μ=[E(x 1 ),E(x 2 ),E(x 3 ),……E(x k )] (4) in, μ corresponds to the mean of the random vector x, and E(x i ) corresponds to the expected value of the i-th component of the random vector x

[0093] The variance of a random vector (x) can provide a measure of the spread or dispersion of the components of the random vector. In one embodiment, the random vector (x) can be defined as a matrix, often referred to as a covariance matrix. The elements Σij of this matrix represent the components x i and x jThe covariance between and variance of a random vector (x) can provide information about how the components of the random vector (x) are related to each other, where the diagonal elements give the spread of each component and the off-diagonal elements represent the relationship between the components.

[0094] At 502C, a matrix-vector generation operation may be performed. In the matrix-vector generation operation, the system 202 may be configured to generate a matrix-vector (Ax). The matrix-vector (Ax) may be generated based on the multiplication of the adjacency matrix (A) and the random vector x (based on the multiplication of the adjacency matrix (A) and the random vector (x), a new vector (MV) may be generated.

[0095] At 502D, a natural number determination operation may be performed. In the natural number determination operation, the system 202 may be configured to determine a first natural number set (τ) based on the first dimension of the retrieved adjacency matrix. In one embodiment, the first natural number set (τ) may be determined from a set of natural numbers (T), the elements of which belong to a general natural number array (i.e., T∈N). In one embodiment, the set of natural numbers (T) may include all natural numbers {1, 2, 3, ... N}. In one embodiment, the system 202 may be configured to randomly select one or more natural numbers from the natural number set (T) to be included in the first natural number set (τ). In one embodiment, the probability of selecting each natural number from the set of natural numbers (T) may be equal. Therefore, each natural number may have an equal representation possibility in the first natural number set (τ).

[0096] Mathematically, given the universal set of natural numbers System 202 can select any natural number in T≡|τ|{1,2,3,...N} with equal probability, that is, with probability Select possible rows of the adjacency matrix (A) Each one of them.

[0097] At 502E, an asynchronous matrix vector generation operation may be performed. In the asynchronous matrix vector generation operation, the system 202 may be configured to generate an asynchronous matrix vector (y). The asynchronous matrix vector (y) may be generated based on the matrix vector generated at 502C and the first natural number set (τ). Specifically, the asynchronous matrix vector (y) may be defined as a function of the first natural number set (τ). The asynchronous matrix vector (y) may be mathematically represented by the following equation (5): y=A| τ x (5) in, y is an asynchronous matrix vector, A is the adjacency matrix, x is a random vector, and | τis an operator equivalent to the regular MV Ax, except that the i-th row of the adjacency matrix (A) is now replaced by any An N-length zero row vector is used instead.

[0098] In an embodiment, the system 202 can be configured to generate an asynchronous matrix vector (y) based on the retrieved adjacency matrix (A), the determined random vector (x) and the first set of natural numbers (τ), wherein based on determining the absence of a corresponding row number associated with at least one row of the initial matrix vector from the first set of natural numbers (τ), at least one row of the retrieved adjacency matrix is ​​updated by a zero row vector in the generated matrix vector (y).

[0099] As described above, the asynchronous matrix vector (y) can be defined as a function of the first natural number set (τ). In this case, the asynchronous matrix vector (y) can be mathematically represented by the following equation (6): in, e is the identity matrix and e∈{0,1} N , e i corresponds to the i-th column of the NxN identity matrix e, corresponds to the transpose of the i-th row of the N×N identity matrix e, y is an asynchronous matrix vector, A is the adjacency matrix, x is a random vector, and [Ax] i Corresponding to the value of the i-th column (or component) of the matrix vector generated at 502C.

[0100] The use of an asynchronous architecture provides for efficient and effective computation of trace approximations.In general, asynchronous computation may arise naturally in distributed memory implementations for computing stationary points via iterative algorithms in order to reduce idle time between different processing elements via reducing synchronization points.

[0101] At 502F, an entry selection operation may be performed. In the entry selection operation, the system 202 may be configured to select a subset of entries from the generated asynchronous matrix vector (y). The selection of the entry subset may be based on the determined first natural number set. Specifically, the system 202 may be configured to select a subset of entries from the asynchronous matrix vector (y) based on the count of the first natural number set. As an example, in the case where the count of the first natural number set is 6, the system 202 may be configured to randomly select 6 entries from the generated asynchronous matrix vector (y). The system 202 may discard the remaining entries due to one or more assumed faults, and the faults may be indicated by the corresponding row checksum. In another embodiment, the selection of entries may be based on the computing power of the underlying system or electronic device. In another embodiment, the selection of entries may be based on the count of a set of load balancers associated with the underlying system (such as a server). For example, in a scenario of load balancing in a high-performance computing cluster having "N" identical processing elements connected by some medium, each row of the adjacency matrix (A) is distributed so as not to overlap with a separate processing element. Since different rows of the adjacency matrix "A" may have different sparsity patterns, waiting for all processing elements to synchronize may result in poor throughput. Instead, the system 202 may sample each product at fixed time intervals and only consider the final entries.

[0102] At 502G, a diagonal matrix determination operation may be performed. In the diagonal matrix determination operation, the system 202 may be configured to determine a diagonal random matrix (D τ ). A diagonal random matrix can be a square matrix in which all elements outside the main diagonal (from top left to bottom right) can be zero. In addition, the elements of the main diagonal can be random values ​​that can follow a specific probability distribution (such as a Gaussian distribution). τ ) can be mathematically expressed by the following equation (7): in, D τ is a diagonal random matrix, e i is the i-th row of the identity matrix E, is the i-th row transpose of the identity matrix E, and τ corresponds to the first set of natural numbers.

[0103] At 502H, a trace approximation calculation operation may be performed. In the trace approximation calculation operation, the system 202 may be configured to calculate the trace approximation based on a determined diagonal random matrix (D τ) and a selected subset of entries to compute the trace approximation of the adjacency matrix (A). As described above, the trace of the adjacency matrix (A) can be a mathematical operation that can produce a scalar value. It can be defined as the sum of the elements along the main diagonal of the adjacency matrix (A), which extends from the upper left to the lower right of the adjacency matrix (A).

[0104] Let k = 1, 2, ..., m, And use from 1 to N The deterministic integers |τ are represented by random subsets of integers (without replacement). k | can be an instance of an integer-valued random variable T∈{1,2...,N}. Then, for any N-length instance x of a random vector x 1 ,x 2 ,...,x m , the asynchronous randomized trace estimator can be mathematically expressed by the following equation (7): in, τ m is a diagonal random matrix, m corresponds to multiple instances of a random vector x, is the transpose of the kth instance of a random vector x, corresponds to the asynchronous matrix vector y, and A corresponds to the adjacency matrix.

[0105] In equation (7), if and only if i∈τ k When τ m The second equation follows by recalling the product The i-th entry of .

[0106] In the case where T≡N, as in the synchronous case, the matrix D τ can be equal to the N×N identity matrix. The asynchronous randomized trace estimator can be mathematically represented by the following equation (8): in, τ m is a diagonal random matrix, m corresponds to multiple instances of a random vector x, is the transpose of the kth instance of a random vector x, is the kth instance of a diagonal random matrix, and A corresponds to the adjacency matrix,

[0107] In an embodiment, the system 202 may be configured to iteratively select a subset of entries from the generated asynchronous matrix vector based on the determined first set of natural numbers. Based on the selected subset of entries, the system 202 may be configured to determine a diagonal random matrix based on the sum of canonical outer products formed by the corresponding subsets of entries. Based on the selected subset of entries and the determined diagonal random matrix, the system 202 may be configured to calculate a trace approximation of the adjacency matrix (A). Specifically, the system 202 may be configured to calculate a trace approximation of the adjacency matrix (A) based on an average of a set of intermediate results, which are obtained based on iterative selection of the subset of entries and iterative determination of the diagonal random matrix. In one embodiment, the number of times this iteration is performed may depend on the combination The number of (which may be formed by a selected set of natural numbers). The trace approximation (i.e., intermediate result) calculated during each iteration may be captured and stored in memory. The system 202 may also be configured to average the calculated trace approximations to calculate the trace approximation of the adjacency matrix (A).

[0108] In one embodiment, the calculations performed at equation (7) and / or equation (8) can be performed in parallel on each processor included in the processor group. For example, if there are 10 processors in the processor set 114, the system 202 can perform 10 calculations in parallel to save time. In addition, in some embodiments, the system 202 can be configured to select a subset of entries from the generated matrix vector based on the computing power of the determined system. Specifically, the subset of entries to be selected can be equal to the count of the processors included in the processor set. In another embodiment, the cardinality of the first natural number set can be based on the number of processors in the processor set 114.

[0109] At 502H, a trace approximation storage operation may be performed. In the trace approximation storage operation, the system 202 may be configured to store the calculated trace approximation of the adjacency matrix. The system 202 may also be configured to generate a solution to a graph analysis problem based on the calculated trace approximation of the adjacency matrix. As described above, the graph analysis problem may correspond to one of a graph traversal problem, a network routing problem, a social network analysis problem, a protein folding problem, a graph centrality problem, a sorting problem, or a graph classification problem.

[0110] In another embodiment, the system 202 may be configured to present the calculated trace approximation on a display screen of the EUD 106. In another embodiment, the system 202 may be configured to present the generated solution to the graphical analysis problem on a display screen of the EUD 106.

[0111] Figure 6is an exemplary diagram 600 illustrating an exemplary use case scenario for randomized trace approximation according to an embodiment of the present disclosure. Figure 1 , Figure 2 , Figure 3 , Figure 4A , Figure 4B and Figure 5 Component explanation Figure 6 .refer to Figure 6 , an exemplary diagram 600 is shown. Figure 6 , further illustrating the adjacency matrix 602 and the trace of the adjacency matrix 602. Figure 6 It is further shown in Figure 2 system 202.

[0112] As described above, the system 202 may be configured to retrieve an adjacency matrix 602 that may be associated with a complex graph. The retrieved adjacency matrix may be of a first dimension. In one embodiment, the system 202 may be configured to receive the adjacency matrix 602 from an EUD 106 associated with an end user (not shown). For example, in FIG. Figure 5 Details regarding the adjacency matrix 602 are provided in .

[0113] Based on the receipt / retrieval of the adjacency matrix 602, the system 202 may be configured to determine a random vector based on the retrieved adjacency matrix. The determined random vector may have an expected value of zero (0) and a variance of one (1). The system 202 may also be configured to generate a matrix vector based on the retrieved adjacency matrix and the determined random vector. For example, in Figure 5 Details on random vectors and matrix vectors are provided in.

[0114] The system 202 may also be configured to determine a first set of natural numbers based on the first dimension of the retrieved adjacency matrix. The count of elements in the determined first set of natural numbers may be less than the first dimension of the retrieved adjacency matrix. The system 202 may further be configured to select a subset of entries from the generated matrix vector based on the determined first set of natural numbers.

[0115] Based on the selection of the subset of entries, the system 202 may be configured to determine a diagonal random matrix based on the sum of the canonical outer products formed by the selected subset of entries. The system 202 may also be configured to calculate a trace approximation 604 of the adjacency matrix based on the determined diagonal random matrix and the selected subset of entries. The system 202 may also be configured to store the calculated trace approximation of the adjacency matrix. In some embodiments, the system 202 may be further configured to output the calculated trace approximation of the adjacency matrix. In one embodiment, the output of the calculated trace approximation of the adjacency matrix may correspond to the display of the calculated trace approximation on the display screen 204 of the EUD 106. In another embodiment, the output of the calculated trace approximation of the adjacency matrix may correspond to using the calculated trace approximation to generate a solution to a graph analysis problem associated with a complex graph. For example, in Figure 5 Details on the computation of the trace approximation to the adjacency matrix are provided in.

[0116] Figure 7 is an exemplary illustration 700 of a graph between a plurality of samples and relative errors according to an embodiment of the present disclosure. Figure 1 , Figure 2 , Figure 3 , Figure 4A , Figure 4B , Figure 5 Component explanation Figure 7 . refer to Figure 7 , further showing a first graph 702 and a second graph 704. The first graph 702 and the Estrada index (e G ), where G is an adjacency matrix, and the second graph 704 is associated with the calculation of the cube of the matrix (G 3 ).

[0117] In the first graph 702 and the second graph 704, results are plotted with respect to the performance of the disclosed method (i.e., asynchronous model) and the performance of a conventional method for trace estimation (i.e., synchronous model). The results associated with the disclosed method (i.e., asynchronous model) are represented by a solid line, while the results associated with the conventional method (i.e., synchronous model) are represented by a dashed line.

[0118] Figure 8 800 is a flowchart illustrating an exemplary method for randomized trace approximation computation based on an asynchronous computing architecture according to an embodiment of the present disclosure. Figure 1 , Figure 2 , Figure 3 , Figure 4A , Figure 4B , Figure 5 , Figure 6 and Figure 7 Component explanation Figure 7 .refer to Figure 8, showing a flowchart 800. The operations of the exemplary method may be performed by any computing system, such as by Figure 1 Computer 102 or Figure 2 To be performed by the system 202, the operations of flowchart 800 can begin at 802.

[0119] At 802, an adjacency matrix associated with a complex graph can be retrieved. The retrieved adjacency matrix can be of a first dimension. In at least one embodiment, the system 202 can be configured to retrieve an adjacency matrix associated with a complex graph, wherein the retrieved adjacency matrix has a first dimension. For example, Figure 2 , Figure 3 and Figure 5 Details about the adjacency matrix are provided in .

[0120] At 804, a random vector may be determined based on the retrieved adjacency matrix. The random vector may have an expected value of zero. In at least one embodiment, system 202 may be configured to determine a random vector based on the retrieved adjacency matrix, the random vector having an expected value of zero. Figure 5 Details about random vectors are provided in .

[0121] At 806, a matrix vector may be generated based on the retrieved adjacency matrix and the determined random vector. In at least one embodiment, the system 202 may be configured to generate a matrix vector based on the retrieved adjacency matrix and the determined random vector.

[0122] At 808, a first natural number set based on the first dimension of the retrieved adjacency matrix may be determined. The count of elements in the determined first natural number set may be less than the first dimension of the retrieved adjacency matrix. In at least one embodiment, the system 202 may be configured to determine the first natural number set based on the first dimension of the retrieved adjacency matrix, wherein the count of elements in the determined first natural number set is less than the first dimension of the retrieved adjacency matrix.

[0123] At 810, a subset of entries may be selected from the generated matrix vector based on the determined first set of natural numbers. In at least one embodiment, system 202 may be configured to select a subset of entries from the generated matrix vector based on the determined first set of natural numbers.

[0124] At 812, a diagonal random matrix may be determined based on a sum of canonical outer products formed by the selected subset of entries. In at least one embodiment, system 202 may be configured to determine a diagonal random matrix based on a sum of canonical outer products formed by the selected subset of entries.

[0125] At 814, a trace approximation of the adjacency matrix may be calculated based on the determined diagonal random matrix and the selected subset of entries. In at least one embodiment, the system 202 may be configured to calculate a trace approximation of the adjacency matrix based on the determined diagonal random matrix and the selected subset of entries. In at least one embodiment, the system 202 may be configured to store the calculated trace approximation of the adjacency matrix.

[0126] At 816, the calculated trace approximation of the adjacency matrix can be stored. In at least one embodiment, system 202 can be configured to store the calculated trace approximation of the adjacency matrix. Control can pass to end.

[0127] Fig. 9 900 is a flowchart illustrating an exemplary method for randomized trace approximation computation based on an asynchronous computing architecture according to an embodiment of the present disclosure. Figure 1 , Figure 2 , Figure 3 , Figure 4A , Figure 4B , Figure 5 , Figure 6 , Figure 7 and Figure 8 Component explanation Fig. 9 .refer to Fig. 9 , showing a flowchart 900. The operations of the exemplary method may be performed by any computing system, such as by Figure 1 Computer 102 or Figure 2 To be executed by the system 202, the operations of flowchart 900 can begin at 902.

[0128] At 902, an adjacency matrix associated with a complex graph can be retrieved. The retrieved adjacency matrix can be of a first dimension. In at least one embodiment, the system 202 can be configured to retrieve an adjacency matrix associated with a complex graph, wherein the retrieved adjacency matrix has a first dimension. For example, Figure 2 , Figure 3 and Figure 5 Details about the adjacency matrix are provided in .

[0129] At 904, at least one trigger point may be determined. The at least one trigger point may be associated with at least one of a computing power of the system or a detection of one or more failures associated with one or more calculations performed by the computer based on the retrieved adjacency matrix. In one embodiment, the system 202 may be configured to compare the computing power of the system to a predetermined computing power threshold. In the event that the computing power of the system is less than the predetermined computing power threshold, then at least one trigger point may be determined. For example, in Figure 4A Details regarding computing power and predetermined computing power thresholds are provided in.

[0130] In another embodiment, the system 202 may be configured to compare the result generated by applying one or more mathematical operations to the acquired data with the ground truth. In the event that the generated result is not equal to the ground truth, at least one trigger point may be determined. For example, Figure 4B Details regarding the generated results and ground truth are provided in. In at least one embodiment, system 202 can be configured to determine at least one trigger point associated with at least one of a computational capability of the system or a detection of one or more faults associated with one or more computations performed by the system based on the retrieved adjacency matrix.

[0131] At 906, a random vector may be determined based on the retrieved adjacency matrix and the determined at least one trigger point. The random vector may have an expected value of zero. In at least one embodiment, the system 202 may be configured to determine a random vector based on the retrieved adjacency matrix and the determined at least one trigger point, the random vector having an expected value of zero. Figure 5 Details about random vectors are provided in .

[0132] At 908, a matrix vector may be generated based on the retrieved adjacency matrix and the determined random vector. In at least one embodiment, the system 202 may be configured to generate a matrix vector based on the retrieved adjacency matrix and the determined random vector.

[0133] At 910, a first set of natural numbers based on a first dimension of the retrieved adjacency matrix may be determined. The count of elements in the determined first set of natural numbers may be less than the first dimension of the retrieved adjacency matrix. In at least one embodiment, the system 202 may be configured to determine the first set of natural numbers based on the first dimension of the retrieved adjacency matrix, wherein the count of elements in the determined first set of natural numbers is less than the first dimension of the retrieved adjacency matrix.

[0134] At 912, a subset of entries may be selected from the generated matrix vector based on the determined first set of natural numbers. In at least one embodiment, the system 202 may be configured to select a subset of entries from the generated matrix vector based on the determined first set of natural numbers.

[0135] At 914, a diagonal random matrix may be determined based on a sum of canonical outer products formed by the selected subset of entries. In at least one embodiment, system 202 may be configured to determine a diagonal random matrix based on a sum of canonical outer products formed by the selected subset of entries.

[0136] At 916, a trace approximation of the adjacency matrix may be calculated based on the determined diagonal random matrix and the selected subset of entries. In at least one embodiment, the system 202 may be configured to calculate a trace approximation of the adjacency matrix based on the determined diagonal random matrix and the selected subset of entries. In at least one embodiment, the system 202 may be configured to store the calculated trace approximation of the adjacency matrix.

[0137] At 918, the computed trace approximation of the adjacency matrix can be stored. In at least one embodiment, system 202 can be configured to store the computed trace approximation of the adjacency matrix. Control can pass to end.

[0138] Various embodiments of the present disclosure may provide a non-transitory computer-readable medium and / or storage medium having instructions stored thereon, the instructions being executable by a machine and / or computer to operate a system (e.g., system 202) for randomized trace approximation computation based on an asynchronous computing architecture. The instructions may cause the machine and / or computer to perform operations including retrieving an adjacency matrix associated with a complex graph, wherein the retrieved adjacency matrix has a first dimension. The operations also include determining a random vector based on the retrieved adjacency matrix, the random vector having an expected value of zero. The operations also include generating a matrix vector based on the retrieved adjacency matrix and the determined random vector. The operations also include determining a first natural number set based on the first dimension of the retrieved adjacency matrix. The count of the elements in the determined first natural number set is less than the first dimension of the retrieved adjacency matrix. The operations also include controlling a first structure set associated with the selected one or more image sensors to rearrange the equipment around a 3D physical space. The operations further include selecting a subset of entries from the generated matrix vector based on the determined first natural number set. The operations also include determining a diagonal random matrix based on the sum of canonical outer products formed by the selected subset of entries. The operations also include computing a trace approximation of the adjacency matrix based on the determined diagonal random matrix and the selected subset of entries, and storing the computed trace approximation of the adjacency matrix.

[0139] The description of various embodiments of the present disclosure has been presented for illustrative purposes, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terms used herein are selected to best explain the principles of the embodiments, practical applications, or technical improvements existing in the market, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed herein.

Claims

1. A computer-implemented method for computing a trace approximation of an adjacency matrix, the computer-implemented method comprising: retrieving, by the computer, an adjacency matrix associated with the complex graph, wherein the retrieved adjacency matrix has a first dimension; determining, by the computer, a random vector based on the retrieved adjacency matrix, the random vector having an expected value of zero; generating, by the computer, a matrix vector based on the retrieved adjacency matrix and the determined random vector; Determining, by the computer, a first natural number set based on the first dimension of the retrieved adjacency matrix, wherein a count of elements in the determined first natural number set is smaller than the first dimension of the retrieved adjacency matrix; selecting, by the computer, a subset of entries from the generated matrix vector based on the determined first set of natural numbers; determining, by the computer, a diagonal random matrix based on a sum of canonical outer products formed by the selected subsets of the entries; computing, by the computer, a trace approximation of the adjacency matrix based on the determined diagonal random matrix and the selected subset of entries; as well as The computed trace approximation of the adjacency matrix is ​​stored by the computer.

2. The computer-implemented method of claim 1 , further comprising generating, by the computer, a solution to a graph analysis problem based on the calculated trace approximation of the adjacency matrix, wherein the complex graph is associated with the graph analysis problem.

3. A computer-implemented method according to claim 2, wherein the graph analysis problem corresponds to one of the following: a graph traversal problem, a network routing problem, a social network analysis problem, a protein folding problem, a graph centrality problem, a ranking problem, or a graph classification problem.

4. The computer-implemented method of claim 1 , further comprising generating, by the computer, the matrix vector based on the retrieved adjacency matrix, the determined random vector, and the first set of natural numbers, wherein based on determining the non-existence of a corresponding row number associated with at least one row of the initial matrix vector from the first set of natural numbers, the at least one row of the retrieved adjacency matrix is ​​updated by a zero row vector in the generated matrix vector.

5. The computer-implemented method of claim 1 , further comprising: determining, by the computer, a computing capability of at least one electronic device; as well as The subset of entries is selected, by the computer, from the generated matrix vector based on the determined computing capability of the electronic device.

6. The computer-implemented method of claim 1 , further comprising: detecting, by the computer, one or more failures associated with one or more computations performed by at least one of the electronic devices; as well as The subset of entries is selected by the computer from the generated matrix vector based on detecting the one or more faults.

7. The computer-implemented method of claim 1 , further comprising: iteratively selecting, by the computer, the subset of entries from the generated matrix vector based on the determined first set of natural numbers; iteratively determining, by the computer, the diagonal random matrix based on a sum of the canonical outer products formed by corresponding subsets of the entries; as well as The trace approximation of the adjacency matrix is ​​calculated by the computer based on an average of an intermediate result set obtained based on the iterative selection of the subset of entries and the iterative determination of the diagonal random matrix.

8. The computer-implemented method of claim 1 , wherein: The determined variance of the random vector is equal to 1.

9. The computer-implemented method of claim 1, wherein: The random vectors are sampled based on one of a Rademacher distribution or a Gaussian distribution.

10. A system comprising: Processor sets are configured as: retrieving an adjacency matrix associated with the complex graph, wherein the retrieved adjacency matrix has a first dimension; determining a random vector based on the retrieved adjacency matrix, the random vector having an expected value of zero; generating a matrix vector based on the retrieved adjacency matrix and the determined random vector; Determining a first natural number set based on the retrieved first dimension of the adjacency matrix, wherein a count of elements in the determined first natural number set is smaller than the retrieved first dimension of the adjacency matrix; selecting the subset of entries from the generated matrix vector based on the determined first set of natural numbers; determining a diagonal random matrix based on a sum of canonical outer products formed by the selected subsets of the entries; computing a trace approximation of the adjacency matrix based on the determined diagonal random matrix and the selected subset of entries; as well as The computed trace approximation of the adjacency matrix is ​​stored.

11. The system of claim 10, wherein the set of processors is further configured to generate a solution to a graph analysis problem based on the computed trace approximation of the adjacency matrix, wherein the complex graph is associated with the graph analysis problem.

12. The system of claim 11, wherein the graph analysis problem corresponds to one of: a graph traversal problem, a network routing problem, a social network analysis problem, a protein folding problem, a graph centrality problem, a ranking problem, or a graph classification problem.

13. The system according to claim 10, wherein: The processor set is also configured to generate the matrix vector based on the retrieved adjacency matrix, the determined random vector and the first set of natural numbers, wherein, based on determining the non-existence of a corresponding row number associated with at least one row of the initial matrix vector from the first set of natural numbers, the at least one row of the retrieved adjacency matrix is ​​updated by a zero row vector in the generated matrix vector.

14. The system of claim 10, wherein the processor set is further configured to: determining the computing capabilities of the system; and The subset of entries is selected from the generated matrix vector based on the determined computing capability of the system.

15. The system of claim 10, wherein the processor set is further configured to: detecting one or more faults associated with one or more computations performed by the system; and Based on detecting the one or more faults, the subset of entries is selected from the generated matrix vector.

16. The system of claim 10, wherein the set of processors is further configured to: iteratively select the subset of entries from the generated matrix vector based on the determined first set of natural numbers; iteratively determining the diagonal random matrix based on a sum of the canonical outer products formed by the corresponding subsets of entries; as well as The trace approximation of the adjacency matrix is ​​calculated based on an average of a set of intermediate results obtained from the iterative selection of the subset of entries and the iterative determination of the diagonal random matrix.

17. The system of claim 10, wherein the processor set is further configured to: selecting the subset of entries from the generated matrix vector based on processor set information, wherein the processor set information indicates a count of processors in the processor set; and The diagonal random matrix is ​​determined based on a sum of canonical outer products formed by the selected subsets of the entries.

18. The system of claim 10, wherein: The determined variance of the random vector is equal to 1.

19. The system of claim 10, wherein: The random vectors are sampled based on one of a Rademacher distribution or a Gaussian distribution.

20. A computer program product for computing a trace approximation of an adjacency matrix, the computer program product comprising program instructions executable by a system to cause the system to perform the method according to any one of claims 1-9.

21. A system comprising: Processor sets are configured as: retrieving an adjacency matrix associated with the complex graph, wherein the retrieved adjacency matrix has a first dimension; determining, based on the retrieved adjacency matrix, at least one trigger point associated with at least one of: a computational capability of the system or detection of one or more faults associated with one or more computations performed by the system; determining a random vector based on the retrieved adjacency matrix and the determined at least one trigger point, the random vector having an expected value of zero; generating a matrix vector based on the retrieved adjacency matrix and the determined random vector; Determining a first natural number set based on the retrieved first dimension of the adjacency matrix, wherein the count of elements in the determined first natural number set is smaller than the retrieved first dimension of the adjacency matrix; selecting a subset of entries from the generated matrix vector based on the determined first set of natural numbers; determining a diagonal random matrix based on a sum of canonical outer products formed by the selected subsets of the entries; computing a trace approximation of the adjacency matrix based on the determined diagonal random matrix and the selected subset of entries; as well as The computed trace approximation of the adjacency matrix is ​​stored.

22. The system of claim 21, wherein the set of processors is further configured to generate a solution to a graph analysis problem based on the computed trace approximation of the adjacency matrix, wherein the complex graph is associated with the graph analysis problem.

23. The system of claim 22, wherein the graph analysis problem corresponds to one of: a graph traversal problem, a network routing problem, a social network analysis problem, a protein folding problem, a graph centrality problem, a ranking problem, or a graph classification problem.

24. The system of claim 21, wherein the processor set is further configured to: comparing the computing power of the system to a predetermined computing power threshold; and At least one trigger point is determined based on the comparison.

25. A computer-implemented method for computing a trace approximation of an adjacency matrix, the computer-implemented method comprising: retrieving, by a computer, an adjacency matrix associated with the complex graph, wherein the retrieved adjacency matrix has a first dimension; determining, by the computer, at least one trigger point based on the retrieved adjacency matrix, the at least one trigger point being associated with at least one of: a computational capability of the system or detection of one or more faults associated with one or more computations performed by the system; determining, by the computer, a random vector based on the retrieved adjacency matrix and the determined at least one trigger point, the random vector having an expected value of zero; generating, by the computer, a matrix vector based on the retrieved adjacency matrix and the determined random vector; Determining, by the computer, a first natural number set based on the first dimension of the retrieved adjacency matrix, wherein a count of elements in the determined first natural number set is smaller than the first dimension of the retrieved adjacency matrix; selecting, by the computer, a subset of entries from the generated matrix vector based on the determined first set of natural numbers; determining, by the computer, a diagonal random matrix based on a sum of canonical outer products formed by the selected subsets of the entries; computing, by the computer, the trace approximation of the adjacency matrix based on the determined diagonal random matrix and the selected subset of entries; as well as The computed trace approximation of the adjacency matrix is ​​stored by the computer.

26. A computer program product comprising program instructions executable by a system to cause the system to perform the method according to claim 25.