Information processing device and information processing method

The information processing apparatus addresses the issue of information deterioration in graph processing by replacing nodes with multiple information associations with a partial graph of multiple nodes, each representing a specific information type, thereby maintaining the integrity of the graph's information structure.

WO2025126251A1PCT designated stage expired Publication Date: 2025-06-19MITSUBISHI ELECTRIC CORP
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2023/044123
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-12-11
Publication Date
2025-06-19

AI Technical Summary

Technical Problem

Existing graph processing methods face challenges in preserving information integrity when nodes in a graph have multiple information associations, leading to potential information deterioration during processing.

Method used

An information processing apparatus and method that replace nodes with multiple information associations in a graph with a partial graph consisting of multiple nodes, each corresponding to a specific information type, and connect these nodes with edges to maintain the original graph structure.

Benefits of technology

This approach effectively suppresses information deterioration by maintaining the relationships between different information domains within the graph, allowing for more accurate and reliable graph processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2023044123_19062025_PF_FP_ABST
    Figure JP2023044123_19062025_PF_FP_ABST
Patent Text Reader

Abstract

An information processing device (100) comprises: a graph data acquisition unit (10) that acquires first graph data indicating a first graph (G1) having an original node (n13) including first information and second information, a first edge (e11) connected to the original node (n13) in association with the first information, and a second edge (e12) connected to the original node (n13) in association with the second information; and a graph generation unit (30) for generating second graph data indicating a second graph (G1') in which the original node (n13) is replaced in a partial graph (g1') having a plurality of nodes including a first node (n15) corresponding to the first information in the first graph (G1) and a second node (n16) corresponding to the second information in the first graph (G1). The graph generation unit (30) generates the second graph data such that the first edge (e15) is connected to the first node (n15) and the second edge (e12) is connected to the second node (n16) in the second graph (G1').
Need to check novelty before this filing date? Find Prior Art

Description

Information processing device and information processing method

[0001] The present disclosure relates to an information processing device and an information processing method.

[0002] A method has been disclosed in the past in which graph data including multiple nodes and multiple edges connecting the nodes is acquired, and the graph is simplified based on the number of edges connected to the nodes (see Patent Document 1).

[0003] Japanese Patent Application Laid-Open No. 2020-77299

[0004] In general, when processing a graph, such as graph transformation, optimization, or averaging between adjacent nodes, if a node in the graph has multiple pieces of information corresponding to multiple edges connected to it, there is a problem that some of the information contained in the graph may be lost, resulting in degradation of the information.

[0005] The present disclosure is intended to solve the above-described problem, and has an object to provide an information processing device and an information processing method that can suppress degradation of graph information.

[0006] The information processing device according to the present disclosure includes a graph data acquisition unit that acquires first graph data indicating a 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 indicating a second graph in which the original node has been replaced with a subgraph having, in the first graph, a plurality of nodes including a first node corresponding to the first information and a second node corresponding to the second information, and edges connecting the plurality of nodes to each other, wherein the graph generation unit generates the second graph data so that, in the second graph, the first edge is connected to the first node and the second edge is connected to the second node.

[0007] According to the present disclosure, when a node in a graph has multiple pieces of information, data is generated that shows a graph in which the node is replaced with a subgraph having multiple nodes corresponding to the multiple pieces of information, thereby suppressing degradation of information when processing the graph.

[0008] 6A is a block diagram showing a configuration of an information processing device according to embodiment 1. FIG. 6B is a block diagram showing an example of a hardware configuration of an information processing device according to embodiment 1. FIG. 6B is a block diagram showing an example of a hardware configuration of an information processing device according to embodiment 1. FIG. 6A is a first graph as an example of a graph network represented by first graph data acquired by the information processing device according to embodiment 1. FIG. 6B is a second graph as an example of a graph network represented by second graph data generated by the information processing device according to embodiment 1. FIG. 6B is a second graph as an example of a graph network represented by second graph data generated by the information processing device according to embodiment 1. FIG. 9A is a first graph as an example of a graph network represented by first graph data acquired by the information processing device according to embodiment 1. FIG. 9B is a second graph as an example of a graph network represented by second graph data generated by the information processing device according to embodiment 1. FIG. 10A and FIG. 10B are second graphs as examples of a graph network represented by second graph data generated by the information processing device according to embodiment 1. a second graph as a modified example of the graph network of Fig. 10B shown by the second graph data generated by the information processing device according to embodiment 1. a second graph as a modified example of the graph network of Fig. 9B shown by the second graph data generated by the information processing device according to embodiment 1. a second graph as a modified example of the graph network of Fig. 9B shown by the second graph data generated by the information processing device according to embodiment 1. Fig. 14A is a first graph as an example of a graph network shown by the first graph data acquired by the information processing device according to embodiment 1, and Fig. 14B is a second graph as an example of a graph network shown by the second graph data generated by the information processing device according to embodiment 1.15A shows a first graph as an example of a graph network represented by first graph data acquired by an information processing device according to embodiment 1, and FIG. 15B shows a second graph as an example of a graph network represented by second graph data generated by the information processing device according to embodiment 1. FIG. 17A shows a first graph as an example of a graph network represented by first graph data acquired by an information processing device according to embodiment 2, and FIG. 17B shows a second graph as an example of a graph network represented by second graph data generated by an information processing device according to embodiment 2. FIG. 18A shows a first graph as an example of a graph network represented by first graph data acquired by an information processing device according to embodiment 2, and FIG. 18B shows a second graph as an example of a graph network represented by second graph data generated by an information processing device according to embodiment 2. FIG. 19A shows a first graph as an example of a graph network represented by first graph data acquired by an information processing device according to embodiment 2, and FIG. 19B shows a second graph as an example of a graph network represented by second graph data generated by an information processing device according to embodiment 2. 21A is a flowchart showing an example of processing performed by an information processing device according to a modification of embodiment 1. FIG. 21A shows a first graph as an example of a graph network indicated by first graph data acquired by the information processing device, and FIG. 21B shows a second graph as an example of a graph network indicated by second graph data generated by the information processing device. FIG. 22A shows the first graph as an example of a graph network indicated by the first graph data acquired by the information processing device, and FIG. 22B shows the second graph as an example of a graph network indicated by the second graph data generated by the information processing device. FIG. 24A is a flowchart showing processing performed by an information processing device according to embodiment 3. FIG. 24B is a netlist acquired by the information processing device according to embodiment 3.26A is a table showing the number of circuits, the average number of nodes, the average number of edges, and the average number of node types included in the netlist used as the dataset. FIG. 26A is a circuit diagram showing an electrical circuit having multi-element components, and FIG. 26B is a graph network showing the electrical circuit of FIG. 26A. Graph showing the inference accuracy of inference performed using test data after training under conditions where the multi-element components are not decomposed into virtual components and terminal components. Graph network in the electrical circuit of FIG. 26A, in which all terminal components are connected using only terminal components without using virtual components. Graph showing the inference accuracy of inference performed using the graph network of FIG. 28 after training using test data. Graph network in the electrical circuit of FIG. 26A, in which terminal components are connected via virtual components. Graph showing the inference accuracy of inference performed using the graph network of FIG. 30 after training using test data. Circuit diagram showing an example of a block diagram inside a semiconductor. Graph network of a multi-element component with edges added between terminal components. Graph network showing an electrical circuit having multi-element components. FIG. 35A is a circuit diagram showing an electrical circuit having multi-element components, and FIG. 35B is a graph network showing the electrical circuit of FIG. 35A. 41A is a graph network showing inference results for test data in a graph neural network where all conditions and input data are the same as in FIG. 30 . FIG. 41B is a graph network showing an electric circuit having a multi-element component. FIG. 41C is a schematic diagram showing node attribute information assigned to each of the virtual nodes and decomposition nodes. FIG. 41D is a schematic diagram showing node attribute information assigned to each of the virtual nodes and decomposition nodes, illustrating an example where the node attribute information is the average value of the attribute information of the connected decomposition nodes. FIG. 41A is a graph network showing a multi-element component with three terminals, and FIG. 41B is a schematic diagram showing unique numerical values ​​assigned to one or more node attribute information of the virtual nodes and decomposition nodes based on domain information or terminal information. FIG. 41D is a schematic diagram showing the number of elements of attribute information at a two-terminal decomposition point being equal. FIG. 41C is a schematic diagram showing assigning different values ​​to the input and output sides of at least one element of the node attribute information at a two-terminal decomposition point. FIG. 41D is a schematic diagram showing the number of elements of a matrix forming the attribute information of a node in a graph network being equal.

[0009] Hereinafter, embodiments according to the present disclosure will be described in detail with reference to the drawings. Embodiment 1. First, with reference to FIG. 1, a configuration of an information processing device 100 according to embodiment 1 will be described. FIG. 1 is a block diagram showing the configuration of the information processing device 100 according to embodiment 1. The information processing device 100 according to embodiment 1 is a device that acquires graph data representing a graph and generates graph data representing another graph based on the acquired graph data. In other words, the information processing device 100 according to embodiment 1 is a device that converts graph data representing a graph into graph data representing another graph. As shown in FIG. 1, the information processing device 100 includes a graph data acquisition unit 10, a node extraction unit 20, and a graph generation unit 30.

[0010] 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 accepts an input operation by an operator and inputs information to the information processing device 100, from an external device communicatively connected to the information processing device 100 via wired or wireless communication, or by reading information stored in a storage unit (not shown) included in the information processing device 100. Furthermore, for example, the graph data acquisition unit 10 acquires, as graph data, data sets 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. Specifically, a graph network representing an electrical circuit may be a graph network in which components are represented by nodes and wiring connecting the components is represented by edges. Furthermore, graph networks that represent social networks can be graph networks in which individuals are represented by nodes and relationships between individuals are represented by edges, or graph networks in which companies and users are represented by nodes and products of specific companies are represented by edges, thereby associating companies and users with the products they use.

[0011] Based on the graph data acquired by the graph data acquiring unit 10, the node extracting unit 20 extracts specific nodes as origin nodes from among the nodes in the graph network represented by the graph data, the specific nodes meeting specific conditions that are set in advance. For example, the node extracting unit 20 extracts specific nodes from among the nodes in the graph network represented by the graph data based on information held by the nodes. Also, for example, the node extracting unit 20 extracts specific nodes from among the nodes in the graph network represented by the graph data, the number of edges connected to each of which is within a specific range. Note that in the first embodiment, the graph data acquired by the graph data acquiring unit 10 is also referred to as first graph data, and the graph network represented by the first graph data is also referred to as a first graph. Details of the specific nodes will be described later.

[0012] The graph generation unit 30 generates graph data indicating 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 has a node decomposition unit 31 and an edge modification unit 32. Note that the information processing device 100 may also 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, or an output unit (not shown) that outputs the graph data generated by the graph generation unit 30 to an external device.

[0013] The node decomposition unit 31 decomposes into multiple nodes the node extracted by the node extraction unit 20. In other words, the node decomposition unit 31 generates multiple new nodes based on the node extracted by the node extraction unit 20, and deletes the specific node extracted by the node extraction unit 20.

[0014] The edge modification unit 32 modifies the edges of the graph network represented by the first graph data according to the result of node decomposition by the node decomposition unit 31. For example, the edge modification unit 32 generates an edge connecting to the new node generated by the node decomposition unit 31, and deletes the node connected to the specific node extracted by the node extraction unit 20. For example, the edge modification unit 32 modifies the connection destination of an edge so that the existing edge is connected to the new node generated by the node decomposition unit 31. In this way, the graph generation unit 30 generates graph data representing a new graph network in which a subgraph having a plurality of new nodes and new edges connecting these plurality of new nodes to each other is replaced with the specific node extracted by the node extraction unit 20 in the first graph. Note that, in the first embodiment, the new graph data generated by the graph generation unit 30 based on the first graph data is also referred to as second graph data, and the graph network represented by the second graph data is also referred to as the second graph. Details of the graph generation unit 30 will be described later.

[0015] Next, the hardware configuration of the information processing device 100 will be described with reference to FIGS. 2 and 3. FIG. 2 is a block diagram showing an example of the hardware configuration of the information processing device 100 according to the first embodiment, and FIG. 3 is a block diagram showing an example of a hardware configuration of the information processing device 100 according to the first embodiment, which is different from that shown in FIG. 2. For example, as shown in FIG. 2, the information processing device 100 includes a processor 100a, a memory 100b, and an I / O port 100c, and is configured so that the processor 100a reads and executes a program stored in the memory 100b. The memory 100b is configured, for example, by a non-volatile or volatile semiconductor memory such as a RAM, a ROM, a flash memory, an EPROM, or an EEPROM, or a combination thereof. The memory 100b may also be a magnetic disk, a flexible disk, an optical disk, a compact disk, a minidisk, a DVD, or the like. The memory 100b may also be an HDD or an SSD.

[0016] 3, the information processing device 100 includes a processing circuit 100d and an I / O port 100c, which are dedicated hardware. The processing circuit 100d is configured, for example, by a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, a system LSI (Large-Scale Integration), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination thereof. Each function of the information processing device 100 is realized by the processor 100a or the dedicated hardware processing circuit 100d executing a program that is software, firmware, or a combination of software and firmware.

[0017] Next, with reference to Fig. 4 to Fig. 15, details of the process in which the information processing device 100 according to embodiment 1 generates second graph data based on the first graph data will be described. Fig. 4 is a flowchart showing the process performed by the information processing device 100 according to embodiment 1. As shown in Fig. 4, when the information processing device 100 starts the process, it acquires graph data (step ST11). For example, in this process, the information processing device 100 acquires, by the graph data acquisition unit 10, graph data indicating a graph network having a plurality of nodes and a plurality of edges connecting these plurality of nodes to each other.

[0018] After performing the processing of step ST11, the information processing device 100 extracts, from among the nodes included in the first graph indicated by the first graph data acquired in the processing of step ST11, specific nodes that meet a specific condition that is set in advance (step ST12). For example, based on the first graph data acquired by the graph data acquisition unit 10, the information processing device 100 extracts, as specific nodes, nodes included in the first graph that have multiple pieces of information and are connected to edges associated with each of the multiple pieces of information by the node extraction unit 20. In other words, in the processing of step ST12, the information processing device 100 extracts, from the first graph, as specific nodes, nodes that have multiple pieces of information including the first piece of information and the second piece of information and are connected to multiple edges including a first edge associated with the first information and a second edge associated with the second information.

[0019] After performing the processing of step ST12, the information processing device 100 determines whether or not a specific node has been extracted from the first graph in the processing of step ST12 (step ST13). In other words, after performing the processing of step ST12, the information processing device 100 determines whether or not the first graph indicated by the first graph data acquired in the processing of step ST11 has a specific node that matches a specific condition that has been set in advance.

[0020] If the first graph has a specific node (YES in step ST13), the information processing device 100 generates multiple new nodes based on the information held by any of the extracted specific nodes (step ST14). For example, if any of the extracted specific nodes has multiple pieces of information and is connected to edges associated with each of the multiple pieces of information, the information processing device 100 generates multiple new nodes, including nodes corresponding to each piece of information held by the specific node, using the node decomposition unit 31. In other words, if any of the extracted specific nodes has multiple pieces of information including first information and second information and is connected to multiple edges including a first edge associated with the first information and a second edge associated with the second information, the information processing device 100 generates multiple new nodes, including a second node corresponding to the first information and a third node corresponding to the second information, using the node decomposition unit 31.

[0021] After performing the processing of step ST14, the information processing device 100 connects edges to the new plurality of nodes generated in the processing of step ST14 (step ST15). For example, in this processing, the information processing device 100 generates a new edge using the edge modification unit 32, and connects the new plurality of nodes generated in the processing of step ST14. Also, for example, in this processing, the information processing device 100 generates a new edge using the edge modification unit 32, and connects a node that was connected via an edge to the specific node extracted in the processing of step ST12 to one of the new plurality of nodes generated. Specifically, if any of the extracted specific nodes has a plurality of pieces of information including first information and second information, and is a node to which a plurality of edges including a first edge associated with the first information and a second edge associated with the second information are connected, in this process, the information processing device 100 generates a plurality of edges including a new edge having one end connected to the same as the first edge and the other end connected to a first node corresponding to the first information, and a new edge having one end connected to the same as the second edge and the other end connected to a second node corresponding to the second information.

[0022] After the processing of step ST15, the information processing device 100 deletes unnecessary edges (step ST16). For example, in this processing, the information processing device 100 deletes edges that have become unnecessary due to the generation of multiple nodes in the processing of step ST15. Specifically, in this processing, the information processing device 100 deletes edges connected to the specific node extracted in the processing of step ST12.

[0023] After performing the process of step ST16, the information processing device 100 deletes the specific node extracted in the process of step ST12 (step ST17), thereby generating second graph data indicating a new second graph in which a subgraph having a plurality of new nodes and new edges connecting these plurality of new nodes to each other in the first graph has been replaced with the specific node extracted by the node extraction unit 20.

[0024] If the processing of step ST17 has been performed, or if the first graph indicated by the first graph data does not have a specific node (NO in step ST13), the information processing device 100 ends the processing. Note that if the first graph has multiple specific nodes, the information processing device 100 may be configured to perform the processing of steps ST14 to ST17 for each specific node, or may be configured to perform the processing of steps ST14 to ST17 for multiple specific nodes in parallel.

[0025] Next, a specific example of processing performed by the information processing device 100 according to embodiment 1 will be described. Fig. 5 is a flowchart showing an example of processing performed by the information processing device according to embodiment 1. For example, the information processing device 100 extracts, as specific nodes, nodes to which three or more edges are connected from the first graph indicated by the first graph data acquired in the processing of step ST11 (step ST22).

[0026] 6A shows a first graph G1 as an example of a graph network represented by the first graph data acquired by the information processing device 100 according to embodiment 1. For example, assuming that node n13 represents a company and nodes n11, n12, and n14 represent users, in a graph network showing connections formed between the company and multiple users, nodes representing multiple users are connected to node n13 representing the company via edges. Note that the first graph G1 shown in FIG. 6A may be the entire graph network represented by the graph data acquired by the graph data acquisition unit 10, or may be a part of the graph network represented by the graph data acquired by the graph data acquisition unit 10.

[0027] For example, in the processing of step ST11, if first graph data indicating the first graph G1 shown in Figure 6A is acquired, in the processing of step ST22, the information processing device 100 extracts node n13, to which three edges, edge e11, edge e12, and edge e13, are connected, as a specific node.

[0028] After performing the processing of step ST22, the information processing device 100 determines whether or not a specific node has been extracted from the first graph G1 in the processing of step ST22 (step ST23). In other words, after performing the processing of step ST22, the information processing device 100 determines whether or not the first graph indicated by the first graph data acquired in the processing of step ST12 has a specific node to which three or more edges are connected.

[0029] If the first graph G1 has a specific node (YES in step ST23), the information processing device 100 generates a virtual node and a virtual decomposition node as a plurality of new nodes based on the information held by any of the extracted specific nodes (step ST24). For example, if node n13 is extracted as a specific node in the processing of step ST22, the information processing device 100 generates, by the node decomposition unit 31, a plurality of new nodes including a plurality of decomposition nodes corresponding to each of the plurality of pieces of information held by node n13 and a virtual node serving as a connecting node for connecting these plurality of decomposition nodes to each other. In other words, if node n13 having first information and second information is extracted as a specific node in the processing of step ST22, the information processing device 100 generates, by the node decomposition unit 31, a plurality of new nodes including a decomposition node corresponding to the first information and a decomposition node corresponding to the second information, and a virtual node for connecting these plurality of decomposition nodes to each other.

[0030] 6B is a second graph as an example of a graph network represented by second graph data generated by the information processing device according to embodiment 1. As shown in FIG. 6B , for example, in the process of step ST22, when node n13 having 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, the information processing device 100 generates new nodes by the node decomposition unit 31, including node n15, which is a decomposition node corresponding to the first information held by node n13, node n16, which is a decomposition node corresponding to the second information, and node n17, which is a decomposition node corresponding to the third information, and node n18, which is a virtual node for connecting these multiple decomposition nodes to each other. For example, the multiple pieces of information held by the specific node may be information indicating which edges the specific node is connected to, or information indicating which nodes the specific node is connected to via specific edges. Alternatively, if the first graph is a graph network representing an electrical circuit and the specific node is a node representing a component of the electrical circuit having multiple terminals, the multiple pieces of information may be information for identifying the terminals or information indicating the weight of the connection between the specific node and another node connected via the edge.

[0031] After performing the processing of step ST24, the information processing device 100 connects edges to the new plurality of nodes generated in the processing of step ST24 (step ST25). For example, in this processing, the information processing device 100 generates new edges using the edge changing unit 32, and connects the plurality of decomposition nodes generated in the processing of step ST24 to the virtual node. Also, for example, in this processing, the information processing device 100 connects nodes n11, n12, and n14, which were connected via edges to node n13 extracted in the processing of step ST22, to any of the plurality of generated decomposition nodes.

[0032] 6B , specifically, in this processing, the information processing device 100 causes the edge changing unit 32 to generate a new edge e15 to connect node n18 and node n15, generate an edge e16 to connect node n18 and node n16, and generate an edge e17 to connect node n18 and node n17. Also, in this processing, the information processing device 100 connects node n15 and node n11 with edge e11, connects node n16 and node n12 with edge e12, and connects node n17 and node n14 with edge e13.

[0033] For example, in a relationship between a company and a user, an individual user who is a stakeholder generally focuses on aspects (domains) such as products and sales as multiple pieces of information that the company possesses. For example, if the first graph G1 is a graph network representing a social network in which companies and users represent nodes, and three users are connected to the node representing the company via three edges, in the processing of step ST24, the information processing device 100 generates a node n18 that is a virtual node that abstractly represents the company, and also generates nodes n15, n16, and n17 that are decomposed nodes obtained by decomposing the company into domains that represent multiple pieces of information that the company possesses. In the processing of step ST25, the information processing device 100 connects the node n18 to the nodes n15, n16, and n17, and connects the users that were connected to the node n13 in the first graph G1 to the node n18, n15, and n16 via edges.

[0034] The information processing device 100 may be configured to generate the edge connecting node n15 and node n11, the edge connecting node n16 and node n12, and the edge connecting node n17 and node n14 separately from edge e11, edge e12, and edge e13. In a case configured in this manner, after performing the processing of step ST25, the information processing device 100 determines that the edge connecting node n11 and node n13, the edge connecting node n12 and node n13, and the edge connecting node n14 and node n13 in the first graph G1 are unnecessary edges and deletes these edges (step ST26).

[0035] After performing the processing of 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′ in which node n13 is replaced with a subgraph g1′ having a plurality of nodes including nodes n15, n16, n17, and n18 in the first graph G1, and edges e15, e16, and e17 connecting these nodes to one another. For example, in the first graph G1 representing a social network in which nodes are companies and users, a graph network is generated in which node n13 representing a company is replaced with a subgraph g1′ decomposed into each domain (field) owned by the company. For example, nodes n15, n16, and n17 represent product 1, product 2, and product 3, respectively, of the company represented by node n13.

[0036] Note that the second graph represented by the second graph data generated based on the first graph data representing the first graph in Fig. 6A is not limited to that in Fig. 6B. For example, the number of new nodes generated based on information held by a specific node may be one, or any number equal to or greater than two, and may be the same as or different from the number of edges connected to the specific node. Furthermore, the edges connected to the new node may be edges connecting multiple decomposition nodes, or may be edges connecting one decomposition node to multiple nodes.

[0037] Next, another example of the second graph shown in Fig. 6B will be described with reference to Fig. 7 and Fig. 8. Fig. 7 shows a second graph G1'' as an example different from Fig. 6B of the graph network represented by the second graph data generated by the information processing device 100 according to embodiment 1.

[0038] As shown in FIG. 7 , in the subgraph g1″ of the second graph G1″, node n15, which is a decomposition node generated based on node n13, which is a specific node (see FIG. 6A ), and node n18, which is a virtual node, are connected by edge e15; node n16, which is a decomposition node, and node n18 are connected by edge e16; node n17, which is a decomposition node, and node n18 are connected by edge e17; and node n15 and node n16 are connected by edge e19. Furthermore, node n15 is connected to node n11 by edge e11 and to node n12 by edge e18. Furthermore, node n12 is connected to node n15 by edge e18 and to node n16 by edge e12. In this way, in the second graph G1″, one decomposition node may be connected to multiple existing nodes, or a specific existing node may be connected to multiple decomposition nodes. For example, if the second graph G1'' is a graph network representing a social network, one decomposition node may be connected to multiple users, or a node representing a specific user may be connected to multiple decomposition nodes.

[0039] Furthermore, the first graph and the second graph are not limited to a relationship between one company and multiple users, but may be graph networks showing relationships between multiple companies and multiple users. In such cases, the multiple companies may be connected to each other by edges. Even in such relationships between companies, decomposition nodes and multiple edges can be established between them. For example, even if one user and one domain of a specific company are connected multiple times in the first graph and the second graph, these multiple connections may be aggregated into a single connection if they can be considered to be similar information. For example, if one user and one domain of a specific company are connected multiple times in the first graph and the second graph, these multiple connections may not be considered to be similar information. By subdividing the domains as different domains, the occurrence of multiple edges can be suppressed even in various graph networks.

[0040] In addition, in the first embodiment, the first graph and the second graph may be static graph networks, or may be dynamic graph networks in which the nodes and connections between the nodes change over time, such as in a social networking service (SNS) or traffic information. When the first graph and the second graph are dynamic graph networks, even if one user and one domain of a specific company are connected multiple times, these connections are considered to be a single connection in the time direction, and therefore do not result in multiple edges. Furthermore, the second graph may be a graph network in which multiple similar decomposition nodes are connected to one decomposition node to prevent the occurrence of self-loops and multiple edges, and multiple users are connected to one decomposition node. By forming the second graph in this manner, the occurrence of multiple edges and self-loops, which cause information degradation, can be suppressed, and processing time in a graph neural network, etc., can be reduced.

[0041] FIG. 8 shows a second graph G1''' as an example of a graph network represented by second graph data generated by the information processing device 100 according to the first embodiment, which is different from FIGS. 6B and 7 . As shown in FIG. 8 , in the subgraph g1''' of the second graph G1''', node n15, which is a decomposition node generated based on node n13, which is a specific node (see FIG. 6A ), is connected to node n18, which is a virtual node, by edge e15, and node n17, which is a decomposition node, is connected to node n18 by edge e17. Furthermore, node n15 is connected to node n11 by edge e11 and is connected to node n12 by edge e12. In this way, in the second graph G1''', one decomposition node may be connected to multiple users.

[0042] The following describes a case where the first graph is a graph network showing citation relationships between papers and books. Generally, papers are written to specialize in a specific technology, whereas books systematically compile multiple papers and may cite multiple papers. In the first graph, by showing papers or books as nodes and indicating that a paper or book is cited as an edge, it is possible to show the citation relationships between papers and books.

[0043] For example, in the second graph G1''' shown in Figure 8, by connecting node n18, which is a virtual node representing a book, with nodes n15 and n17, which are decomposition nodes generated according to the chapters of the book, which are multiple pieces of information (domains) that the book has, with edges, it is possible to represent the citation relationships between papers and books divided by domain in a graph network. Therefore, the second graph G1''' shown in Figure 8 indicates that both the paper indicated by node n11 and the paper indicated by node n12 cite a specific chapter (e.g., chapter 4) indicated by node n15 of the book indicated by node n18, and that the paper indicated by node n14 cites another chapter indicated by node n17.

[0044] In a graph network showing the citation relationships between papers and books, the domain of a book is not limited to a chapter, but may be, for example, a section or paragraph. In this way, even if a self-loop and multiple edges occur in the first graph, a graph network without self-loops and multiple edges can be generated by subdividing the node representing the book in the second graph according to the book's domain and providing one or more book decomposition nodes for each paper.

[0045] Furthermore, the degree to which nodes are subdivided when decomposing them is set appropriately based on the content of the processing, such as graph network processing or graph neural network processing, the type of graph network, the content of the graph data (dataset) to be acquired, and the like. For example, in a dataset for generating a learning model that predicts citation relationships between papers and corresponding passages in books using a graph neural network, it is desirable to decompose the nodes finely, while in processing simply to determine citation and cited relationships, it may not be necessary to decompose the nodes finely. Furthermore, if the amount of information contained in the dataset is limited and it is difficult to obtain additional information in such cases, it is desirable to decompose the node into decomposition nodes with the same number as the number of edges connected to the node, without decomposing it beyond the information contained in the dataset.

[0046] Conventional graph networks aggregate information from multiple domains into a single node, which makes it impossible to maintain the relationship between the domain of the node and surrounding nodes as a graph network, or makes the relationship unclear, leading to information degradation. In contrast, the information processing device 100 according to the first embodiment generates one decomposition node for each edge connected to a specific node, making it possible to maintain the relationship between the domains and surrounding nodes separately. The information processing device 100 according to the first embodiment maintains multiple pieces of information held by a specific node as information for multiple decomposition nodes, so that domain information is not lost even when graph processing is performed, and information degradation can be suppressed.

[0047] In the graph network according to the first embodiment, a self-loop can be considered to represent a relationship between domains. In contrast, in a conventional graph network, a self-loop signifies a connection from all domains to all domains owned by a node, and cannot contain information relating to a connection from a specific domain to a specific domain, as in the first embodiment. On the other hand, in the first embodiment, a self-loop can be represented by information connecting one end and the other end of an edge between different decomposition nodes generated based on one specific node, making it possible to retain the relationship between domains as a graph network. Furthermore, in the first embodiment, a graph network can be structured without a self-loop, making it possible to retain, as a graph network, connection information from a specific domain owned by one node to another domain.

[0048] A multiple edge in a graph network means that two nodes are connected by two or more edges. However, in the first embodiment, a specific node is decomposed into decomposition nodes with the same number as the number of edges connected thereto, so that the graph network can have a graph structure without multiple edges. For example, in the past, if a graph network had a first specific node and a second specific node, the first specific node had domain A and domain C, and the second specific node had domain B and domain D, and multiple edges connected domain A and domain B, and domain C and domain D, it was necessary to aggregate the information connecting the first specific node and the second specific node. On the other hand, in the first embodiment, domain A and domain B, and domain C and domain D are represented as decomposition nodes, so that each connection can be represented by a graph structure. This makes it possible to suppress the information degradation that previously occurred.

[0049] As another method for suppressing such information degradation, the occurrence of self-loops and multiple edges can be suppressed by creating a complete graph in which all decomposition nodes are connected to each other by edges without using virtual nodes. However, a self-loop in a single node is converted into multiple edges after converting the single node into a complete graph, resulting in information degradation. Furthermore, because the relationships between decomposition nodes are black boxes, a complete graph is required to maintain the relationships between the decomposition nodes. However, since the number of edges required to create a complete graph is proportional to the square of the number of decomposition nodes, the number of edges increases as the number of decomposition nodes increases, and the amount of calculation increases exponentially. For example, even for nodes with a relatively small number of connected edges, such as 1,000, 49,950 edges are required between the decomposition nodes. In contrast, in the first embodiment, by providing virtual nodes and establishing a structure in which multiple decomposition nodes are connected via the virtual nodes, the edges between decomposition nodes can be represented by 1,000 edges, the same number as the number of decomposition nodes. This significantly reduces computational cost, computation time, and memory, making it possible to process large-scale graph networks with multiple nodes, which was previously difficult to compute. By using virtual nodes and decomposition nodes, a self-loop at a single node is equivalent to connecting decomposition nodes with an edge, so multiple edges do not occur as in a complete graph, and information degradation does not occur.

[0050] 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 may generate second graph data indicating a second graph in which a specific node serving as an original node is replaced with a subgraph having a plurality of nodes including a first node corresponding to the first information and a second node corresponding to the second information, based on the first graph acquired by the graph data acquisition unit 10, and may generate the second graph data so that the first edge is connected to the first node and the second edge is connected to the second node in the second graph. Below, 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 are shown.

[0051] 9A shows a first graph G0 as an example of a graph network represented by the first graph data acquired by the information processing device 100 according to embodiment 1. Note that the first graph G0 shown in FIG. 9A may be the entire graph network represented by the graph data acquired by the graph data acquiring unit 10, or may be a part of the graph network represented by the graph data acquired by the graph data acquiring unit 10.

[0052] 9A , when the graph data acquisition unit 10 acquires first graph data representing a first graph G0 having a node n10 as a specific node having first information and second information, an edge e11 as a first edge associated with the first information and connected to the node n10, and an edge e12 as a second edge associated with the second information and connected to the node n10, the graph generation unit 30 generates second graph data representing a second graph G0′ in which the node n10 has been replaced with a subgraph g0′ including 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 so that the edge e11 in the second graph G0′ is connected to the node n15 and the edge e12 is connected to the node n16.

[0053] 10A and 10B show a second graph as another example of a graph network represented by the second graph data generated by the information processing device 100 according to embodiment 1. The graph generating unit 30 may generate the second graph data so that, in the second graph, the first edge is divided into a 1-1 edge and a 1-2 edge, one end of the 1-1 edge is connected to the first node, and one end of the 1-2 edge is connected to the second node.

[0054] For example, when the graph data acquisition unit 10 acquires first graph data indicating the first graph G0 of Fig. 9A, the graph generation unit 30 may generate second graph data indicating the second graph G0' shown in Fig. 10A, or may generate second graph data indicating the second graph G0'' shown in Fig. 10B. The second graph G0'' is a graph in which the edge e11 in the first graph G0 is divided into an edge e11-1 as the 1-1 edge and an edge e11-2 as the 1-2 edge, one end of the edge e11-1 is connected to a node n15 as a first node, and one end of the edge e11-2 is connected to a node n16 as a second node.

[0055] FIG. 11 shows a second graph as a modified example of the graph network of FIG. 10B , which is shown by the second graph data generated by the information processing device 100 according to the first embodiment. For example, one or both of edge e11-1 and edge e11-2 in the second graph G0″ may be directional edges. Specifically, when the graph data acquisition unit 10 acquires first graph data representing the first graph G0 of FIG. 9A , the graph generation unit 30 may generate second graph data representing the second graph G0″ in which edge e11-2 is a directional edge, as shown in FIG. 11 .

[0056] 12 is a diagram showing another example in which a first node and a second node are connected by a new edge in the second graph, and is a second graph as a modified example of the graph network in FIG. 9B shown by the second graph data generated by the information processing device 100 according to embodiment 1. For example, when the graph data acquisition unit 10 acquires first graph data showing the first graph G0 in FIG. 9A , the graph generation unit 30 generates second graph data so that the second graph G0′″ becomes a graph having a new edge e10 connected at one end to node n15 as the first node and at the other end to node n16 as the second node, as shown in FIG.

[0057] 13 is a diagram showing another example in which a first node and a second node are connected by a new edge and a new node in the second graph, and is a second graph as a modified example of the graph network in FIG. 9B shown by the second graph data generated by the information processing device 100 according to embodiment 1. For example, when the graph data acquisition unit 10 acquires first graph data showing the first graph G0 in FIG. 9A , the graph generation unit 30 generates second graph data such that the second graph G0″″ has a node n18 as a connecting node for connecting node n15 and node n16, as shown in FIG.

[0058] 14A and 14B are diagrams showing another example in which a specific node as an original node has first information, second information, and third information, in which Fig. 14A shows a first graph as an example of a graph network represented by first graph data acquired by information processing device 100 according to embodiment 1, and Fig. 14B shows a second graph as an example of a graph network represented by second graph data generated by information processing device 100 according to embodiment 1. When graph data acquiring unit 10 acquires first graph data representing a first graph having an original node having N pieces of information, where N is a natural number greater than or equal to 2, graph generating unit 30 generates second graph data representing a second graph in which the original node in the first graph has been replaced with a subgraph having N mutually different nodes associated with each of the N pieces of information.

[0059] 14A , when the graph data acquisition unit 10 acquires first graph data representing a first graph G9 having 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 the node n13, and an edge e12 as a second edge associated with the second information and connected to the node n13, the graph generation unit 30 generates second graph data representing a second graph G9′ in which the node n13 has been replaced with a subgraph g9′ including 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 such that in the second graph G9′, the edge e11 is connected to the node n15 and the edge e12 is connected to the node n16.

[0060] 15A and 15B are diagrams showing another example in which a specific node serving as an original node has first information, second information, and third information, in which Fig. 15A shows a first graph as an example of a graph network represented by first graph data acquired by the information processing device 100 according to embodiment 1, and Fig. 15B shows a second graph as an example of a graph network represented by second graph data generated by the information processing device 100 according to embodiment 1. For example, when the graph data acquiring unit 10 acquires first graph data representing a first graph having an original node connected to N edges, where N is a natural number greater than or equal to 2, the graph generating unit 30 generates second graph data representing a second graph in which the original node in the first graph has been replaced with a subgraph having N nodes that are different from each other and correspond to each of the N edges. In addition, when the graph data acquisition unit 10 acquires first graph data indicating a first graph having an original node connected to N edges, where N is a natural number greater than or equal to 2, the graph generation unit 30 may be configured to generate second graph data indicating a second graph in which the original node in the first graph has been replaced with a subgraph having N nodes different from each other corresponding to each of the N or fewer edges.

[0061] Specifically, as shown in FIG. 15A , when first graph data indicating a first graph G1 is acquired by the graph data acquisition unit 10, the first graph G1 having node n13 as a specific node having first information, second information, and third information, edge e11 as a first edge associated with the first information and connected to node n13, edge e12 as a second edge associated with the second information and connected to node n13, and edge e13 as a third edge associated with the third information and connected to node n13, the graph generation unit 30 generates second graph data indicating a second graph G1'''' in which node n13 has been replaced with a subgraph g1'''' including node n15 as the first node corresponding to the first information, node n16 as the second node corresponding to the second information, and node n17 as the third node corresponding to the third information. At this time, the graph generation unit 30 generates the second graph data so that in the second graph G9', edge e11 is connected to node n15, edge e12 is connected to node n16, and edge e13 is connected to node n17.

[0062] Below, a specific example of the processing performed by the information processing device 100 according to the first embodiment will be shown. In the first embodiment, for example, the information constituting the graph network can be written as text data as follows: Node 1: Edge 1, Edge 2, Edge 3 Node 2: Edge 3, Edge 4 From this information, it can be seen that three edges are connected to node 1, and two edges are connected to node 2. It can also be seen that node 1 and node 2 are connected by edge 3.

[0063] Furthermore, the information processing device 100 according to the first embodiment newly defines one or more virtual nodes for node 1 to which, for example, three edges are connected, and newly defines the same number of decomposition nodes as the number of edges connected to node 1. Therefore, the above text data becomes as follows: Node 1: Edge 1, Edge 2, Edge 3 Node 2: Edge 3, Edge 4 Virtual node 1-1; Decomposition node 1-1; Decomposition node 1-2; Decomposition node 1-3; In this case, the naming of the 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, and in the above example, the names are virtual node 1-1, decomposition node 1-1, decomposition node 1-2, and decomposition node 1-3.

[0064] Next, the information processing device 100 connects the edges connected to the specific node to each decomposition node. As a result, the above text data becomes as follows: Node 1: Edge 1, Edge 2, Edge 3 Node 2: Edge 3, Edge 4 Virtual node 1-1: Decomposition node 1-1: Edge 1 Decomposition node 1-2: Edge 2 Decomposition node 1-3: Edge 3

[0065] Furthermore, the information processing device 100 defines new edges (edge ​​1-1, edge 1-2, edge 1-3) that connect the decomposition nodes and virtual nodes. As a result, the above text data becomes as follows: Node 1: Edge 1, Edge 2, Edge 3 Node 2: Edge 3, Edge 4 Virtual node 1-1: Edge 1-1, Edge 1-2, Edge 1-3 Decomposition node 1-1: Edge 1, Edge 1-1 Decomposition node 1-2: Edge 2, Edge 1-2 Decomposition node 1-3: Edge 3, Edge 1-3

[0066] From this connection information, the information processing device 100 removes connections between specific nodes and edges that are connected to three or more edges. As a result, the above text data becomes as follows: Node 1; Node 2; Edge 3, Edge 4 Virtual node 1-1; Edge 1-1, Edge 1-2, Edge 1-3 Decomposition node 1-1; Edge 1, Edge 1-1 Decomposition node 1-2; Edge 2, Edge 1-2 Decomposition node 1-3; Edge 3, Edge 1-3

[0067] Furthermore, the information processing device 100 removes specific nodes that have three or more unnecessary edges connected to them. As a result, the text data becomes as follows: Node 2: Edge 3, Edge 4 Virtual node 1-1: Edge 1-1, Edge 1-2, Edge 1-3 Decomposition node 1-1: Edge 1, Edge 1-1 Decomposition node 1-2: Edge 2, Edge 1-2 Decomposition node 1-3: Edge 3, Edge 1-3

[0068] Through the above processing, the information of the specific node to which the three edges were connected is transferred to the virtual node, decomposition node 1-1, decomposition node 1-2, and decomposition node 1-3, completing the processing according to the first embodiment. This processing makes it possible to convert the specific node into a node that does not have multiple edges, which are the main cause of information degradation, and self-loops that start at one node and end at the same node without passing through other nodes. In particular, multiple edges and self-loops cause information degradation when learning and inferring using a graph neural network, which is a method of deep learning.

[0069] This is because in graph neural network processing, each node forms a self-loop even for nodes that do not have a self-loop in order to propagate node attributes that indicate the characteristics of its own node to the next hidden layer. As a result, the information about the self-loops that existed in the graph network either does not remain or the amount of information contained in the self-loops in the graph network decreases (the amount of information decreases relatively because the presence or absence of a self-loop is greater than the difference between one or two self-loops). Furthermore, for multiple edges, graph neural networks set a weight matrix and then an activation function that is sensitive to real numbers between 0 and 1 or -1 and 1. Therefore, while the difference between 0 (no edge) and 1 (edge) is 1, the difference between the output of the activation function for one edge and two edges in a multiple edge group is small, such as 0 and 0.1.

[0070] To explain the processing in a graph neural network in more detail, an adjacency matrix is ​​used as a method of representing a graph network for input. An adjacency matrix is ​​expressed as a square matrix with the same number of rows and columns as the number of nodes, and a node ID is assigned to each column and row. In an adjacency matrix, elements where connected nodes and node IDs intersect are expressed as 1, and elements between nodes with no connection are expressed as 0. For this reason, an adjacency matrix with no self-loops has diagonal elements of 0. Furthermore, in the case of multiple edges, the elements between nodes can be 2 or 3 depending on the number of multiple edges.

[0071] However, many graph neural network algorithms combine (embed or contract) attribute information between adjacent nodes based solely on the presence or absence of connections, making it difficult to consider the number of connections. Therefore, for example, if the number of connections is two, the node attribute information of the multiple edges is not weighted twice and embedded in the adjacent node; instead, the weighting of the node attribute information between adjacent nodes is determined by a weight matrix obtained through learning. Technically, it is possible to arbitrarily strengthen the bonds of multiple edges with two connections, for example by doubling the strength, but this is undesirable because it introduces human bias. For example, when considering a molecular structure as a graph network, with carbon and hydrogen as nodes and bonds between each atom as edges, comparing ethane (with a single bond), ethylene (with a double bond), and acetylene (with a triple bond), molecules with double and triple bonds can be considered as molecules with multiple edges.

[0072] This is also clear 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 double or triple depending on the number of bonds. For this reason, even in the case of multiple edges, the bond strength must be acquired through learning using a data set. While it was difficult to create multiple edges using conventional methods, in the first embodiment, multiple edges can be represented as a simple graph without using multiple edges.

[0073] Furthermore, with regard to self-loops, graph neural networks update node attribute information between adjacent nodes using a weighted average, but in this process, it is necessary to propagate the attribute value of the node itself to the next hidden layer. For this process, self-loops must be created for all nodes, and even nodes that do not have self-loops will form self-loops during processing. In other words, for nodes that already have self-loops, two or more self-loops will be formed. However, as with multiple edges, there is no technical basis for arbitrarily doubling or more the number of node attribute elements even if the number of self-loops becomes two or more. Therefore, it is difficult to process information from graph networks with self-loops without information degradation using graph neural networks.

[0074] In particular, when there is one hidden layer, it is relatively easy to apply special processing to self-loops and multiple edges to make information degradation less likely to occur. However, when there are two or more hidden layers, the number of combinations with adjacent nodes increases, and the results of special processing are averaged out, making special processing difficult and making it difficult to prevent information degradation. Thus, self-loops and multiple edges cause information degradation in graph neural networks. For the above reasons, the method shown in embodiment 1, which decomposes self-loops and multiple edges into virtual nodes and decomposed nodes before creating an adjacency matrix, has a significant effect of making information degradation less likely to occur in graph networks and graph processing including graph neural networks.

[0075] In addition to the molecular structure examples above, other examples of data that can be expressed as graph networks include the following: Social networks Citations of papers Citation networks Hyperlink relationships between web pages Web networks Relationships between products and buyers Online review networks Transportation networks Road networks, traffic networks Knowledge graphs

[0076] In addition, examples of electrical engineering data that can be expressed as graph networks include: Electrical circuits Model-based development Physical simulations using mesh structures such as finite element methods and finite difference methods

[0077] For example, in a social network, if users are nodes and connections between users are edges, node attribute information can be considered to be user information such as name, gender, and nationality. In the case of citing papers, if papers are nodes and citations and cited papers are edges, node attribute information can be considered to be the content and keywords of each paper. In the case of web pages, if homepages are nodes and hyperlinks between homepages are edges, node attribute information can be the content and update information of the web page. In the relationship between products and buyers, if products and buyers are nodes and relationships between products and buyers are edges, nodes can be product information and user purchase history. In a transportation network, if intersections are nodes and roads between intersections are edges, node attribute information can be waiting times and traffic volume at the intersections. In a knowledge graph, if proper nouns are nodes and connections between proper nouns are edges, node attribute information can be keywords. In a circuit, if circuit components are nodes and wiring between circuit components are edges, node attribute information can be the model numbers and circuit constants of the circuit components. In model-based development, if each development block is considered a node and the flow connecting each development block is considered an edge, the node attribute information will represent the progress and physical properties of each development block. In physical simulations using mesh structures, if the vertices of the mesh are considered nodes and the connections between the vertices are considered edges, the node attribute information will represent the coordinates of the vertices and material constants.

[0078] Furthermore, because graph networks enable processing in non-Euclidean space, it is possible to represent all processing of Euclidean space information, such as images, speech, and natural language, which are subsets of non-Euclidean space, as graph networks. Therefore, processing to convert such data into a graph network may be added, and the method described in the first embodiment may be applied. For example, in speech and natural language, it is possible to calculate whether one word is closely related to other words by using techniques such as attention and transformers. When one word is related to three or more words using these techniques, the method described in the first embodiment can be used.

[0079] In the first embodiment, various elements can be represented by nodes, as long as they can be defined as nouns, without being limited to the above-mentioned examples. Furthermore, in a graph network having two or more nodes, if there is a relationship between these nodes, the relationship can be represented by an edge. In particular, if there is a unidirectional relationship between two nodes, such as the relationship between citing and being cited in a paper, the relationship may be defined as a directed graph in which the edges have a direction.

[0080] The graph network in the first embodiment is assumed to be an adjacency matrix or text information, specifically, a relational database or JSON (JavaScript Object Notation), XML, a table format, or the like. However, any format may be used as long as it can be ultimately expressed as a graph network regardless of human readability, such as a unique storage format (binary data) specific to a language such as Matlab or Python. Furthermore, these data are stored as a database in a storage medium such as a USB memory, hard disk, or SSD, and are read into DRAM or memory on a GPU (graphics memory (VRAM)) during processing, and converted into a graph network and processed by a processing device such as a CPU, GPU, ASIC, or FPGA. The processing results are stored in memory and output by saving as a database, visually displaying the graph network or output results so that they can be understood by humans, or sending them to another information processing device. These data storage methods are mutually reversible, so in the first embodiment, emphasis is placed on readability, and the data is stored as text. For example, a graph network can be expressed as text data with nodes as the base, as follows: Node 1; Edge 1, Edge 2 Node 2; Edge 1, Edge 3

[0081] A graph network can also be expressed based on edges as follows: Edge 1: Node 1, Node 2 Edge 2: Node 1 Edge 3: Node 2

[0082] Since these are in a reversible transformation relationship with each other, in the first embodiment, nodes are used as the basis for easy understanding. Note that nodes and edges are delimited by ";", but any predetermined notation method, such as spaces or other characters, may be used.

[0083] Furthermore, the information processing device 100 according to embodiment 1 extracts nodes to which three or more edges are connected and performs a process of decomposing the nodes, but may be configured not to perform a process of decomposing the nodes to which two or less edges are connected, or may be configured to perform a process of decomposing the nodes in the same way as nodes to which three or more edges are connected.

[0084] It is also desirable to provide one or more virtual nodes. For example, in a graph neural network, increasing the number of virtual nodes allows the weight matrix to be generated using random numbers, making it possible to indicate the characteristics of each virtual node, thereby improving the expressive power of the graph network. Meanwhile, increasing the number of virtual nodes increases the number of edges, thereby increasing the computational load of the information processing device 100. Therefore, in many cases, it is desirable for the information processing device 100 to be configured to generate three or fewer virtual nodes. For example, if 10 edges are connected to one specific node and the specific node is decomposed into 10 decomposition nodes, 10 edges are required when there is one virtual node, 20 edges are required when there are two virtual nodes, and 30 edges are required when there are three virtual nodes. Furthermore, if there are four virtual nodes, 40 edges are required, which is the same as the 45 edges required when no virtual nodes are used (the number of combinations in which two are selected from ten). Furthermore, considering the computational load resulting from adding four virtual nodes, in the above example, the computational load when using four virtual nodes is approximately the same as when no virtual nodes are used, thereby reducing the effect of using virtual nodes. Therefore, in order to take advantage of the feature that virtual nodes can reduce the amount of calculation and memory usage, there is an upper limit to the number of virtual nodes that can be used for one node.

[0085] In general, if the number of edges connected to a specific node is N and the number of virtual nodes is K, then K is desirably set to N×(N-1) / 2 >> K×N + K×(K-1) / 2. Furthermore, it is desirable for the “>>” to be 10 times or more. However, if the number of nodes is four or less, the number of virtual nodes may be one, although it cannot be 10 times or more. This formula means that the number of N×(N-1) / 2 edges decomposed without using virtual nodes is sufficiently smaller than the K×N connections between virtual nodes and decomposition nodes and the K×(K-1) / 2 connections between virtual nodes. For example, if there are 100 decomposition nodes, then the equation becomes 4550 >> 100×K + K×(K-1) / 2. If the “>>” is 10 times larger, then 100×K + K×(K-1) / 2 is 406 when K is 4, and 510 when K is 5, so K can be selected up to 4. However, in a connected graph, the amount of computation increases exponentially as K increases, so it is desirable to make K as small as possible. Furthermore, connecting virtual nodes increases the number of paths between decomposition nodes, which has the advantage of accelerating the convergence of the graph neural network and speeding up learning. On the other hand, it has the disadvantage that, particularly when a specific node has multiple domain information, the characteristics of each virtual node are lost, making it more likely for the expressive power to decline. Therefore, when each specific node has multiple pieces of domain information, or when the number of decomposition nodes is, for example, 100 or more, it is not necessary to connect virtual nodes. It is sufficient to set the above K to satisfy N×(N−1) / 2 >> K×N. In this case, a connected graph is not generated, which significantly reduces the amount of computation.

[0086] In the above, both when virtual nodes are connected and when they are not connected, multiple edges and self-loops are suppressed, resulting in unique and unprecedented benefits. In particular, when the number of virtual nodes is one, the computational complexity can be minimized, resulting in a significant effect of simultaneously reducing computational complexity and reducing information degradation in many data sets. Furthermore, when there are two virtual nodes, a closed loop is created that propagates from one decomposition node to the first and second virtual nodes. This allows for the analysis of closed characteristics of the virtual node and decomposition node generated based on a single node without relying on connections to external nodes or edges. This can be particularly effective in graph neural networks, for example, when the information possessed by a single node dominates in expressing the features of the graph network. A feature refers to a group of values ​​that serve as clues for predicting the correct label of input training data or test data. These features can be acquired within the framework of a graph neural network. Classification problems can be solved by inputting these features into a fully connected layer, outputting the same number of values ​​as the number of classes, and applying an activation function used in classification, such as a log softmax function or a softmax function, immediately before the output layer. Regression problems can be solved by inputting these features into a fully connected layer and outputting a single numerical value. In addition to cases where a correct answer label is used, such as in classification or regression problems, it is also possible to combine a graph neural network that extracts features, such as an autoencoder, with deep learning that restores input data from the features, or to perform self-supervised learning, which is unsupervised learning that hides (masks) node or edge attributes and predicts the hidden values. In this way, features are a group of numerical values ​​that abstractly represent the characteristics of input data obtained by applying a nonlinear function to the input data within a deep learning framework. Although the features themselves are incomprehensible to humans, the characteristics of input data can be captured from data by combining them with a loss function that outputs the difference from the correct answer.

[0087] Furthermore, it is desirable that the number of decomposition nodes be the same as the number of edges connected to a specific node. As shown in the examples of the paper and book above, the purpose is to use different decomposition nodes for each domain. Therefore, decomposition nodes that can be considered to be part of a common domain with respect to the domains of specific nodes may be aggregated into a single decomposition node if self-loops and multiple edges do not occur. For example, chapters 2 and 3 of a book may be represented as a single decomposition node. Furthermore, decomposition nodes that are not connected to nodes other than virtual nodes via edges may be defined, which corresponds to chapters without citations. For example, in the above social network, the decomposition nodes are named Product 1, Product 2, and Product 3, and in the case of a paper citation, Chapters 3 and 4. However, by defining a table in which names correspond to real numbers or integers and assigning them as real numbers or integers for some of the elements of the node attribute information of the decomposition nodes, and by assigning information that can identify the domain information, such as Product 1, to part of the decomposition node name, the degradation of information when converting to a graph network can be further reduced. Taking a book as an example, this means that chapter 5, which does not cite any papers, can be used as a decomposition node. This has the effect of eliminating the need to redefine the book's virtual nodes and decomposition nodes when another paper or book that cites chapter 5 is published. Furthermore, the fact that a book has chapter 5 can be extracted from the graph structure alone. This means that when a graph is treated as a circuit and semiconductors are targeted, the terminal numbers of semiconductors represent their functions, so even decomposition nodes with no wiring connections contain information. Therefore, by leaving these terminals with no wiring connections as nodes, a semiconductor can be reproduced from the graph structure alone, providing a remarkable, unprecedented effect.

[0088] The virtual nodes and decomposition nodes are connected, for example, by newly defined edges. When there are two or more virtual nodes, the decomposition nodes are connected to each other by edges. However, when a graph network is expressed as an adjacency matrix or a connectivity matrix, it can be expressed by real numbers or integers other than 0, and therefore the data does not necessarily have to be diagrammable. Furthermore, two or more virtual nodes do not necessarily have to be connected by edges, but if they are connected by edges, the number of edges between the virtual nodes increases exponentially, so the number of virtual nodes should be four or less, preferably three or less.

[0089] For example, the removal of a connection between a specific node and an edge is performed after or simultaneously with connecting the edge connected to the specific node to a decomposition node. In this case, all edges connected to the specific node are connected to the decomposition node, so the information between the specific node and the edge is transferred to the information between the decomposition node and the edge without information degradation. Therefore, the information between the specific node and the edge becomes unnecessary, and deleting that information does not cause information degradation.

[0090] For example, a specific node can be deleted after the connection between the specific node and an edge has been removed. Once the connection between the specific node and an edge has been removed, the specific node will no longer have any edges connected to it, so removing a specific node that has no edges connected to it will not cause information degradation.

[0091] For example, a domain refers to each class in data that can be classified into classes. In the example of a company in the graph network of the first embodiment, each product can be classified into a class, i.e., Product 1, Product 2, and Product 3, which constitutes a domain. Furthermore, if there are two systems, one for products and one for sales, the decomposition nodes can be separated into a domain related to products and a domain related to sales, and each system can be divided into separate domains. For example, in a Cartesian coordinate system used to represent data belonging to a different type or dimension from the systems in the first embodiment, the x-axis, y-axis, and z-axis cannot be combined into a single system. Therefore, the domains can be divided into three systems: one for the x-axis, one for the y-axis, and one for the z-axis. Furthermore, with regard to products, the domain related to price and the domain related to inventory cannot be combined into a single system. Therefore, the domains can be divided into one system for price and one system for inventory.

[0092] In the first embodiment, the virtual nodes and the decomposition nodes have a star graph relationship, and the information processing device 100 according to the first embodiment is configured to convert a specific node connected to multiple edges into a star graph representation. For example, such a star graph is composed of multiple virtual nodes corresponding to information for identifying each terminal of a multi-terminal component having N (e.g., a natural number greater than or equal to 3) terminals, decomposition nodes as connecting nodes, and multiple edges connecting these. The graph structure of the star graph generated based on the specific node in this manner is such that the virtual node and the decomposition node are connected by a single edge, and multiple decomposition nodes are not connected to each other. Therefore, node attribute information must pass through a virtual node to move from one decomposition node to a different decomposition node, and further, the structure is characterized in that only decomposition nodes are connected to the virtual node.

[0093] As described above, the information processing device 100 according to the first embodiment includes: a graph data acquisition unit 10 that acquires first graph data indicating a first graph having a specific node having first information and second information, a first edge associated with the first information and connected to the first node, and a second edge associated with the second information and connected to the first node; and a graph generation unit 30 that generates second graph data indicating a second graph in which the specific node has been replaced with a subgraph having a plurality of nodes in the first graph, including a first node that is a decomposition node corresponding to the first information and a second node that is a decomposition node corresponding to the second information, and edges connecting the plurality of nodes to each other, and the graph generation unit 30 generates the second graph data such that in the second graph, the first edge is connected to the first node and the second edge is connected to the second node.

[0094] With this configuration, when a node of a graph network has multiple pieces of information, the information processing device 100 generates data indicating a graph network in which the node has been replaced with a subgraph having multiple nodes including decomposition nodes corresponding to the multiple pieces of information, thereby suppressing degradation of information when processing the graph network. Note that the subgraph is not limited to one formed by a single graph in which all nodes are connected to each other, but may be formed by multiple graphs that are independent of each other.

[0095] Embodiment 2 Next, an information processing device 100 according to embodiment 2 will be described with reference to Fig. 16 to Fig. 22. The information processing device 100 according to embodiment 2 differs from the information processing device 100 according to embodiment 1 in that some of the processing performed on graph data is different, but the configuration is the same, and the same components as those in embodiment 1 are denoted by the same reference numerals and names, and description thereof will be omitted.

[0096] 16 is a flowchart showing an example of processing performed by the information processing device 100 according to embodiment 2. The information processing device 100 according to embodiment 1 acquires the first graph data in the processing of step ST11, and then extracts, from the first graph, a node to which three or more edges are connected, as a specific node, whereas the information processing device 100 according to embodiment 2 acquires the first graph data in the processing of step ST11, and then extracts, from the first graph, a node to which two edges are connected (a two-terminal connection point), as a specific node (step ST32).

[0097] 17A shows an example of a first graph G2 indicated by first graph data acquired by the information processing device 100 according to embodiment 2. After performing the processing of step ST32, the information processing device 100 determines whether or not a specific node has been extracted from the first graph in the processing of step ST32 (step ST33). If the first graph has a specific node (YES in step ST33), the information processing device 100 generates multiple new nodes based on information held by any of the extracted specific nodes (step ST34).

[0098] 17B illustrates a second graph as an example of a graph network represented by second graph data generated by the information processing device 100 according to the second embodiment. For example, if the first graph G2 includes a node n21 connected to two edges as illustrated in FIG. 17A, in the processing of step ST34, the information processing device 100 generates nodes n22 and n23, which are decomposition nodes, based on information of the node n21 corresponding to edges e21 and e22 connected to the node n21, as illustrated in FIG. 17B. After performing the processing of step ST34, the information processing device 100 connects edges to the decomposition nodes n22 and n23 (step ST35). For example, in this processing, the information processing device 100 connects nodes n22 and n23 with a new edge e23, connects edge e21 to node n22, and connects edge e22 to node n23. The processing of steps ST36 and ST17 below is similar to that of the first embodiment, and therefore description thereof will be omitted.

[0099] In the second embodiment, as in the first embodiment, when a graph network is obtained as connection information using text or an adjacency matrix, two-terminal connection points to which two or more edges are connected can be extracted from the connection information. For example, when the following connection information is in text format, node 1 and node 2 each become two-terminal connection points to which two or more edges are connected, so node 1 can be two-terminal connection point 1 and node 2 can be two-terminal connection point 2, for example. Node 1: Edge 1, Edge 2, Edge 3 Node 2: Edge 3, Edge 4

[0100] Next, define two two-terminal decomposition points for each two-terminal connection point. As a result, we have the following: Two-terminal connection point 1: Edge 1, Edge 2, Edge 3 Two-terminal connection point 2: Edge 3, Edge 4 Two-terminal decomposition point 1-1: Two-terminal decomposition point 1-2: Two-terminal decomposition point 2-1: Two-terminal decomposition point 2-2:

[0101] Then, by connecting the edges connected to the two-terminal connection points with the two-terminal decomposition points, we get the following: Two-terminal connection point 1: Edge 1, Edge 2, Edge 3 Two-terminal connection point 2: Edge 3, Edge 4 Two-terminal decomposition point 1-1: Edge 1, Edge 2 Two-terminal decomposition point 1-2: Edge 3 Two-terminal decomposition point 2-1: Edge 3 Two-terminal decomposition point 2-2: Edge 4

[0102] In this case, edges 1 and 2 are assumed to connect to the domain of two-terminal decomposition point 1-1. This is true if two-terminal connection point 1 has two inputs and one output, or two outputs and one input, and the input and output can be read from the text data. However, in the case of a dataset where it is not possible to determine whether something is an input or an output, it is desirable to process it as a specific node connected by three edges, as explained in embodiment 1. For example, in cases where the association between input and output has not been determined, such as the relationship between citation and cited, it is sufficient to define citation as input and cited as output, and generate a graph network for the dataset based on this definition.

[0103] Next, new edges (edge ​​1-1, edge 2-1) are defined between the two divided two-terminal decomposition points, and the nodes are connected as follows. Two-terminal connection point 1: Edge 1, Edge 2, Edge 3 Two-terminal connection point 2: Edge 3, Edge 4 Two-terminal decomposition point 1-1: Edge 1, Edge 2, Edge 1-1 Two-terminal decomposition point 1-2: Edge 3, Edge 1-1 Two-terminal decomposition point 2-1: Edge 3, Edge 2-1 Two-terminal decomposition point 2-2: Edge 4, Edge 2-1

[0104] As a result, the information between the two-terminal connection points and edges is transferred to the information between the two-terminal decomposition points and edges without any information degradation, so removing the information between the two-terminal connection points and edges does not result in information degradation, and the results are as follows: Two-terminal connection point 1; Two-terminal connection point 2; Two-terminal decomposition point 1-1; Edge 1, Edge 2, Edge 1-1 Two-terminal decomposition point 1-2; Edge 3, Edge 1-1 Two-terminal decomposition point 2-1; Edge 3, Edge 2-1 Two-terminal decomposition point 2-2; Edge 4, Edge 2-1

[0105] As a result of the above process, the two-terminal connection points are no longer connected to edges, so they are removed and the following final output is obtained. Two-terminal decomposition point 1-1: Edge 1, Edge 2, Edge 1-1 Two-terminal decomposition point 1-2: Edge 3, Edge 1-1 Two-terminal decomposition point 2-1: Edge 3, Edge 2-1 Two-terminal decomposition point 2-2: Edge 4, Edge 2-1

[0106] The information processing device 100 may be configured to perform both the processing for a specific node connected to three or more edges as shown in embodiment 1 and the processing for a specific node connected to two edges as shown in embodiment 2. For example, when three or more edges are connected and the relationship between input and output cannot be extracted from the graph data, it is desirable that the information processing device 100 be configured to perform a combination of the processing shown in embodiment 1 and the processing shown in embodiment 2.

[0107] Furthermore, the new edge generated in the processing of step ST35 described above is not limited to an edge connecting the two decomposition nodes generated in the processing of step ST34. In other words, the subgraph generated by the graph generation unit 30 is not limited to one in which multiple nodes in the subgraph are directly connected to each other via edges. For example, the new edge generated in the processing of step ST35 may be an edge that connects the two decomposition nodes generated in the processing of step ST34 in parallel, without directly connecting these two decomposition nodes to each other.

[0108] 18A shows a first graph G21 as an example, different from FIG. 17A, of a graph network represented by first graph data acquired by the information processing device 100 according to embodiment 2, and FIG. 18B shows a second graph G21' as an example, different from FIG. 17B, of a graph network represented by second graph data generated by the information processing device 100 according to embodiment 2. For example, as shown in FIG. 18A, in the process of step ST11, when a first graph G21 having a node n210, a specific node n211 as an original node, a node n212, a first edge e210 connecting the node n210 and the specific node n211, and a second edge e211 connecting the specific node n211 and node n212 is acquired, the information processing device 100, in the process of step ST34, decomposes the first node n210 into two decomposition nodes, based on information held by the specific node n211, as shown in FIG. In the processing of 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 may be generated, and the first node n213 and the second node n214 may be connected in parallel such that node n210 and the first node n213 are connected by the first edge e210 and node n212 and the second node n214 are connected by the second edge e211.In other words, the graph generation unit 30 generates a second graph G21′ in which the specific node n211 is replaced with the subgraph g21′, in which the first edge e210 is divided into the first edge e210 as the 1-1 edge and the fourth edge e212 as the 1-2 edge, the second edge e211 is divided into the second edge e211 as the 2-2 edge and the third edge e213 as the 2-1 edge, one end of the first edge e210 is connected to the first node n213, and the fourth edge e212 is connected to the first node n214. The second graph data may be generated so that one end of the first edge e210 and the fourth edge e212 are 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 new edges, the third edge e213 and the fourth edge e212, are generated as directional edges. Specifically, the third edge e213 may have a directional input to the second node, and the fourth edge e212 may have a directional input to the first node. The first graph may be a graph representing an electric circuit, the node n211 as the original node may be a diode or a battery (DC power source), or a directional coupler, or a transmitting / receiving antenna included in the electric circuit, the third edge e213 may have a direction of input to the first node, and the fourth edge e212 may have a direction of input to the second node. In other words, the third edge e213 may have a direction from the node n212 to the first node n213, and the fourth edge e212 may have a direction from the node n210 to the second node n214.

[0109] For example, if the second graph generated by the information processing device 100 is an undirected graph with no edge directionality, a diode with directional reverse bias in an electrical circuit cannot be explicitly represented, necessitating the need to rely on graph neural network training. When dealing with such a diode, a signal with a first edge as input and a second edge as output is expected to have different characteristics from a signal with a second edge as input and a first edge as output. However, if the second graph is an undirected graph, the order in which a signal flows from a first node to a second node and a signal from a second node to the first node differs in the order in which the signal passes through the first node and the second node. Therefore, due to the effect of a nonlinear function based on the activation function within the graph neural network, it is possible to take directionality into account through training, rather than representing the signal using only the original nodes. However, this knowledge must be acquired through training of the graph neural network, and because it is not explicitly provided, more training data and training time are required.

[0110] In contrast, in the second graph shown in FIG. 18B , due to the influence of the third edge e213, only left-to-right signals flow through the first edge e210. Furthermore, due to the influence of the fourth edge e212, right-to-left signals do not flow through the second edge e211. Therefore, by explicitly providing data, knowledge acquisition through graph neural network learning is not required, and information degradation during conversion to a graph network can be suppressed. This enables more accurate inference with less data. Note that, in this case, one or both of the first edge e210 and the second edge e211 may have directionality. Furthermore, if one or both of the first edge e210 and the second edge e211 have directionality, one or both of the third edge e213 and the fourth edge e212 may not have directionality. Note that if the original node n211 represents a diode, the first node n213 and the second node n214 correspond to the anode and cathode. For example, if the original node represents a battery, the first node n213 and the second node n214 correspond to the positive and negative poles of the battery. For example, if the original node represents an antenna, the first node n213 and the second node n214 correspond to the transmitting and receiving terminals of the antenna.

[0111] Furthermore, for example, when considering the citation relationship between a book and a paper, if a paper cites a book, the paper cites and the book is cited. This relationship is a directed graph in a graph network, and can be represented as a directed graph. For example, if a cited paper is cited when revising a book, the book cites and the paper is cited, resulting in a mutual relationship between the paper and the book. However, if a book is represented as a single node, the relationship between citation and citation becomes ambiguous. Furthermore, a directed graph can only represent one relationship, citing and cited. If represented using edges with two directions, the adjacency matrix would be equivalent to a single undirected edge, resulting in information degradation. Therefore, this problem can be solved by decomposing citations and citations into separate nodes, as shown in Figure 18B, and assigning a direction to at least one edge connecting to each node. As a result, citation information propagates via the first edge e210, the first node n213, and the third edge e213, and cited information propagates via the second edge e211, the second node n214, and the fourth edge e212, so by assigning different attribute information to the first node n213 and the second node n214, asymmetric relationships can be expressed within the graph network.

[0112] Figure 19A shows a first graph G22, which is an example of a graph network represented by first graph data acquired by information processing device 100 relating to embodiment 2, different from Figures 17A and 18A, and Figure 19B shows a second graph G22', which is an example of a graph network represented by second graph data generated by information processing device 100 relating to embodiment 2, different from Figures 17B and 18B.

[0113] For example, as shown in FIG. 19A, in the processing of step ST11, a first graph G22 having a node n210, a specific node n220 as an original node, a specific node n230 as an original node, a node n212, an edge e220 connecting the node n210 and the specific node n220, an edge e221 connecting the specific node n220 and the specific node n230, and an edge e222 connecting the specific node n230 and the node n212 is acquired. In this case, as shown in FIG. 19B, in the processing of step ST34, the information processing device 100 decomposes two decomposition nodes, a first node n221 and a second node n222, based on the information held by the specific node n220. The first node n222 is generated based on the information held by the specific node n230, and two decomposition nodes, a first node n231 and a second node n232, are generated based on the information held by the specific node n230. In the processing of step ST35, an edge e224 connecting the node n212 and the first node n231, an edge e223 connecting the node n210 and the second node n222, an edge e225 connecting the first node n221 and the first node n231, and an edge e226 connecting the second node n222 and the second node n232 are generated, and the edge e220 connects the node n210 and the first node n221, and the edge e222 connects the node n212 and the second node n232. Furthermore, the first node n221 and the second node n222, and the first node n231 and the second node n232 may be connected in parallel, respectively. For example, new edges e225 and e226 are generated as directional edges.

[0114] For example, in a book citation, if node n220 is the book and node n230 is the paper, the text data can be written as follows: Note that in the following expression, edge e211 has a bidirectional relationship of citing and being cited. Node n220; edge e211, edge e220 Node n230; edge e211, edge e222 A decomposition node is defined for each node, including the directionality of edge e211. In the following example, the signal entering the node is represented by (IN) and the signal leaving the node is represented by (OUT). In a graph network, IN and OUT can be represented as directed graphs, and by considering undirected edges as bidirectional directed graphs, the adjacency matrix that mathematically describes a graph network can be considered the same as an undirected graph. Node n220; edge e211, edge e220 Node n230; edge e211, edge e222 Node n221; edge e225 (IN) Node n222; edge e226 (OUT) Node n231; edge e225 (OUT) Node n232; edge e226 (IN)

[0115] Furthermore, if the edges e220 and e222 connected to the nodes n220 and n230 are respectively called edges e220 and e223, and edges e224 and e222, the following results: Node n220: Edge e211, Edge e220 Node n230: Edge e211, Edge e222 Node n221: Edge e225 (IN), Edge e220 Node n222: Edge e226 (OUT), Edge e223 Node n231: Edge e225 (OUT), Edge e224 Node n232: Edge e226 (IN), Edge e222

[0116] In this case, nodes n220 and n230, and edges e211, e220, and e222 are unnecessary because they have been replaced by the decomposition nodes and edges e225, e226, e220, e223, e224, and e222 without any information degradation. Therefore, the final result is as follows: Node n221: Edge e225 (IN), Edge e220 Node n222: Edge e226 (OUT), Edge e223 Node n231: Edge e225 (OUT), Edge e224 Node n232: Edge e226 (IN), Edge e222 Note that because there is a relationship between nodes n221 and n222, and a relationship between nodes n231 and n232, the nodes may be connected by edges.

[0117] FIG. 20 is a flowchart showing an example of processing performed by the information processing device 100 according to a variation of embodiment 1. Specifically, FIG. 20 shows processing performed by the information processing device 100 when extracting node n31, to which four edges are connected, from a first graph. By combining the processing according to embodiment 1 as shown in FIG. 20 with the processing shown in embodiment 2, the graph network shown in FIG. 21A can be converted into the graph network shown in FIG. 21B. FIG. 21A shows a first graph as an example of a graph network represented by first graph data acquired by the information processing device 100. Specifically, FIG. 21A shows a graph network in which a specific node, to which three or more edges are connected, and a two-terminal connection point are connected by two edges, i.e., multiple edges. FIG. 21B shows a second graph as an example of a graph network represented by second graph data generated by the information processing device 100.

[0118] For example, as shown in Figures 20, 21A, and 21B, the information processing device 100 generates four decomposition nodes, node n33, node n33, node n33, and node n33, based on node n31 to which four edges are connected, and node n37, which is a virtual node, and generates two decomposition nodes, node n38 and node n39, based on node n32 to which two edges are connected.

[0119] Below is a specific example of graph data when performing a process that combines the process shown in the first embodiment and the process shown in the second embodiment. Node 1 is a specific node connected to four edges, and node 2 is a two-terminal connection point connected to the specific node by two edges. Node 1: Edge 1, Edge 2, Edge 3, Edge 4 Node 2: Edge 3, Edge 4

[0120] For ease of understanding, we will call node 1 a specific node and node 2 a two-terminal connection point. Note that changing the definition of the names does not change the information in the graph network, so there is no degradation of information. Specific nodes: Edge 1, Edge 2, Edge 3, Edge 4 Two-terminal connection points: Edge 3, Edge 4

[0121] Adding two-terminal decomposition points, which are obtained by decomposing a two-terminal connection point into two, results in the following: Specific node: Edge 1, Edge 2, Edge 3, Edge 4 Two-terminal connection point: Edge 3, Edge 4 Two-terminal decomposition point 1; Two-terminal decomposition point 2;

[0122] If we transfer the connections between specific nodes and two-terminal connection points to connections between specific nodes and two-terminal decomposition points, we get the following: Specific node: Edge 1, Edge 2, Edge 3, Edge 4 Two-terminal connection points: Edge 3, Edge 4 Two-terminal decomposition point 1: Edge 3 Two-terminal decomposition point 2: Edge 4

[0123] When two-terminal decomposition points are connected with a new edge (edge ​​1-1), the result is as follows: Specific node: edge 1, edge 2, edge 3, edge 4 Two-terminal connection point: edge 3, edge 4 Two-terminal decomposition point 1: edge 3, edge 1-1 Two-terminal decomposition point 2: edge 4, edge 1-1

[0124] Here, the information between the specific node and the two-terminal connection point has been transferred to the information of the two two-terminal decomposition points without degradation, so the edge between the specific node and the two-terminal connection point is removed, and the two-terminal connection point is also removed. As a result, the final output is as follows: Specific node: Edge 1, Edge 2, Edge 3, Edge 4 Two-terminal decomposition point 1: Edge 3, Edge 1-1 Two-terminal decomposition point 2: Edge 4, Edge 1-1

[0125] In the second embodiment, a two-terminal connection point is a specific node connected by two edges. A two-terminal connection point may have an input, an output, or both an input and an output. For example, taking the citation of a paper shown in the first embodiment as an example, since a paper either cites or is cited, if a citation is considered an input and a citation is considered an output, a two-terminal connection point can be considered a node with an input and an output. Similarly, taking a social networking site as an example, a user citing another user can be considered an input, and a user being cited by another user can be considered an output. Furthermore, taking the citation of a paper as an example, a specific node connected by three or more edges and a two-terminal connection point connected by two or more edges can occur due to the time difference between the publication of a paper online and its publication in a journal, the time difference due to different editions of the book, etc., and these two-terminal connection points can be mutually cited and cited. In a social network, a two-terminal connection point also occurs when a citation or a citation occurs between a company and a user. While these examples are special cases, they occur frequently in the electrical circuits described in the third embodiment, and their frequency depends on the data set. In this way, the information processing device 100 according to the second embodiment can avoid multiple edges for any data set, thereby suppressing information degradation.

[0126] A two-terminal decomposition point is generated by defining two two-terminal decomposition points for one two-terminal connection point. Considering one of the two-terminal decomposition points as an input and the other as an output, while the two-terminal connection point makes it impossible to distinguish between input and output relationships, the two-terminal decomposition point allows the input and output relationships to be clearly defined using an undirected graph without using a directed graph. This is particularly effective when there is a difference between forward and reverse directions, i.e., between signals propagating from input to output and signals propagating from output to input. When there is an input-output relationship, it can be considered to express it using a directed graph in which signals are forced to flow in only one direction. However, because signals do not propagate in the reverse direction in a directed graph, this cannot be achieved using conventional methods that have characteristics in the reverse direction. In contrast, in the second embodiment, different node attribute information is assigned to the input and output, and processing is performed using an undirected graph. This demonstrates a remarkable and unprecedented feature that even if the forward and reverse characteristics are significantly different, they can be learned as data with different characteristics.

[0127] Furthermore, in order to maintain the relationship between the input and output of a two-terminal decomposition point, it is also desirable to store the relationship between the input and output as data in the name of the two-terminal decomposition point or in at least one element of a matrix that serves as the node attribute information of the two-terminal decomposition point. Specifically, when assigning it as a name, if xx is the edge number, this can be achieved by setting the input to xx-0 and the output to xx-1. When assigning it as node attribute information, the information can be maintained by setting the node attribute information in the first column of an N-column matrix for the input side to 0 and the first column for the output side to 1. For example, the input and output can be defined by assigning attribute information to the attribute information of the two-terminal decomposition point using a one-hot vector. For example, if the node attribute information is represented by a three-column matrix, this can be achieved by defining the input attribute information as 0,0,1 and the output attribute information as 0,1,0, as follows: Two-terminal decomposition point 1: 0,0,1 (input) Two-terminal decomposition point 2: 0,1,0 (output)

[0128] Additionally, if a target dataset contains a two-terminal decomposition point with inputs and outputs, the inputs and outputs can be separated by defining them as 1, 0, 0, for example. However, in the case of inputs and outputs, instead of one-hot vectors, node attribute information can be assigned as 0, 1, 1, which is the element-by-element sum of the inputs (0, 0, 1) and outputs (0, 1, 0). This reduces the number of columns, thereby reducing the computational effort, computation time, and memory required for graph processing. While these are represented as 0 or 1, any definition can be used, such as real numbers, integers, strings, or complex numbers, as long as the two can be distinguished through information processing. For example, if the forward and reverse bias characteristics are known, as in the case of a diode, values ​​representing each characteristic can be assigned to the elements. Furthermore, since decomposition is performed from a single two-terminal component, if the forward and reverse characteristics are unknown, it is desirable to keep the node attribute information of the two-terminal decomposition point the same except for the information related to the input and output. Furthermore, node attribute information other than the node attribute information related to the input and output (such as keywords, publication year, and publisher in the case of a book or paper) can be stored as a one-hot vector.

[0129] Since two two-terminal decomposition points have an input-output or bidirectional relationship, they are connected by an edge. In graph networks, any representation that can be reversibly converted can be used, even if it is not a specific edge, such as an adjacency matrix, an incidence matrix, a Laplacian matrix, or a description of two connections in text data.

[0130] In order to transfer the information between a specific node and a two-terminal connection point to the connection between the specific node and the two-terminal decomposition point, the specific node and the two-terminal decomposition point are connected. As a result, the connection information between the specific node and the two-terminal connection point is maintained as the connection information between the specific node and the two-terminal decomposition point without any information degradation. For example, in the graph data represented below, if the first edge is defined as the input and the second edge as the output, the input and output information cannot be maintained as graph network information with the conventional two-terminal connection points. Two-terminal connection points: Edge 3, Edge 4

[0131] On the other hand, in the second embodiment, it can be determined that edge 3 is connected as an input to two-terminal decomposition point 1 and edge 4 is connected as an output to two-terminal decomposition point 2, and information that would be discarded during processing in conventional methods can be retained in the second embodiment, thereby suppressing information degradation. Furthermore, while conventional two-terminal connection points cannot retain input / output relationships in processing such as graph neural networks, the two-terminal decomposition points can retain such information as matrix elements that become node attribute information and names of two-terminal decomposition points, thereby preventing information degradation.

[0132] 22A shows a first graph G4 as an example of a graph network represented by first graph data acquired by the information processing device 100, and FIG. 22B shows a second graph G4' as an example of a graph network represented by second graph data generated by the information processing device 100. For example, when the graph network represented by the graph data is a graph network representing an electric circuit, as shown in FIG. 22A , the information processing device 100 extracts node n41, a multi-element component connected to six edges, as a specific node to which three or more edges are connected, from among the nodes representing components of the electric circuit. In this case, for example, the information processing device 100 generates nodes n42, n43, n44, n45, n46, and n47, which are terminal components serving as decomposition nodes corresponding to the six edges, and generates node n48, a virtual component serving as a virtual node for connecting nodes n42 to n47 to each other.

[0133] 23 to 31, an information processing device 100 according to embodiment 3 will be described. The information processing device 100 according to embodiment 3 differs from the information processing device 100 according to embodiment 1 in that some of the processing performed on graph data is different, but the configuration is the same, and the same components as those in embodiment 1 are denoted by the same reference numerals and names, and description thereof will be omitted.

[0134] 23 is a flowchart showing an example of processing performed by the information processing device 100 according to embodiment 3. The processing performed by the information processing device 100 according to embodiment 3 will be described below, taking as an example a case where the information processing device 100 acquires a component list and an inter-component connection list of an electric circuit as first graph data. The information processing device 100 acquires a component list and an inter-component connection list of the electric circuit as first graph data in the processing of step ST11 (step ST51). For example, the information processing device 100 acquires the component list and the inter-component connection list of the electric circuit as a netlist, which is text information.

[0135] FIG. 24A is a circuit diagram represented by a netlist acquired by the information processing device 100 according to the third embodiment, and FIG. 24B is a netlist acquired by the information processing device 100 according to the third embodiment. Generally, netlists are available in dozens of formats. All of these formats contain circuit components, auxiliary information (node ​​attribute information) such as the model numbers and circuit constants of the circuit components, and connection information between the circuit components, all of which are essential for forming a circuit, and are reversibly convertible. Therefore, it is possible to extract from the netlist a component list listing component names and an inter-component connection list listing connection information between the components. In the third embodiment, a circuit and netlist for implementation on a printed circuit board are described. However, the same applies to circuit design, which is located between the logic design and layout design for semiconductor design. In this case, instead of the model numbers and circuit constants of the circuit components, the netlist contains auxiliary information such as physical dimensions at the time of layout, material properties, parasitic capacitance, residual inductance, residual resistance, and leakage current, as well as connection information between components with the auxiliary information.

[0136] In particular, when considering circuits that include active elements such as semiconductors, active elements are considered multi-element components because they have three or more terminals. Specifically, even the simplest active element, such as the simplest power supply IC, has three terminals: an input terminal, an output terminal, and a GND terminal serving as the reference potential. In addition to this, all active elements, such as ASICs, CPUs, FPGAs, memories, switching power supply elements, and communication elements, have three or more terminals, and some active elements have more than 2,000 terminals. Furthermore, passive circuit components such as common mode choke coils have four terminals: two input terminals and two output terminals, so they can be treated the same as the active elements mentioned above.

[0137] In addition to three-terminal capacitors, single-phase transformers, three-phase transformers, motors (electric motors), and compressors, diode arrays and resistor arrays can also be considered multi-element components with three or more terminals. However, in the case of transformers, diode arrays, resistor arrays, etc., if the wiring connection information is clear and the parasitic components between adjacent components are also clear, they may be broken down into multiple two-terminal components. On the other hand, passive elements such as normal mode choke coils, capacitors, resistors, and diodes are two-terminal components and are therefore not subject to processing in embodiment 3.

[0138] Focusing on such multi-element components, as shown in Figures 22A and 22B, one or more virtual nodes are newly defined as virtual components for each multi-element component and added to the component list. Furthermore, the terminals of the multi-element component are extracted from the netlist, and the same number of terminal components are added to the component list as disassembly nodes (step ST54). At this time, non-connection (NC) terminals may or may not be added as terminal components. However, it is desirable to add them except for special reasons, such as terminals that are not wired inside the semiconductor in order to standardize the semiconductor package. This allows circuits with different circuit configurations on the same semiconductor to be represented by the same combination of circuit components and terminal components. In this case, as in the first embodiment, no wiring is connected to the NC terminals, so only virtual components are connected to the terminal components representing the NC terminals.

[0139] Focusing on a multi-element component that can be extracted from the netlist, virtual components and terminal components are defined for each multi-element component, and the defined virtual components and terminal components are connected (step ST56), and the connection information is added to the inter-component connection list. Furthermore, for the wiring connected to each terminal of the multi-element component, the wiring is connected to each terminal component, and the connection information is added to the inter-component connection list (step ST55). However, it is not necessary for only one wiring to be connected to one terminal; multiple wirings may be added to the inter-component connection list so that one terminal can be connected. For example, a terminal through which a large current flows may have a mechanism for inputting or outputting the same signal to multiple terminals to ensure a rated current value, but these terminals may be combined into one.

[0140] Furthermore, through the above processing, multi-element components are replaced with virtual components and terminal components, and all wires connected to the multi-element components are connected to the terminal components. As a result, the information about the multi-element components is transferred to the virtual components, terminal components, and wires connected to the terminal components without any information degradation. Therefore, the wires connected to the multi-element components are removed from the inter-component connection list (step ST57), and the multi-element components are removed from the component list (step ST58). Then, information about the virtual components, terminal components, wires connected to the terminal components, and components other than the multi-element components that are not the target of processing is output (step ST59). The third embodiment provides two unprecedented advantages. First, it eliminates the multiple edges and self-loops described in the first embodiment, thereby preventing information degradation. Second, it allows terminal numbers to be maintained as a graph network. To explain the second advantage in detail, let us write a multi-element component as follows: XU1; N002 N003 IN 0 N001 IN N002 N004

[0141] In this case, depending on the definition of each netlist, the wiring names N002 to N004 represent the terminal numbers of the semiconductor in order. Even if the definition and expression method change, all netlists contain the above information because it is information for connecting terminals and wiring and is essential information for the circuit. In the above example, N002 is connected to terminal number 1 of semiconductor XU1, N003 is connected to terminal number 2, IN is connected to terminal number 3, GND (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, information related to terminal numbers could not be retained because it was not broken down into terminal components, and therefore this information was lost during processing such as graph neural networks, causing information degradation. In contrast, in the third embodiment, the terminal components are broken down and the terminal numbers can be retained as part of the terminal component names or as one element in the matrix of node attribute information representing the terminal components, preventing the above information degradation. Therefore, the third embodiment achieves the above-mentioned special effect.

[0142] In the first and second embodiments, specific nodes, virtual nodes, edges, decomposition nodes, two-terminal connection points, and two-terminal decomposition points have been described, but in the third embodiment, specific nodes correspond to multi-element components, virtual nodes correspond to virtual components, edges correspond to wiring, decomposition nodes correspond to terminal components, two-terminal connection points correspond to two-terminal components, and two-terminal decomposition points correspond to two-terminal decomposition components. A specific example of the third embodiment will be described below using the circuit diagram shown in FIG. 24A as an example.

[0143] For example, a netlist is created by writing circuit information directly into circuit CAD or text data. There are more than 10 known formats for netlists, including Allegro and ExpressPCB formats, and all formats include information about the wiring between circuit components, the model numbers of the circuit components, and circuit constants. An example of the notation of the netlist in FIG. 24B is shown below. In FIG. 24B, D1 indicates the component name, D2 indicates the connected wiring, D3 indicates the component model number, and D4 indicates the circuit constants. V1;IN 0 3.3 28.7K R2; N003 0 5.23K C2; N004 0. 001u Rload; OUT 0 13

[0144] In this netlist, the part before the ";" is defined as the circuit component, and the part after the ";" is defined as the 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, R1, R2 and Rload are resistors, and Rload represents the load resistor which is the output.

[0145] The following component list and inter-component connection list can be obtained from the netlist. The component list is the circuit components before the ";", and the inter-component connection list can be created by focusing on the wiring name after the ";". For example, if N001 is selected as the wiring name for the inter-component connection list, the circuit components that use N001 are XU1, L1, and D1, so it can be written as N001; XU1, L1, D1. Similarly, the other wiring can be written as follows. IN; V1, XU1, L1 OUT; D1, C1, R1, Rload 0; V1, XU1, C1, R2, C2, Rload N001; XU1, L1, D1 N002; XU1 N003; XU1, R1, R2 N004; XU1, C2

[0146] If the components connected to wiring N001 are paired together, three combinations can be written: (XU1, L1), (XU1, D1), and (L1, D1), which correspond to the wiring between the components. Since the inter-component connection list only indicates whether a connection exists or not, the order does not matter in the undirected graph shown in embodiment 3. In other words, (XU1, L1) and (L1, XU1) represent the same information, so either can be used. However, in the case of a directed graph as shown in Figures 18B and 19B, for example, XU1 is defined as OUT and L1 as IN, and (XU1, L1) is defined as the edge from XU1 to L1. Edges without direction information are treated as bidirectional edges, and can be represented by both (XU1, L1) and (L1, XU1), which has the same effect as an edge in an undirected graph. By performing this process for all wiring, an inter-component connection list can be created. As described above, a unique inter-component connection list can be created using a netlist. The inter-component connection list is as follows, but since it has a large number of elements and is easy for an information processing device to process, it is difficult for a person to understand. Therefore, the third embodiment will be described using a method of updating a netlist written as text data. Component list: [V1, XU1, L1, D1, C1, R1, R2, C2, Rload] Inter-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)]

