Information processing apparatus and information processing method
By generating a local graph and replacing the nodes of the graph with multiple nodes and edges, the problem of information degradation in graph processing is solved, and information is effectively preserved while improving computational efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- MITSUBISHI ELECTRIC CORP
- Filing Date
- 2023-12-11
- Publication Date
- 2026-07-10
AI Technical Summary
In graph transformation, optimization, and averaging between adjacent nodes, existing technologies can easily lead to information degradation when the nodes of the graph contain multiple pieces of information.
By generating a local graph, the original node is replaced with multiple nodes and edges to form new graph data. Specifically, the node decomposition part decomposes a specific node into multiple new nodes, and the edge modification part adjusts the connection of edges to generate new graph data.
It suppresses information degradation during graph processing, preserves multiple pieces of information about nodes, avoids the generation of self-loops and multiple edges, and reduces computational cost and time.
Smart Images

Figure CN122374752A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to information processing apparatus and information processing methods. Background Technology
[0002] Previously, methods have been disclosed for obtaining graph data containing multiple nodes and multiple edges connecting the nodes, and for simplifying the graph based on the number of edges connected to the nodes (see Patent Document 1).
[0003] Existing technical documents
[0004] Patent documents
[0005] Patent Document 1: Japanese Patent Application Publication No. 2020-77299 Summary of the Invention
[0006] The problem that the invention aims to solve
[0007] Typically, the following issues exist: in graph processing, such as graph transformation, optimization, and averaging between adjacent nodes, when a node in the graph has multiple pieces of information corresponding to the multiple edges it connects to, information degradation sometimes occurs due to the loss of some of the graph's information.
[0008] This disclosure is intended to solve the above-mentioned problems, and its purpose is to provide an information processing apparatus and information processing method that can suppress the degradation of information in a graph.
[0009] Methods for solving problems
[0010] The information processing apparatus of this disclosure is characterized in that it comprises: a graph data acquisition unit that acquires first graph data representing a first graph, the first graph having: an original node having first information and second information; a first edge associated with the first information and connected to the original node; and a second edge associated with the second information and connected to the original node; and a graph generation unit that generates second graph data representing a second graph, the second graph being formed by replacing the original node in the first graph with a partial graph, the partial graph having multiple nodes including a first node corresponding to the first information and a second node corresponding to the second information, and edges connecting the multiple nodes to each other, the graph generation unit generating the second graph data in such a way that the second graph becomes a graph in which the first edge is connected to the first node and the second edge is connected to the second node.
[0011] Invention Effects
[0012] According to this disclosure, when a node of a graph has multiple pieces of information, data representing the graph after replacing the node with a local graph having multiple nodes corresponding to the multiple pieces of information is generated, thus suppressing the degradation of information when graph processing is performed. Attached Figure Description
[0013] Figure 1 This is a block diagram showing the structure of the information processing device according to Embodiment 1.
[0014] Figure 2 This is a block diagram illustrating an example of the hardware structure of the information processing device according to Embodiment 1.
[0015] Figure 3 This is a block diagram illustrating an example of the hardware structure of the information processing device according to Embodiment 1.
[0016] Figure 4 This is a flowchart illustrating the processing performed by the information processing apparatus of Embodiment 1.
[0017] Figure 5 This is a flowchart illustrating an example of the processing performed by the information processing apparatus of Embodiment 1.
[0018] Figure 6A The first graph is an example of a graph network represented by the first graph data obtained by the information processing apparatus of Embodiment 1. Figure 6B The second graph is an example of a graph network represented by the second graph data generated by the information processing device of Embodiment 1.
[0019] Figure 7 The second graph is an example of a graph network represented by the second graph data generated by the information processing device of Embodiment 1.
[0020] Figure 8 The second graph is an example of a graph network represented by the second graph data generated by the information processing device of Embodiment 1.
[0021] Figure 9A The first graph is an example of a graph network represented by the first graph data obtained by the information processing apparatus of Embodiment 1. Figure 9B The second graph is an example of a graph network represented by the second graph data generated by the information processing device of Embodiment 1.
[0022] Figure 10A as well as Figure 10B The second graph is an example of a graph network represented by the second graph data generated by the information processing device of Embodiment 1.
[0023] Figure 11 It is represented as the second figure data generated by the information processing device of Embodiment 1. Figure 10B The second example of a variation of a graph network.
[0024] Figure 12 It is represented as the second figure data generated by the information processing device of Embodiment 1. Figure 9B The second example of a variation of a graph network.
[0025] Figure 13 It is represented as the second figure data generated by the information processing device of Embodiment 1. Figure 9B The second example of a variation of a graph network.
[0026] Figure 14A The first graph is an example of a graph network represented by the first graph data obtained by the information processing apparatus of Embodiment 1. Figure 14B The second graph is an example of a graph network represented by the second graph data generated by the information processing device of Embodiment 1.
[0027] Figure 15A The first graph is an example of a graph network represented by the first graph data obtained by the information processing apparatus of Embodiment 1. Figure 15B The second graph is an example of a graph network represented by the second graph data generated by the information processing device of Embodiment 1.
[0028] Figure 16 This is a flowchart illustrating an example of the processing performed by the information processing apparatus of Embodiment 2.
[0029] Figure 17A The first graph is an example of a graph network represented by the first graph data obtained by the information processing device of Embodiment 2. Figure 17B The second graph is an example of a graph network represented by the second graph data generated by the information processing device of Embodiment 2.
[0030] Figure 18A The first graph is an example of a graph network represented by the first graph data obtained by the information processing device of Embodiment 2. Figure 18B The second graph is an example of a graph network represented by the second graph data generated by the information processing device of Embodiment 2.
[0031] Figure 19A The first graph is an example of a graph network represented by the first graph data obtained by the information processing device of Embodiment 2. Figure 19B The second graph is an example of a graph network represented by the second graph data generated by the information processing device of Embodiment 2.
[0032] Figure 20 This is a flowchart illustrating an example of the processing performed by the information processing apparatus in a variation of Embodiment 1.
[0033] Figure 21A The first graph is an example of a graph network represented by the first graph data obtained by an information processing device. Figure 21B The second graph is an example of a graph network represented by second graph data generated by an information processing device.
[0034] Figure 22A The first graph is an example of a graph network represented by the first graph data obtained by an information processing device. Figure 22B The second graph is an example of a graph network represented by second graph data generated by an information processing device.
[0035] Figure 23 This is a flowchart illustrating the processing performed by the information processing apparatus in Embodiment 3.
[0036] Figure 24A The circuit diagram shown is obtained from the netlist of the information processing device of Embodiment 3. Figure 24B The netlist is obtained by the information processing device of Implementation Method 3.
[0037] Figure 25 It is a table that shows the number of circuits, the average number of nodes, the average number of edges, and the average number of node types contained in the netlist used as a dataset.
[0038] Figure 26A It is a circuit diagram that represents an electrical circuit with multiple components. Figure 26B It means Figure 26A A graphical network of electrical circuits.
[0039] Figure 27 This is a graph illustrating the inference accuracy of learning and reasoning using test data without decomposing multi-element components into virtual components and terminal components.
[0040] Figure 28 Is Figure 26A A graph network in electrical circuits that connects all terminal components without using virtual components.
[0041] Figure 29 It shows through Figure 28 The graph network learns and uses test data to perform inference, thus improving the accuracy of the inference.
[0042] Figure 30 Is Figure 26A A graph network in electrical circuits that connects terminal components via virtual components.
[0043] Figure 31 It shows through Figure 30 The graph network learns and uses test data to perform inference, thus improving the accuracy of the inference.
[0044] Figure 32 This is a circuit diagram illustrating an example of a block diagram of the interior of a semiconductor.
[0045] Figure 33 It is a graph network of multi-element components with edges added between terminal components.
[0046] Figure 34 It is a graphical network representing an electrical circuit with multiple components.
[0047] Figure 35A It is a circuit diagram that represents an electrical circuit with multiple components. Figure 35B It means Figure 35A A graphical network of electrical circuits.
[0048] Figure 36 It shows that Figure 30 The graph of the inference results for the test data in a graph neural network is set to be identical to all other conditions except for the input data.
[0049] Figure 37 It is a graphical network representing an electrical circuit with multiple components.
[0050] Figure 38 This is a schematic diagram that assigns node attribute information to virtual nodes and decomposed nodes respectively.
[0051] Figure 39 This is a schematic diagram that assigns node attribute information to virtual nodes and decomposition nodes respectively. It is a diagram that shows an example of setting the node attribute information as the average value of the attribute information of the connected decomposition nodes.
[0052] Figure 41 A is a graph network representing a multi-element component with 3 terminals. Figure 41 B is a schematic diagram that assigns inherent values to one or more node attribute information of virtual nodes and decomposed nodes through domain information or terminal information.
[0053] Figure 41 It is a schematic diagram showing that the number of attribute information elements of two terminal decomposition points are equal.
[0054] Figure 42 It is a schematic diagram that represents at least one element of the node attribute information of the two terminal decomposition points being assigned different values to the input and output sides.
[0055] Figure 43 It is a schematic diagram that represents the matrix of attribute information of nodes in a graph network with the same number of elements. Detailed Implementation
[0056] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
[0057] Implementation method 1.
[0058] First, refer to Figure 1 The structure of the information processing device 100 of Embodiment 1 will be described. Figure 1 This is a block diagram illustrating the structure of the information processing apparatus 100 of Embodiment 1. The information processing apparatus 100 of Embodiment 1 is an apparatus that acquires graph data representing a graph and generates graph data representing other graphs based on that graph data. In other words, the information processing apparatus 100 of Embodiment 1 is an apparatus that converts graph data representing a graph into graph data representing other graphs. Figure 1 As shown, the information processing device 100 includes a graph data acquisition unit 10, a node extraction unit 20, and a graph generation unit 30.
[0059] The graph data acquisition unit 10 acquires graph data representing a graph network as a graph. For example, the graph data acquisition unit 10 acquires graph data from an input device (not shown) that receives input from an operator and inputs information to the information processing device 100, or from an external device communicatively connected to the information processing device 100 via wired or wireless means, or by reading information stored in a storage unit (not shown) provided in the information processing device 100. Furthermore, the graph data acquisition unit 10 acquires datasets such as geometric data, text data, and tabular data representing graph networks composed of nodes (points) and edges (lines), such as neural networks, molecular structures, electrical circuits, social networks, and computer networks, as graph data. Specifically, as a graph network representing an electrical circuit, a graph network in which nodes represent components and edges represent wiring connecting the components is considered. Furthermore, as a graph network representing a social network, consider a graph network that uses nodes to represent individuals and edges to represent the relationships between individuals, or a graph network that uses nodes to represent businesses and users and edges to represent the products of a specific business, thereby connecting businesses and users through the use of those products.
[0060] The node extraction unit 20 extracts specific nodes from the graph network represented by the graph data obtained by the graph data acquisition unit 10, which are original nodes that meet specific pre-set conditions. For example, the node extraction unit 20 extracts specific nodes from the graph network represented by the graph data based on the information of the nodes. Furthermore, for example, the node extraction unit 20 extracts specific nodes from the graph network represented by the graph data whose number of connected edges is within a specific range. In Embodiment 1, the graph data obtained by the graph data acquisition unit 10 is referred to as first graph data, and the graph network represented by the first graph data is referred to as the first graph. Details regarding specific nodes will be described later.
[0061] The graph generation unit 30 generates graph data representing a new graph network based on the first graph data and information related to the nodes extracted by the node extraction unit 20. The graph generation unit 30 includes a node decomposition unit 31 and an edge modification unit 32. In addition, the information processing device 100 may include a display control unit (not shown) that displays the graph data generated by the graph generation unit 30 on a display device such as a liquid crystal panel, and may also include an output unit (not shown) that outputs the graph data generated by the graph generation unit 30 to an external device.
[0062] The node decomposition unit 31 decomposes the nodes extracted by the node extraction unit 20 into multiple nodes. In other words, the node decomposition unit 31 generates multiple new nodes based on the nodes extracted by the node extraction unit 20, and deletes specific nodes extracted by the node extraction unit 20.
[0063] The edge modification unit 32 modifies the edges of the graph network represented by the first graph data based on the node decomposition result of the node decomposition unit 31. For example, the edge modification unit 32 generates edges that connect to new nodes generated by the node decomposition unit 31 and deletes nodes that connect to specific nodes extracted by the node extraction unit 20. Furthermore, for example, the edge modification unit 32 changes the connection destination of edges so that existing edges connect to new nodes generated by the node decomposition unit 31. Thus, the graph generation unit 30 generates graph data representing a new graph network, which is formed by replacing the local graph with the specific nodes extracted by the node extraction unit 20 in the first graph. The local graph has multiple new nodes and new edges connecting these multiple new nodes. In Embodiment 1, the new graph data generated by the graph generation unit 30 based on the first graph data is called second graph data, and the graph network represented by the second graph data is called the second graph. Details regarding the graph generation unit 30 will be described later.
[0064] Next, we will refer to Figure 2 and Figure 3 To illustrate the hardware configuration of the information processing device 100. Figure 2 This is a block diagram illustrating an example of the hardware structure of the information processing apparatus 100 according to Embodiment 1. Figure 3 This illustrates the information processing device 100 of Embodiment 1 and... Figure 2 A block diagram illustrating an example of a different hardware architecture. For example, such as... Figure 2As shown, the information processing device 100 includes a processor 100a, a memory 100b, and an I / O port 100c, configured such that the processor 100a reads and executes a program stored in the memory 100b. The memory 100b may be, for example, a non-volatile or volatile semiconductor memory such as RAM, ROM, flash memory, EPROM, EEPROM, or a combination thereof. Furthermore, the memory 100b may also be a disk, floppy disk, optical disk, compact disk, mini-disk, DVD, etc. Additionally, the memory 100b may be an HDD or an SSD.
[0065] In addition, for example, such as Figure 3 As shown, the information processing device 100 has a processing circuit 100d as dedicated hardware and an I / O port 100c. The processing circuit 100d is, for example, a single circuit, a composite circuit, a programmable processor, a parallel programmable processor, a system LSI (Large-Scale Integration), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination thereof. The functions of the information processing device 100 are implemented by these processors 100a or the processing circuit 100d as dedicated hardware executing software, firmware, or a combination of software and firmware.
[0066] Next, refer to Figures 4 to 1 5. A detailed description will be given of the process by which the information processing apparatus 100 of Embodiment 1 generates data for the second figure based on the data in the first figure. Figure 4 This is a flowchart illustrating the processing performed by the information processing apparatus 100 in Embodiment 1. For example... Figure 4 As shown, when the information processing device 100 starts processing, it acquires graph data (step ST11). For example, in this process, the information processing device 100 acquires graph data representing a graph network through the graph data acquisition unit 10. The graph network has multiple nodes and multiple edges that connect these multiple nodes to each other.
[0067] During step ST11, the information processing device 100 extracts specific nodes that meet pre-defined specific conditions from the nodes of the first graph represented by the first graph data obtained in step ST11 (step ST12). For example, based on the first graph data obtained by the graph data acquisition unit 100, the information processing device 100 extracts, through the node extraction unit 20, nodes in the first graph that have multiple pieces of information and are connected by edges associated with each of the multiple pieces of information, as specific nodes. In other words, during step ST12, the information processing device 100 extracts nodes from the first graph that have multiple pieces of information including first information and second information, and are connected by multiple edges including a first edge associated with the first information and a second edge associated with the second information.
[0068] During step ST12, the information processing device 100 determines whether a specific node has been extracted from the first graph during the processing in step ST12 (step ST13). In other words, during step ST12, the information processing device 100 determines whether the first graph represented by the data of the first graph obtained in step ST11 has a specific node that meets a pre-set specific condition.
[0069] In the case where the first diagram has a specific node (as in step ST13), the information processing device 100 generates multiple new nodes based on the information of the extracted arbitrary specific node (step ST14). For example, if the extracted arbitrary specific node is a node with multiple pieces of information and connected by edges associated with each of those pieces of information, in this process, the information processing device 100 generates multiple new nodes containing nodes corresponding to each piece of information possessed by the specific node through the node decomposition unit 31. In other words, if the extracted arbitrary specific node is a node with multiple pieces of information including first information and second information, and connected by multiple edges including a first edge associated with the first information and a second edge associated with the second information, in this process, the information processing device 100 generates multiple new nodes containing a second node corresponding to the first information and a third node corresponding to the second information through the node decomposition unit 31.
[0070] During step ST14, the information processing device 100 connects edges to the new plurality of nodes generated in step ST14 (step ST15). For example, in this process, the information processing device 100 generates new edges via the edge changing unit 32, connecting the new plurality of nodes generated in step ST14. Furthermore, for example, in this process, the information processing device 100 generates new edges via the edge changing unit 32, connecting nodes connected via edges to specific nodes extracted in step ST12 to any node among the newly generated plurality of nodes. Specifically, when any particular node extracted is a node with multiple pieces of information containing first information and second information, and connected by multiple edges containing a first edge associated with the first information and a second edge associated with the second information, in this process, the information processing device 100 generates multiple edges containing the following new edges: a new edge whose connection destination at one end is the same as the first edge and whose connection destination at the other end is the first node corresponding to the first information; and a new edge whose connection destination at one end is the same as the second edge and whose connection destination at the other end is the second node corresponding to the second information.
[0071] During step ST15, the information processing device 100 removes unnecessary edges (step ST16). For example, in this process, the information processing device 100 removes edges that become unnecessary because multiple nodes were generated in step ST15. Specifically, in this process, the information processing device 100 removes edges connected to specific nodes extracted in step ST12.
[0072] During step ST16, the information processing device 100 deletes the specific nodes extracted in step ST12 (step ST17). This generates second graph data representing a new second graph, which is obtained by replacing the local graph in the first graph with the specific nodes extracted by the node extraction unit 20. The local graph has multiple new nodes and new edges connecting these new nodes.
[0073] If step ST17 has been performed, and if the first graph represented by the data in the first graph does not have any specific nodes (no in step ST13), the information processing apparatus 100 terminates the processing. Alternatively, if the first graph has multiple specific nodes, the information processing apparatus 100 may be configured to perform steps ST14 to ST17 on each specific node, or it may be configured to perform steps ST14 to ST17 on multiple specific nodes in parallel.
[0074] Next, a specific example of the processing performed by the information processing device 100 in Embodiment 1 will be described. Figure 5This is a flowchart illustrating an example of the processing performed by the information processing apparatus of Embodiment 1. For example, the information processing apparatus 100 extracts nodes connected by three or more edges as specific nodes from the first graph represented by the first graph data obtained in the processing of step ST11 (step ST22).
[0075] Figure 6A This is a first graph G1, representing a graph network as an example of the first graph data obtained by the information processing apparatus 100 of Embodiment 1. For example, when node n13 is a company and nodes n11, n12, and n14 are users, in a graph network representing connections between companies and multiple users, the nodes representing multiple users are connected to node n13 representing the company via edges. Furthermore, Figure 6A The first figure G1 shown can be the entire graph network represented by graph data acquired by the graph data acquisition unit 10, or it can be a part of the graph network represented by graph data acquired by the graph data acquisition unit 10.
[0076] For example, in the processing of step ST11, after obtaining the representation Figure 6A In the case of the data of the first figure G1 shown, in the processing of step ST22, the information processing device 100 extracts node n13, which is connected by the three edges e11, e12 and e13, as a specific node.
[0077] During step ST22, the information processing device 100 determines whether a specific node has been extracted from the first graph G1 during step ST22 (step ST23). In other words, during step ST22, the information processing device 100 determines whether the first graph represented by the data obtained in step ST12 has a specific node connected by three or more edges.
[0078] When a specific node is found in Figure 1 G1 (as in step ST23), the information processing device 100 generates virtual nodes and multiple decomposition nodes as multiple new nodes based on the information extracted from any specific node (step ST24). For example, if node n13 is extracted as a specific node in step ST22, the information processing device 100 generates multiple new nodes through the node decomposition unit 31. These multiple new nodes include multiple decomposition nodes corresponding to the multiple pieces of information possessed by node n13, and virtual nodes serving as connecting nodes for interconnecting these multiple decomposition nodes. In other words, in step ST22, when node n13, which has first information and second information, is extracted as a specific node, the information processing device 100 generates multiple new nodes through the node decomposition unit 31, which includes multiple decomposition nodes and virtual nodes. These multiple decomposition nodes include decomposition nodes corresponding to the first information and decomposition nodes corresponding to the second information, and the virtual nodes are used to connect these multiple decomposition nodes.
[0079] Figure 6B This is a second graph, representing an example of a graph network as the second graph data generated by the information processing apparatus of Embodiment 1. For example... Figure 6B As shown, for example, if node n13, which has first information corresponding to edge e11, second information corresponding to edge e12, and third information corresponding to edge e13, is extracted as a specific node in step ST22, the information processing device 100 generates a plurality of new nodes through the node decomposition unit 31. These new nodes include: a decomposition node n15 corresponding to the first information of node n13, a decomposition node n16 corresponding to the second information, and a decomposition node n17 corresponding to the third information; and a virtual node n18 for connecting these multiple decomposition nodes to each other. For example, the multiple information of a specific node may be information indicating which edge it is connected to, or information indicating which node it is connected to via a specific edge. In the case where the first graph represents an electrical circuit network and the specific node represents a component of an electrical circuit with multiple terminals, the information may be information for identifying terminals, or information indicating the weight of connections with other nodes connected via edges.
[0080] During step ST24, the information processing device 100 connects edges to the new plurality of nodes generated in step ST24 (step ST25). For example, in this process, the information processing device 100 generates new edges via the edge changing unit 32, connecting the plurality of decomposed nodes and virtual nodes generated in step ST24. Furthermore, for example, in this process, the information processing device 100 connects nodes n11, n12, and n14, which are connected via edges to node n13 extracted in step ST22, to any one of the generated plurality of decomposed nodes.
[0081] like Figure 6B As shown, specifically, in this process, the information processing device 100 generates a new edge e15 and connects node n18 to node n15 via the edge modification unit 32, generates edge e16 and connects node n18 to node n16, and generates edge e17 and connects node n18 to node n17. Furthermore, in this process, the information processing device 100 connects node n15 to node n11 via edge e11, connects node n16 to node n12 via edge e12, and connects node n17 to node n14 via edge e13.
[0082] For example, in the relationship between enterprises and users, generally speaking, each user, as a stakeholder, focuses on multiple information items possessed by the enterprise, such as products and sales volume (domains). For example, in the case where the first graph G1 represents a graph network with enterprises and users as nodes, and three users are connected to the node representing the enterprise via three edges, in the processing of step ST24, the information processing device 100 generates a virtual node, n18, that abstractly represents the enterprise, and generates decomposed nodes, n15, n16, and n17, that decompose the multiple information items possessed by the enterprise, i.e., each domain. In the processing of step ST25, node n18 is connected to nodes n15, n16, and n17, and each user connected to node n13 in the first graph G1 is connected to nodes n18, n15, and n16 via edges.
[0083] Alternatively, the information processing device 100 may be configured to generate edges connecting node n15 and node n11, node n16 and node n12, and node n17 and node n14, in addition to edges e11, e12, and e13. In this configuration, when performing step ST25, the information processing device 100 will delete the edges connecting node n11 and node n13, node n12 and node n13, and node n14 and node n13 in Figure 1 G1 as unwanted edges (step ST26).
[0084] During step ST26, the information processing device 100 deletes node n13, which is a specific node (step ST17). This generates second graph data representing a second graph G1', which is obtained by replacing node n13 in the first graph G1 with a local graph g1' having multiple nodes including nodes n15, n16, n17, and n18, and edges e15, e16, and e17 connecting these multiple nodes. For example, in the first graph G1 representing a social network with enterprises and users as nodes, a graph network is generated by replacing node n13, representing an enterprise, with a local graph g1' decomposed according to each domain (field) possessed by the enterprise. For example, nodes n15, n16, and n17 represent product 1, product 2, and product 3 of the enterprise represented by node n13, respectively.
[0085] Additionally, based on representation Figure 6A The second figure, generated from the data in the first figure, is not limited to the data in the first figure. Figure 6B For example, the number of new nodes generated based on the information of a specific node can be one or more, and can be the same as or different from the number of edges connected to the specific node. Furthermore, the edges connecting to the new nodes can be edges connecting multiple decomposed nodes, or edges connecting one decomposed node to multiple nodes.
[0086] Next, refer to Figure 7 as well as Figure 8 ,right Figure 6B Other examples are illustrated in Figure 2. Figure 7 It is a graph network represented by the second graph data generated by the information processing device 100 of Embodiment 1. Figure 6B The second figure, G1'', is a different example.
[0087] like Figure 7 As shown, in the partial graph g1'' of the second graph G1'', based on node n13 as a specific node (refer to... Figure 6AThe generated decomposition node n15 is connected to the virtual node n18 via edge e15, the decomposition node n16 is connected to node n18 via edge e16, the decomposition node n17 is connected to node n18 via edge e17, and node n15 is connected to node n16 via edge e19. Furthermore, node n15 is connected to node n11 via edge e11 and to node n12 via edge e18. Similarly, node n12 is connected to node n15 via edge e18 and to node n16 via edge e12. Thus, in the second graph G1'', one decomposition node can be connected to multiple existing nodes, or a specific existing node can be connected to multiple decomposition nodes. For example, if the second graph G1'' is a graph representing a social network, one decomposition node can be connected to multiple users, or a node representing a specific user can be connected to multiple decomposition nodes.
[0088] Furthermore, Graph 1 and Graph 2 are not limited to the relationship between one enterprise and multiple users; they can also represent graph networks representing the relationships between multiple enterprises and multiple users. In such cases, multiple enterprises can be interconnected using edges. In such enterprise relationships, decomposed nodes and multiple edges can be set between them. Moreover, for example, in Graph 1 and Graph 2, even if a user is connected multiple times to a specific enterprise's domain, these multiple connections can be aggregated into a single connection if they are considered similar information. Furthermore, for example, in Graph 1 and Graph 2, if a user is connected multiple times to a specific enterprise's domain, and these multiple connections cannot be considered similar information, the domains can be subdivided by setting them as different domains, thereby suppressing the generation of multiple edges even in diverse graph networks.
[0089] Furthermore, in Implementation 1, the first and second graphs can be static graph networks, or they can be dynamic graph networks, such as SNS (Social Networking Service) or traffic information, where the nodes and connections between nodes change over time. When the first and second graphs are dynamic graph networks, even if a user is connected multiple times to a specific enterprise's domain, it remains a single connection in the time direction, thus preventing multiple edges. Furthermore, the second graph can also be a graph network that combines multiple similar decomposed nodes into a single decomposed node and connects multiple users to that node, avoiding self-loops and multiple edges. By forming the second graph in this way, the generation of multiple edges and self-loops, which cause information degradation, can be suppressed, reducing processing time in graph neural networks and the like.
[0090] Figure 8It is a graph network represented by the second graph data generated by the information processing device 100 of Embodiment 1. Figure 6B and Figure 7 A different example is Figure 2, G1'''. For example... Figure 8 As shown, in the partial graph g1''' of the second graph G1''', based on node n13 as a specific node (refer to... Figure 6A The generated node n15, acting as a decomposition node, is connected to node n18, acting as a virtual node, via edge e15. Similarly, node n17, acting as a decomposition node, is connected to node n18 via edge e17. Furthermore, node n15 is connected to node n11 via edge e11 and to node n12 via edge e12. Thus, in graph G1''', one decomposition node can be connected to multiple users.
[0091] The following explanation addresses the case where Figure 1 represents a graph network illustrating citation relationships between papers and books. Typically, papers are written specifically for a particular technology, while books sometimes systematically compile multiple papers, citing multiple sources. In Figure 1, nodes represent papers or books, and edges represent citations of those papers or books, thus representing the citation relationships between them.
[0092] For example, in Figure 8 In the second graph G1''' shown, nodes n18, n15, and n17 are connected by edges, thus enabling the representation of paper and book citation relationships by domain using a graph network. Node n18 is a virtual node representing a book, and nodes n15 and n17 are decomposed nodes generated based on the multiple information (domains) of the book, i.e., its chapters. Therefore, Figure 8 The second figure G1''' shows that the paper represented by node n11 and the paper represented by node n12 simultaneously cite a specific chapter (e.g., chapter 4) of the book represented by node n18, and the paper represented by node n14 cites other chapters represented by node n17.
[0093] Furthermore, in a graph network representing citation relationships between papers and books, the domain of a book is not limited to chapters; it can also be a section or item. Thus, even if self-loops and multiple edges are generated in the first graph, a graph network without self-loops and multiple edges can be generated by subdividing the nodes representing books according to their domains in the second graph and setting one or more decomposed book nodes for each paper.
[0094] Furthermore, the degree of subdivision when decomposing nodes should be appropriately determined based on factors such as the content of graph network processing, graph neural network processing, the type of graph network, and the content of the obtained graph data (dataset). For example, in a dataset used to generate a learning model that predicts the citation relationships between corresponding positions in papers and books using a graph neural network, it is preferable to refine the node decomposition. In processing that only needs to know the citation and cited relationships, it is sometimes acceptable not to refine the node decomposition. Moreover, when the amount of information contained in the dataset is limited, and it is difficult to obtain additional information in such cases, it is preferable not to perform decomposition beyond the information contained in the dataset, but rather to decompose the nodes into the same number of decomposed nodes as the number of edges connecting the nodes.
[0095] Existing graph networks aggregate information from multiple domains into a single node, thus failing to maintain the relationships between the domains possessed by that node and its surrounding nodes as a graph network, or becoming ambiguous, thus becoming a major cause of information degradation. In contrast, the information processing apparatus 100 of Embodiment 1 generates a decomposition node for each edge connected to a specific node, thus maintaining the relationships with surrounding nodes separately for each domain. The information processing apparatus 100 of Embodiment 1 maintains the multiple pieces of information possessed by a specific node as information from multiple decomposition nodes, therefore, even during graph processing, domain information is not lost, and information degradation can be suppressed.
[0096] In the graph network of Embodiment 1, self-loops can be considered to represent the relationships between domains. In contrast, in conventional graph networks, a self-loop implies a connection from all domains possessed by a node to all domains, and cannot provide information for connections from specific domains to specific domains as in Embodiment 1. Furthermore, in Embodiment 1, regarding self-loops, one end of an edge and the other end can be represented by information about connections between different decomposed nodes generated based on a specific node, thus preserving the relationships between domains as in a graph network. Moreover, in Embodiment 1, the graph network can be structured without self-loops, thus preserving the connection information from a specific domain possessed by a node to other domains as in a graph network.
[0097] Multiple edges in a graph network mean connecting two nodes with two or more edges. However, in Implementation 1, a specific node is decomposed into a number of decomposed nodes equal to the number of edges it is connected to, thus enabling the graph network to be a graph structure without multiple edges. For example, conventionally, in a graph network with a first specific node and a second specific node, where the first specific node has domains A and C, and the second specific node has domains B and D, and there are multiple edges connecting domains A and B, and domains C and D, it is necessary to aggregate information connecting the first specific node and the second specific node. On the other hand, in Implementation 1, domains A and B, and domains C and D are represented as decomposed nodes, thus allowing each connection to be represented by a graph structure. Therefore, information degradation that previously occurred can be suppressed.
[0098] Furthermore, as another method to suppress such information degradation, constructing a complete graph by connecting all decomposition nodes with edges instead of using virtual nodes can also suppress the generation of self-loops and multiple edges. However, self-loops in a single node are converted into multiple edges after the single node is converted into a complete graph, thus leading to information degradation. Moreover, since the relationships between decomposition nodes are a black box, a complete graph needs to be constructed to maintain these relationships. However, the number of edges in constructing a complete graph is proportional to the square of the number of decomposition nodes, so as the number of decomposition nodes increases, the number of edges increases, and the computational cost increases exponentially. For example, even with a relatively small number of nodes (1000 connected edges), 49950 edges are required between decomposition nodes. In contrast, in Implementation 1, by employing a structure that sets up virtual nodes and connects multiple decomposition nodes via virtual nodes, edges between decomposition nodes can be represented using the same number of edges as the number of decomposition nodes (1000 edges). Therefore, computational costs, computation time, and memory can be significantly reduced, enabling the processing of large-scale graph networks with multiple nodes that were previously difficult to compute. By employing virtual nodes and decomposition nodes, self-loops in a single node are equivalent to connecting decomposition nodes with edges, thus avoiding the generation of multiple edges as in a complete graph and preventing information degradation.
[0099] Furthermore, the graph generation unit 30 is not limited to generating the second graph described above based on the first graph data acquired by the graph data acquisition unit 10. The graph generation unit 30 generates second graph data based on the first graph acquired by the graph data acquisition unit 10, representing a second graph obtained by replacing specific nodes that are original nodes with a partial graph containing a first node corresponding to the first information and a second node corresponding to the second information. This second graph data can be generated in such a way that it becomes a graph in the second graph where the first edge connects to the first node and the second edge connects to the second node. Hereinafter, other examples of second graphs generated by the graph generation unit 30 based on the first graph data acquired by the graph data acquisition unit 10 will be shown.
[0100] Figure 9A The first graph G0 is an example of a graph network represented by the first graph data obtained by the information processing apparatus 100 of Embodiment 1. Additionally, Figure 9A The first graph G0 shown can be the entire graph network represented by graph data acquired by the graph data acquisition unit 10, or it can be a part of the graph network represented by graph data acquired by the graph data acquisition unit 10.
[0101] For example, such as Figure 9A As shown, when the graph data acquisition unit 10 acquires the first graph data representing the first graph G0, the graph generation unit 30 generates the second graph data representing the second graph G0'. The first graph G0 has a node n10 as a specific node having first and second information, an edge e11 as a first edge associated with the first information and connected to node n10, and an edge e12 as a second edge associated with the second information and connected to node n10. The second graph G0' is formed by replacing node n10 with a partial graph g0' that includes a node n15 as a first node corresponding to the first information and a node n16 as a second node corresponding to the second information. At this time, the graph generation unit 30 generates the second graph data in a manner that makes edge e11 connected to node n15 and edge e12 connected to node n16 in the second graph G0'.
[0102] Figure 10A as well as Figure 10B This is a second graph, which is another example of a graph network represented by the second graph data generated by the information processing apparatus 100 of Embodiment 1. The graph generation unit 30 may also generate the second graph data in such a way that the first edge is divided into the first-1 edge and the first-2 edge, one end of the first-1 edge is connected to the first node, and one end of the first-2 edge is connected to the second node.
[0103] For example, the representation obtained by the graph data acquisition unit 10 Figure 9A In the case of the first graph data of the first graph G0, the graph generation unit 30 can generate a representation. Figure 10A The data from the second figure G0' shown can also be used to generate a representation. Figure 10B The second graph G0'' shown is the second graph data. The second graph G0'' is as follows: In the first graph G0, edge e11 is divided into edge e11-1 as edge 1-1 and edge e11-2 as edge 1-2. One end of edge e11-1 is connected to node n15 as node 1, and one end of edge e11-2 is connected to node n16 as node 2.
[0104] Figure 11 It is represented as the second figure data generated by the information processing device 100 of Embodiment 1. Figure 10B The second graph is a variation of the graph network. For example, in the second graph G0'', either or both edges e11-1 and e11-2 can be directional edges. Specifically, the graph data acquisition unit 10 obtains the representation... Figure 9A In the case of the first graph G0 data, such as Figure 11 As shown, the graph generation unit 30 can also generate second graph data representing the second graph G0'', which indicates that edge e11-2 is a directional edge.
[0105] Figure 12 This is a diagram representing other examples of nodes 1 and 2 connected by a new edge in the second diagram, and is represented as second diagram data generated by the information processing apparatus 100 of Embodiment 1. Figure 9B The second example is a variation of the graph network. For instance, representations are obtained through the graph data acquisition unit 10. Figure 9A In the case of the first graph G0 data, such as Figure 12 As shown, the graph generation unit 30 generates second graph data in the second graph G0''' in such a way that it becomes a graph with one end connected to node n15, which is the first node, and the other end connected to node n16, which is the second node.
[0106] Figure 13 This is a graph representing other examples of how nodes 1 and 2 in the second graph are connected by new edges and new nodes, and is represented as second graph data generated by the information processing apparatus 100 of Embodiment 1. Figure 9B The second example is a variation of the graph network. For instance, the graph data acquisition unit 10 obtains the representation... Figure 9A In the case of the first graph G0 data, such as Figure 13 As shown, the graph generation unit 30 generates second graph data in such a way that node n18, which serves as a connecting node for connecting node n15 and node n16, is present in the second graph G0''''.
[0107] also, Figure 14A as well as Figure 14B This is a graph representing other examples where a specific node, as the original node, possesses information 1, information 2, and information 3. Figure 14A The first graph is an example of a graph network represented by the first graph data obtained by the information processing apparatus 100 of Embodiment 1. Figure 14BThis is a second graph, which is an example of a graph network represented by second graph data generated by the information processing apparatus 100 of Embodiment 1. When the graph generation unit 30 obtains the first graph data representing the first graph from the graph data acquisition unit 10, it generates the second graph data representing the second graph. The first graph has original nodes, each original node having N pieces of information, where N is a natural number of 2 or more. The second graph is formed by replacing the original nodes in the first graph with local graphs, each local graph having N distinct nodes associated with each of the N pieces of information.
[0108] Specifically, regarding the graph generation part 30, such as Figure 14A As shown, when the graph data acquisition unit 10 acquires the first graph data representing the first graph G9, the graph generation unit 30 generates the second graph data representing the second graph G9'. The first graph G9 has: a node n13 as a specific node having first, second, and third information; an edge e11 as a first edge associated with the first information and connected to node n13; and an edge e12 as a second edge associated with the second information and connected to node n13. The second graph G9' is formed by replacing node n13 with a partial graph g9' that includes a node n15 as a first node corresponding to the first information, a node n16 as a second node corresponding to the second information, and a node n17 as a third node corresponding to the third information. At this time, the graph generation unit 30 generates the second graph data in the second graph G9' as a graph where edge e11 is connected to node n15 and edge e12 is connected to node n16.
[0109] also, Figure 15A as well as Figure 15B This is a graph representing other examples where a specific node, as the original node, possesses information 1, information 2, and information 3. Figure 15A The first graph is an example of a graph network represented by the first graph data obtained by the information processing apparatus 100 of Embodiment 1. Figure 15BThis is a second graph, representing an example of a graph network represented by second graph data generated by the information processing apparatus 100 of Embodiment 1. For example, when the graph generation unit 30 obtains first graph data representing a first graph from the graph data acquisition unit 10, it generates second graph data representing a second graph. The first graph has original nodes connected by N edges, where N is a natural number of 2 or more. The second graph is formed by replacing the original nodes in the first graph with local graphs, where each local graph has N distinct nodes corresponding to each of the N edges. Alternatively, the graph generation unit 30 may also be configured to generate second graph data representing a second graph when the graph data acquisition unit 10 obtains first graph data representing a first graph. In this case, the first graph has original nodes connected by N edges, where N is a natural number of 2 or more. The second graph is formed by replacing the original nodes in the first graph with local graphs, where each local graph has N distinct nodes corresponding to each of the N or fewer edges.
[0110] Specifically, regarding the graph generation part 30, such as Figure 15A As shown, when the graph data acquisition unit 10 acquires the first graph data representing the first graph G1, the graph generation unit 30 generates the second graph data representing the second graph G1''''. The first graph G1 has: a node n13 as a specific node having first information, second information and third information; an edge e11 as a first edge associated with the first information and connected to node n13; an edge e12 as a second edge associated with the second information and connected to node n13; and an edge e13 as a third edge associated with the third information and connected to node n13. The second graph G1'''' is formed by replacing node n13 with a local graph g1'''' that includes a node n15 as a first node corresponding to the first information, a node n16 as a second node corresponding to the second information, and a node n17 as a third node corresponding to the third information. At this time, the graph generation unit 30 generates the second graph data in a manner that makes edge e11 connected to node n15, edge e12 connected to node n16, and edge e13 connected to node n17 in the second graph G9'.
[0111] The following describes a specific example of the processing performed by the information processing apparatus 100 in Embodiment 1. In Embodiment 1, for example, information constituting a graph network can be recorded as text data as follows.
[0112] Node 1; Edge 1, Edge 2, Edge 3
[0113] Node 2; Edge 3, Edge 4
[0114] This information shows that node 1 is connected to 3 edges, and node 2 is connected to 2 edges. Furthermore, it can be seen that node 1 and node 2 are connected by edge 3.
[0115] Furthermore, the information processing apparatus 100 of Embodiment 1, for example, defines one or more new virtual nodes for a node 1 connected to three edges, and defines the same number of decomposed nodes as the number of edges connected to node 1. Therefore, the aforementioned text data becomes as follows.
[0116] Node 1; Edge 1, Edge 2, Edge 3
[0117] Node 2; Edge 3, Edge 4
[0118] Virtual node 1-1;
[0119] Decompose node 1-1;
[0120] Decompose node 1-2;
[0121] Decompose nodes 1-3;
[0122] At this point, the method for assigning names to virtual nodes and decomposition nodes can be freely determined as long as they are different from the names of other nodes in the graph network. In the above example, they are designated as virtual node 1-1, decomposition node 1-1, decomposition node 1-2, and decomposition node 1-3.
[0123] Next, the information processing device 100 connects the edges connected to the specific nodes to each decomposition node. As a result, the aforementioned text data becomes as follows.
[0124] Node 1; Edge 1, Edge 2, Edge 3
[0125] Node 2; Edge 3, Edge 4
[0126] Virtual node 1-1;
[0127] Decompose node 1-1; edge 1
[0128] Decompose node 1-2: Edge 2
[0129] Decompose nodes 1-3: Edge 3
[0130] Furthermore, the information processing device 100 defines new edges (edge 1-1, edge 1-2, edge 1-3) that connect the decomposed nodes and the virtual nodes. Thus, the aforementioned text data becomes as follows.
[0131] Node 1; Edge 1, Edge 2, Edge 3
[0132] Node 2; Edge 3, Edge 4
[0133] Virtual node 1-1; Edge 1-1, Edge 1-2, Edge 1-3
[0134] Decompose node 1-1; edge 1, edge 1-1
[0135] Decompose node 1-2; edge 2, edge 1-2
[0136] Decompose nodes 1-3; edge 3, edge 1-3
[0137] The information processing device 100 removes the connections between specific nodes and edges that are connected by three or more edges from the connection information. Thus, the aforementioned text data becomes as follows.
[0138] Node 1;
[0139] Node 2; Edge 3, Edge 4
[0140] Virtual node 1-1; Edge 1-1, Edge 1-2, Edge 1-3
[0141] Decompose node 1-1; edge 1, edge 1-1
[0142] Decompose node 1-2; edge 2, edge 1-2
[0143] Decompose nodes 1-3; edge 3, edge 1-3
[0144] Furthermore, the information processing device 100 removes specific nodes that have more than three edges that are not needed for connection. Thus, the aforementioned text data becomes as follows.
[0145] Node 2; Edge 3, Edge 4
[0146] Virtual node 1-1; Edge 1-1, Edge 1-2, Edge 1-3
[0147] Decompose node 1-1; edge 1, edge 1-1
[0148] Decompose node 1-2; edge 2, edge 1-2
[0149] Decompose nodes 1-3; edge 3, edge 1-3
[0150] Through the above processing, the information of a specific node connected by three edges is transferred to the virtual node and decomposed nodes 1-1, 1-2, and 1-3, thus completing the processing of Implementation Method 1. This processing can transform a specific node into one that does not exhibit multiple edges between two nodes or self-loops, which are major causes of information degradation. A self-loop is defined as starting from one node and ending at the same node without passing through other nodes. In particular, multiple edges and self-loops become causes of information degradation when learning and reasoning using graph neural networks, a method of deep learning.
[0151] This is because, in graph neural network processing, in order for each node to propagate the node attributes representing its own features to the next hidden layer, self-loops are formed even for nodes that do not have them. Therefore, the information from self-loops present in the graph network is not retained, or the information content of self-loops within the graph network is reduced (the presence or absence of a self-loop is more informative than the difference between having one or two self-loops, thus the information content is relatively reduced). Furthermore, in multi-edge processing, after setting the weight matrix, the graph neural network sets activation functions that readily respond to real numbers between 0 and 1 or between -1 and 1. Therefore, the difference between 0 (without an edge) and 1 (with an edge) is 1. In contrast, the difference between the outputs of the activation functions for one edge and two edges in multi-edge processing becomes smaller, such as 0 and 0.1.
[0152] In detail, the processing in a graph neural network is described using an adjacency matrix as a method to represent the graph network in the input. The adjacency matrix is represented by a square matrix with the same number of rows and columns as the number of nodes, and each column and row is assigned a node ID. Elements where nodes are connected and their IDs intersect are represented as 1, while elements between unconnected nodes are represented as 0. Therefore, the diagonal component of an adjacency matrix without self-loops is 0. Furthermore, depending on the number of multi-edges, the elements between nodes in the case of multi-edges can also be set to 2 or 3.
[0153] However, many graph neural network algorithms process the attribute information between adjacent nodes solely by the presence or absence of connections, making it difficult to consider the number of connections. Therefore, for example, in the case of a connection count of 2, instead of applying double weights to the node attribute information of multi-edge connections and embedding it into adjacent nodes, the weighting of node attribute information between adjacent nodes is determined based on a learned weight matrix. Technically, it is possible to arbitrarily enhance the combination of multi-edge connections with a connection count of 2, such as by a factor of 2, but this introduces preconceived notions and is therefore not preferred. For example, this can be used to consider molecular structures as graph networks. When carbon and hydrogen are considered as nodes and the bonds between atoms as edges, molecules with double and triple bonds are considered as molecules with multi-edge connections when comparing ethane with single bonds, ethylene with double bonds, and acetylene with triple bonds.
[0154] This is evident from the fact that the bond energies of ethane, ethylene, and acetylene are 331 kJ / mol, 591 kJ / mol, and 827 kJ / mol, respectively, and do not increase by two or three times according to the number of bonds. Therefore, regarding multi-edges, their bonding strength also needs to be learned through the use of a dataset. While multi-edges are difficult to represent in conventional methods, in Implementation 1, multi-edges can be represented as a simple graph without using multi-edges.
[0155] Furthermore, regarding self-loops, in graph neural networks, node attribute information is updated by weighted averaging among neighboring nodes. However, this requires the attribute values of the node itself to propagate to the next hidden layer. To perform this, self-loops need to be set for all nodes, and even nodes without self-loops are created during processing. That is, for nodes already containing self-loops, although more than two self-loops are formed, similar to multi-edges, even with more than two self-loops, there is no technical basis to arbitrarily multiply the number of attribute elements of a node by more than two. Therefore, it is difficult to process the information of graph networks with self-loops without information degradation in graph neural networks.
[0156] In particular, with a single hidden layer, it is relatively easy to apply special processing to self-loops and multiple edges, making it less likely to cause information degradation. However, if there are two or more hidden layers, the number of combinations with neighboring nodes increases, and the results of special processing are averaged out, making special processing difficult and hard to prevent information degradation. Thus, self-loops and multiple edges become causes of information degradation in graph neural networks. Based on the above reasons, the method shown in Implementation 1, which decomposes self-loops and multiple edges into virtual nodes and decomposed nodes before setting them as adjacency matrices, has the following significant effect: it makes it less likely to cause information degradation in graph processing involving graph networks and graph neural networks.
[0157] In addition to the molecular structure example mentioned above, the following data can also be considered as data represented as graph networks.
[0158] Social Networks
[0159] • Citation Networks
[0160] • Hyperlink relationships on a webpage (Web Networks)
[0161] • The relationship between products and buyers (Online Review Networks)
[0162] • Transportation Networks (Road Networks, Traffic Networks)
[0163] Knowledge Graph
[0164] Furthermore, consider data related to electrical engineering, represented as graph networks, such as the following.
[0165] Electrical circuits
[0166] Model-based development
[0167] Physical simulations using mesh structures include the finite element method and the finite difference method.
[0168] For example, in social networks, when users are considered nodes and connections between users are considered edges, node attribute information is considered to be user information such as name, gender, and nationality. In academic paper citations, when papers are considered nodes and citations and being cited are considered edges, node attribute information is considered to be the content and keywords of each paper. In web pages, when homepages are considered nodes and hyperlinks between homepages are considered edges, node attribute information is the content and update information of the webpage. In the relationship between goods and buyers, when goods or buyers are considered nodes and the relationship between goods and buyers is considered edges, the nodes are information about the goods or the user's purchase history. In transportation networks, when intersections are considered nodes and roads between intersections are considered edges, node attribute information is the waiting time and traffic volume at the intersections. In knowledge graphs, when proper nouns are considered nodes and the associations between proper nouns are considered edges, node attribute information is keywords. Furthermore, in circuits, when circuit components are considered nodes and wiring between circuit components is considered edges, node attribute information is the model number of the circuit component and circuit constants. In model-based development, when each development block is considered a node and the connection between development blocks is considered an edge, the node attribute information includes the progress and physical properties of each development block. In physical simulation using a mesh structure, when the vertices of the mesh are considered nodes and the connections between vertices are considered edges, the node attribute information includes the coordinates and material constants of the vertices.
[0169] Furthermore, graph networks are capable of processing in non-Euclidean spaces. Therefore, the processing of Euclidean space information, which is a partial set of non-Euclidean spaces—such as images, sounds, and natural language—can also be entirely represented as graph networks. Thus, this data can be processed to convert it into a graph network, applying the method shown in Implementation 1. For example, in speech and natural language, techniques such as attention mechanisms and Transformers can be used to calculate the close relationships between a word and other words. Using these techniques, when one word is related to three or more words, the method shown in Implementation 1 can be used.
[0170] Furthermore, in Implementation 1, the examples described above are not limited to those that can be defined as nouns; therefore, nodes can represent various elements. Additionally, in graph networks with two or more nodes, where there are relationships between these nodes, edges can represent those relationships. In particular, as in the case of a citation and cited relationship in a paper, where there is a unidirectional relationship between two nodes, it can also be defined as a directed graph that gives direction to the edges.
[0171] Furthermore, the graph network in Implementation 1 envisions adjacency matrices or text information. Specifically, it envisions relational databases, JSON (JavaScript Object Notation), XML, tabular formats, etc. However, it can be any form as long as it is a unique storage format (binary data) inherent to languages such as Matlab and Python, and can ultimately be represented as a graph network regardless of human readability. Furthermore, these data are stored as databases on storage media such as USB drives, hard drives, and SSDs. During processing, they are read into the memory (graphics memory (VRAM)) on DRAM or GPUs, and then converted into a graph network for processing by processing devices such as CPUs, GPUs, ASICs, and FPGAs. Output is achieved by storing the processing results in memory and saving them as databases, visually displaying the graph network in a human-understandable manner, outputting the results, and sending them to other information processing devices. Since these data storage methods are reversibly convertible, readability is emphasized in Implementation 1, and the case of storing them as text is envisioned. For example, the graph network can be represented by text data based on nodes, as follows.
[0172] Node 1; Edge 1, Edge 2
[0173] Node 2; Edge 1, Edge 3
[0174] Furthermore, graph networks can also be represented based on edges as follows.
[0175] Edge 1; Node 1, Node 2
[0176] Edge 2; Node 1
[0177] Edge 3; Node 2
[0178] Since they are in a reversible transformation relationship, in Implementation 1, they are described based on nodes that are easy to understand. Furthermore, nodes and edges are separated by a semicolon (;), but any method of representation, determined by spaces or other characters, is acceptable.
[0179] Furthermore, the information processing apparatus 100 of Embodiment 1 performs the process of extracting nodes connected by three or more edges and decomposing the nodes. However, for nodes connected by two or fewer edges, it may be configured not to perform the node decomposition process, or it may be configured to perform the decomposition process in the same way as for nodes connected by three or more edges.
[0180] Furthermore, it is preferable to set more than one virtual node. For example, in a graph neural network, by adding virtual nodes, the weight matrix is generated by random numbers, which can represent the characteristics of each virtual node, thus improving the expressiveness of the graph network. On the other hand, by increasing the number of virtual nodes, the number of edges increases, and the computational load of the information processing device 100 increases. Therefore, in most cases, the information processing device 100 is preferably configured to generate 3 or fewer virtual nodes. For example, if a specific node is connected to 10 edges, and this specific node is decomposed into 10 decomposed nodes, 10 edges are needed when there is 1 virtual node, 20 edges are needed when there are 2 virtual nodes, and 30 edges are needed when there are 3 virtual nodes. In addition, 40 edges are needed when there are 4 virtual nodes, which is the same as the 45 edges (the number of combinations of choosing 2 from 10) required when no virtual nodes are used. Furthermore, if we consider the computational load brought about by adding 4 virtual nodes, in the above example, the computational load is the same when using 4 virtual nodes and when no virtual nodes are used, and the effect of using virtual nodes is reduced. Therefore, in order to fully utilize the characteristics of virtual nodes that can reduce computation and memory usage, there is an upper limit to the number of virtual nodes for a given node.
[0181] Generally, when the number of edges connected to a specific node is N and the number of virtual nodes is K, it is preferable to set K to N×(N-1) / 2 >> K×N + K×(K-1) / 2. Furthermore, the ">>" is preferably 10 times or more. However, when the number of nodes is 4 or less, although a 10-fold multiplication is not possible, one virtual node can still be used. This formula means that the number of N×(N-1) / 2 edges decomposed without using virtual nodes is sufficiently small compared to the K×N connections between virtual nodes and decomposed nodes and the K×(K-1) / 2 connections between virtual nodes. For example, when there are 100 decomposed nodes, it becomes 4550 >> 100×K + K×(K-1) / 2. If the ">>" is set to 10 times, then when K is 4, 100×K + K×(K-1) / 2 becomes 406, and when K is 5, it becomes 510. Therefore, K can be chosen up to 4. However, in a connected graph, the larger K is, the greater the computational cost becomes exponentially; therefore, it is preferable to keep K as small as possible. Furthermore, by connecting virtual nodes, the number of paths between decomposed nodes increases, thus accelerating the convergence of the graph neural network and providing the advantage of faster learning. On the other hand, especially when a particular node possesses information from multiple domains, there is a drawback: feature loss occurs for each virtual node, and its expressiveness is easily reduced. Therefore, when each particular node possesses a large amount of domain information, and the number of decomposed nodes is, for example, 100 or more, connections between virtual nodes are not necessarily required. It is sufficient to satisfy K as N×(N-1) / 2 >> K×N. In this case, since a connected graph is not generated, the computational cost can be significantly reduced.
[0182] In the above, both the case of connecting virtual nodes and the case of not connecting virtual nodes suppress multiple edges and self-loops, achieving a unique effect not seen before. In particular, when the number of virtual nodes is 1, the computational cost can be reduced to the greatest extent, thus achieving a significant effect of reducing both computational cost and information degradation on a large dataset. Furthermore, when there are 2 virtual nodes, it has the characteristic of creating a closed path that propagates from a decomposition node to the first and second virtual nodes, and it can also analyze the closed nature of virtual nodes and decomposition nodes generated based on a single node without relying on connections from external nodes or edges. This is, for example, a significant effect can be obtained in graph neural networks when the information of a single node dominates in representing the feature quantity of the graph network.
[0183] Furthermore, a feature quantity refers to a set of numerical values in the input learning or testing data that serve as clues for predicting the correct label for the learning or testing data. This feature quantity can be obtained within the framework of graph neural networks. For class classification problems, this can be achieved by inputting these features into a fully connected layer and outputting a number of values equal to the number of classes, and then applying an activation function used in class classification, such as a log softmax function or a softmax function, immediately before the output layer. For regression problems, this can be achieved by inputting these features into a fully connected layer and outputting them as a numerical value. Moreover, not only in cases with correct labels, such as class classification or regression problems, but also by combining graph neural networks that extract features with deep learning that reconstructs the input data based on the features, as in autoencoders, or by performing unsupervised learning such as hiding (masking) node or edge attributes and predicting the hidden values. Thus, a feature quantity is an abstract representation of a set of numerical values representing the characteristics of the input data obtained by applying a non-linear function to the input data within the framework of deep learning. Although the feature quantity itself is incomprehensible to humans, by combining it with a loss function that measures the difference between the output and the correct label, the features of the input data can be captured from the data.
[0184] Furthermore, it is preferable that the number of decomposition nodes is the same as the number of edges connecting to a specific node. Additionally, as shown in the examples of papers and books above, the aim is to use different decomposition nodes for each domain. Therefore, decomposition nodes whose domains are considered shared domains for a specific node can be grouped into a single decomposition node without generating self-loops or multiple edges. For example, Chapters 2 and 3 of a book can also be represented as a single decomposition node. Furthermore, decomposition nodes that are not connected to nodes other than virtual nodes by edges can be defined; for example, this corresponds to chapters that are not cited. Regarding the names of the decomposition nodes, for example, in the case of the aforementioned social network, they can be set as having Product 1, Product 2, and Product 3; in the case of citations in a paper, they can be set as having Chapter 3 and Chapter 4. However, by defining names for a portion of the node attribute information elements possessed by the decomposition node and assigning tables corresponding to real or integer values, and by assigning information that can determine domain information, such as Product 1, to a portion of the decomposition node's name, information degradation during conversion to a graph network can be further reduced. This demonstrates that, taking a book as an example, the five chapters of an uncited paper can also be used as decomposition nodes, resulting in the following effect: when other papers or books citing these five chapters are published, it is not necessary to redefine the book's virtual nodes and decomposition nodes. Furthermore, information about the book having five chapters can be extracted solely from the graph structure. This is because, when the graph is treated as a circuit and the semiconductor as the object, the semiconductor's terminal numbers represent its function, thus information is also present in decomposition nodes without wiring connections. Therefore, by retaining terminals without such wiring connections as nodes, a significant effect previously unattainable is achieved: the ability to reproduce the semiconductor solely from the graph structure.
[0185] The connection between virtual nodes and decomposition nodes is made, for example, through newly defined edges. When there are two or more virtual nodes, edges connect the decomposition nodes to each virtual node. However, graph networks, when represented using adjacency matrices and connection matrices, can be represented using real numbers or integers other than 0, so the data does not necessarily need to be graphically representable. Furthermore, two or more virtual nodes can be connected without edges, but when connected by edges, the number of edges between virtual nodes increases exponentially; therefore, the number of virtual nodes is preferably four or less, and ideally three or less.
[0186] For example, the removal of connections between specific nodes and edges occurs either after or simultaneously with connecting the edges connected to the specific node to the decomposition node. In this case, all edges connected to the specific node are connected to the decomposition node, so the information of the specific node and edges is transferred to the information of the decomposition node and edges without information degradation. Therefore, the information of the specific node and edges is not needed, and deleting this information will not cause information degradation.
[0187] For example, the deletion of a specific node is performed after all connections between the specific node and its edges have been removed. When all connections between the specific node and its edges have been removed, the node becomes a state where it is not connected to any edges. Therefore, even if a specific node without any connections to edges is removed, no information degradation will occur.
[0188] For example, a domain in data that can be categorized into categories refers to each category. In the example of the enterprise in the graph network of Implementation 1, each product can be categorized as a category, i.e., Product 1, Product 2, and Product 3, and thus becomes a domain. Furthermore, in the case of two systems, product and sales revenue, it can be considered as a product-related domain and a sales revenue-related domain, thereby decomposing nodes for each domain that differs from the system. Additionally, for example, in an orthogonal coordinate system used to represent data belonging to a different category or dimension than the system in Implementation 1, it is not possible to mix the sizes of the x-axis, y-axis, and z-axis into one system; therefore, for a domain, it can also be set as three systems: one for the x-axis, one for the y-axis, and one for the z-axis. Furthermore, regarding products, it is not possible to mix price-related domains and inventory-related domains into one system; therefore, for a domain, it is also possible to set price into one system and inventory into one system.
[0189] Furthermore, in Embodiment 1, the virtual nodes and decomposition nodes are in a star graph relationship. It can be said that the information processing apparatus 100 of Embodiment 1 is configured to perform the process of converting a specific node connected by multiple edges into a star graph representation. For example, such a star graph consists of multiple virtual nodes, decomposition nodes as connecting nodes, and multiple edges connecting them. These multiple virtual nodes correspond to information used to identify the terminals of a multi-terminal component having N (e.g., a natural number greater than 3) terminals. The graph structure of such a star graph generated based on specific nodes is such that virtual nodes and decomposition nodes are connected by one edge, and multiple decomposition nodes are not connected to each other. Therefore, in order to move node attribute information from one decomposition node to different decomposition nodes, it is necessary to use virtual nodes, thus having the characteristic of a structure where only decomposition nodes are connected to virtual nodes.
[0190] The information processing apparatus 100 of Embodiment 1 includes: a graph data acquisition unit 10, which acquires first graph data representing a first graph, the first graph having a specific node, a first edge, and a second edge, the specific node having first information and second information, the first edge being associated with the first information and connected to the first node, and the second edge being associated with the second information and connected to the first node; and a graph generation unit 30, which generates second graph data representing a second graph, the second graph being obtained by replacing the specific node in the first graph with a local graph, the local graph having multiple nodes and edges connecting the multiple nodes to each other, the multiple nodes including a first node as a decomposition node corresponding to the first information and a second node as a decomposition node corresponding to the second information, the graph generation unit 30 generating the second graph data in a manner that forms a graph network in the second graph where the first edge is connected to the first node and the second edge is connected to the second node.
[0191] In this configuration, when a node in a graph network has multiple pieces of information, the information processing device 100 generates data representing a graph network obtained by replacing the node with a local graph containing multiple nodes that include decomposed nodes corresponding to the multiple pieces of information. Therefore, it can suppress the degradation of information during graph network processing. Furthermore, the local graph is not limited to being composed of a single graph in which all nodes are interconnected, but can also be composed of multiple independent graphs.
[0192] Implementation method 2.
[0193] Next, refer to Figures 16 to 2 2. The information processing apparatus 100 of Embodiment 2 will be described. Compared with the information processing apparatus 100 of Embodiment 1, the information processing apparatus 100 of Embodiment 2 performs some different processing on the graph data, but the structure is the same. For structures that are the same as those in Embodiment 1, the same reference numerals and the same names are used and the description is omitted.
[0194] Figure 16 This is a flowchart illustrating an example of the processing performed by the information processing apparatus 100 in Embodiment 2. In Embodiment 1, after obtaining the data of the first image in step ST11, the information processing apparatus 100 extracts nodes connected by three or more edges from the first image as specific nodes. However, in Embodiment 2, after obtaining the data of the first image in step ST11, the information processing apparatus 100 extracts nodes connected by two edges (two-terminal connection points) from the first image as specific nodes (step ST32).
[0195] Figure 17AThe first image G2 is an example of the first image data obtained by the information processing apparatus 100 of Embodiment 2. During the processing of step ST32, the information processing apparatus 100 determines whether a specific node has been extracted from the first image during the processing of step ST32 (step ST33). If the first image has a specific node (yes in step ST33), the information processing apparatus 100 generates multiple new nodes based on the information of any extracted specific node (step ST34).
[0196] Figure 17B This is a second graph, representing a graph network as an example of the second graph data generated by the information processing apparatus 100 of Embodiment 2. For example, such as... Figure 17A As shown, in the case where node n21 connected by two edges is present in Figure 1G2, in the processing of step ST34, the information processing device 100 performs the following... Figure 17B As shown, based on the information corresponding to edges e21 and e22 connected to node n21, nodes n22 and n23 are generated as decomposition nodes. During the processing of step ST34, the information processing device 100 connects the edges to nodes n22 and n23 as decomposition nodes (step ST35). For example, in this process, the information processing device 100 connects nodes n22 and n23 with a new edge e23, and connects edge e21 to node n22 and edge e22 to node n23. The following steps ST36 and ST17 are the same as in Embodiment 1, and therefore their description is omitted.
[0197] In Implementation 2, similarly to Implementation 1, when a graph network is obtained as connection information based on text or an adjacency matrix, two-terminal connection points connected by two or more edges can be extracted from this connection information. For example, when the following connection information exists in text form, node 1 and node 2 each become two-terminal connection points connected by two or more edges, so for example, node 1 can be designated as two-terminal connection point 1, and node 2 as two-terminal connection point 2.
[0198] Node 1; Edge 1, Edge 2, Edge 3
[0199] Node 2; Edge 3, Edge 4
[0200] Next, two 2-terminal decomposition points are defined for each 2-terminal connection point. The results are as follows.
[0201] 2-terminal connection point 1: Side 1, Side 2, Side 3
[0202] Terminal connection point 2; Side 3, Side 4
[0203] 2-terminal decomposition point 1-1;
[0204] Terminal 2 decomposition points 1-2;
[0205] 2-terminal decomposition point 2-1;
[0206] 2-terminal decomposition point 2-2;
[0207] Furthermore, it is made as follows by connecting the edge connected to the 2-terminal connection point to the 2-terminal disassembly point.
[0208] 2-terminal connection point 1; Side 1, Side 2, Side 3
[0209] Terminal connection point 2; Side 3, Side 4
[0210] Terminal 2 decomposition point 1-1; Side 1, Side 2
[0211] 2-terminal decomposition points 1-2; Side 3
[0212] 2-terminal decomposition point 2-1; Side 3
[0213] 2-terminal decomposition point 2-2; Side 4
[0214] At this point, edges 1 and 2 are assumed to be domain connections to the two-terminal decomposition point 1-1. This holds true when the two-terminal connection point 1 has two inputs and one output, or two outputs and one input, and the inputs and outputs can be read from text data. However, in cases where it is impossible to determine whether a dataset is an input or an output, it is preferable to process it as a specific node connected by three edges, as described in Implementation 1. For example, when the relationship between input and output is not determined, such as the relationship between a reference and a referenced entity, the reference is defined as an input, and the referenced entity is defined as an output, and a graph network can be generated for the dataset based on the definitions.
[0215] Next, define new edges (edge 1-1, edge 2-1) between the two terminal decomposition points that were divided into two, and connect the nodes as shown below.
[0216] 2-terminal connection point 1: Side 1, Side 2, Side 3
[0217] Terminal connection point 2; Side 3, Side 4
[0218] Terminal 2 decomposition point 1-1; Side 1, Side 2, Side 1-1
[0219] Terminal 2 decomposition point 1-2; Side 3, Side 1-1
[0220] Terminal 2 decomposition point 2-1; Side 3, Side 2-1
[0221] Terminal 2 decomposition point 2-2; Side 4, Side 2-1
[0222] As a result, the information of the two-terminal connection points and edges is transferred to the information of the two-terminal decomposition points and edges without information degradation. Therefore, even if the information of the two-terminal connection points and edges is removed, it will not become information degradation as follows.
[0223] 2-terminal connection point 1;
[0224] 2-terminal connection point 2;
[0225] Terminal 2 decomposition point 1-1; Side 1, Side 2, Side 1-1
[0226] Terminal 2 decomposition point 1-2; Side 3, Side 1-1
[0227] Terminal 2 decomposition point 2-1; Side 3, Side 2-1
[0228] Terminal 2 decomposition point 2-2; Side 4, Side 2-1
[0229] Through the above processing, the state becomes that the two-terminal connection point is not connected. Therefore, the two-terminal connection point is removed, and the following final output is obtained.
[0230] Terminal 2 decomposition point 1-1; Side 1, Side 2, Side 1-1
[0231] Terminal 2 decomposition point 1-2; Side 3, Side 1-1
[0232] Terminal 2 decomposition point 2-1; Side 3, Side 2-1
[0233] Terminal 2 decomposition point 2-2; Side 4, Side 2-1
[0234] Alternatively, the information processing device 100 may be configured to simultaneously perform the processing shown in Embodiment 1 for a specific node connected by three or more edges and the processing shown in Embodiment 2 for a specific node connected by two edges. For example, the information processing device 100 is preferably configured to perform a combination of the processing shown in Embodiment 1 and the processing shown in Embodiment 2 when there are three or more edges connected and the relationship between input and output cannot be extracted from the graph data.
[0235] Furthermore, the new edge generated in step ST35 is not limited to an edge that connects the two decomposition nodes generated in step ST34. In other words, the local graph generated by the graph generation unit 30 is not limited to a local graph in which multiple nodes are directly connected to each other via edges. For example, the new edge generated in step ST35 may also be an edge that connects the two decomposition nodes in parallel without directly connecting them to each other.
[0236] Figure 18AIt is a graph network represented by the first graph data obtained by the information processing device 100 of Embodiment 2, and... Figure 17A A different example is Figure 1, G21. Figure 18B It is a graph network represented by the second graph data generated by the information processing device 100 of Embodiment 2, and... Figure 17B A different example is Figure 2, G21'. For example, as... Figure 18A As shown, in the processing of step ST11, if a first graph G21 is obtained, having node n210, a specific node n211 as the original node, node n212, a first edge e210 connecting node n210 and the specific node n211, and a second edge e211 connecting the specific node n211 and the node n212, the information processing device 100 can also be configured as follows: Figure 18BAs shown, in step ST34, a first node n213 and a second node n214 are generated as two decomposition nodes based on the information of a specific node n211. In step ST35, a new third edge e213 connecting node n212 and the first node n213, and a new fourth edge e212 connecting node n210 and the second node n214 are generated. Node n210 and the first node n213 are connected through the first edge e210, and node n212 and the second node n214 are connected through the second edge e211. In this way, the first node n213 and the second node n214 are connected in parallel. In other words, the graph generation unit 30 can also generate the second graph data in the following way: in the second graph G21' formed by replacing a specific node n211 with a local graph g21', the graph becomes as follows: the first edge e210 is divided into the first edge e210 as the first-1 edge and the fourth edge e212 as the first-2 edge; the second edge e211 is divided into the second edge e211 as the second-2 edge and the third edge e213 as the second-1 edge; the first edge e210 is divided into the second edge e211 as the second-2 edge and the third edge e213 as the second-1 edge. One end of edge e210 is connected to the first node n213, one end of the fourth edge e212 is connected to the second node n214, the other ends of the first edge e210 and the fourth edge e212 are connected to the common node n210, one end of the second edge e211 is connected to the second node n214, one end of the third edge e213 is connected to the first node n213, and the other ends of the second edge e211 and the third edge e213 are connected to the common node n212. For example, the third edge e213 and the fourth edge e212, as new edges, are generated as directional edges. Specifically, the third edge e213 may have a directionality towards the second node, and the fourth edge e212 may have a directionality towards the first node. Alternatively, Figure 1 can be a diagram representing an electrical circuit, where node n211, as the primary node, represents a diode, battery (DC power supply), directional coupler, or transceiver antenna within the electrical circuit. Side e213 has directionality towards node 1, and side e212 has directionality towards node 2. In other words, side e213 can have a direction from node n212 towards node n213, and side e212 can have a direction from node n210 towards node n214.
[0237] For example, in the case of a second graph generated by the information processing device 100, which is an undirected graph without edge directionality, there is a problem: it is impossible to explicitly represent a diode with directional reverse bias in an electrical circuit, and it is necessary to rely on the learning of a graph neural network. When processing such a diode, it is expected that the signal with the first edge as input and the second edge as output has different characteristics than the signal with the second edge as input and the first edge as output. However, in the case of the second graph being undirected, in the graph neural network processing the graph, the order of the first and second nodes is different between the signal flowing from the first node to the second node and the signal flowing from the second node to the first node. Therefore, under the effect of the nonlinear function based on the activation function in the graph neural network, directionality can be considered compared to representing it only with the original nodes through learning. However, this is knowledge that needs to be acquired through the learning of the graph neural network, and without explicit provision, more learning data and learning time are required accordingly.
[0238] In contrast, Figure 18B In the second diagram shown, under the influence of the third edge e213, only a signal flowing from left to right flows through the first edge e210. Furthermore, under the influence of the fourth edge e212, no signal flowing from right to left flows through the second edge e211. Therefore, by explicitly assigning data, knowledge can be acquired without learning through a graph neural network, suppressing information degradation during the conversion to a graph network. Thus, more accurate reasoning can be performed with less data. Additionally, one or both of the first edge e210 and the second edge e211 can be directional, and when one or both of the first edge e210 and the second edge e211 are directional, one or both of the third edge e213 and the fourth edge e212 can be non-directional. Furthermore, when the primary node n211 represents a diode, the first node n213 and the second node n214 correspond to the anode and cathode, respectively. Moreover, for example, when the primary node represents a battery, the first node n213 and the second node n214 correspond to the positive and negative terminals of the battery, respectively. Additionally, for example, when the original node represents the antenna, the first node n213 and the second node n214 are equivalent to the antenna's transmission and reception.
[0239] Furthermore, for example, when considering the citation relationship between a book and a paper, if a paper cites a book, the relationship becomes that the paper is the citing node and the book is the cited node. This forms a directed graph in a graph network, and therefore can be represented as a directed graph. For example, when revising a book, if a previously cited paper is cited, the relationship becomes that the book is the citing node and the paper is the cited node, with the two nodes interconnected. However, if the book is represented as a single node, the citing and cited relationship becomes ambiguous. Furthermore, in the case of a directed graph, it is possible to represent only the citing and cited relationship. However, if the relationship is represented using edges with two directions, and then expressed using an adjacency matrix, it becomes the same as an edge without direction, thus degrading the information. Therefore, as... Figure 18B As shown, this problem can be solved by decomposing the referencing and the referenced into different nodes and giving at least one edge connected to each node a direction. Thus, the referencing information propagates via edge e210, node n213, and edge e213, while the referenced information propagates via edge e211, node n214, and edge e212. Therefore, by assigning different attribute information to node n213 and node n214, asymmetric relationships can be represented in the graph network.
[0240] Figure 19A It is a graph network represented by the first graph data obtained by the information processing device 100 of Embodiment 2, and... Figure 17A and Figure 18A A different example is Figure 1, G22. Figure 19B It is a graph network represented by the second graph data generated by the information processing device 100 of Embodiment 2, and... Figure 17B and Figure 18B A different example is Figure 2, G22'.
[0241] For example, such as Figure 19A As shown, in the processing of step ST11, when a first graph G22 is obtained, having node n210, a specific node n220 as the origin node, a specific node n230 as the origin node, node n212, an edge e220 connecting node n210 and specific node n220, an edge e221 connecting specific node n220 and specific node n230, and an edge e222 connecting specific node n230 and node n212, the information processing device 100 proceeds as follows: Figure 19BAs shown, in step ST34, two decomposition nodes, namely node 1 n221 and node 2 n222, are generated based on the information of a specific node n220. Similarly, two decomposition nodes, namely node 1 n231 and node 2 n232, are generated based on the information of a specific node n230. In step ST35, an edge e224 is generated connecting node n212 and node 1 n231, an edge e223 is generated connecting node n210 and node 2 n222, an edge e225 is generated connecting node 1 n221 and node 1 n231, and an edge e226 is generated connecting node 2 n222 and node 2 n232. Node n210 and node 1 n221 are connected through edge e220, and node n212 and node 2 n232 are connected through edge e222. Furthermore, it can also be configured by connecting the first node n221 and the second node n222, and the first node n231 and the second node n232 in parallel. For example, the new edges e225 and e226 are generated as directional edges.
[0242] For example, in the citation of a book, when node n220 is the book and node n230 is the paper, it can be described as text data as follows. Furthermore, in the following representation, edge e211 has a bidirectional relationship of citing and being cited.
[0243] Node n220; Edge e211, Edge e220
[0244] Node n230; edge e211, edge e222
[0245] Each node is defined as a decomposed node, taking into account the directionality of edge e211. In the following examples, (IN) represents the signal entering the node, and (OUT) represents the signal output. In the graph network, IN and OUT represent directed graphs, and undirected edges are considered as bidirectional directed graphs, thus being treated the same as undirected graphs in the adjacency matrix of the graph network, which is mathematically described.
[0246] Node n220; Edge e211, Edge e220
[0247] Node n230; edge e211, edge e222
[0248] Node n221; Edge e225 (IN)
[0249] Node n222; Edge e226 (OUT)
[0250] Node n231; Edge e225 (OUT)
[0251] Node n232; Edge e226 (IN)
[0252] Furthermore, if the edges e220 and e222 connected to nodes n220 and n230 are respectively set as edge e220 and edge e223, and edge e224 and edge e222, then it becomes as follows.
[0253] Node n220; Edge e211, Edge e220
[0254] Node n230; edge e211, edge e222
[0255] Node n221; Edge e225 (IN), Edge e220
[0256] Node n222; Edge e226 (OUT), Edge e223
[0257] Node n231; Edge e225 (OUT), Edge e224
[0258] Node n232; Edge e226 (IN), Edge e222
[0259] At this point, regarding nodes n220 and n230, and edges e211, e220, and e222, since the decomposed nodes and edges e225, e226, e220, e223, e224, and e222 are replaced without information degradation, they are not needed. Therefore, the final result is as follows.
[0260] Node n221; Edge e225 (IN), Edge e220
[0261] Node n222; Edge e226 (OUT), Edge e223
[0262] Node n231; Edge e225 (OUT), Edge e224
[0263] Node n232; Edge e226 (IN), Edge e222
[0264] In addition, nodes n221 and n222 are related, and nodes n231 and n232 are related, so edges can also be used to connect the nodes.
[0265] Figure 20 This is a flowchart illustrating an example of the processing performed by the information processing apparatus 100, a variation of Embodiment 1. Specifically, Figure 20 This refers to the processing performed by the information processing device 100 when extracting node n31 connected by four edges from the first diagram. This is achieved through combination. Figure 20 The processing shown in Embodiment 1 and the processing shown in Embodiment 2 can [result in] Figure 21A The graph network shown is converted to Figure 21B The graph network shown. Figure 21AThis is the first graph, representing a graph network as an example of the first graph data obtained by the information processing device 100. Specifically, Figure 21A A graph network is a network in which a specific node connected by 3 or more edges is connected to a terminal point by 2 edges, i.e., multiple edges. Figure 21B The second graph is an example of a graph network represented by the second graph data generated by the information processing device 100.
[0266] For example, such as Figure 20 , Figure 21A as well as Figure 21B As shown, the information processing device 100 generates nodes n33, n33, n33 and n33 as four decomposition nodes and node n37 as a virtual node based on node n31 connected by four edges, and generates nodes n38 and n39 as two decomposition nodes based on node n32 connected by two edges.
[0267] The following is a specific example of graph data in the case of performing a process that combines the processes shown in Embodiment 1 and Embodiment 2. Node 1 is a specific node connected by four edges, and node 2 is a two-terminal connection point connected to this specific node by two edges.
[0268] Node 1; Edge 1, Edge 2, Edge 3, Edge 4
[0269] Node 2; Edge 3, Edge 4
[0270] For ease of understanding, node 1 will be referred to as the specific node, and node 2 as the two-terminal connection point. Furthermore, even if the definition of the calling method is changed, the information in the graph network remains unchanged, thus preventing information degradation.
[0271] Specific nodes; edge 1, edge 2, edge 3, edge 4
[0272] 2 terminal connection points; side 3, side 4
[0273] If we add a 2-terminal decomposition point by splitting the 2-terminal connection point into 2, it will become as follows.
[0274] Specific nodes; edge 1, edge 2, edge 3, edge 4
[0275] 2 terminal connection points; side 3, side 4
[0276] 2-terminal decomposition point 1;
[0277] Terminal 2 decomposition point 2;
[0278] If the connection between a specific node and a 2-terminal connection point is moved to the connection between a specific node and a 2-terminal decomposition point, it becomes as follows.
[0279] Specific nodes; edge 1, edge 2, edge 3, edge 4
[0280] 2 terminal connection points; side 3, side 4
[0281] 2-terminal decomposition point 1; edge 3
[0282] 2-terminal decomposition point 2; edge 4
[0283] If the two terminal split points are connected with a new edge (edge 1-1), it will become as follows.
[0284] Specific nodes; edge 1, edge 2, edge 3, edge 4
[0285] 2 terminal connection points; side 3, side 4
[0286] 2-terminal decomposition point 1; edge 3, edge 1-1
[0287] 2-terminal decomposition point 2; edge 4, edge 1-1
[0288] Here, the information between a specific node and a 2-terminal connection point is shifted without degradation to the information of the two 2-terminal decomposition points. Therefore, the edges between the specific node and the 2-terminal connection point are removed, and the 2-terminal connection point is also removed. The result is the final output below.
[0289] Specific nodes; edge 1, edge 2, edge 3, edge 4
[0290] 2-terminal decomposition point 1; edge 3, edge 1-1
[0291] 2-terminal decomposition point 2; edge 4, edge 1-1
[0292] Furthermore, in Implementation 2, a 2-terminal connection point is a specific node connected by two edges. A 2-terminal connection point can also have input or output, or both. For example, when taking the citation of a paper as shown in Implementation 1, since the paper is either citing or being cited, if citation is considered as input and being cited as output, then the 2-terminal connection point can be considered as a node with input and output. Similarly, when taking an SNS as an example, the situation where one user cites another user can be considered as input, and the situation where another user cites the user can be considered as output. Furthermore, regarding specific nodes connected by three or more edges and 2-terminal connection points connected by two or more edges, when taking the citation of a paper as an example, mutual citation and being cited sometimes occur due to the time difference between the paper's publication on the Web and its publication in a journal, or time differences caused by variations in book versions. In social networks, 2-terminal connection points also occur when citations and being cited occur between businesses and users. These examples are special cases, but they occur frequently in the electrical circuits described in Implementation 3 later, and therefore the frequency of their occurrence depends on the dataset. Thus, the information processing apparatus 100 of Embodiment 2 can avoid multiple edges for any dataset, thereby suppressing information degradation.
[0293] Two-terminal decomposition points are generated by defining two two-terminal decomposition points for one two-terminal connection point. If one side of a two-terminal decomposition point is considered as an input and the other as an output, the input-output relationship cannot be distinguished at the two-terminal connection point. In contrast, at two-terminal decomposition points, the input-output relationship can be clearly defined in an undirected graph even without using a directed graph. This is particularly effective when there is a difference between forward and reverse directions, i.e., between signals transmitted from input to output and signals transmitted from output to input. When an input-output relationship exists, it can be represented by a directed graph where the signal is forced to flow in only one direction. However, since signals do not propagate in the reverse direction in a directed graph, conventional methods that also have characteristics in the reverse direction cannot be implemented. In contrast, in Implementation 2, different node attribute information is assigned to the input and output, and processing is performed using an undirected graph. This results in a significant characteristic not previously observed: even if the characteristics of the forward and reverse directions are very different, they can be learned as data with different characteristics.
[0294] Furthermore, to maintain the relationship between the input and output of the two-terminal decomposition points, it is preferable to preserve this relationship as data in at least one element of the name of the two-terminal decomposition point or in the matrix containing its node attribute information. Specifically, when assigned as a name, assuming xx is the edge number, this can be achieved by setting the input to xx-0 and the output to xx-1. Furthermore, when assigned as node attribute information, in an N-column matrix, setting the node attribute information in the first column of the input-side two-terminal decomposition point to 0 and the first column of the output-side to 1 preserves the information. For example, by assigning attribute information to the two-terminal decomposition points using one-hot vectors, the input and output can be defined. For example, using a 3-column matrix to represent the node attribute information, setting the input attribute information to 0, 0, 1, and the output attribute information to 0, 1, 0, this can be achieved through the following definition.
[0295] 2-terminal decomposition point 1; 0, 0, 1 (input)
[0296] Terminal 2 decomposition point 2; 0, 1, 0 (output)
[0297] Furthermore, when the two-terminal decomposition points with inputs and outputs are included in the dataset as objects, they can be divided into inputs and outputs, for example, by being defined as 1, 0, 0. However, in the case of input and output, instead of one-hot vectors, the sum of each element of the input 0, 0, 1 and the output 0, 1, 0, i.e., 0, 1, 1, can be assigned as node attribute information. This reduces the number of columns, thus reducing the computational load, computation time, and memory capacity required for graph processing. While 0 or 1 is used, any representation can be used as long as real numbers, integers, strings, complex numbers, etc., can be distinguished through information processing. For example, when the forward bias and reverse bias characteristics are known separately, such as in a diode, values representing each characteristic can be assigned to the elements. Furthermore, since the decomposition is performed from a single two-terminal component, when the forward and reverse characteristics are unknown, the node attribute information of the two-terminal decomposition points preferably has the same value, except for information related to the input and output. Additionally, node attribute information other than the node attribute information related to the input and output (in the case of books and papers, keywords, publication year, publisher, etc.) can be kept as one-hot vectors.
[0298] Two two-terminal decomposition points have an input-output relationship, or represent a bidirectional input-output relationship, so they are connected by an edge. Even if it is not a specific edge, in a graph network, any representation method that can be reversibly transformed, such as using an adjacency matrix, a connection matrix, a Laplace matrix, or text data to record the two connections, can be used.
[0299] To transfer the information between a specific node and a 2-terminal connection point to the connection between the specific node and the 2-terminal decomposition point, the specific node and the 2-terminal decomposition point are connected separately. Thus, the connection information between the specific node and the 2-terminal connection point is preserved without information degradation. For example, in the graph data shown below, if the first edge is defined as the input and the second edge as the output, it is impossible to preserve the input and output information as graph network information while maintaining the previous 2-terminal connection point configuration.
[0300] 2 terminal connection points; side 3, side 4
[0301] On the other hand, in Embodiment 2, it can be determined that the connection edge 3 at the two-terminal decomposition point 1 is the input and the connection edge 4 at the two-terminal decomposition point 2 is the output. In Embodiment 2, information that was discarded during processing in conventional methods can be retained, thus suppressing information degradation. Furthermore, in conventional two-terminal connection points, the input-output relationship cannot be maintained in processing such as graph neural networks. However, as two-terminal decomposition points, this information can be maintained as elements of the matrix that constitutes node attribute information or as the name of the two-terminal decomposition point, thus preventing information degradation.
[0302] Figure 22A The first graph G4 is an example of a graph network represented by the first graph data obtained by the information processing device 100. Figure 22B This is the second graph G4', an example of a graph network represented by the second graph data generated by the information processing device 100. For example, in the case where the graph network represented by the graph data is a graph network representing an electrical circuit, such as... Figure 22A As shown, the information processing device 100 extracts a multi-element component, node n41, which has six sides among the nodes representing the components of an electrical circuit, as a specific node with three or more sides. In this case, for example, the information processing device 100 generates nodes n42, n43, n44, n45, n46, and n47 as terminal components corresponding to the decomposed nodes with six sides, and generates node n48, which is a virtual component that is a virtual node that connects these nodes n42 to n47 to each other.
[0303] Implementation method 3.
[0304] Next, refer to Figures 23 to 31 The information processing apparatus 100 of Embodiment 3 will now be described. Compared with the information processing apparatus 100 of Embodiment 1, the information processing apparatus 100 of Embodiment 3 performs some different processing on the graph data, but the structure is the same. For structures that are the same as those in Embodiment 1, the same reference numerals and the same names are used and the description is omitted.
[0305] Figure 23 This is a flowchart illustrating an example of the processing performed by the information processing apparatus 100 in Embodiment 3. Hereinafter, the processing performed by the information processing apparatus 100 will be described using the case where the information processing apparatus 100 in Embodiment 3 obtains a list of electrical circuit components and a list of connections between components as first diagram data. In step ST11, the information processing apparatus 100 obtains the list of electrical circuit components and the list of connections between components as first diagram data (step ST51). For example, the information processing apparatus 100 obtains the list of electrical circuit components and the list of connections between components as a netlist of text information.
[0306] Figure 24A The circuit diagram shown is obtained from the netlist of the information processing device 100 in Embodiment 3. Figure 24B The netlist is obtained by the information processing apparatus 100 in Embodiment 3. Generally, there are dozens of known netlist formats, but in any format, they all contain auxiliary information (node attribute information) such as circuit components essential for forming the circuit, circuit component models, and circuit constants, as well as connection information between circuit components, which are in a reversible conversion relationship. Therefore, it is possible to extract a component list containing component names and a component connection list containing connection information between components from the netlist. In Embodiment 3, the circuit and netlist used for falling onto the printed circuit board are described; however, the same applies to circuit designs located between logic design and layout design for semiconductor design. In this case, instead of circuit component models and circuit constants, a netlist is formed that includes auxiliary information such as physical dimensions during layout, material properties, parasitic capacitance, residual inductance, residual resistance, leakage current, and connection information between components containing this auxiliary information.
[0307] Especially when considering circuits containing active components such as semiconductors, these active components have three or more terminals, thus constituting multi-component devices. Specifically, even the simplest active component, such as the simplest power supply IC, has three terminals: an input terminal, an output terminal, and a GND terminal that serves as a reference potential. In addition, active components include ASICs, CPUs, FPGAs, memory, switching power supply components, and communication components; all active components have three or more terminals, and some even have over 2000 terminals. Furthermore, passive circuit components, such as common-mode choke coils, also have four terminals: two input terminals and two output terminals, thus allowing for the same processing as the aforementioned active components.
[0308] Besides 3-terminal capacitors, single-phase transformers, 3-phase transformers, motors (electric motors), and compressors, diode arrays and resistor arrays can also be considered as multi-component components with 3 or more terminals. However, when the wiring connection information in transformers, diode arrays, resistor arrays, etc., is clear, and the parasitic components between adjacent components are clear, they can also be decomposed into multiple 2-terminal components. On the other hand, passive components such as constant-mode choke coils, capacitors, resistors, and diodes are 2-terminal components, and therefore will not be the object of processing in Implementation Method 3.
[0309] When focusing on such multi-component parts, such as Figure 22A as well as Figure 22B As shown, one or more virtual nodes are defined as virtual components for each multi-element component and added to the component list. Furthermore, terminals of the multi-element component are extracted from the netlist, and terminal components, the same number as the number of terminals, are added to the component list as decomposition nodes (step ST54). At this time, non-connected (NC) terminals may or may not be added as terminal components. However, to achieve semiconductor package commonality, it is preferable to add them, except for special reasons such as terminals not wired inside the semiconductor. Thus, circuits with the same semiconductor but different circuit structures can be represented by the same combination of circuit components and terminal components. Similarly to Embodiment 1, no wiring is connected to the NC terminals, therefore only virtual components are connected to the terminal components representing the NC terminals.
[0310] If focusing on multi-element components that can be extracted from the netlist described above, virtual components and terminal components are defined from one multi-element component, and the defined virtual components are connected to the terminal components (step ST56), and this connection information is added to the inter-component connection list. Furthermore, regarding the wiring connected to each terminal of the multi-element component, the wiring is connected to each terminal component, and its connection information is added to the inter-component connection list (step ST55). However, it is not necessary to connect only one wiring to each terminal; multiple wirings can be added to the inter-component connection list by connecting one terminal. For example, terminals with high current flow may have mechanisms for inputting or outputting the same signal to multiple terminals to ensure the rated current value, but these terminals can also be grouped into one.
[0311] Furthermore, through the above processing, multi-element components are replaced by virtual components and terminal components, and all wiring connected to multi-element components is connected to terminal components. Thus, the information of multi-element components is transferred to virtual components, terminal components, and wiring connected to terminal components without information degradation. Therefore, wiring connected to multi-element components is removed from the component connection list (step ST57), and multi-element components are removed from the component list (step ST58), outputting information on virtual components, terminal components, wiring connected to terminal components, and components other than multi-element components that are not being processed (step ST59). Two effects not previously observed can be obtained through Embodiment 3. The first is the elimination of multiple edges and self-loops described in Embodiment 1, preventing information degradation. The second is the maintenance of terminal numbers as a graph network. To explain the second in detail, multi-element components will be described as follows.
[0312] XU1; N002 N003 IN 0 N001 IN N002 N004
[0313] At this point, according to the definitions of each netlist, the wiring names from N002 to N004 sequentially represent the terminal numbers of the semiconductors. Furthermore, even if the definition changes and the representation method changes, it is still information used to connect terminals and wiring, essential information in the circuit; therefore, each netlist possesses this information. In the example above, this means that N002 is connected to terminal number 1 of semiconductor XU1, N003 is connected to terminal number 2, IN is terminal number 3, GND (as 0) is connected to terminal number 4, N001 is connected to terminal number 5, IN is connected to terminal number 6, N002 is connected to terminal number 7, and N004 is connected to terminal number 8. Conventionally, because it is not decomposed into terminal components, it is impossible to retain information related to terminal numbers in advance, resulting in information loss due to processing by graph neural networks, etc., leading to information degradation. On the other hand, in Embodiment 3, by decomposing into terminal components, the terminal numbers can be retained in part of the terminal component's name or in an element within a matrix representing the node attribute information of the terminal component, thus preventing the aforementioned information degradation. Therefore, the aforementioned special effect can be obtained in Embodiment 3.
[0314] In Embodiments 1 and 2, specific nodes, virtual nodes, edges, decomposition nodes, 2-terminal connection points, and 2-terminal decomposition points were described. However, in Embodiment 3, specific nodes correspond to multi-component components, virtual nodes correspond to virtual components, edges correspond to wiring, decomposition nodes correspond to terminal components, 2-terminal connection points correspond to 2-terminal components, and 2-terminal decomposition points correspond to 2-terminal decomposition components. Hereinafter, [the following text is incomplete and requires further context to translate accurately.] Figure 24A Using the circuit diagram shown as an example, a specific example of implementation method 3 will be explained.
[0315] For example, netlists can be created by directly writing circuit information into circuit CAD or text data. There are more than 10 known netlist formats, such as Allegro and ExpressPCB, but all formats include wiring between circuit components, component models, and circuit constants. The following describes... Figure 24B An example of the labeling in the netlist. Additionally, in Figure 24B In the diagram, D1 represents the component name, D2 represents the connected wiring, D3 represents the component model, and D4 represents the circuit constant.
[0316] V1; IN 0 3.3
[0317] XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
[0318] L1; IN N001 2.2u
[0319] D1; N001 OUT 1N5818
[0320] C1; OUT 0 20u
[0321] R1; OUT N003 28.7K
[0322] R2; N003 0 5.23K
[0323] C2; N004 0.001u
[0324] Rload; OUT 0 13
[0325] In this netlist, the part before the semicolon (;) represents a circuit component, and the part after the semicolon (;) represents wiring and model number or circuit constant. In the netlist, V1 is the power supply, XU1 is the semiconductor, L1 is the coil, D1 is the diode, C1 and C2 are capacitors, and R1, R2 and Rload are resistors, with Rload representing the load resistor used as the output.
[0326] The following component list and inter-component connection list can be obtained from the netlist. The component list consists of the circuit components before the semicolon (;), and the inter-component connection list is created by focusing on the wiring names after the semicolon (;). For example, if N001 is chosen as the wiring name in the inter-component connection list, then the circuit components using N001 are XU1, L1, and D1, so it can be written as N001;XU1, L1, D1. If other wirings are written in the same way, it becomes as follows.
[0327] IN; V1, XU1, L1
[0328] OUT; D1, C1, R1, Rload
[0329] 0; V1, XU1, C1, R2, C2, Rload
[0330] N001; XU1, L1, D1
[0331] N002; XU1
[0332] N003; XU1, R1, R2
[0333] N004; XU1, C2
[0334] If the components connected to wiring N001 are arranged in pairs, then they can be recorded as combinations of three: (XU1, L1), (XU1, D1), and (L1, D1), which corresponds to the wiring between components. Furthermore, the component connection list only indicates the presence or absence of a connection; therefore, the order is not limited in the undirected graph shown in Embodiment 3. That is, (XU1, L1) and (L1, XU1) represent the same information, so either can be used. However, in situations such as... Figure 18B , Figure 19B In the case of a directed graph as shown, for example, XU1 is defined as OUT, L1 as IN, and XU1, L1) is defined as an edge from XU1 toward L1. Furthermore, edges without direction information are treated as bidirectional edges and can be represented by (XU1, L1) and (L1, XU1), thus achieving the same effect as edges in an undirected graph. By performing this processing on all wiring, a list of connections between components can be created. If a netlist exists as described above, a unique list of connections between components can be created. However, while the list of connections between components is as follows, it has a large number of elements, making it difficult for humans to understand even though it is easy for an information processing device to handle. Therefore, implementation method 3 is described by updating the netlist, which is recorded as text data.
[0335] Component list: [V1, XU1, L1, D1, C1, R1, R2, C2, Rload]
[0336] Component connection list: [(V1, XU1), (V1, L1), (XU1, L1), (D1, C1), (D1, R1), (D1, Rload), (C1, R1), (C1, Rload), (R1, Rload), (V1, XU1), (V1, C1), (V1, R2), (V1, C2), (V1, Rload), (XU1, C1), (XU1, R2), (XU1, C2), (XU1, Rload), (C1, R2), (C1, C2), (C1, Rload), (R2, C2), (R2, Rload), (C2, Rload), (XU1, L1 ), (XU1, D1), (L1, D1), (XU1, R1), (XU1, R2), (R1, R2), (XU1, C2), (XU1, L1), (XU1, D1), (L1, D1)]
[0337] The multi-component component in the netlist above is only semiconductor XU1, which is indicated in the following content.
[0338] XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
[0339] N002 to N004 represent wiring, and LT3489 represents the model number of the switching semiconductor from Analog Devices (registered trademark). Depending on the format of the netlist, there may be cases where the model number of the semiconductor and the circuit constants of the passive components are not included in the netlist and are recorded in different rows. However, since they are reversible, in Implementation Method 3, they are described by being recorded in one row.
[0340] In Embodiment 3, a single virtual component is described, but it can also be two or more, similar to Embodiment 1. However, in semiconductors, due to the limited number of terminals and the resulting increase in computational load, the number of virtual components is preferably capped at three, as in Embodiment 1. Furthermore, the name of the virtual component can be freely determined when defining it, but in Embodiment 3 it is named XU1_virtual, and the netlist is updated as follows.
[0341] XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
[0342] XU1_virtual;
[0343] Regarding terminal components, in the aforementioned semiconductor netlist XU1 wiring "N002 N003 IN 0 N001 IN N002 N004 LT3489", LT3489 is the component model, therefore N002 N003 IN 0 N001 IN N002 N004 become wirings. In this netlist definition method, the wiring connections of semiconductor terminal 1 to wiring name N002, terminal 2 to wiring name N003, terminal 3 to wiring name IN, terminal 4 to wiring name 0, terminal 5 to wiring name N001, terminal 6 to wiring name IN, terminal 7 to wiring name N002, and terminal 8 to wiring name N004 are shown. Therefore, eight terminal components are defined for eight wirings. However, in this example, since there are two INs, as shown in Embodiment 1, terminals 3 and 6 connected to IN can also be used as a single terminal component.
[0344] On the other hand, there are also two N002 terminals, but these form a closed self-loop wiring connecting the terminals of multiple components, so they cannot be concentrated into a single terminal. Regarding the self-loop nature, this can be determined by whether N002 is used in connections to other components in the overall circuit netlist. Furthermore, although not included in... Figure 24A For example, in cases involving NC terminals, it is preferable to define NC terminals as terminal components. In particular, when the same semiconductor is used in different electrical circuits, and NC terminals are also used for wiring in other electrical circuits, defining NC terminals as terminal components allows the number of terminal components to be constant for a single semiconductor regardless of the circuit structure surrounding the semiconductor. As a result, virtual components and terminal components can be fixed for each type of component, achieving a unified processing effect even for electrical circuits with different circuit topologies relative to a single type. However, for NC terminals that are not used in any semiconductor usage scenarios, such as when there is no wiring inside the semiconductor, it is preferable not to define them as terminal components to reduce the computational load in graph network processing.
[0345] The netlist based on the above method is as follows, but the names of the terminal components in the netlist can be arbitrary as long as they are different from other terminal components and circuit components.
[0346] XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
[0347] XU1_virtual;
[0348] XU1-1;
[0349] XU1-2;
[0350] XU1-3;
[0351] XU1-4;
[0352] XU1-5;
[0353] XU1-6;
[0354] XU1-7;
[0355] XU1-8;
[0356] Regarding the connection between terminal components and wiring, the number of wirings for terminal components and multi-element components as defined above is equal; therefore, the wirings for each multi-element component are applied to the terminal component. Through this process, the netlist is updated as follows.
[0357] XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
[0358] XU1_virtual;
[0359] XU1-1;N002
[0360] XU1-2; N003
[0361] XU1-3; IN
[0362] XU1-4;0
[0363] XU1-5; N001
[0364] XU1-6; IN
[0365] XU1-7; N002
[0366] XU1-8; N004
[0367] The connection between virtual components and terminal components involves defining wiring between them. The name of the wiring can be any name, as long as it is not the same as any other wiring name used in the circuit. For example, in embodiment 3, if the wiring names are set to Line 1 to Line 8, the netlist becomes as follows.
[0368] XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
[0369] XU1_virtual; Line1, Line2, Line3, Line4, Line5, Line6, Line7, Line8
[0370] XU1-1; N002, Line 1
[0371] XU1-2; N003, Line 2
[0372] XU1-3; IN, Line 3
[0373] XU1-4; 0, Line4
[0374] XU1-5; N001, Line 5
[0375] XU1-6; IN, Line 6
[0376] XU1-7; N002, Line 7
[0377] XU1-8; N004, Line 8
[0378] Since all the information contained in semiconductor XU1, which is a multi-element component, has been moved to XU1_virtual and XU1-1~XU1-8, it is not necessary to remove the multi-element component from the component list or from the component connection list. Therefore, the multi-element component and wiring are removed from the component connection list, and the multi-element component is removed from the component list. However, since the component model remains as information, the node attribute information of the virtual component, or the node attribute information of the virtual component and the terminal component, is retained. Through the above processing, the netlist of the 2-terminal component, which was not processed because it was outside the processing object, is added as follows, and it is used as the final output.
[0379] V1; IN 0 3.3
[0380] XU1_virtual; Line1, Line2, Line3, Line4, Line5, Line6, Line7, Line8 LT3489
[0381] XU1-1; N002, Line 1
[0382] XU1-2; N003, Line 2
[0383] XU1-3; IN, Line 3
[0384] XU1-4; 0, Line4
[0385] XU1-5; N001, Line 5
[0386] XU1-6; IN, Line 6
[0387] XU1-7; N002, Line 7
[0388] XU1-8; N004, Line 8
[0389] L1; IN N001 2.2u
[0390] D1; N001 OUT 1N5818
[0391] C1; OUT 0 20u
[0392] R1; OUT N003 28.7K
[0393] R2; N003 0 5.23K
[0394] C2; N004 0.001u
[0395] Rload; OUT 0 13
[0396] In Implementation 3, updates to a netlist were described for ease of explanation, but in practice, it is preferable to use a component list and a list of connections between components. This is because updating a netlist is easy for humans to understand, but for an information processing device, it involves rewriting text data, which can easily lead to human or mechanical errors such as encoding errors and escape sequence errors. On the other hand, by replacing characters with numbers, IDs, etc., and processing them as matrix or list data, although it is difficult for humans to understand, it is less likely to cause anomalies and processing errors for the information processing device. In this case, instead of defining components and wiring by name as in Implementation 3, and by assigning unique numbers to individual components, it is easy to process mechanically. If these replaced definitions are maintained as a database, they can be replaced with names that are easy for humans to understand based on the processing results.
[0397] Thus, the information processing device 100 of embodiment 3 is in Figure 23 In the process shown, the component list and the list of connections between components are initially extracted from the netlist. Then, virtual components are added one by one to the component list, and terminal components are added to the component list in the same number as the number of wires connected to the multi-element component or the same number of terminals of the multi-element component. At this point, the number of wires will not exceed the number of terminals of the multi-element component, thus reducing the number of wires, and terminals without connected wires are designated as NC terminals. Figure 23The diagram shows the case where the number of wires connected to a multi-element component is the same. The number of terminal components is equal to the number of wires, so one wire can be connected to one terminal component. Furthermore, new wires are defined between terminal components and virtual components and added to the inter-component connection list. Connections between multi-element components and wires are removed from the inter-component connection list, and multi-element components after information transfer are removed from the component list. The component list and inter-component connection list are then output.
[0398] In Implementation 3, a method for reversibly converting text data containing netlists into graph networks is presented. After converting the netlist of an electrical circuit into a graph network, when inversely converting the converted graph network back into a netlist, if the characteristics of the original electrical circuit can be represented using the inversely converted netlist, then it can be determined that there is no information degradation during the conversion to a graph network. However, the conversion from netlist to graph network and the conversion from graph network to netlist are not reversible processes, so different algorithms need to be constructed. Therefore, it is difficult to evaluate whether only the conversion or the inverse conversion is performed. Furthermore, it is considered to compare and evaluate the characteristics of the electrical circuit before conversion and the electrical circuit generated by the inverse conversion based on the output results of circuit simulation.
[0399] However, even a small deterioration in the netlist cannot guarantee that the inverse-converted netlist can be calculated by a circuit simulator; that is, it cannot guarantee that the calculation will end without errors. For example, if even one incorrect wiring is added to a semiconductor terminal, even if all other information can be correctly inverse-converted, the circuit simulation will not output the correct result. Furthermore, comparing the netlists before and after the inverse conversion is also considered; however, since the order of components and wiring names in the netlist are arbitrary, it is difficult to compare the netlist before conversion with the netlist generated through inverse conversion, thus making proper evaluation impossible.
[0400] Therefore, in Implementation 3, to evaluate the accuracy of the conversion to a graph network, a method is proposed to input the graph network into a graph neural network and confirm the accuracy of the conversion by the inference accuracy of the graph neural network. This is because it is believed that if there is less information degradation during the conversion to a graph network, the inference accuracy of the graph neural network is higher; conversely, if information degradation occurs during the conversion, the inference accuracy of the graph neural network is lower. To ensure fair comparison, the graph neural network structure (number of hidden layers, number of channels in each hidden layer), the number of epochs (number of repetitions), the number of mini-batches (number of data splits), and the optimization algorithm remain unchanged, except for the number of nodes that change due to the addition of virtual components and terminal components. The combination of learning data and test data is fixed and does not change in each calculation.
[0401] Furthermore, in the partitioning of learning and testing data, the data is randomly partitioned into equal amounts to avoid bias. Since graph neural networks are prone to bias during learning due to the initial random values, the average of the learning-based test inference values, whose initial values have been changed 10 times, is taken to mitigate this bias.
[0402] The dataset uses 3308 electrical circuits from LTspice, a circuit simulator owned by Analog Devices. Of these 3308, 70% (2315) were used as training data, and the remaining 993 were used as test data. The training and test data were kept constant. Figure 25 As shown, seven types of circuit components are used in the dataset to extract netlists from electrical circuits, which is a graph classification problem with seven classes. Figure 25 This is a table representing the number of electrical circuits, the average number of nodes, the average number of edges, and the average number of node features contained in the netlist used as the dataset. Power circuits are the most numerous, accounting for 70% of the total. Furthermore, node features refer to semiconductors, resistors, capacitors, coils, etc. For example, even if multiple capacitors are used in a circuit, they are counted as one. Additionally, when dividing semiconductors into terminal components, the type of terminal component can be assigned according to the semiconductor's datasheet. In this embodiment, the semiconductor is a complete black box, therefore no terminal information is provided, and nodes are defined as nodes where all terminals are of the same type.
[0403] The graph neural network consists of a network with three hidden layers. Furthermore, in the reduced algorithm, GraphSage, which achieves the highest inference accuracy under arbitrary conditions, is used. In the three-layer network based on GraphSage and the ReLU function as the activation function, the Softmax function is used as the activation function before the output layer, set to 7-value classification. Additionally, in this dataset, under arbitrary conditions, the three-layer network achieves the highest inference accuracy compared to networks with two, four to six layers; therefore, three layers were used. However, given the scale of the electrical circuits... Figure 25 When the dataset becomes larger, a network with more than 3 layers is used; when the scale of the electrical circuit becomes smaller, a network with 2 layers is used. The layer structure and neural network algorithm can be changed according to the dataset, which can be the same as a general neural network.
[0404] Next, refer to Figures 26 to... Figure 31 The effects of implementation method 3 will be explained. Figure 26A It is a circuit diagram that represents an electrical circuit containing multiple components. Figure 26B It means Figure 26A A graphical network of electrical circuits. For example... Figure 26B As shown, the multi-element component X is connected by multiple edges including edge e51 and edge e52. Edge e51 is a self-loop, and edge e52 is a multi-edge. Figure 27 This refers to the inference accuracy of a graph network that learns and performs inference using test data without decomposing multi-component parts into virtual parts and terminal parts. Furthermore, Figure 28 Is Figure 26A In electrical circuits, a complete graph network is formed by connecting all terminal components without using virtual components. Figure 29 It means through Figure 28 The graph network learns and performs inference on test data to improve the inference accuracy of the graph network. Furthermore, Figure 30 Is Figure 26A In electrical circuits, a star-shaped graph network is formed by connecting terminal components through virtual components. Figure 31 It means through Figure 30 The graph network learns from the data and uses test data to perform inference with high accuracy. Additionally, a specific node (original node) in the first graph can also be a node representing a component of an electrical circuit and the wiring connected to that component.
[0405] In any of the examples above, the learning iterations are set to 4000 rounds, and the average of the maximum values from 10 trials is used as the inference accuracy. Figure 26A , Figure 26B as well as Figure 27 In the results shown, the highest inference accuracy is 97.20%. Furthermore, in Figure 28 and Figure 29 shown Figure 26A In electrical circuits where no virtual components are used and all terminal components are connected together, the inference accuracy for the test data is 96.89% when calculating the average of the maximum values from 10 trials. This inference accuracy is lower than before segmentation into terminal components. (The last sentence appears to be incomplete and possibly refers to a technical detail about learning and inference.) Figure 30 as well as Figure 31 In the case of the graph network shown in Embodiment 3, when the average of the maximum values from 10 trials is calculated, the inference accuracy for the test data is 97.72%. Therefore, it is considered that when learning and inference are performed using only terminal components without using virtual components, the inference accuracy decreases by 0.5%. In contrast, by using both virtual components and terminal components, the inference accuracy is improved, information degradation is reduced, and thus improvements are achieved.
[0406] Furthermore, it is known that if a CPU (Intel i9-11950H) and GPU (Nvidia RTX A5000) are used, the computation time required for learning is... Figure 27The middle is 7 minutes, in Figure 29 The middle is 30 minutes, in Figure 31 The middle is 10 minutes. Figure 31 In comparison Figure 29 High level.
[0407] Furthermore, if such as Figure 26B The existing method, which does not decompose into terminals as shown, is similar to... Figure 30 Comparing Embodiment 3, which decomposes the data into virtual components and terminal components as shown, the link prediction for the presence or absence of wiring is difficult in existing methods due to the presence of multiple edges. In contrast, in Embodiment 3, two or more edges between two nodes that represent multiple edges can be predicted as a simple graph. Furthermore, in node prediction of component constants and component types, control over the component's directionality, the number of terminals, etc., can be performed, thus achieving better results than before. Additionally, in Embodiment 3, the reference potential (GND) is defined as a node, thereby reducing the generation of multiple edges.
[0408] Furthermore, the adjacency matrix generated based on Implementation Method 3 is used through a graph neural network for graph classification (classifying the types of graph networks), graph regression (predicting real values and sequences of real numbers based on graph networks), link prediction (predicting the presence or absence of edges), node prediction (predicting the presence or absence of nodes), and node characteristic prediction (predicting the types of nodes and the values possessed by nodes). Additionally, graph features can be extracted using graph VAE (Variational Autoencoder), and graph networks satisfying desired conditions can be generated using graphGAN (Generative Adversarial Network), but these processes can be performed in the same manner as general graph neural network processing, and therefore will not be described in detail.
[0409] If the input and output voltages are defined as nodes in the same way as GND, then the input and output nodes may become multi-element components, thus possessing the characteristic of being able to perform calculations involving input and output. However, the directions of input and output are clear, so it is not necessarily necessary to divide these components into virtual components and terminal components. Furthermore, it is not necessary to perform inverse transformations on the results of graph processing as in the graph category classification example above. Depending on the intended use of the information processing device, it is not necessary to divide all components of the multi-element components within the graph network. For example, it is also possible to divide only multi-element components with more than 10 terminals, multi-element components with self-loops, multi-edges, and other components that meet specific conditions.
[0410] Implementation method 4.
[0411] Next, refer to Figure 32 as well as Figure 33The information processing apparatus 100 of Embodiment 4 will now be described. Compared with the information processing apparatus 100 of Embodiment 1, the information processing apparatus 100 of Embodiment 4 performs some different processing on the graph data, but the structure is the same. For structures that are the same as those in Embodiment 1, the same reference numerals and the same names are used and the description is omitted.
[0412] In Embodiment 3, processing for circuit diagrams, essential for fabricating electrical circuits on a printed circuit board, was described. However, this method can be applied not only to circuits designed for printed circuit boards but also to circuits designed inside semiconductors. This is because, inside a semiconductor, in addition to transistors, resistors, coils, capacitors, diodes, and other circuit components identical to those on a printed circuit board can also be formed. However, unlike circuit diagrams on printed circuit boards, since there are no model numbers, the same processing as in Embodiment 3 can be applied to semiconductor designs by assigning parameters such as component dimensions, film thickness, and material constants as node attribute information.
[0413] Furthermore, circuit constants can also be applied to semiconductor design using the same processing as in Embodiment 3 by assigning parameters such as size, film thickness, and material constants as attribute information. Moreover, in the design of printed circuit boards, when a block diagram showing the internal circuit structure and component performance of a semiconductor is disclosed in the datasheet, the block diagram can be converted into a graph network and incorporated as circuit components into the circuit diagram of the printed circuit board. Additionally, in the block diagram, for blocks with connections having three or more wirings, virtual components are defined, and by defining terminal components corresponding to the number of wirings, the same processing as for multi-terminal components can be performed.
[0414] Figure 32 This illustrates an example of a block diagram showing the internal structure of a semiconductor. With such partial knowledge of the semiconductor's internal structure, it's possible to connect closely related terminal components using new edges. Furthermore, this applies not only to semiconductors but to all multi-component components. Figure 32 In the example of the block diagram, it can be seen that X:1 and X:4, X:2 and X:3, X:5 and X:6 are connected via a single component, thus connecting these terminal components. Figure 33 The diagram illustrates a graph network of multi-element components with edges added between terminal components. Furthermore, new virtual components can be defined between terminal components to connect the aforementioned X:1 and X:4, X:2 and X:3, X:5 and X:6 via these virtual components.
[0415] Specifically, in addition to the virtual components shown in Embodiment 3, virtual components 1, 2, and 3 are defined and connected as X:1->Virtual component 1->X:4, X:2->Virtual component 2->X:3, X:5->Virtual component 3->X:6, connecting virtual component 1 with virtual component 2, virtual component 2 with virtual component 3, and virtual component 3 with virtual component 1. This creates a graph network incorporating semiconductor characteristics, thus enabling a graph network containing more electrical circuit information than a conventional single node, thereby reducing information degradation during the conversion from electrical circuits to a graph network. Furthermore, in addition to assigning terminal information of multi-element components as node attribute information to each terminal component, it is preferable to use terminal information adjacent to the attribute information of each virtual component as node attribute information. This is because by providing an initial condition that is close to the weighted average of adjacent terminal information obtained through graph neural network reduction, etc., learning can be performed from values close to the solution, thus shortening computation time and reducing the possibility of falling into a minimum value.
[0416] Implementation method 5.
[0417] Next, refer to Figures 34 to 37 The information processing apparatus 100 of Embodiment 5 will now be described. Compared with the information processing apparatus 100 of Embodiment 1, the information processing apparatus 100 of Embodiment 5 performs some different processing on the graph data, but the structure is the same. For structures that are the same as those in Embodiment 1, the same reference numerals and the same names are used and the description is omitted.
[0418] The information processing device 100 is applied to a two-terminal component connected to two or more wires in a netlist of an electrical circuit or a graphical network that can be created based on a netlist. In Embodiment 5, similar to Embodiment 2, the effect can be obtained even when used alone, but by combining it with the method of Embodiment 3, information degradation can be particularly reduced. As shown in Embodiment 3... Figure 24B Using a netlist as an example, the terminology will be explained. The following example again illustrates this. Figure 24B The netlist.
[0419] V1; IN 0 3.3
[0420] XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
[0421] L1; IN N001 2.2u
[0422] D1; N001 OUT 1N5818
[0423] C1; OUT 0 20u
[0424] R1; OUT N003 28.7K
[0425] R2; N003 0 5.23K
[0426] C2; N004 0.001u
[0427] Rload; OUT 0 13
[0428] A 2-terminal circuit component is a component consisting of an input terminal and an output terminal. In the netlist above, everything except XU1 corresponds to a 2-terminal circuit component, therefore the 2-terminal circuit components are V1 and L1, D1, C1, R1, R2, C2, Rload. Wiring also has a physical reality and can therefore be considered as nodes. However, compared to the complex physical characteristics of circuit components, wiring only contains connection information between circuit components. Therefore, in embodiment 5, circuit components are treated as nodes, and wiring is treated as edges connecting nodes. However, by defining GND, which serves as the reference potential for the electrical circuit, as a node, multiple edges can be reduced, therefore this is preferable.
[0429] A 2-terminal decomposition component can be considered as a component obtained by decomposing the aforementioned 2-terminal circuit component into two circuit components. The name of the decomposed component is arbitrary as long as it is different from (unique) from the names of other circuit components. In Embodiment 5, V1 is V1-1 and V1-2, L1 is L1-1 and L1-2, D1 is D1-1 and D1-2, C1 is C1-1 and C1-2, R1 is R1-1 and R1-2, R2 is R2-1 and R2-2, C2 is C2-1 and C2-2, and Rload is Rload-1 and Rload-2. However, the power supply does not necessarily need to be divided into a 2-terminal decomposition component.
[0430] Connecting 2-terminal decomposition components to wiring means connecting the wiring that is connected to the 2-terminal circuit component to each of the two decomposition components, thus assigning each wiring to a 2-terminal decomposition component. An example of the netlist above is shown below.
[0431] V1; IN 0 3.3
[0432] XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
[0433] L1; IN N001 2.2u
[0434] D1; N001 OUT 1N5818
[0435] C1; OUT 0 20u
[0436] R1; OUT N003 28.7K
[0437] R2; N003 0 5.23K
[0438] C2; N004 0.001u
[0439] Rload; OUT 0 13
[0440] V1-1; IN
[0441] V1-2; 0
[0442] L1-1; IN
[0443] L1-2; N001
[0444] D1-1; N001
[0445] D1-2; OUT
[0446] C1-1; OUT
[0447] C1-2; 0
[0448] R1-1; OUT
[0449] R1-2; N003
[0450] R2-1; N003
[0451] R2-2; 0
[0452] C2-1; N004
[0453] C2-2; 0
[0454] Rload-1; OUT
[0455] Rload-2; 0
[0456] [Connection between 2-terminal decomposition components] is a connection between 2-terminal decomposition components using newly defined wiring. Any wiring name can be used as long as it is different from other wiring names used within the diagram network. In the examples below, Wire1 to Wire8 are used.
[0457] V1; IN 0 3.3
[0458] XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
[0459] L1; IN N001 2.2u
[0460] D1; N001 OUT 1N5818
[0461] C1; OUT 0 20u
[0462] R1;OUT N003 28.7K
[0463] R2;N003 0 5.23K
[0464] C2;N004 0 .001u
[0465] Rload;OUT 0 13
[0466] V1-1;IN Wire1
[0467] V1-2;0 Wire
[0468] L1-1;IN Wire2
[0469] L1-2;N001 Wire2
[0470] D1-1;N001 Wire3
[0471] D1-2;OUT Wire3
[0472] C1-1;OUT Wire4
[0473] C1-2;0 Wire4
[0474] R1-1;OUT Wire5
[0475] R1-2;N003 Wire5
[0476] R2-1;N003 Wire6
[0477] R2-2;0 Wire6
[0478] C2-1;N004 Wire7
[0479] C2-2;0 Wire7
[0480] Rload-1;OUT Wire8
[0481] Rload-2;0 Wire8
[0482] Regarding circuit constants, according to circuit theory, it is preferable to assign half the value to the two-terminal component for resistors and coils, and twice the value to the two-terminal component for capacitors, as node attribute information. Furthermore, the power supply is defined with the same voltage or current as the two-terminal component, regardless of whether there is a split. This is because if the voltage or current is halved or doubled, it may fail to operate below the minimum voltage or be damaged by exceeding the rated withstand voltage; therefore, it is undesirable to change this regardless of whether there is a split. In cases where the current direction is directional, such as DC voltage sources or DC current sources, ... Figure 34 As shown, nodes are decomposed in parallel, ensuring that each decomposed node has a direction on at least one edge, thus enabling the creation of directional graph networks. Besides DC voltage and current sources, this can be applied to directional circuit components such as diodes and directional couplers. Furthermore, by assigning different characteristic values to the node attributes of each decomposed node, information with different characteristics can be propagated in both forward and reverse directions. This will then be relative to... Figure 30 The graph shows directional circuit components divided in parallel. Different node attributes are assigned to each circuit component using one-hot vectors. Therefore, when calculating the average of the maximum values from 10 trials, the inference accuracy for the test data is 97.82%, which is consistent with... Figure 30 Compared to 97.72%, the inference accuracy improved by an average of 0.1%.
[0483] Figure 35A It is a circuit diagram that represents an electrical circuit containing multiple components. Figure 35B It means Figure 35A A graphical network of electrical circuits. Thus, regarding the different characteristics of forward and reverse directions, even if... Figure 35B Decomposing it by each terminal would also yield the result, but given the known differences in forward and reverse characteristics, decomposition in parallel is preferred. Furthermore, in situations such as... Figure 35B When nodes are decomposed in a serial manner, focusing on V:1 and V:2, the weight matrix of the graph neural network and the activation function as a nonlinear function are implemented in the order X:1, V:1, V:2, G. Therefore, the characteristics of G, V:2, V:1, X:1 differ from those of the reverse direction under the activation function. Thus, different characteristics in the forward and reverse directions are obtained through learning. However, directional circuit components are segmented in parallel and combined with directional edges, thereby enabling explicit changes in the forward and reverse characteristics without relying on learning. This not only reduces computational cost but also improves inference accuracy, making it a preferred method.
[0484] As will be discussed in detail later, the characteristic quantities of nodes, such as circuit constants, are assigned as real numbers to one element of the one-hot vector that preserves the node attribute information, thereby preserving the characteristic quantities as a graph network. Furthermore, when the dynamic range of the characteristic quantities is large and they are rounded by the computer, it is preferable to assign the value obtained by applying a logarithmic function to the characteristic quantities to one element of the one-hot vector.
[0485] Diodes, by defining the anode as 0 and the cathode as 1 in the node attribute information of the 2-terminal decomposition components, can maintain different characteristics as graph network information. Furthermore, 0 and 1 can also be opposite, and can be integers or real numbers other than 0 and 1, as long as it can be distinguished. Regarding directional couplers, although they have 3 or more terminals, similar to diodes, the direction of signal flow can be defined by determining different values for the attribute information of the 2-terminal decomposition components that become inputs and outputs. When diodes and directional couplers are defined as models, the model is maintained as an element of the node attribute information, and 0 and 1 are defined as one-hot vectors in other node attribute information, thereby enabling this. The netlist is as follows.
[0486] V1; IN 0 3.3
[0487] XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
[0488] L1; IN N001 2.2u
[0489] D1; N001 OUT 1N5818
[0490] C1; OUT 0 20u
[0491] R1; OUT N003 28.7K
[0492] R2; N003 0 5.23K
[0493] C2; N004 0.001u
[0494] Rload; OUT 0 13
[0495] V1-1; IN Wire1 3.3
[0496] V1-2; 0 Wire1 3.3
[0497] L1-1; IN Wire2 1.1u
[0498] L1-2; N001 Wire2 1.1u
[0499] D1-1; N001 Wire3 1N5818
[0500] D1-2; OUT Wire3 1N5818
[0501] C1-1; OUT Wire4 40u
[0502] C1-2; 0 Wire4 40u
[0503] R1-1; OUT Wire5 14.35K
[0504] R1-2; N003 Wire5 14.35K
[0505] R2-1; N003 Wire6 2.615K
[0506] R2-2; 0 Wire6 2.615K
[0507] C2-1; N004 Wire7 0.002u
[0508] C2-2; 0 Wire7 0.002u
[0509] Rload-1; OUT Wire8 6.5
[0510] Rload-2; 0 Wire8 6.5
[0511] In the removal of 2-terminal circuit components from the component list and the inter-component connection list, the above-described process transfers all information of the 2-terminal circuit components to the 2-terminal decomposition components. Therefore, even if the 2-terminal circuit components are removed, no information degradation occurs. Thus, the netlist following the result after disconnecting the wiring connected to the 2-terminal circuit components and removing the 2-terminal circuit components is taken as the final output. Furthermore, while the above process was described using a netlist for ease of understanding as explained in Embodiment 3, the same result can be obtained even using a component list and inter-component connection list uniquely created based on the netlist.
[0512] XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489
[0513] V1-1; IN L1 3.3
[0514] V1-2; 0 L1 3.3
[0515] L1-1; IN L2 1.1u
[0516] L1-2; N001 L2 1.1u
[0517] D1-1; N001 L3 1N5818
[0518] D1-2; OUT L3 1N5818
[0519] C1-1; OUT L4 40u
[0520] C1-2; 0 L4 40u
[0521] R1-1; OUT L5 14.35K
[0522] R1-2; N003 L5 14.35K
[0523] R2-1; N003 L6 2.615K
[0524] R2-2; 0 L6 2.615K
[0525] C2-1; N004 L7 0.002u
[0526] C2-2; 0 L7 0.002u
[0527] Rload-1; OUT L8 6.5
[0528] Rload-2; 0 L8 6.5
[0529] In Embodiment 2, the decomposition of a 2-terminal connection point into 2-terminal decomposition points was described. However, by setting the 2-terminal connection point as a 2-terminal circuit component and the 2-terminal decomposition point as a 2-terminal decomposition component, the same processing can be performed. However, in Embodiment 2, the same elements can be input into the node attribute information of the 2-terminal decomposition points. But in Embodiment 5, there is a difference: the circuit constants are based on circuit theory, and the resistor or coil needs to be set to half, and the capacitor needs to be set to twice. In particular, when processing diodes and directional couplers in a graph network, it is generally necessary to process them as a directed graph. However, by setting different elements for the anode and cathode for at least one element of the node attribute information, as in Embodiment 5, it is possible to process them as an undirected graph. Furthermore, by using a directed graph to decompose components in parallel, the anode and cathode can be clearly fabricated. Furthermore, in avalanche diodes or Zener diodes that also utilize reverse bias, if a directed graph is used in a single node, reverse bias cannot be considered. Therefore, the graph transformation is performed using the method of Implementation 5, and information is assigned as node attribute information. Undirected graphs or nodes decomposed in parallel are processed as directed graphs, thereby enabling processing with fewer anomalies and reduced information degradation.
[0530] Regarding terminal numbers, as explained in Embodiment 3, whether in the case of multi-terminal components or two-terminal components, the information can be preserved by setting the terminal number as an element of the matrix of node attribute information of the terminal component or two-terminal decomposition component. This is information that would disappear in conventional methods where a multi-element component is defined as a node; the ability to preserve this information is a particular effect of Embodiment 5. Furthermore, regarding two-terminal components, the relationship between input and output usually disappears when converted to a graph network, but as a two-terminal decomposition component, the information can be preserved by retaining the value of input or output in at least one element of each node attribute information. In addition, negative circuit constants such as negative resistance and negative inductance may sometimes occur, but when decomposing into two-terminal decomposition components in the same way as resistors and inductors (coils) with positive circuit constants, half of the circuit constant can be used as node attribute information.
[0531] Figure 35B This is for implementation method 3. Figure 30 The graph network of the circuit shown applies the graph network of the method in Implementation 5. Figure 35B In this process, the power supply V, coil L, capacitor C, and resistor R, which are two-terminal components, are divided into two terminals. Figure 36 It shows that Figure 30 The graph neural network, with all conditions except input data set identically, generates a graph of inference results for the test data. Under these conditions, the average maximum value of the inference results obtained through 10 training iterations is 97.50%. This means that although compared to... Figure 30 The 97.72% shown is 0.2% lower than... Figure 34 The percentage shown is 97.82%, which is 0.3% lower than the previous percentage; however, it is still higher than the previous percentage. Figure 26B The inference accuracy shown is more than 0.3% higher than the conventional method, which does not include virtual components and two-terminal decomposition components, reaching 97.20%. Furthermore, the computation time at this point is 12 minutes, making it comparable to... Figure 26B , Figure 30 Compared to the increase in the number of nodes, the result is correspondingly larger, but for Figure 26B The increase is less than twice that of existing examples, which is a small increase relative to the improvement in accuracy. This improvement in accuracy can be attributed to the reduction in information degradation during the conversion from netlist to graph network by setting it as a 2-terminal decomposition component.
[0532] Furthermore, in simulating actual electrical circuits, components such as coils, capacitors, resistors, and diodes have the following characteristics: in AC signals, coils, resistors, and diodes have stray capacitance (also called parasitic capacitance) connected in parallel, and capacitors have residual inductance connected in series. In such cases, the same treatment can be achieved by decomposing the circuit components into multiple two-terminal components, such as a structure with residual inductance connected in series with a capacitor, or a capacitor connected in parallel with a coil as a stray capacitance node.
[0533] Furthermore, in the above description, circuit components and grounding were defined as nodes, and wiring as edges, but as... Figure 37 As shown, it is also preferable to designate the wiring containing circuit components and grounding as nodes, and connect the related nodes through edges. This results in a system where the number of decomposed nodes X:1 to X:6 is equal to the number of edges connected to the decomposed nodes. Consequently, the decomposed nodes are only connected to virtual nodes and wiring nodes, and even with this conversion, the circuit information can be converted into a graph network without loss. Furthermore, when changed in this way, the inference accuracy of the test data is 97.22%, and while the inference accuracy decreases by approximately 0.5% due to the presence of wiring nodes unrelated to inference, a high inference accuracy is still achieved. The reason for the decrease in inference accuracy is believed to be that, since a 3-layer graph neural network was used in this experiment, the node attributes of the third adjacent circuit component can be considered. In contrast, due to the presence of wiring nodes, only the characteristics of the node of the first adjacent circuit component can be considered, thus reducing the inference accuracy. To solve this problem, learning and inference can be performed using graph neural networks with 5 or more layers, but since the learning time and memory usage increase exponentially, the appropriate method should be chosen based on the scale of the circuit.
[0534] Next, refer to Figures 38 to 43 The node attribute information shown in embodiments 1 to 5 will be explained. Figure 38 Taking Embodiment 1 as an example, a schematic diagram is provided showing how the virtual node and the decomposed node shown in Embodiment 1 are respectively assigned node attribute information n15d, n16d, n17d, and n18d. For example, the node attribute information is a 1xN matrix or a tensor that can be reversibly converted into a 1xN matrix, and the characteristics of the node are defined by assigning numerical or string values to the elements of the N matrices. Moreover, particularly in Embodiment 5, the virtual node and the decomposed node have the same number of elements. This is synonymous with the situation where, when N is a natural number, the virtual node and the decomposed node each have N elements.
[0535] exist Figure 38 In the example, when N is 5 and the elements of the node attribute information are set to a1~a5, b1~b5, c1~c5, d1~d5, the text data in Implementation Method 1 is:
[0536] Virtual nodes; Virtual node - decompose node 1, Virtual node - decompose node 2, Virtual node - decompose node 3
[0537] Decompose node 1; Edge 1, Virtual node - Decompose node 1
[0538] Decompose node 2; Edge 2, Virtual node - Decompose node 2
[0539] Decompose node 3; Edge 3, Virtual node - Decompose node 3
[0540] In addition, it can be represented by the following information.
[0541] Virtual nodes: a1, a2, a3, a4, a5
[0542] Decompose node 1; b1, b2, b3, b4, b5
[0543] Decompose node 2; c1, c2, c3, c4, c5
[0544] Decompose node 3; d1, d2, d3, d4, d5
[0545] Furthermore, in graph neural networks, the learning process involves using learned weight matrices to reduce, combine, and embed the node attribute information between connected nodes, making this a crucial element. Specifically, in graph neural networks, each column is multiplied by the weight matrix and combined for each element; therefore, it's preferable to present node attribute information as one-hot vectors. This is because, with one-hot vectors, irrelevant elements are 0, so regardless of the elements in the weight matrix, multiplication is zero, and the Hadamard product between irrelevant elements after combination is also zero. Conversely, if a one-hot vector contains elements with 1s, this information propagates as non-zero elements even when multiplied by weight matrices with non-zero elements in multiple hidden layers, thus reducing information degradation. This implies the existence of orthogonality.
[0546] Next, the attribute information of the virtual nodes will be explained. In Implementation 1, decomposition nodes have specific elements based on domain information; in Implementation 3, they have specific elements based on terminal numbers, circuit constants, component models, etc., but virtual nodes can be freely defined. Preferably, the virtual nodes record user and company information from the social dataset in Implementation 1, and book information from the paper citation dataset. The node attribute information of the virtual node can be any information such as integers, real numbers, or strings. However, when processing through a graph neural network, since values other than numerical values are not accepted, it is necessary to replace strings other than numerical values with unique numerical values.
[0547] Furthermore, to reduce the width of the available elements in the weight matrix, it is preferable to normalize each element of the node attribute information to a real number between 0 and 1. This is because activation functions such as ReLU (Rectified Linear Unit) and tanh, used for nonlinear processing after the weight matrix, are mostly designed to readily respond to values between 0 and 1 or -1 and +1. Moreover, when the node attribute information of the decomposed nodes is clearly defined, such as... Figure 39 As shown, the node attribute information of a virtual node is preferably set to the average (additive average) of the attribute information of the connected decomposition nodes. However, in the case of virtual nodes or the presence of information inherent to virtual nodes, if all elements are averaged, these elements will be lost. Therefore, in this case, it is also preferable to set the average only for a portion of the columns containing information inherent to virtual nodes. This has the following effect: in the computation of graph neural networks, the weight matrix is implemented and summed, but by pre-introducing elements close to the sum, the computation can be accelerated and it is less likely to fall into a minimum value.
[0548] Furthermore, for datasets requiring high-speed computation and less prone to minima, setting all node attribute information of virtual nodes to 0 allows for the acquisition of node attribute information and graph features without requiring prior human knowledge, making this a preferred approach. Alternatively, initial values other than 0 (1) or random numbers can be used. However, when using one-hot vectors for columns containing only a portion of the attribute information, using 1 or random numbers results in a loss of orthogonality and may even introduce non-existent features. Therefore, using 0 or the average of the node attribute information of adjacent decomposition nodes is a desirable method to reduce information degradation. Furthermore, Figure 40A This is a graph network representing a multi-element component with 3 terminals. Figure 40B This is a schematic diagram that assigns inherent values to one or more node attribute information of virtual nodes and decomposed nodes using domain information and terminal information. In this diagram, virtual nodes are assigned 0, and decomposed nodes are assigned 1 to 3 corresponding to the terminal numbers of a specific node, thereby reducing the degradation of terminal number information. Figure 40B In the example, the terminal number is set to 1~3, but it can be arbitrarily defined as long as it corresponds to the terminal number of a specific node.
[0549] Figure 41 This is a schematic diagram showing that the number of elements in the node attribute information n22d and n23d at the two terminal decomposition points described in Embodiment 2 is equal. Figure 38 Similarly, by making the number of attribute information equal, the processing of the graph network can be averaged and processed by the graph neural network.
[0550] also, Figure 42It is a schematic diagram representing at least one feature of the node attribute information for a two-terminal decomposition point, assigning different values to the input and output sides. For example, as... Figure 42 As shown, by setting the input side of the attribute information to 0 and the output side to 1, the features of the two terminal decomposition points can be preserved as graph information.
[0551] Figure 43 This is a schematic diagram representing a matrix that ensures all nodes within the graph network have the same number of elements, ensuring that the matrix contains the attribute information of all nodes in the graph network. Figures 38 to 42 The document describes the attribute information of virtual nodes, decomposition nodes, and two-terminal decomposition points. However, as... Figure 43 As shown, by making the number of node attribute information n01d, n02d, and n03d within a graph network equal, anomaly handling is unnecessary when processing information from the graph network. Furthermore, in graph neural networks, such as for graph classification, multiple graph networks are required. However, by commonalizing the number of features in the node attribute information of all the graph networks used and defining the information in each column, multiple graph networks can be processed in parallel at once. Therefore, this approach offers superior performance in terms of reducing computation time and simplifying processing, providing a unique effect not seen before.
[0552] Furthermore, this disclosure allows for free combination of various embodiments, modification of any constituent elements of each embodiment, or omission of any constituent elements in each embodiment.
[0553] Industrial availability
[0554] The information processing apparatus disclosed herein can, for example, be used to convert graph data representing electrical circuits into other graph structures and suppress information degradation during graph processing.
[0555] Label Explanation
[0556] 10 Graph Data Acquisition Unit, 20 Node Extraction Unit, 30 Graph Generation Unit, 31 Node Decomposition Unit, 32 Edge Modification Unit, 100 Information Processing Device, G1 Graph 1, G1' Graph 2, G1'' Graph 2, G1''' Graph 2, g1' Local Graph, g1'' Local Graph, g1''' Local Graph, e11 Edge 1, e12 Edge 2, e15 Edge, e16 Edge, n13 Original Node (Specific Node), n15 Node 1, n16 Node 2, n18 Connecting Node (Virtual Node).
Claims
1. An information processing device, characterized in that, The information processing device includes: The graph data acquisition unit acquires graph data representing a first graph, which has: an origin node having first information and second information; a first edge associated with the first information and connected to the origin node; and a second edge associated with the second information and connected to the origin node; and The graph generation unit generates second graph data representing the second graph, which is formed by replacing the original nodes in the first graph with a local graph. This local graph has multiple nodes, including a first node corresponding to the first information and a second node corresponding to the second information. The graph generation unit generates the second graph data in such a way that the first edge is connected to the first node and the second edge is connected to the second node in the second graph.
2. The information processing device according to claim 1, characterized in that, The graph generation unit generates the second graph data in the following manner: in the second graph, the first side is divided into a first-1 side and a first-2 side, with one end of the first-1 side connected to the first node and one end of the first-2 side connected to the second node.
3. The information processing device according to claim 2, characterized in that, The first and second edges are directional edges.
4. The information processing apparatus according to any one of claims 1 to 3, characterized in that, The graph generation unit generates the second graph data in the following manner: in the second graph, it becomes a graph with a new edge having one end connected to the first node and the other end connected to the second node.
5. The information processing apparatus according to any one of claims 1 to 4, characterized in that, The graph generation unit generates the second graph data by having connection nodes in the plurality of nodes of the local graph for connecting the first node and the second node to each other. The connecting node is part of the local graph.
6. The information processing apparatus according to claim 5, characterized in that, The graph generation unit generates the second graph data in such a way that the number of nodes other than the connecting nodes among the plurality of nodes in the local graph is equal to the number of the plurality of edges in the first graph that are connected to the original node and include the first edge and the second edge.
7. The information processing apparatus according to claim 5 or 6, characterized in that, The graph generation unit generates the second graph data in the following manner: each node of the plurality of nodes in the local graph, except for the connecting node, is connected to the connecting node by one edge.
8. The information processing apparatus according to claim 1, characterized in that, When the graph generation unit obtains the first graph data representing the first graph from the graph data acquisition unit, it generates the second graph data representing the second graph. The first graph has an original node, and the original node has N pieces of information, where N is a natural number greater than 2. The second graph is formed by replacing the original node in the first graph with a local graph, and the local graph has N distinct nodes that are associated with the N pieces of information.
9. The information processing apparatus according to claim 1, characterized in that, When the graph generation unit obtains the first graph data representing the first graph from the graph data acquisition unit, it generates the second graph data representing the second graph. The first graph has original nodes connected by N edges, where N is a natural number greater than 2. The second graph is formed by replacing the original nodes in the first graph with local graphs, where each local graph has N distinct nodes corresponding to each of the N or fewer edges.
10. The information processing apparatus according to any one of claims 1 to 9, characterized in that, The first figure is a diagram showing an electrical circuit. The primary node is a node that represents a component of the electrical circuit. The first information and the second information are information used to identify the terminals of the component. The first side and the second side are wiring connections to the component.
11. The information processing apparatus according to any one of claims 1 to 9, characterized in that, The first figure is a diagram showing an electrical circuit. The primary node represents the components and wiring of the electrical circuit. The first information and the second information are information used to identify the terminals of the component. The first side and the second side are lines that connect the nodes representing the components and wiring.
12. The information processing apparatus according to any one of claims 6 to 9, characterized in that, The first figure is a diagram showing an electrical circuit. The primary node is a multi-terminal component in an electrical circuit that includes semiconductors and has more than three terminals (N terminals). The N terminals are information used to identify the terminals of the multi-terminal component. The partial view of the multi-terminal component is a star diagram centered on the connection node.
13. The information processing apparatus according to any one of claims 1 to 6, characterized in that, The first figure is a diagram showing an electrical circuit. The primary node is a diode or battery present in the electrical circuit. The first and second pieces of information are used to identify the positive and negative terminals of the diode or the battery. The first side and the second side are wiring connections to the diode or the battery.
14. The information processing apparatus according to claim 3, characterized in that, The first figure is a diagram showing an electrical circuit. The primary node is a diode or battery present in an electrical circuit. The first side is divided into side 1-1 and side 1-2, and the second side is divided into side 2-1 and side 2-2. One end of side 1-1 is connected to the first node, one end of side 1-2 is connected to the second node, and the other ends of side 1-1 and side 1-2 are connected to a common node 1. One end of side 2-1 is connected to the first node, one end of side 2-2 is connected to the second node, and the other ends of side 2-1 and side 2-2 are connected to a common node 2. The first and second edges have a direction from the common node 1 toward the second node. The second-first edge has a direction from the common node 2 toward the first node.
15. An information processing method, performed by an apparatus comprising a graph data acquisition unit and a graph generation unit, characterized in that, The information processing method includes the following steps: The graph data acquisition unit acquires first graph data representing a first graph, which has: an original node having first information and second information; a first edge associated with the first information and connected to the original node; and a second edge associated with the second information and connected to the original node; and The graph generation unit generates second graph data representing the second graph. This second graph is formed by replacing the original nodes in the first graph with a local graph. This local graph has multiple nodes, including a first node corresponding to the first information and a second node corresponding to the second information. The graph generation unit generates the second graph data in such a way that the first edge is connected to the first node and the second edge is connected to the second node in the second graph.