[0147] The only multi-element component in the above netlist is semiconductor XU1, which is represented as follows: XU1; N002 N003 IN 0 N001 IN N002 N004 LT3489

[0148] N002 to N004 represent wiring, and LT3489 is the model number of a switching semiconductor manufactured by Analog Devices (registered trademark), Inc. Depending on the format of the netlist, the model number of the semiconductor and the circuit constants of the passive components may not be included in the netlist and may be written on different lines, but because of the reversible conversion relationship, the third embodiment will explain a method of writing them all together on one line.

[0149] In the third embodiment, the description will be given assuming that there is one virtual component, but as in the first embodiment, there may be two or more. However, since the number of terminals in a semiconductor is limited and this would lead to an increase in the amount of calculation, it is desirable to limit the number of virtual components to three, as in the first embodiment. When defining a virtual component, the name of the virtual component can be freely determined, but in the third embodiment, the name is set to XU1_virtual, and the netlist is updated as follows: XU1; N002 N003 IN 0 N001 IN N002 N004 LT3489 XU1_virtual;

[0150] Of the wiring "N002 N003 IN 0 N001 IN N002 N004 LT3489" for XU1 in the semiconductor netlist above, LT3489 is the model number of the component, so the wiring is N002 N003 IN 0 N001 IN N002 N004. This netlist definition method indicates that wirings with wiring names N002 are connected to terminal 1 of the semiconductor, N003 to terminal 2, IN to terminal 3, 0 to terminal 4, N001 to terminal 5, IN to terminal 6, N002 to terminal 7, and N004 to terminal 8. Therefore, eight terminal components are defined for the eight wirings. However, since there are two INs in this example, terminals 3 and 6, to which IN is connected, may be treated as a single terminal component, as shown in embodiment 1.

[0151] On the other hand, there are also two N002s, but because they are wiring that forms a closed self-loop connecting the terminals of a multi-element component, they cannot be combined into a single terminal. The self-loop can be determined by the fact that N002 is not used in connections to other components in the netlist for the entire circuit. Furthermore, even if an NC is included, which is not included in the example of Figure 24A, it is preferable to define the NC terminal as a terminal component. In particular, when the same semiconductor is used in different electrical circuits and the NC terminal is also connected and used in those other electrical circuits, defining the NC terminal as a terminal component allows the number of terminal components for a single semiconductor to be constant regardless of the circuit configuration around the semiconductor. As a result, it is possible to fix virtual components and terminal components for each component model number, thereby achieving the effect of uniformly handling electrical circuits with different circuit topologies for a single model number. However, it is preferable not to define unused NC terminals as terminal components regardless of the semiconductor's usage, such as those with no internal wiring, in order to reduce the amount of calculation required for graph network processing.

[0152] The netlist based on the above method is as follows, but the names of the terminal components in the netlist can be anything as long as they are different from the names of other terminal components and circuit components. XU1; N002 N003 IN 0 N001 IN N002 N004 LT3489 XU1_virtual; XU1-1; XU1-2; XU1-3; XU1-4; XU1-5; XU1-6; XU1-7; XU1-8;

[0153] As for the connection between terminal components and wiring, since the number of wirings of the terminal components and multi-element components defined above is equal, each wiring of the multi-element component is assigned to the terminal component. By this process, the netlist is updated as follows: XU1; N002 N003 IN 0 N001 IN N002 N004 LT3489 XU1_virtual; XU1-1; N002 XU1-2; N003 XU1-3; IN XU1-4; 0 XU1-5; N001 XU1-6; IN XU1-7; N002 XU1-8; N004

[0154] The connection between a virtual component and a terminal component defines the wiring between the virtual component and the terminal component. The name of the wiring can be any name as long as it is not the same as the name of other wiring used in the circuit. For example, in the third embodiment, if the names of the wiring are Line 1 to Line 8, the netlist will be as follows: XU1; N002 N003 IN 0 N001 IN N002 N004 LT3489 XU1_virtual; Line1, Line2, Line3, Line4, Line5, Line6, Line7, Line8 XU1-1; N002, Line1 XU1-2; N003, Line2 XU1-3; IN, Line 3 XU1-4; 0, Line 4 XU1-5; N001, Line 5 XU1-6; IN, Line 6 XU1-8; N004, Line 8

[0155] Removing multi-element components from the component list and from the component connection list is unnecessary because all information contained in the multi-element component, semiconductor XU1, has been moved to XU1_virtual and XU1-1 to XU1-8. Therefore, the multi-element component and wiring are deleted from the component connection list, and the multi-element component is deleted from the component list. However, since the component model number remains as information, it is retained as node attribute information for the virtual component, or node attribute information for the virtual component and terminal component. After the above processing, the netlist, which includes the two-terminal component that was not processed because it was not subject to processing, looks like the one below, and this is the final output. V1;IN 0 3.3 XU1_virtual;Line1,Line2,Line3,Line4,Line5,Line6,Line7,Line8 LT3489 XU1-1;N002,Line1 XU1-3; IN, Line3 XU1-4; 0, Line4 XU1-5; N001, Line5 XU1-6; IN, Line6 XU1-7; N002, Line7 XU1-8; N004, Line8 L1; D1;N001 OUT 1N5818 C1;OUT 0 20u R1;OUT N003 28.7K R2; N003 0 5.23K C2; N004 0. 001u Rload; OUT 0 13

[0156] In the third embodiment, for the sake of convenience, the netlist is described as being updated. However, it is preferable to perform the process using a component list and a component connection list. While updating a netlist is easy for humans to understand, for information processing devices, rewriting text data makes it more susceptible to human or mechanical errors, such as encoding errors or errors due to escape sequences. On the other hand, replacing characters with numbers, IDs, etc. and processing them as matrix or list data makes it harder for humans to understand, but makes it less likely for information processing devices to encounter exceptions and process errors. In this case, instead of defining components and wiring by name as in the third embodiment, replacing each component with a unique number makes it easier to process mechanically. If these replaced definitions are stored in a database, the processed results can be replaced with more user-friendly names.

[0157] As described above, in the process shown in FIG. 23 , the information processing device 100 according to the third embodiment first extracts a component list and a component connection list from the netlist. Then, one virtual component is added to the component list, and a number of terminal components equal to the number of wires connected to the multi-element component or the number of terminals of the multi-element component are added to the component list. Since the number of wires does not exceed the number of terminals of the multi-element component, the number of wires is less, and terminals to which no wires are connected are designated as NC terminals. FIG. 23 illustrates a case in which the number of terminal components is equal to the number of wires connected to the multi-element component. Since the number of terminal components is equal to the number of wires, one wire can be connected to one terminal component. Furthermore, new wires are defined between the terminal components and the virtual components and added to the component connection list. The connections between the multi-element component and the wires are removed from the component connection list. The multi-element component after the information transfer is removed from the component list, and the component list and the component connection list are output.

[0158] In the third embodiment, a method for reversibly converting text data containing a netlist into a graph network is presented. When a netlist of an electrical circuit is converted into a graph network and then the converted graph network is inversely converted into a netlist, if the characteristics of the original electrical circuit can be expressed using the inversely converted netlist, it can be determined that there is no information degradation when the netlist is converted into a graph network. However, since the conversion from a netlist to a graph network and the conversion from a graph network to a netlist are not reversible processes, different algorithms must be constructed. This makes it difficult to evaluate only the conversion or the inverse conversion. It is also possible to compare and evaluate the characteristics of the electrical circuit before and after the inverse conversion using the output results of a circuit simulation.

[0159] However, even with a small amount of information degradation in the netlist, there is no guarantee that the netlist after reverse conversion can be calculated by a circuit simulator, i.e., that the calculation will be completed without errors. For example, if even one incorrect wiring is added to a semiconductor terminal, even if all other information is correctly reverse converted, the circuit simulation will not be able to output correct results. While it is possible to compare the netlists before and after the above conversion, the order of components and wiring names in the netlist are arbitrary, making it difficult to compare the netlist before conversion with the netlist generated by reverse conversion, and therefore, an appropriate evaluation cannot be performed.

[0160] For this reason, in the third embodiment, in order to evaluate the accuracy of conversion to a graph network, we propose a method of inputting a graph network into a graph neural network and confirming the accuracy of the conversion based on the inference accuracy of the graph neural network. This is because it is believed that if there is little information degradation during conversion to a graph network, the inference accuracy of the graph neural network will be high, and conversely, if information degradation occurs during conversion, the inference accuracy of the graph neural network will be low. To compare under fair conditions, except for the number of nodes, which changes due to the addition of virtual components and terminal components, the structure of the graph neural network (the number of hidden layers and the number of channels in each hidden layer), the number of epochs (the number of iterations), the number of mini-batches (the number of data divisions), the optimization algorithm, etc. are not changed, and the combination of training data and test data is fixed so as not to change for each calculation.

[0161] In addition, the training data and test data were divided randomly to ensure equal numbers to avoid bias. Furthermore, since the graph neural network's learning varies depending on the initial value of the random numbers, the initial value was changed 10 times to change the initial value, and the average of the inference values ​​for testing was taken to reduce the learning variation.

[0162] The dataset used 3,308 electrical circuits included with Analog Devices' circuit simulator LTspice. Of the 3,308, 2,315 (70%) were used as training data, and the remaining 993 were used as test data. The training data and test data were fixed. As shown in FIG. 25 , seven types of circuit components were used in the dataset, and a netlist was extracted from the electrical circuit to create a seven-class graph classification problem. FIG. 25 is a table showing the number of electrical circuits (Circuits), the average number of nodes (Nodes), the average number of edges (Edges), and the average number of node types (Node Features) included in the netlist used as the dataset. Power supply circuits (Power Products) accounted for the largest number, accounting for 70% of the total. Note that node types refer to semiconductors, resistors, capacitors, coils, etc.; for example, even if multiple capacitors are used in one circuit, they are counted as one. Furthermore, when a semiconductor is divided into terminal components, it is possible to assign the type of terminal component from the semiconductor spec sheet. In this embodiment, since the semiconductor is treated as a complete black box, no terminal information is given and all terminals are defined as the same type of node.

[0163] The graph neural network was configured as a network with three hidden layers. GraphSage was used as the contraction algorithm, as it provided the highest inference accuracy under all conditions. A three-layer network using GraphSage and the ReLU function as an activation function was used, with a seven-value classification using the Softmax function as the activation function before the output layer. In this dataset, a three-layer network was adopted because it provided the highest inference accuracy compared to two-layer and four- to six-layer networks under all conditions. However, the layer configuration and neural network algorithm may be changed depending on the dataset, as with a general neural network, such as using a network with three or more layers if the scale of the electrical circuit is larger than that of the dataset in Figure 25, or a two-layer network if the scale of the electrical circuit is smaller.

[0164] Next, the effects of the third embodiment will be described with reference to FIGS. 26 to 31 . FIG. 26A is a circuit diagram illustrating an electric circuit including a multi-element component, and FIG. 26B is a graph network illustrating the electric circuit of FIG. 26A . As shown in FIG. 26B , multiple edges, including edge e51 and edge e52, are connected to the multi-element component X, where edge e51 forms a self-loop and edge e52 forms a multiple edge. FIG. 27 is a graph network illustrating the inference accuracy obtained by training under conditions in which the multi-element component is not decomposed into virtual components and terminal components, and performing inference using test data. Furthermore, FIG. 28 is a graph network illustrating the inference accuracy obtained by training the electric circuit of FIG. 26A using only terminal components, without using virtual components, to form a complete graph. FIG. 29 is a graph network illustrating the inference accuracy obtained by training the graph network of FIG. 28 and performing inference using test data. Also, Fig. 30 shows a graph network in the form of a star graph in which terminal components are connected via virtual components in the electric circuit of Fig. 26A, and Fig. 31 shows a graph network showing the inference accuracy obtained by learning using the graph network of Fig. 30 and performing inference using test data. Note that the specific node (original node) in the first graph may be a single node indicating a component included in the electric circuit and a wiring connected to the component.

[0165] In all of the above examples, learning was performed over 4,000 epochs, and the average of the maximum values ​​over 10 trials was used as the inference accuracy. In the results shown in FIGS. 26A, 26B, and 27, the maximum inference accuracy was 97.20%. Furthermore, in the electrical circuit of FIG. 26A shown in FIGS. 28 and 29, when all terminal components were connected using only terminal components without using virtual components, the average of the maximum values ​​over 10 trials yielded an inference accuracy of 96.89% for the test data, indicating a decrease in inference accuracy compared to before the division into terminal components. When the graph network according to embodiment 3 shown in FIGS. 30 and 31 was trained and inferred, the average of the maximum values ​​over 10 trials yielded an inference accuracy of 97.72% for the test data. This indicates that, while inference accuracy decreased by 0.5% when training and inferring using only terminal components without using virtual components, the inference accuracy improved by using virtual components and terminal components, which is believed to be due to reduced information degradation.

[0166] It can be seen that the calculation time required for learning using a CPU (Intel (registered trademark) i9-11950H) and a GPU (NVIDIA (registered trademark) RTX A5000) is 7 minutes for FIG. 27, 30 minutes for FIG. 29, and 10 minutes for FIG. 31, and that FIG. 31 is at a higher level than FIG. 29.

[0167] Furthermore, comparing the conventional method, which does not decompose into terminals as shown in FIG. 26B , with the third embodiment, which decomposes into virtual components and terminal components as shown in FIG. 30 , link prediction, which predicts the presence or absence of wiring, is difficult in the conventional method due to the presence of multiple edges, whereas the third embodiment can predict two or more edges between two nodes, which represent multiple edges, as a simple graph. Furthermore, in node prediction, which predicts component constants and component model numbers, better results than conventional methods can be obtained because the component orientation and the number of component terminals can be controlled. In the third embodiment, the reference potential (GND) is defined as a node, which reduces the occurrence of multiple edges.

[0168] The adjacency matrix generated based on the third embodiment is used by a graph neural network for graph classification (classifying the type of graph network), graph regression (predicting a real number sequence from a real value in a graph network), link prediction (predicting the presence or absence of an edge), node prediction (predicting the presence or absence of a node), node characteristic prediction (predicting the type of node or the numerical value of a node), etc. Also, graph features can be extracted using a graph VAE (Variational Autoencoder), and a graph network that satisfies desired conditions can be generated using a graph GAN (Generative Adversarial Network), but these can be performed in the same way as general graph neural network processing, and therefore will not be described in detail.

[0169] If input voltages and output voltages are also defined as nodes, as with GND, the input and output nodes can be multi-element components, which allows for calculations including input and output, but since the direction of the input and output is clear, it is not necessarily necessary to divide these components into virtual components and terminal components. Also, depending on the purpose of use of the information processing device, such as when there is no need to reverse-convert the results after graph processing as in the above graph classification example, it is not necessary to divide all of the multi-element components in the graph network, and it is possible to divide only those that meet certain conditions, such as dividing multi-element components with 10 or more terminals or multi-element components that have self-loops or multiple edges.

[0170] Fourth Embodiment Next, an information processing device 100 according to a fourth embodiment will be described with reference to Fig. 32 and Fig. 33. The information processing device 100 according to the fourth embodiment differs from the information processing device 100 according to the first embodiment in that some of the processing performed on graph data is different, but the configuration is the same, and the same components as those in the first embodiment are denoted by the same reference numerals and names, and description thereof will be omitted.

[0171] In the third embodiment, we have explained the processing of circuit diagrams, which are essential for creating electrical circuits on printed circuit boards. However, this method can be applied not only to circuits for printed circuit board design, but also to circuits for designing the inside of semiconductors. This is because, in addition to transistors, semiconductors can also contain the same circuit components as on printed circuit boards, such as resistors, coils, capacitors, and diodes. However, unlike circuit diagrams on printed circuit boards, model numbers do not exist, so by assigning parameters such as component dimensions, coating thickness, and material constants as node attribute information, processing equivalent to that of the third embodiment can also be used for semiconductor design.

[0172] Similarly, by assigning parameters such as dimensions, coating thickness, and material constants as attribute information to circuit constants, processing similar to that of embodiment 3 can also be used in semiconductor design. Furthermore, in printed circuit board design, if a block diagram showing the internal circuit configuration of a semiconductor and component performance in a schematic diagram is made public in a specification sheet, the block diagram may be converted into a graph network and incorporated into the circuit diagram of the printed circuit board as a circuit component. Note that, in block diagrams, for blocks with three or more wiring connections, virtual components can be defined, and terminal components corresponding to the number of wirings can be defined, allowing for processing similar to that of multi-terminal components.

[0173] FIG. 32 shows an example of a block diagram of a semiconductor. In cases where some of the internal information of the semiconductor is known, new edges may be used to connect closely related terminal components. This is also common to all multi-element components, not just semiconductors. In the example block diagram of FIG. 32, it is clear that X:1 and X:4, X:2 and X:3, and X:5 and X:6 are connected via a single component, so these terminal components are connected. FIG. 33 shows a graph network of a multi-element component with edges added between terminal components. Furthermore, new virtual components may be defined between the terminal components, and connections may be made between X:1 and X:4, X:2 and X:3, and X:5 and X:6 via each virtual component.

[0174] Specifically, in addition to the virtual components described in the third embodiment, virtual components 1, 2, and 3 are defined, and connections are made as follows: X:1 → virtual component 1 → X:4, X:2 → virtual component 2 → X:3, and X:5 → virtual component 3 → X:6. Virtual components 1 and 2, virtual components 2 and 3, and virtual components 3 and 1 are connected. This results in a graph network that includes semiconductor characteristics, and therefore, compared to a conventional single node, the graph network contains more information about the electrical circuit, thereby reducing information degradation when converting the electrical circuit into a graph network. Furthermore, in addition to assigning terminal information about the multi-element component to each terminal component as node attribute information, it is desirable to include information about adjacent terminals as node attribute information for each virtual component. This allows learning from values ​​close to the solution by providing an initial condition that is an arithmetic average close to the weighted average of adjacent terminal information obtained by, for example, contracting the graph neural network, thereby shortening calculation time and reducing the possibility of falling into a local minimum.

[0175] 34 to 37, an information processing device 100 according to embodiment 5 will be described. The information processing device 100 according to embodiment 5 differs from the information processing device 100 according to embodiment 1 in that some of the processing performed on graph data is different, but the configuration is the same, and the same components as those in embodiment 1 are denoted by the same reference numerals and names, and description thereof will be omitted.

[0176] The information processing device 100 is applied to a two-terminal component to which two or more wires are connected in a netlist of an electric circuit or a graph network that can be created from the netlist. In the fifth embodiment, as in the second embodiment, effects can be obtained even when used alone, but by combining it with the method of the third embodiment, it is possible to particularly reduce information degradation. The terminology will be explained using the netlist of FIG. 24B shown in the third embodiment as an example. The netlist of FIG. 24B is reproduced as follows: V1; IN 0 3.3 XU1; N002 N003 IN 0 N001 IN N002 N004 LT3489 L1; IN N001 2.2u D1; N001 OUT 1 N5818 C1; OUT 0 20u R1; OUT N003 28.7K R2; N003 0 5.23K C2; N004 0 . 001u Rload; OUT 0 13

[0177] A two-terminal circuit component is a component that is configured with an input terminal and an output terminal. In the above netlist, all components except XU1 are two-terminal circuit components, so the two-terminal circuit components are V1, L1, D1, C1, R1, R2, C2, and Rload. Wiring also has physical substance and can be considered as a node, but while circuit components have complex physical properties, wiring only has connection information between circuit components. Therefore, in embodiment 5, circuit components are considered as nodes, and wiring is considered as edges that connect nodes. However, it is preferable to define GND, which is the reference potential of an electric circuit, as a node, as this reduces multiple edges.

[0178] A two-terminal disassembled component can be thought of as the two-terminal circuit component described above being disassembled into two circuit components. The names of the disassembled components can be any as long as they are unique and not the same as other circuit component names. In the fifth embodiment, 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 have to be divided into two-terminal disassembled components.

[0179] Connecting a two-terminal decomposed component to a wiring means connecting the wiring connected to a two-terminal circuit component to each of the two decomposed two-terminal decomposed components, and assigning each wiring to a two-terminal decomposed component. In the example of the netlist above, the result is as follows: V1; IN 0 3.3 XU1; N002 N003 IN 0 N001 IN N002 N004 LT3489 L1; IN N001 2.2u D1; N001 OUT 1 N5818 C1; OUT 0 20u R1; OUT N003 28.7K R2; N003 0 5.23K C2; N004 0 . 001u Rload;OUT 0 13 V1-1;IN V1-2;0 L1-1;IN L1-2;N001 D1-1;N001 D1-2;OUT C1-1;OUT C1-2;0 R1-1;OUT R1-2;N003 R2-1;N003 R2-2;0 C2-1;N004 C2-2;0 Rload-1;OUT Rload-2;0

[0180] Connections between 2-terminal decomposition components] connects 2-terminal decomposition components with newly defined wires, and any wire name can be used as long as it is different from other wire names used in the graph network. In the example below, Wire1 to Wire8 will be used. V1; IN 0 3.3 XU1; N002 N003 IN 0 N001 IN N002 N004 LT3489 L1; IN N001 2.2u D1; N001 OUT 1 N5818 C1; OUT 0 20u R1; OUT N003 28.7K R2; N003 0 5.23K C2; N004 0 . 001u Rload;OUT 0 13 V1-1;IN Wire1 V1-2;0 Wire L1-1;IN Wire2 L1-2;N001 Wire2 D1-1;N001 Wire3 D1-2;OUT Wire3 C1-1;OUT Wire4 C1-2;0 Wire4 R1-1;OUT Wire5 R1-2;N003 Wire5 R2-1;N003 Wire6 R2-2;0 Wire6 C2-1;N004 Wire7 C2-2;0 Wire7 Rload-1;OUT Wire8 Rload-2;0 Wire8

[0181] Regarding circuit constants, resistors, inductors, and capacitors, it is desirable to assign node attribute information that is half the value of two-terminal components for resistors and inductors, and twice the value of two-terminal components for capacitors, according to circuit theory. Furthermore, power supplies are defined as the same voltage or current value as two-terminal components, regardless of whether they are split or not. This is because halving or doubling the voltage or current can result in a component failing to operate below the minimum voltage or exceeding its rated withstand voltage, which can lead to breakdown, making changes undesirable regardless of whether they are split or not. For directional current sources, such as DC voltage sources and DC current sources, a directional graph network can be created by decomposing the nodes in parallel and assigning a direction to at least one edge for each decomposed node, as shown in Figure 34. This can also be applied to directional circuit components other than DC voltage sources and DC current sources, such as diodes and directional couplers. In this case, assigning different characteristic values ​​to the node attributes of each decomposed node allows different characteristic information to be propagated in the forward and reverse directions. In this case, by dividing the directional circuit components in the graph of FIG. 30 in parallel and assigning different types of node attributes to each circuit component using one-hot vectors, the average of the maximum values ​​over 10 trials was calculated, resulting in an inference accuracy of 97.82% for the test data, an average improvement of 0.1% over the 97.72% in FIG. 30. FIG. 35A is a circuit diagram showing an electrical circuit including multi-element components, and FIG. 35B is a graph network showing the electrical circuit of FIG. 35A. While the different forward and reverse direction characteristics can be obtained by decomposing each terminal as in FIG. 35B, parallel decomposition is preferable when it is known that the forward and reverse direction characteristics are different. Note that when the nodes are decomposed serially as in FIG. 35B, focusing on V:1 and V:2, the weight matrix and nonlinear activation function of the graph neural network are applied in the order X:1, V:1, V:2, and G, resulting in characteristics that differ from those of G, V:2, V:1, and X:1 in the reverse direction due to the effect of the activation function. Therefore, different characteristics are obtained in the forward and backward directions through learning.However, dividing directional circuit components in parallel and combining them with directional edges is desirable because it not only reduces the amount of calculation but also improves inference accuracy, as it is possible to explicitly change the forward and reverse characteristics without relying on learning.

[0182] As will be explained in more detail later, the feature quantities of nodes, such as circuit constants, can be stored as a graph network by assigning them as real numbers to the first element of a one-hot vector that holds node attribute information. In addition, if the dynamic range of the feature quantities is large and they are rounded by a computer, it is desirable to assign a value obtained by applying a logarithmic function to the feature quantities to the first element of the one-hot vector.

[0183] For diodes, the different characteristics can be retained as graph network information by defining the anode as 0 and the cathode as 1 in the node attribute information of the two-terminal decomposition component. Note that 0 and 1 can be reversed, and any integer or real number other than 0 or 1 can be used as long as they can be distinguished. Also, although directional couplers have three or more terminals, like diodes, the direction of signal flow can be defined by setting different values ​​in the attribute information of the two-terminal decomposition component that serves as the input and output. When defining diodes and directional couplers as model numbers, this can be achieved by retaining the model number as one element of the node attribute information and defining 0 and 1 as one-hot vectors for the other node attribute information. The netlist is as follows: V1;IN 0 3.3 28.7K R2; N003 0 5.23K C2; N004 0. 001u Rload; OUT 0 13 V1-1; IN Wire1 3.3 V1-2; 0 Wire1 3.3 L1-1; IN Wire2 1.1u L1-2; N001 Wire2 1.1u D1-1; N001 Wire3 1N5818 D1-2; OUT Wire3 1N5818 C1-1; OUT Wire4 40u C1-2; 0 Wire4 40u R1-1; OUT Wire5 14.35K R1-2; N003 Wire5 14.35K R2-1;N003 Wire6 2.615K R2-2;0 Wire6 2.615K C2-1;N004 Wire7 0.002u C2-2;0 Wire7 0.002u Rload-1;OUT Wire8 6.5 Rload-2;0 Wire8 6.5

[0184] When removing two-terminal circuit components from the component list and inter-component connection list, all information about the two-terminal circuit components has been transferred to two-terminal disassembled components by the above process, so removing the two-terminal circuit components does not result in information degradation. Therefore, the wiring connected to the two-terminal circuit components is disconnected, and the following netlist, from which the two-terminal circuit components have been removed, is the final output. Note that, as explained in the third embodiment, the above process has been explained using a netlist for ease of understanding, but the same results can be obtained using a component list and inter-component connection list uniquely created from the netlist. XU1;N002 N003 IN 0 N001 IN N002 N004 LT3489 V1-1;IN L1 3.3 V1-2;0 L1 3.3 L1-1;IN L2 1.1u L1-2;N001 L2 1.1u D1-1;N001 L3 1N5818 D1-2; OUT L3 1N5818 C1-1; OUT L4 40u C1-2; 0 L4 40u R1-1; OUT L5 14.35K R1-2; N003 L5 14.35K R2-1; N003 L6 2.615K R2-2;0 L6 2.615K C2-1;N004 L7 0.002u C2-2;0 L7 0.002u Rload-1;OUT L8 6.5 Rload-2;0 L8 6.5

[0185] In the second embodiment, we explained how to decompose a two-terminal connection point into two-terminal decomposition points. However, the same processing can be achieved by treating a two-terminal connection point as a two-terminal circuit component and a two-terminal decomposition point as a two-terminal decomposition component. However, while the same elements can be input into the node attribute information of a two-terminal decomposition point in the second embodiment, the circuit constants in the fifth embodiment are based on circuit theory and require resistors and coils to be halved and capacitors to be doubled. In particular, when processing diodes and directional couplers using a graph network, they generally need to be processed as directed graphs. However, by specifying different elements for the anode and cathode in at least one element of the node attribute information as in the fifth embodiment, they can be processed as undirected graphs. Furthermore, anodes and cathodes can be explicitly created by using directed graphs and decomposing components in parallel. Furthermore, in avalanche diodes, Zener diodes, and the like that also utilize reverse bias, if a directed graph is used with a single node, the reverse bias cannot be taken into account. Therefore, by converting the graph using the method according to embodiment 5, adding information as node attribute information, and processing the undirected graph or the nodes decomposed in parallel as a directed graph, it is possible to reduce exception processing and information degradation.

[0186] As explained in the third embodiment, terminal numbers can be retained by using the terminal number as one element of a matrix that serves as node attribute information for both multi-terminal and two-terminal components. This information would be lost in conventional methods that defined multi-element components as a single node, and the ability to retain this information is a special advantage of the fifth embodiment. Furthermore, for two-terminal components, the input-output relationship typically disappears when converted to a graph network. However, as a two-terminal decomposed component, this information can be retained by retaining the input or output as a numerical value in at least one element of the node attribute information. Furthermore, negative circuit constants such as negative resistance and negative inductance can occur. When decomposing into two-terminal decomposed components, the node attribute information can be set to half the circuit constant, just like resistors and inductances (coils) with positive circuit constants.

[0187] FIG. 35B shows a graph network obtained by applying the method of the fifth embodiment to the graph network of the circuit shown in FIG. 30 of the third embodiment. In FIG. 35B, the two-terminal components, namely, the power supply V, coil L, capacitor C, and resistor R, are divided into two terminals. FIG. 36 is a graph showing inference results for test data in a graph neural network under the same conditions as FIG. 30 except for the input data. Under these conditions, the average of the maximum inference results obtained after 10 learning trials was 97.50%. While this is 0.2% lower than the 97.72% shown in FIG. 30 and 0.3% lower than the 97.82% shown in FIG. 34, it represents an inference accuracy that is more than 0.3% higher than the 97.20% obtained by the conventional method that does not include virtual components or two-terminal resolved components shown in FIG. 26B. The calculation time was 12 minutes, which was longer than those of FIGS. 26B and 30 due to the increased number of nodes, but was less than twice that of the conventional example shown in FIG. 26B, a small increase relative to the improvement in accuracy. This improvement in accuracy can be attributed to the fact that the use of two-terminal decomposition components reduces information degradation during the conversion from a netlist to a graph network.

[0188] When simulating an actual electric circuit, components such as coils, capacitors, resistors, and diodes have the characteristic that, in AC signals, coils, resistors, and diodes have stray capacitance (also called parasitic capacitance) in parallel, and capacitors have residual inductance in series. In such cases, the same processing can be achieved by breaking down the circuit components into multiple two-terminal components, for example, by giving the capacitor a structure with residual inductance in series, and attaching a capacitor that acts as stray capacitance in parallel to the coil as a node.

[0189] In the above explanation, circuit components and grounds are treated as nodes, and wiring is treated as edges. However, as shown in Figure 37, it is also desirable to treat wiring including circuit components and grounds as nodes and connect related nodes with edges. This approach has the advantage that the number of decomposition nodes X:1 to X:6 is equal to the number of edges connecting to the decomposition nodes. As a result, decomposition nodes are connected only to virtual nodes and wiring nodes, and even with this conversion, circuit information can be converted to a graph network without loss. Furthermore, with this change, the inference accuracy for the test data was 97.22%, achieving high inference accuracy, although the inference accuracy dropped by about 0.5% due to the inclusion of wiring nodes unrelated to the inference. The reason for the drop in inference accuracy is thought to be that the three-layer graph neural network used in this experiment allows for consideration of the node attributes of the circuit components three levels away, whereas the presence of wiring nodes limits consideration to the node characteristics of the circuit components one level away, resulting in a drop in inference accuracy. To solve this problem, training and inference can be performed using a graph neural network with five or more layers. However, the training time and memory usage increase exponentially, so this approach is only feasible depending on the size of the circuit.

[0190] Next, the node attribute information shown in the first to fifth embodiments will be described with reference to FIGS. 38 to 43. FIG. 38 is a schematic diagram illustrating the first embodiment, in which node attribute information n15d, n16d, n17d, and n18d are assigned to the virtual nodes and decomposition nodes shown in the first embodiment. For example, the node attribute information is a 1-row, N-column matrix or a tensor that can be reversibly transformed into a 1-row, N-column matrix, and defines the characteristics of the node by assigning values ​​such as numerical values ​​or character strings to the N matrix elements. In particular, the fifth embodiment is characterized in that the virtual node and the decomposition node each have the same number of elements. This is synonymous with the virtual node and the decomposition node each having N elements, where N is a natural number. 38, if N is 5 and the elements of the node attribute information are a1 to a5, b1 to b5, c1 to c5, and d1 to d5, the text data of the first embodiment can be expressed by the following information in addition to the following: Virtual node: virtual node-decomposition node 1, virtual node-decomposition node 2, virtual node-decomposition node 3 Decomposition node 1: edge 1, virtual node-decomposition node 1 Decomposition node 2: edge 2, virtual node-decomposition node 2 Decomposition node 3: edge 3, virtual node-decomposition node 3 Virtual node: a1, a2, a3, a4, a5 Decomposition node 1: b1, b2, b3, b4, b5 Decomposition node 2: c1, c2, c3, c4, c5 Decomposition node 3: d1, d2, d3, d4, d5

[0191] This is an important element in graph neural networks, as the learning process involves contracting, combining, and embedding node attribute information between connected nodes using a weight matrix obtained through learning. In particular, in graph neural networks, the weight matrix is ​​multiplied for each column to perform the process of combining elements, so it is desirable to provide node attribute information as a one-hot vector. This is because irrelevant elements in a one-hot vector are 0, so the multiplication will be 0 regardless of the elements contained in the weight matrix, and even after combining, the multiplication between irrelevant elements, i.e., the Hadamard product, will be 0. Conversely, if a one-hot vector has a component with a value of 1, that information will propagate as a non-zero element even when multiplied by a weight matrix with non-zero elements in multiple hidden layers, making it less susceptible to information degradation. This means that it is orthogonal.

[0192] Next, the attribute information of the virtual nodes will be described. In the first embodiment, the decomposition nodes have specific elements such as domain information, and in the third embodiment, terminal numbers, circuit constants, and component model numbers. However, virtual nodes can be freely defined. It is desirable to include user and company information in the social network dataset in the first embodiment, and book information in the paper citation dataset in the virtual nodes. However, the node attribute information of a virtual node can be any type, such as an integer, real number, or character string. However, when processing with a graph neural network, only numeric values ​​are accepted, so non-numeric character strings must be replaced with unique numeric values.

[0193] Furthermore, in order to narrow the range of elements that the weight matrix can take, it is desirable to normalize each element of the node attribute information to a real number between 0 and 1. This is because activation functions such as the ReLU (Rectified Linear Unit) function and the tanh function, which are used for nonlinear processing after the weight matrix, are often designed to be sensitive to values ​​between 0 and 1 or between -1 and +1. Furthermore, when the node attribute information of the decomposition node is clear, it is desirable to set the node attribute information of the virtual node to the average value (arithmetic mean) of the attribute information of the connected decomposition node, as shown in FIG. 39. However, if the node is a virtual node or has information specific to the virtual node, averaging all elements will result in those elements being lost. In such cases, it is desirable to average only columns other than those containing information specific to some virtual nodes. This is because, in graph neural network calculations, a weight matrix is ​​applied to calculate a sum, but by previously entering elements close to the sum, it is possible to speed up the calculation and reduce the likelihood of falling into a local minimum value.

[0194] Furthermore, for faster calculations and datasets that are less likely to fall into local minima, it is possible to set all the node attribute information of virtual nodes to 0, which is desirable because it allows the node attribute information and graph features of virtual nodes to be obtained without any prior knowledge provided by humans. While the initial value can be set to 1 or a random number other than 0, if one-hot vectors are used for even a portion of the attribute information, using 1 or a random number will result in a loss of orthogonality and the generation of non-existent elements. Therefore, using 0 or the average value of the node attribute information of adjacent decomposition nodes is a desirable method for reducing information degradation. Furthermore, Figure 40A is a graph network showing a multi-element component with three terminals, and Figure 40B is a schematic diagram in which unique numerical values ​​are assigned to one or more node attribute information of virtual nodes and decomposition nodes based on domain information and terminal information. In this figure, 0 is assigned to virtual nodes, and 1 to 3 are assigned to decomposition nodes, corresponding to the terminal numbers of specific nodes. This reduces information degradation of terminal numbers. In the example of Figure 40B, the terminal numbers are 1 to 3, but they can be defined any way as long as they correspond to the terminal numbers of specific nodes.

[0195] 41 is a schematic diagram showing that the number of elements of the node attribute information n22d and n23d at the two-terminal decomposition point described in embodiment 2 is equal. As with the relationship between the virtual node and the decomposition node in Fig. 38, by making the number of elements of the attribute information equal, it is possible to average out the processing as a graph network and to process it using a graph neural network.

[0196] 42 is a schematic diagram showing how different values ​​are assigned to the input and output sides of at least one element of node attribute information at a two-terminal decomposition point. For example, as shown in FIG. 42, by setting the input side of the attribute information to 0 and the output side to 1, the characteristics of the two-terminal decomposition point can be retained as graph information.

[0197] FIG. 43 is a schematic diagram showing how to equalize the number of elements in the matrices forming the attribute information of nodes in a graph network. While the attribute information of virtual nodes, decomposition nodes, and two-terminal decomposition points has been described individually in FIGS. 38 to 42, as shown in FIG. 43, by making the numbers of node attribute information n01d, n02d, and n03d in the graph network equal, exception handling becomes unnecessary when processing information on the graph network. Furthermore, when performing graph classification or the like in a graph neural network, it is necessary to use multiple graph networks. However, by standardizing the number of elements in the node attribute information of all graph networks used and defining the information held by each column, multiple graph networks can be processed in parallel at once, which is superior in terms of reducing calculation time and simplifying processing, and has a special effect not previously seen.

[0198] In addition, the present disclosure allows for free combination of the respective embodiments, modification of any of the components of the respective embodiments, or omission of any of the components of the respective embodiments.

[0199] An information processing device according to the present disclosure can be used, for example, to convert graph data representing an electric circuit into another graph structure and suppress degradation of information when graph processing is performed.

[0200] 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 first graph, G1' second graph, G1'' second graph, G1''' second graph, g1' subgraph, g1'' subgraph, g1''' subgraph, e11 first edge, e12 second edge, e15 edge, e16 edge, n13 original node (specific node), n15 first node, n16 second node, n18 connection node (virtual node).

Claims

1. A graph data acquisition unit that acquires first graph data indicating a 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 indicating a second graph in which the original node is replaced by a sub-graph having a plurality of nodes including a first node corresponding to the first information and a second node corresponding to the second information in the first graph. The graph generation unit generates the second graph data such that, in the second graph, the first edge is connected to the first node and the second edge is connected to the second node. An information processing apparatus characterized by the above.

2. The graph generation unit divides the first edge into a first - 1 edge and a first - 2 edge in the second graph, and generates the second graph data such that 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. The information processing apparatus according to claim 1, characterized by the above.

3. The first - 2 edge is an edge having a direction. The information processing apparatus according to claim 2, characterized by the above.

4. The graph generation unit generates the second graph data such that, in the second graph, the second graph has a new edge with one end connected to the first node and the other end connected to the second node. The information processing apparatus according to any one of claims 1 to 3, characterized by the above.

5. The graph generation unit generates the second graph data such that the plurality of nodes of the sub - graph have connection nodes for connecting the first node and the second node to each other, and the connection nodes are part of the sub - graph. The information processing apparatus according to any one of claims 1 to 4, characterized by the above.

6. The graph generation unit generates the second graph data such that the number of nodes among the plurality of nodes included in the partial graph, excluding the connection node, is the same as the number of a plurality of edges including the first edge and the second edge connected to the original node in the first graph. The information processing apparatus according to claim 5, characterized in that.

7. The graph generation unit generates the second graph data such that each node among the plurality of nodes included in the partial graph, excluding the connection node, and the connection node are connected to each other by one edge. The information processing apparatus according to claim 5 or 6, characterized in that.

8. When the graph generation unit acquires first graph data indicating a first graph having an original node having N pieces of information that are natural numbers of 2 or more, in the first graph, the original node is replaced with a partial graph having N mutually different nodes associated with each of the N pieces of information, and the graph generation unit generates second graph data indicating a second graph. The information processing apparatus according to claim 1, characterized in that.

9. When the graph generation unit acquires first graph data indicating a first graph having an original node to which N edges that are natural numbers of 2 or more are connected, in the first graph, the original node is replaced with a partial graph having N mutually different nodes corresponding to each of the N or fewer edges, and the graph generation unit generates second graph data indicating a second graph. The information processing apparatus according to claim 1, characterized in that.

10. The first graph is a graph showing an electric circuit, the original node is a node showing a component included in the electric circuit, the first information and the second information are information for identifying terminals of the component, and the first edge and the second edge are wirings connected to the component. The information processing apparatus according to any one of claims 1 to 9, characterized in that.

11. The first graph is a graph showing an electric circuit, the original node is a node showing components and wirings of the electric circuit, the first information and the second information are information for identifying terminals of the component, and the first edge and the second edge are lines connecting nodes showing the component and the wiring. The information processing apparatus according to any one of claims 1 to 9, characterized in that.

12. The first graph is a graph showing an electric circuit, the original node is a multi-terminal component having N or more terminals including a semiconductor of the electric circuit, the N terminals are information for identifying terminals of the multi-terminal component, and a partial graph constituting the multi-terminal component is a star graph centered on a connection node. The information processing apparatus according to any one of claims 6 to 9, characterized in that.

13. The first graph is a graph showing an electric circuit, the original node is a diode or a battery of the electric circuit, the first information and the second information are information for identifying the positive and negative electrodes of the diode or the battery, and the first edge and the second edge are wirings connected to the diode or the battery. The information processing apparatus according to any one of claims 1 to 6, characterized in that.

14. The first graph is a graph showing an electric circuit, the original node is a diode or a battery of the electric circuit, the first edge is divided into a first-1 edge and a first-2 edge, the second edge is divided into a second-1 edge and a second-2 edge, one end of the first-1 edge is connected to the first node, one end of the first-2 edge is connected to the second node, the other ends of the first-1 edge and the first-2 edge are connected to a common node 1, one end of the second-1 edge is connected to the first node, one end of the second-2 edge is connected to the second node, the other ends of the second-1 edge and the second-2 edge are connected to a common node 2, the first-2 edge has a direction from the common node 1 to the second node, and the second-1 edge has a direction from the common node 2 to the first node. The information processing apparatus according to claim 3, characterized in that.

15. An information processing method performed by an apparatus including a graph data acquisition unit and a graph generation unit, the method comprising: a step of the graph data acquisition unit acquiring first graph data indicating a first graph having an original node having first information and second information, a first edge connected to the original node and associated with the first information, and a second edge connected to the original node and associated with the second information; and a step of the graph generation unit generating second graph data indicating a second graph in which the original node is replaced with a sub-graph having a plurality of nodes including a first node corresponding to the first information and a second node corresponding to the second information in the first graph, wherein the graph generation unit generates the second graph data such that, in the second graph, the first edge is connected to the first node and the second edge is connected to the second node. An information processing method characterized by the above.

Citation Information

Patent Citations

  • Method and device for dividing logic circuit

    JP1998011486A

  • Phrase-based statistical machine translation as generalized traveling sales person problem

    JP2011028754A

  • Resource allocation protocol for reliable virtualization infrastructure

    JP2013501270A

  • Node information estimation method, node information estimation program and information processing device

    JP2020140452A

  • Information processing apparatus, information processing method, and information processing program

    JP2023124389A