JP7275864B2 - Drawing method, drawing program and drawing device - Google Patents

Drawing method, drawing program and drawing device Download PDF

Info

Publication number
JP7275864B2
JP7275864B2 JP2019100763A JP2019100763A JP7275864B2 JP 7275864 B2 JP7275864 B2 JP 7275864B2 JP 2019100763 A JP2019100763 A JP 2019100763A JP 2019100763 A JP2019100763 A JP 2019100763A JP 7275864 B2 JP7275864 B2 JP 7275864B2
Authority
JP
Japan
Prior art keywords
nodes
node
belonging
arrangement
sets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019100763A
Other languages
Japanese (ja)
Other versions
JP2020194459A (en
Inventor
紀之 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019100763A priority Critical patent/JP7275864B2/en
Publication of JP2020194459A publication Critical patent/JP2020194459A/en
Application granted granted Critical
Publication of JP7275864B2 publication Critical patent/JP7275864B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Generation (AREA)

Description

本発明は、描画方法、描画プログラムおよび描画装置に関する。 The present invention relates to a drawing method, a drawing program, and a drawing apparatus.

ソフトウェアの構成やデータの構成などを描画するグラフ描画アルゴリズムを利用した力学モデルが利用されている。近年では、ノードとノードを接続するエッジとから成るグラフデータであって、ノード間には斥力を発生させ、エッジには引力を発生させることで、関係のあるノードは近く、関係の薄いノードは遠くに配置するスプリングアルゴリズムが知られている。また、親と子の関係を有するツリー上に記述する階層型データモデルや、グラフの一部を一つのまとまりとしてとらえ、さらにその上位でそれらのまとまりの一部を一つのまとまりとしてとらえることを繰り返すことで、グラフ全体の構造を示す階層型グラフ描画などが知られている。 A dynamic model using a graph drawing algorithm that draws the configuration of software and the configuration of data is used. In recent years, graph data consists of nodes and edges that connect the nodes. By generating repulsive force between nodes and attractive force between edges, related nodes are close and weakly related nodes are Spatial spring algorithms are known. In addition, a hierarchical data model described on a tree that has a parent-child relationship, and a part of the graph are regarded as one unity, and furthermore, a part of those units are regarded as one unity above it, and it is repeated. Hierarchical graph drawing that shows the structure of the entire graph is known.

特開平8-030799号公報JP-A-8-030799 特開平11-144071号公報JP-A-11-144071

しかしながら、上記技術では、視覚的に理解しやすいグラフを描画することが難しい。具体的には、力学モデルで描画すると、全体にバランスよく配置されるが、属性間の関係は視覚的にわかりにくい。 However, with the above technology, it is difficult to draw a visually understandable graph. Specifically, when drawn with a dynamic model, they are arranged in a well-balanced manner overall, but it is difficult to visually understand the relationship between attributes.

例えば、スプリングアルゴリズムでは、同じ属性のノードが散らばってしまうため、人が特徴を見分けにくく、描画のたびにノードの場所が大きく変わってしまう。階層型データモデルでは、親と子が1対多の関係しか許容されていないので、汎用性が低く、階層型グラフ描画では、構造は見やすくなるが、属性を意識していないので、属性間の関係性を描画できない。 For example, in the Spring algorithm, nodes with the same attribute are scattered, making it difficult for humans to distinguish features, and the locations of the nodes change significantly each time they are drawn. Hierarchical data models allow only one-to-many relationships between parents and children, so they are not versatile. Hierarchical graph drawing makes it easier to see the structure, but does not consider attributes, so there is no inter-attribute Unable to draw relationships.

一つの側面では、視覚的に理解しやすいグラフを描画することができる描画方法、描画プログラムおよび描画装置を提供することを目的とする。 An object of one aspect is to provide a drawing method, a drawing program, and a drawing device that can draw a visually easy-to-understand graph.

第1の案では、描画方法は、コンピュータが、データ構造が有する複数のノードそれぞれに付与される属性ごとに描画範囲を特定する処理を実行する。描画方法は、コンピュータが、特定した描画範囲に各属性を有するノードを配置した状態で、ノード間に斥力を発生させ且つエッジに引力を発生させる処理を実行する。描画方法は、コンピュータが、特定した描画範囲に前記各属性を有しないノードを配置した状態で、ノード間に斥力を発生させ且つエッジに引力を発生させる処理を実行する。描画方法は、コンピュータが、前記データ構造の各ノードを配置したグラフデータを生成する処理を実行する。 In the first plan, the rendering method is such that the computer executes processing for specifying a rendering range for each attribute assigned to each of a plurality of nodes of the data structure. In the drawing method, a computer executes a process of generating repulsive forces between nodes and attractive forces on edges while arranging nodes having each attribute in a specified drawing range. In the rendering method, the computer executes a process of generating repulsive forces between nodes and attractive forces on edges while arranging nodes that do not have the attributes in a specified rendering range. In the drawing method, a computer executes processing for generating graph data in which each node of the data structure is arranged.

一実施形態によれば、視覚的に理解しやすいグラフを描画することができる。 According to one embodiment, it is possible to draw a visually easy-to-understand graph.

図1は、実施例1にかかる描画装置の機能構成を示す機能ブロック図である。FIG. 1 is a functional block diagram of a functional configuration of a drawing apparatus according to a first embodiment; 図2は、実施例1にかかるグラフ描画を説明する図である。FIG. 2 is a diagram for explaining graph drawing according to the first embodiment. 図3は、グラフ表記のルールを説明する図である。FIG. 3 is a diagram for explaining the rules of graph notation. 図4は、グラフ表記のルールを説明する図である。FIG. 4 is a diagram for explaining the rules of graph notation. 図5は、全体的な処理の流れを示すフローチャートである。FIG. 5 is a flowchart showing the overall flow of processing. 図6は、ノードの集合と関係性の検出処理の流れを示すフローチャートである。FIG. 6 is a flow chart showing the flow of processing for detecting node sets and relationships. 図7は、ノードの集合と関係性の検出処理を説明する図である。FIG. 7 is a diagram for explaining the process of detecting a set of nodes and their relationships. 図8は、集合の配置の組み合わせの探索処理の流れを示すフローチャートである。FIG. 8 is a flow chart showing the flow of search processing for combinations of arrangement of sets. 図9は、集合の配置の組み合わせの探索処理を説明する図である。FIG. 9 is a diagram for explaining search processing for combinations of arrangement of sets. 図10は、集合の配置範囲を拡張した組み合わせの探索処理の流れを示すフローチャートである。FIG. 10 is a flow chart showing the flow of search processing for combinations in which the arrangement range of sets is expanded. 図11は、集合の配置範囲の拡張探索を説明する図である。11A and 11B are diagrams for explaining an extended search for the arrangement range of a set. 図12は、集合の配置範囲の拡張探索結果を説明する図である。12A and 12B are diagrams for explaining the result of the expanded search for the arrangement range of the set. 図13は、ノードの配置処理の流れを示すフローチャートである。FIG. 13 is a flowchart showing the flow of node arrangement processing. 図14は、ノードの配置の具体例1を説明する図である。FIG. 14 is a diagram for explaining specific example 1 of node arrangement. 図15は、ノードの配置の具体例1を説明する図である。FIG. 15 is a diagram for explaining specific example 1 of node arrangement. 図16は、ノードの配置の具体例2を説明する図である。FIG. 16 is a diagram illustrating a specific example 2 of node arrangement. 図17は、ノードの配置の具体例2を説明する図である。FIG. 17 is a diagram illustrating a specific example 2 of node arrangement. 図18は、グラフ描画結果を説明する図である。FIG. 18 is a diagram for explaining graph drawing results. 図19は、ハードウェア構成例を説明する図である。FIG. 19 is a diagram illustrating a hardware configuration example.

以下に、本願の開示する描画方法、描画プログラムおよび描画装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。 Hereinafter, embodiments of the drawing method, the drawing program, and the drawing apparatus disclosed in the present application will be described in detail based on the drawings. In addition, this invention is not limited by this Example. Moreover, each embodiment can be appropriately combined within a range without contradiction.

[描画装置の機能構成]
図1は、実施例1にかかる描画装置10の機能構成を示す機能ブロック図である。図1に示す描画装置10は、ソフトウェアの構成、データの構成、ネットワークの構成、属性間の関係性などの各種データ構造を描画するグラフ描画装置の一例であり、例えばサーバ装置などである。この描画装置は、ノードの集合と、ノード間の関係を示すエッジの集合で表されるデータ構造を、一定の範囲内に、人間が見やすく自動配置する。
[Functional Configuration of Rendering Device]
FIG. 1 is a functional block diagram showing the functional configuration of the rendering device 10 according to the first embodiment. A drawing device 10 shown in FIG. 1 is an example of a graph drawing device that draws various data structures such as software configuration, data configuration, network configuration, relationship between attributes, and is, for example, a server device. This rendering device automatically arranges a data structure represented by a set of nodes and a set of edges indicating relationships between nodes within a certain range so that it is easy for humans to see.

ここで、描画装置10のグラフ描画について説明する。図2は、実施例1にかかるグラフ描画を説明する図である。図2は、属性を四角または楕円で示し、ノードを円で示す。図2の(a)に示すように、一般的な力学モデルを用いてデータ構造を描画すると、全体的にバランスよく配置されるが、属性間の関係は視覚的にわかりにくい。つまり、属性とノードとのつながりはわかりやすく、どの属性がどのノードを有するかは、視覚的に認識しやすい。しかし、属性間では、つながりがあるかないかはわかるものの、そのつながりがどのような関係性を有するのかまでを視覚的に認識することが難しい。 Graph drawing by the drawing device 10 will now be described. FIG. 2 is a diagram for explaining graph drawing according to the first embodiment. FIG. 2 shows attributes as squares or ellipses and nodes as circles. As shown in FIG. 2(a), when the data structure is drawn using a general dynamic model, it is arranged in a well-balanced manner as a whole, but it is difficult to visually understand the relationship between attributes. That is, the connection between attributes and nodes is easy to understand, and it is easy to visually recognize which attribute has which node. However, although it is possible to know whether or not there is a connection between attributes, it is difficult to visually recognize what kind of relationship the connection has.

また、図2の(b)に示すように、属性ごとにまとめようとすると、ノードが複数の属性を有することがあるので、すべてのノードがまとまってしまう可能性がある。例えば、図2の(b)では、属性として「性別」、「職業」、「趣味」、「住所」を有する各ノードについて、それぞれのノードがいずれか1つの属性で共通しているので、同じ属性を近づけようとすると、4つのノードが1つの場所にまとまってしまい、関係性を把握することができない。 Moreover, as shown in FIG. 2B, if it is attempted to group by attribute, all nodes may be grouped together because a node may have a plurality of attributes. For example, in (b) of FIG. 2, for each node having the attributes "sex", "occupation", "hobbies", and "address", each node has one attribute in common. If you try to bring the attributes closer together, the four nodes will end up in one place, and you won't be able to grasp the relationship.

また、図2の(c)に示すように、スプリングアルゴリズムなどを用いて、属性に引力をつけてまとめようとすると、引力が強いと図のように団子になってしまい、弱いとノードの反発力のほうが強くなってしまい、ノードが集合しない。また、ノード間の関係がないにも関わらず、同じ属性のノード同士がくっついてしまうので、関係があるように見えてしまることがある。また、複数属性を持っているノードもあるので、関係ないノードも集合の一部として見えてしまうことがある。 In addition, as shown in Fig. 2(c), if we try to combine the attributes with attractive force using a spring algorithm or the like, if the attractive force is strong, the nodes will become lumps as shown in the figure, and if the attractive force is weak, the nodes will repel each other. The force becomes stronger and the nodes do not gather. In addition, even though there is no relationship between nodes, nodes with the same attribute are attached to each other, which may make it appear that there is a relationship. Also, since some nodes have multiple attributes, unrelated nodes may be seen as part of the set.

そこで、実施例1にかかる描画装置10は、ノードの属性ごとに集合を生成し、集合間に閾値(R%)の有向性の関係がある場合、その関係を記録する。そして、描画装置10は、求めた関係性をもとに集合間の位置の組み合わせを求め、求めた位置関係を保持したまま、集合に属するノードを描画する。その後、描画装置10は、残りのノードを描画した後、描画した配置をもとに、最も安定している配置を採用する。このようにすることで、図2の(d)に示すように、描画装置10は、意味的に関係のある属性のノードを優先して描画することで、ユーザに直感的に理解しやすくさせることができる。 Therefore, the rendering apparatus 10 according to the first embodiment generates a set for each node attribute, and records the relationship if there is a directional relationship of a threshold value (R %) between the sets. Then, the drawing device 10 obtains a combination of positions between sets based on the obtained relationships, and draws nodes belonging to the sets while maintaining the obtained positional relationships. After that, the drawing device 10 draws the remaining nodes, and then adopts the most stable layout based on the drawn layouts. In this way, as shown in (d) of FIG. 2, the drawing device 10 preferentially draws nodes with semantically related attributes, thereby allowing the user to intuitively understand the nodes. be able to.

図1に戻り、描画装置10は、通信部11、記憶部12、制御部20を有する。通信部11は、他の装置の間の通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部11は、描画対象のデータを管理端末から受信し、描画結果を管理端末に送信する。 Returning to FIG. 1 , the drawing device 10 has a communication section 11 , a storage section 12 and a control section 20 . The communication unit 11 is a processing unit that controls communication between other devices, such as a communication interface. For example, the communication unit 11 receives data to be drawn from the management terminal and transmits drawing results to the management terminal.

記憶部12は、データや制御部20が実行するプログラムを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。例えば、記憶部12は、ノードデータDB13、集合データDB14、エッジ情報DB15、配置結果DB16を有する。また、記憶部12は、描画対象のデータの構造などを含む情報を記憶する。 The storage unit 12 is an example of a storage device that stores data and programs executed by the control unit 20, and is, for example, a memory or a hard disk. For example, the storage unit 12 has a node data DB 13, an aggregate data DB 14, an edge information DB 15, and an arrangement result DB 16. The storage unit 12 also stores information including the structure of data to be drawn.

ノードデータDB13は、描画対象のデータ構造におけるノードに関する情報を記憶するデータベースである。具体的には、ノードデータDB13は、ノードごとに、各ノードに設定される属性を記憶する。例えば、ノードデータDB13は、「ノード、属性」として「ノードA、属性(性別:男性、職業:会社員)」などを記憶する。また、ノードデータDB13は、制御部20によって生成されたグラフ構造のノードに関する情報として、接続されるノードに発生させる斥力などを記憶する。 The node data DB 13 is a database that stores information about nodes in the data structure to be rendered. Specifically, the node data DB 13 stores attributes set for each node for each node. For example, the node data DB 13 stores "node A, attribute (sex: male, occupation: office worker)" as "node, attribute". In addition, the node data DB 13 stores, as information about the nodes of the graph structure generated by the control unit 20, the repulsive forces generated in the connected nodes.

集合データDB14は、ノードの集合に関する情報を記憶するデータベースである。例えば、集合データDB14は、制御部20によって生成された集合ごとに、当該集合に属するノードや集合の属性などを記憶する。 The set data DB 14 is a database that stores information about sets of nodes. For example, the set data DB 14 stores, for each set generated by the control unit 20, nodes belonging to the set, attributes of the set, and the like.

エッジ情報DB15は、エッジに関する情報を記憶するデータベースである。例えば、集合データDB14は、制御部20によって生成されたグラフ構造のエッジに関する情報として、接続されるノード、エッジに発生させる引力などを記憶する。 The edge information DB 15 is a database that stores information about edges. For example, the collective data DB 14 stores information about the edges of the graph structure generated by the control unit 20, such as connected nodes and attractive forces generated on the edges.

配置結果DB16は、グラフ構造の配置結果を記憶するデータベースである。例えば、配置結果DB16は、制御部20によって生成されたグラフ構造に関する情報として、ノード、ノードの集合、ノード間のエッジ、集合間のエッジなどの関する情報を記憶する。 The placement result DB 16 is a database that stores the placement results of the graph structure. For example, the placement result DB 16 stores information on nodes, sets of nodes, edges between nodes, edges between sets, etc. as information on the graph structure generated by the control unit 20 .

制御部20は、描画装置10全体を司る処理部であり、例えばプロセッサなどである。この制御部20は、検出部21、探索部22、拡張探索部23、配置部24を有する。なお、検出部21、探索部22、拡張探索部23、配置部24は、プロセッサが有する電子回路やプロセッサが実行するプロセスの一例などである。 The control unit 20 is a processing unit that controls the drawing apparatus 10 as a whole, and is, for example, a processor. This control unit 20 has a detection unit 21 , a search unit 22 , an extended search unit 23 and an arrangement unit 24 . Note that the detection unit 21, the search unit 22, the extended search unit 23, and the placement unit 24 are examples of electronic circuits possessed by the processor and processes executed by the processor.

ここで、本実施例で使用するグラフ表記について説明する。図3と図4は、グラフ表記のルールを説明する図である。図3に示すように、一例として、集合A11、A12、A13、A21、A22を有し、集合A11と集合A12との間は関係x11を有し、集合A12と集合A13との間は関係x12を有し、集合A11と集合A21との間は関係y11を有し、集合A13と集合A22との間は関係z22を有するとする。また、集合A11には、ノードn2、n3、n4が含まれ、集合A12には、ノードn5、n6が含まれ、集合A13には、ノードn7、n8が含まれ、集合A21には、ノードn1が含まれ、集合A22には、ノードn9が含まれるとする。なお、見やすくするなどの便宜上、各領域を同じ大きさの長方形にしているが、形、大きさともに同じである必要はない。 Here, the graph notation used in this embodiment will be described. 3 and 4 are diagrams for explaining the rules of graph notation. As shown in FIG. 3, as an example, we have sets A 11 , A 12 , A 13 , A 21 , A 22 , a relationship x 11 between sets A 11 and A 12 , and set A 12 and set A 13 have relation x 12 , set A 11 and set A 21 have relation y 11 , and set A 13 and set A 22 have relation z 22 . do. The set A 11 includes nodes n2, n3, and n4, the set A 12 includes nodes n5 and n6, the set A 13 includes nodes n7 and n8, and the set A 21 includes contains node n1 and set A 22 contains node n9. Note that each area is made to be a rectangle of the same size for convenience such as making it easier to see, but it is not necessary to have the same shape and size.

このようなグラフ構造において、集合の行列を図4の(a)のように表記し、関係性の行列を図4の(b)のように表記するものとする。ここで、Aijは、i行j列に属するノードの集合である。xijは、i行j列の集合とi行(j+1)列の集合との関係であり、yijは、i行j列の集合と(i+1)行j列の集合との関係である。zijは、i行j列の集合と(i+1)行(j+1)列の集合との関係、もしくは、i行(j+1)列の集合と(i+1)行j列の集合との関係である。なお、集合の配置の段階でクロスの関係性は許容しないこととする。 In such a graph structure, the set matrix is represented as shown in FIG. 4(a), and the relationship matrix is represented as shown in FIG. 4(b). Here, A ij is a set of nodes belonging to row i and column j. x ij is the relationship between the set of i rows and j columns and the set of i rows and (j+1) columns, and y ij is the relationship between the i row and j column sets and the (i+1) rows and j columns. z ij is the relationship between the set of i rows and j columns and the set of (i+1) rows and (j+1) columns, or the relationship between the set of i rows and (j+1) columns and the set of (i+1) rows and j columns. Note that cross relationships are not allowed at the stage of arranging sets.

また、集合の行列において、ノードが存在する場所には1が設定され、ノードがない場所には0が設定される。具体的には、図3においては集合A11、A12、A13、A21、A22が存在し、集合A23が存在しないことから、図4の(a)に示す集合の行列においては、集合A11、A12、A13、A21、A22のそれぞれの位置には1が設定され、集合A23の位置には0が設定される。 Also, in the set matrix, 1 is set where there is a node, and 0 is set where there is no node. Specifically, in FIG. 3, the sets A 11 , A 12 , A 13 , A 21 , and A 22 exist, but the set A 23 does not exist. , sets A 11 , A 12 , A 13 , A 21 , and A 22 are set to 1, and the positions of set A 23 are set to 0.

また、図3において横方向の関係性は、関係x11とx12とが存在するので、横方向の関係性を示す行列は、図4の(b)に示すように、関係x11とx12との位置に1が設定され、その他のx21とx22の位置には0が設定される。なお、横方向の関係性の行列において、0は関係性なし、1は右方向への関係性あり、2は左方向への関係性あり、3は積集合の関係性あり、4は同一の集合を示す。 Also, in FIG. 3, the relationship in the horizontal direction includes the relationships x11 and x12 , so the matrix showing the relationship in the horizontal direction is the relationship x11 and x Positions 12 and 12 are set to 1, and the other x21 and x22 positions are set to 0. In the horizontal relationship matrix, 0 indicates no relationship, 1 indicates rightward relation, 2 indicates leftward relation, 3 indicates product set relation, and 4 indicates same relation. indicates a set.

また、図3において縦方向の関係性は、関係y11が存在するので、縦方向の関係性を示す行列は、図4の(b)に示すように、関係y11の位置に1が設定され、その他のy12とy13の位置には0が設定される。なお、縦方向の関係性の行列において、0は関係性なし、1は下方向への関係性あり、2は上方向への関係性あり、3は積集合の関係性あり、4は同一の集合を示す。 In FIG. 3, since there is a relationship y11 in the vertical direction, 1 is set at the position of relationship y11 in the matrix showing the relationship in the vertical direction, as shown in FIG. 0 is set to the other y12 and y13 positions. In the vertical relationship matrix, 0 indicates no relationship, 1 indicates a downward relationship, 2 indicates an upward relationship, 3 indicates a product set relationship, and 4 indicates the same relationship. indicates a set.

また、図3において交点(斜め)方向の関係性は、関係z11が存在するので、交点方向の関係性を示す行列は、図4の(b)に示すように、関係z11の位置に1が設定され、その他のz12の位置には0が設定される。なお、交点方向の関係性の行列において、0は関係性なし、1は右上方向への関係性あり、2は右下方向への関係性あり、3は左下方向への関係性あり、4は左上方向への関係性あり、5は右上方向と左下方向の積集合の関係性あり、6は左上方向と右下方向の積集合の関係性あり、7は同一の集合を示す。 Also, in FIG. 3 , the relationship in the intersection (diagonal) direction has the relationship z11 . It is set to 1 and the other z 12 positions are set to 0's. In the matrix of relationships in the intersection direction, 0 indicates no relationship, 1 indicates a relationship in the upper right direction, 2 indicates a relationship in the lower right direction, 3 indicates a relationship in the lower left direction, and 4 indicates a relationship in the lower left direction. There is a relation in the upper left direction, 5 indicates an intersection relationship between the upper right direction and the lower left direction, 6 indicates an intersection relation between the upper left direction and the lower right direction, and 7 indicates the same set.

このような表記を前提として、各処理部を説明する。図1に戻り、検出部21は、ノードの集合とノード間の関係性とを検出する処理部である。具体的には、検出部21は、ノードデータDB13等を参照し、各ノードが有する属性を特定し、同じ属性を有するノードの集合を生成する。このとき、1つのノードに複数の属性が設定されている場合、当該ノードは複数の集合に属することもある。 Based on such notation, each processing unit will be described. Returning to FIG. 1, the detection unit 21 is a processing unit that detects a set of nodes and relationships between the nodes. Specifically, the detection unit 21 refers to the node data DB 13 or the like, identifies attributes possessed by each node, and generates a set of nodes having the same attributes. At this time, if multiple attributes are set for one node, the node may belong to multiple sets.

そして、検出部21は、対象の集合に入力する(INする)集合や対象の集合に入力される(OUTする)集合など、属性間の関係性にしたがって、有向性の関係がある集合間を検出する。ここで、有向性の関係性を判定する閾値(R値)は、様々な手法で決定することができる。例えば、対象とする集合のINとOUTを別に考える手法、対象とする集合のINの数とINしてくる元の集合のOUTの数から算出する手法、対象とする集合のOUTの数とOUT先の集合のINの数から算出する手法などがある。また、例えばノード数が50:50の場合と1:99の場合には後者のRのほうが高くなるように算出する手法、集合内のノード数に対するエッジ数の比率など、集合間のノード数によって変動させることもでき、全体のノード数とエッジ数の比率によってRを変動させることもできる。また、100以下の任意の値を設定することもできる。 Then, the detection unit 21 detects a set that has a directional relationship according to the relationship between attributes, such as a set that is input (IN) to the target set and a set that is input (OUT) to the target set. to detect Here, the threshold value (R value) for determining the directional relationship can be determined by various methods. For example, a method of considering IN and OUT of the target set separately, a method of calculating from the number of IN of the target set and the number of OUT of the original set that comes IN, the number of OUT of the target set and OUT There is a method of calculating from the number of INs in the previous set. Also, for example, when the number of nodes is 50:50 and 1:99, the latter R is calculated so that it is higher, the ratio of the number of edges to the number of nodes in the set, etc. Depending on the number of nodes between sets It can also be varied, and R can also be varied according to the ratio of the total number of nodes to the number of edges. Any value less than or equal to 100 can also be set.

また、検出部21は、有向性がある集合間において、集合があれば結合し、集合内のノードの一部が一致していれば積集合を生成し、部分集合があればまとめた集合とする。そして、検出部21は、生成した集合や関係性を、集合データDB14等に格納する。 In addition, the detection unit 21 connects sets between directed sets if there is a set, generates a product set if a part of the nodes in the set matches, and if there is a subset, puts together a set and Then, the detection unit 21 stores the generated sets and relationships in the set data DB 14 or the like.

探索部22は、集合の配置の組み合わせを探索する処理部である。具体的には、探索部22は、検出部21によって検出されたノードの集合に関する情報を集合データDB14等から取得し、集合の配置の組み合わせを探索し、その結果を記憶部12等に格納する。なお、詳細は、図8と図9を用いて後述する。 The search unit 22 is a processing unit that searches for combinations of arrangement of sets. Specifically, the searching unit 22 acquires information about the set of nodes detected by the detecting unit 21 from the set data DB 14 or the like, searches for combinations of arrangement of sets, and stores the result in the storage unit 12 or the like. . The details will be described later with reference to FIGS. 8 and 9. FIG.

拡張探索部23は、集合の配置範囲を拡張した、集合の組み合わせを探索する処理部である。具体的には、探索部22よって探索された集合の配置の組み合わせを記憶部12等から取得し、集合の行列が0である位置に他の集合を配置した仮定を生成し、その仮定が成り立つか否かを判定することで、集合の配置範囲を拡大して探索する。そして、拡張探索部23は、その結果を記憶部12等に格納する。なお、詳細は、図10から図12を用いて後述する。 The extended search unit 23 is a processing unit that searches for a combination of sets in which the arrangement range of the sets is expanded. Specifically, a combination of arrangement of sets searched by the searching unit 22 is acquired from the storage unit 12 or the like, and a hypothesis is generated in which another set is arranged at a position where the matrix of the set is 0, and the hypothesis holds. By determining whether or not, the arrangement range of the set is expanded and searched. Then, the extended search unit 23 stores the result in the storage unit 12 or the like. The details will be described later with reference to FIGS. 10 to 12. FIG.

配置部24は、ノードの配置を実行する処理部である。具体的には、配置部24は、拡張探索部23による探索結果を記憶部12等から取得し、様々なノードの配置パターンを生成し、力学的に最も安定している配置パターンを特定する。例えば、配置部24は、特定の属性を有するノードを、特定した描画範囲に配置した状態で、ノード間に斥力を発生させ且つエッジに引力を発生させるスプリングアルゴリズムで配置する。さらに、配置部24は、特定された属性を有しないノードを、特定した描画範囲外に配置した状態で、ノード間に斥力を発生させ且つエッジに引力を発生させるスプリングアルゴリズムで配置する。そして、配置部24は、その結果を記憶部12等に格納する。なお、詳細は、図13から図17を用いて後述する。 The arrangement unit 24 is a processing unit that executes node arrangement. Specifically, the placement unit 24 acquires the search result by the extended search unit 23 from the storage unit 12 or the like, generates various node placement patterns, and identifies the most dynamically stable placement pattern. For example, the arranging unit 24 arranges nodes having a specific attribute using a spring algorithm that generates repulsive forces between nodes and attractive forces on edges while arranging the nodes in a specified rendering range. Further, the placement unit 24 places nodes without the specified attributes by a spring algorithm that generates repulsive force between nodes and attractive force on edges while arranging the nodes outside the specified drawing range. Then, the placement unit 24 stores the result in the storage unit 12 or the like. The details will be described later with reference to FIGS. 13 to 17. FIG.

[処理の流れ]
ここでは、上述した各処理部が実行する処理について、図面を用いて、処理の流れと具体的な例を詳細に説明する。
[Process flow]
Here, with reference to the drawings, a flow of processing and a specific example of the processing executed by each processing unit described above will be described in detail.

(全体的な流れ)
図5は、全体的な処理の流れを示すフローチャートである。図5に示すように、検出部21は、ノードの集合と関係性を抽出し(S101)、探索部22は、集合の配置の組み合わせを探索する(S102)。続いて、拡張探索部23は、集合の配置範囲拡張の組み合わせを探索し(S103)、配置部24は、ノードを配置する(S104)。
(overall flow)
FIG. 5 is a flowchart showing the overall flow of processing. As shown in FIG. 5, the detection unit 21 extracts a set of nodes and relationships (S101), and the search unit 22 searches for a combination of arrangement of the sets (S102). Subsequently, the expansion search unit 23 searches for a combination of set placement range expansion (S103), and the placement unit 24 places nodes (S104).

(ノードの集合と関係性の検出)
図6は、ノードの集合と関係性の検出処理の流れを示すフローチャートであり、図7は、ノードの集合と関係性の検出処理を説明する図である。
(Set of nodes and detection of relationships)
FIG. 6 is a flowchart showing the flow of node set and relationship detection processing, and FIG. 7 is a diagram for explaining the node set and relationship detection processing.

検出部21は、同じ属性を有するノードの集合Qの集合Pを生成する(S201)。例えば、検出部21は、集合Q・・・Qを生成する(mは自然数)。 The detection unit 21 generates a set P of sets Qi of nodes having the same attribute (S201). For example, the detection unit 21 generates a set Q i . . . Q m (m is a natural number).

続いて、検出部21は、集合間にR%の有向性の関係があるものを検出する(S202)。例えば、図7の(a)に示すように、検出部21は、集合が有する属性間の関係等に基づき、集合Qから集合Qへの関係、集合Qから集合Qへの関係、集合Qから集合Qへの関係、集合Qから集合Qへの関係を抽出する。 Subsequently, the detection unit 21 detects groups having a directional relationship of R % (S202). For example, as shown in (a) of FIG. 7, the detection unit 21 determines the relationship between the set Q1 and the set Q2, and the relationship between the set Q2 and the set Q4 , based on the relationships between the attributes of the sets. , from set Q8 to set Q7 , and from set Q9 to set Q4 .

そして、検出部21は、有向性が検出された集合の中に同じ集合があれば結合する(S203)。例えば、図7の(b)に示すように、検出部21は、有向性が検出された集合群の中に、集合Qと集合Qとが複数回登場することから、これらをまとめることで、集合Q-Q-Qの関係性と、集合Q-集合Qの関係性とを検出する。 Then, the detecting unit 21 joins the same set among the sets for which directivity is detected (S203). For example, as shown in (b) of FIG. 7 , the detection unit 21 collects sets Q 2 and Q 4 from sets Q 2 and Q 4 appearing multiple times in a group of sets for which directionality is detected. Thus, the relationship between sets Q 1 -Q 2 -Q 4 and the relationship between sets Q 9 -Q 4 are detected.

続いて、検出部21は、検出された各集合において、ノードの一部が一致している集合があれば積集合として格納する(S204)。例えば、図7の(b)と(c)に示すように、検出部21は、集合Qにはノードxとノードyが含まれ、集合Qにはノードyとノードzが含まれることから、ノードyが共通するので、ノードyを含む積集合Qを生成する。 Subsequently, the detection unit 21 stores the detected set as a product set if there is a set in which a part of the node matches (S204). For example, as shown in (b) and (c) of FIG. 7, the detection unit 21 determines that the set Q1 includes nodes x and y, and the set Q2 includes nodes y and z. , generate the intersection Q k containing node y, since node y is common.

その後、検出部21は、生成された集合群の中に、部分集合があればそれらをまとめた集合として格納する(S205)。例えば、検出部21は、集合Qには集合QとQが含まれる場合、これらをまとめて集合Qとする。 After that, if there are subsets in the generated set group, the detection unit 21 stores them as a set (S205). For example, when the set Q9 includes the sets Q1 and Q2 , the detection unit 21 collectively sets them as the set Q9 .

(集合の配置の組み合わせ探索)
図8は、集合の配置の組み合わせの探索処理の流れを示すフローチャートであり、図9は、集合の配置の組み合わせの探索を説明する図である。
(Combination search for arrangement of sets)
FIG. 8 is a flowchart showing the flow of search processing for combinations of arrangement of sets, and FIG. 9 is a diagram for explaining the search for combinations of arrangement of sets.

図8に示すように、探索部22は、図6で生成された集合群Sから起点となる集合Tを任意に選択する(S301)。続いて、探索部22は、選択した集合Tに部分集合が含まれない場合(S302:No)、集合Tと有向性で結ばれた集合Uを集合Tの隣に配置する(S303)。一方、探索部22は、選択した集合Tに部分集合が含まれる場合(S302:Yes)、集合Tの部分集合と有向性で結ばれた集合Uを集合Tの隣に配置する(S304)。なお、集合Uが複数存在する場合は、任意の集合を1つ選択する。 As shown in FIG. 8, the search unit 22 arbitrarily selects a set T as a starting point from the set group S generated in FIG. 6 (S301). Subsequently, when the selected set T does not include a subset (S302: No), the search unit 22 arranges the set U connected to the set T by directivity next to the set T (S303). On the other hand, when the subset is included in the selected set T (S302: Yes), the searching unit 22 arranges the set U connected to the subset of the set T with directionality next to the set T (S304). . Note that if there are a plurality of sets U, an arbitrary set is selected.

そして、探索部22は、有向性で結ばれた他の集合が存在するか否かを判定し(S305)、該当する他の集合が存在しない場合(S305:No)、すべての組み合わせが探索済みか否かを判定する(S306)。 Then, the search unit 22 determines whether or not there is another set connected by directionality (S305), and if there is no other corresponding set (S305: No), all combinations are searched. It is determined whether or not it is completed (S306).

ここで、未探索の組み合わせが存在する場合(S306:No)、探索部22は、S305以降を繰り返す。一方、探索部22は、すべての組み合わせが探索済みである場合(S306:Yes)、探索された組み合わせを配列V(変数V)に格納し(S307)、集合の行列を変換することで重複するものを、1つ残して配列Vから除外する(S308)。 Here, if there is an unsearched combination (S306: No), the search unit 22 repeats S305 and subsequent steps. On the other hand, if all the combinations have been searched (S306: Yes), the search unit 22 stores the searched combinations in the array V (variable V) (S307), and transforms the matrix of the set to duplicate are excluded from the array V, leaving one (S308).

また、S305において、探索部22は、有向性で結ばれた他の集合が存在する場合(S305:Yes)、有向性で結ばれた部分集合が存在するか否かを判定する(S309)。 In addition, in S305, if there is another directionally-connected set (S305: Yes), the searching unit 22 determines whether or not there is a directionally-connected subset (S309 ).

そして、探索部22は、有向性で結ばれた部分集合が存在する場合(S309:Yes)、部分集合と有向性で結ばれた集合を選択する(S310)。なお、有向性で結ばれた部分集合が存在しない場合(S309:No)、S310を実行することなく、S311が実行される。 Then, if there is a subset that is directionally connected (S309: Yes), the search unit 22 selects a set that is directionally connected to the subset (S310). Note that if there is no directed subset (S309: No), S311 is executed without executing S310.

その後、探索部22は、部分集合が配置できるか否かを判定し(S311)、配置できない場合(S311:No)、この配置の可能性がないとして破棄し(S312)、配置できる場合(S311:Yes)、有向性で結ばれた集合の隣に部分集合を配置する(S313)。 After that, the searching unit 22 determines whether or not the subset can be arranged (S311). If the subset cannot be arranged (S311: No), it is discarded as having no possibility of this arrangement (S312), and if it can be arranged (S311). : Yes), the subset is placed next to the directedly connected set (S313).

(具体例)
図9を用いて具体例を説明する。図9では、集合A、集合B、集合C、集合D、集合Eを含む集合群Sにおいて、集合Aと集合Bとの間に関係性があり、集合Bと集合Cとの間に関係性があり、集合Dと集合Eとの間に関係性があるとする。また、集合Aと集合Bの共通部分は空集合であり、集合Bと集合Cの共通部分は空集合であり、集合Dと集合Eの共通部分は集合Fであるとする。
(Concrete example)
A specific example will be described with reference to FIG. In FIG. 9, in a set group S including set A, set B, set C, set D, and set E, there is a relationship between set A and set B, and a relationship between set B and set C. , and there is a relationship between sets D and E. It is also assumed that the intersection of set A and set B is an empty set, the intersection of set B and set C is an empty set, and the intersection of set D and set E is set F.

まず、探索部22は、集合Aを選択すると、集合Aと有向性で結ばれた集合Bを集合Aの隣に配置し、図9の(1)に示す[集合A,集合B]の行列を生成する。この行列では、集合Aから集合Bへの右方向に関係性があることから、横方向の関係性を示す行列に[1]が設定される。 First, when the search unit 22 selects the set A, the search unit 22 arranges the set B connected to the set A by directivity next to the set A, and the [set A, set B] shown in (1) of FIG. Generate a matrix. In this matrix, since there is a relationship in the right direction from set A to set B, [1] is set in the matrix indicating the relationship in the horizontal direction.

次に、探索部22は、集合Bと有向性で結ばれた集合Cが存在することから、集合Cの配置を検討する。具体的には、探索部22は、集合Bの隣に配置することで、図9の(2)に示す[集合A,集合B,集合B]の行列を生成する。この行列では、集合Aから集合Bへの右方向および集合Bから集合Cへの右方向に関係性があることから、横方向の関係性を示す行列に[1,1]が設定される。 Next, the searching unit 22 examines the arrangement of the set C because there is a set C connected to the set B by directivity. Specifically, the search unit 22 generates a matrix of [set A, set B, set B] shown in (2) of FIG. 9 by arranging the set B next to it. In this matrix, since there is a relationship in the right direction from set A to set B and in the right direction from set B to set C, [1, 1] is set in the matrix indicating the relationship in the horizontal direction.

別配置として、探索部22は、集合Cを集合Bの右下に配置する配置を探索し、集合がない位置に0を設定することで、図9の(3)に示す2行3列の行列を生成する。この行列では、集合Aから集合Bへの右方向の行列に[1]、いずれの関係性もない縦方向の行列に[0]、集合Bから集合Cに該当する左上から右下への交点方向の行列に[2]が設定された各行列が生成される。 As another arrangement, the search unit 22 searches for an arrangement in which the set C is placed in the lower right of the set B, and sets 0 to the position where there is no set, resulting in the 2 rows and 3 columns shown in (3) of FIG. 9 . Generate a matrix. In this matrix, [1] is in the right direction matrix from set A to set B, [0] is in the vertical direction matrix without any relationship, and the intersection from the upper left to the lower right corresponding to set C from set B Each matrix is generated with [2] set in the direction matrix.

別配置として、探索部22は、集合Bの下に集合Cを配置する配置を探索し、集合がない位置に0を設定することで、図9の(4)に示す2行2列の行列を生成する。この行列では、集合Aから集合Bへの右方向の行列に[1]、集合Bから集合Cへの下方向に行列[1]、いずれの関係性もない交点方向の行列に[0]が設定された各行列が生成される。 As another arrangement, the search unit 22 searches for an arrangement in which the set C is arranged below the set B, and sets 0 to positions where there is no set, thereby obtaining a matrix of 2 rows and 2 columns shown in (4) of FIG. to generate In this matrix, [1] is in the right direction matrix from set A to set B, [1] is in the downward direction from set B to set C, and [0] is in the intersection direction matrix which has no relationship. Each set matrix is generated.

別配置として、探索部22は、集合Aの下に集合Cを配置する配置を探索し、集合がない位置に0を設定することで、図9の(5)に示す2行2列の行列を生成する。この行列では、集合Aから集合Bへの右方向の行列に[1]、集合Aから集合Cへの下方向に行列[1]、集合Bから集合Cに該当する右上から左下への交点方向の行列に[3]が設定された各行列が生成される。 As another arrangement, the search unit 22 searches for an arrangement in which the set C is arranged below the set A, and sets 0 to positions where there is no set, thereby obtaining a matrix of 2 rows and 2 columns shown in (5) of FIG. to generate In this matrix, the rightward matrix from set A to set B is [1], the downward direction from set A to set C is matrix [1], and the intersection direction from upper right to lower left corresponding to set B from set C is Each matrix with [3] set to the matrix of is generated.

このようにして、探索部22は、集合A、集合B、集合Cの配置として、上記(1)から(5)の5パターンを探索することができる。なお、探索部22は、(3)のパターンについては、(2)のパターンと(4)のパターンで代用可能なことから、対象外と判定して削除する。 In this way, the searching unit 22 can search the above five patterns (1) to (5) as the arrangement of the set A, set B, and set C. FIG. Note that the search unit 22 determines that the pattern (3) is out of target and deletes it because the pattern (2) and the pattern (4) can be substituted for the pattern (3).

同様に、探索部22は、集合Dと集合Eについても、集合Dと有向性で結ばれた集合Eを集合Aの隣に配置し、図9の(6)に示す[集合D,集合E]の行列を生成する。この行列では、集合と集合Eが積集合の関係性があることから、横方向の関係性を示す行列に[3]が設定される。 Similarly, with respect to sets D and E, the search unit 22 arranges set E, which is connected to set D by directivity, next to set A, and [set D, set E] matrix. In this matrix, since the set and the set E have an intersection relationship, [3] is set in the matrix indicating the relationship in the horizontal direction.

(集合の配置範囲拡張の組み合わせを探索)
図10は、集合の配置範囲を拡張した組み合わせの探索処理の流れを示すフローチャートであり、図11は、集合の配置範囲の拡張探索を説明する図であり、図12は、集合の配置範囲の拡張探索結果を説明する図である。
(Search for a combination of set placement range expansion)
FIG. 10 is a flow chart showing the flow of search processing for combinations in which the arrangement range of sets is expanded, FIG. 11 is a diagram for explaining the expanded search for the arrangement range of sets, and FIG. It is a figure explaining an extended search result.

図10に示すように、拡張探索部23は、配列V(変数V)に未処理の組み合わせが残っている場合(S401:Yes)、配列Vから一つの組み合わせWを取り出して、配列X(変数X)に格納する(S402)。 As shown in FIG. 10, when there are unprocessed combinations in array V (variable V) (S401: Yes), extended search unit 23 extracts one combination W from array V, X) (S402).

続いて、拡張探索部23は、組み合わせWの集合の行列に未調査の0がある場合(S403:Yes)、0と周囲の行列Aijの間にある関係性が0か否かを判定する(S404)。 Subsequently, if there is an unexamined 0 in the matrix of the set of combinations W (S403: Yes), the extended search unit 23 determines whether or not the relationship between 0 and the surrounding matrix A ij is 0. (S404).

ここで、拡張探索部23は、0と周囲の配列Aijの間にある関係性が0である場合(S404:Yes)、集合の行列の0の位置に行列Aijの集合をコピーしたものを配列Xに格納する(S405)。その後、拡張探索部23は、0の周りに未調査の集合が残っている場合には(S406:Yes)、S404以降を繰り返す。 Here, if the relationship between 0 and the surrounding array A ij is 0 (S404: Yes), the extended search unit 23 copies the set of the matrix A ij to the position of 0 in the matrix of the set. is stored in the array X (S405). After that, if an uninvestigated set remains around 0 (S406: Yes), the extended search unit 23 repeats S404 and subsequent steps.

なお、拡張探索部23は、S404において、0と周囲の配列Aijの間にある関係性が0ではない場合(S404:No)、S405を実行することなく、S406を実行する。また、拡張探索部23は、S406において、0の周りに未調査の集合が残っていない場合には(S406:No)、S403以降を繰り返す。 Note that if the relationship between 0 and the surrounding array A ij is not 0 in S404 (S404: No), the extended search unit 23 executes S406 without executing S405. Further, in S406, if there is no uninvestigated set around 0 (S406: No), the extended search unit 23 repeats S403 and subsequent steps.

また、拡張探索部23は、S401において、配列Vに未処理の組み合わせが残っていない場合(S401:No)、集合の行列を変換することで重複するものを1つ残して配列Xから除外する(S407)。 Further, in S401, if there are no unprocessed combinations remaining in the array V (S401: No), the extended search unit 23 converts the matrix of the set to leave one duplicate and exclude it from the array X. (S407).

(具体例)
図11と図12を用いて具体例を説明する。まず、図11を用いて、上述した図9の配置パターン(5)を例にして説明する。図11に示すように、拡張探索部23は、図9の配置パターン(5)の拡張パターンとして、集合Bの下の「0」に、当該「0」の周囲の集合をコピーすることで、3つの拡張パターンを探索する。
(Concrete example)
A specific example will be described with reference to FIGS. 11 and 12. FIG. First, with reference to FIG. 11, the arrangement pattern (5) in FIG. 9 described above will be described as an example. As shown in FIG. 11, the extended search unit 23 copies the set around "0" to "0" under set B as an extended pattern of arrangement pattern (5) in FIG. Search for three extension patterns.

具体的には、拡張探索部23は、集合Bを上下に配置した拡張パターン(a)と、集合Bの下に集合Cを配置した拡張パターン(b)と、集合Bの下に集合Aを配置した拡張パターン(c)とを探索する。ここで、拡張探索部23は、拡張パターン(c)については、集合Bから集合Cへの関係性が存在することから、左上の集合Aと拡張した右下の集合Aとを結合することができないので、拡張できないと決定する。この結果、拡張探索部23は、図9の配置パターン(5)の拡張パターンとして、拡張パターン(a)と拡張パターン(b)の2つを探索する。 Specifically, the extended search unit 23 creates an extended pattern (a) in which the set B is arranged vertically, an extended pattern (b) in which the set C is arranged below the set B, and a set A below the set B. The arranged extension pattern (c) is searched. Here, for the extended pattern (c), since there is a relationship from the set B to the set C, the extended search unit 23 can combine the upper left set A and the extended lower right set A. Since it cannot, it decides that it cannot be extended. As a result, the expansion search unit 23 searches for two expansion patterns, ie, the expansion pattern (a) and the expansion pattern (b), as the expansion patterns of the arrangement pattern (5) in FIG.

このような拡張探索の結果を図12に示す。図12は、図9に示した配置パターン(2)、(4)、(5)、(6)の拡張パターンの探索結果である。なお、配置パターン(1)は、未配置の集合があることから除外される。 The results of such an extended search are shown in FIG. FIG. 12 shows search results for the extension patterns of the arrangement patterns (2), (4), (5), and (6) shown in FIG. Note that arrangement pattern (1) is excluded because there is an unarranged set.

具体的には、配置パターン(2)について、値が「0」の位置に、隣接する集合Aを配置した拡張パターン(2)、隣接する集合Cを配置した拡張パターン(3)、隣接する集合Bを配置した拡張パターン(4)および(5)が探索される。ここで、拡張パターン(4)は、集合Aと集合Cの間に関係性がないことから、図11のパターン(c)とは異なり、関係性を跨ぐ配置にならないので、採用される。 Specifically, for the arrangement pattern (2), an extended pattern (2) in which the adjacent set A is arranged, an extended pattern (3) in which the adjacent set C is arranged, and an adjacent set Extended patterns (4) and (5) with B placed are searched. Here, the extended pattern (4) has no relationship between the set A and the set C, so unlike the pattern (c) in FIG.

拡張配置パターン(2)は、集合Aを縦方向に並べた行列となるので、縦方向の関係性の行列に同一を示す[4]が設定される。拡張配置パターン(3)は、集合Cを横方向に並べた行列となるので、横方向の関係性の行列に同一を示す[4]が設定される。拡張配置パターン(4)は、集合Bを交点方向に並べた行列となるので、交点方向の関係性の行列に同一を示す[7]が設定される。拡張配置パターン(5)は、集合Bを縦方向に並べた行列となるので、縦方向の関係性の行列に同一を示す[4]が設定される。 Since the extended arrangement pattern (2) is a matrix in which the sets A are arranged in the vertical direction, [4] indicating the same is set in the vertical relationship matrix. Since the extended arrangement pattern (3) is a matrix in which the sets C are arranged in the horizontal direction, [4] indicating the same is set in the horizontal relationship matrix. Since the extended arrangement pattern (4) is a matrix in which the set B is arranged in the intersection direction, [7] indicating the same is set in the relationship matrix in the intersection direction. Since the extended arrangement pattern (5) is a matrix in which the sets B are arranged in the vertical direction, [4] indicating the same is set in the vertical relationship matrix.

(ノードの配置)
図13は、ノードの配置処理の流れを示すフローチャートであり、図14と図15は、ノードの配置の具体例1を説明する図であり、図16と図17は、ノードの配置の具体例2を説明する図である。
(arrangement of nodes)
FIG. 13 is a flowchart showing the flow of node placement processing, FIGS. 14 and 15 are diagrams for explaining specific example 1 of node placement, and FIGS. 16 and 17 are specific examples of node placement. FIG. 2 is a diagram for explaining 2. FIG.

図13に示すように、配置部24は、図10の拡張探索処理のS402で格納された配列Xに未処理の組み合わせが残っている場合(S501:Yes)、描画範囲内のランダムな位置に、集合の配列通りにノードの描画範囲を生成する(S502)。 As shown in FIG. 13, if there are unprocessed combinations in the array X stored in S402 of the extended search process in FIG. , a node drawing range is generated according to the arrangement of the set (S502).

続いて、配置部24は、集合の範囲内にノードをランダムに配置する(S503)。そして、配置部24は、集合の関係性がある範囲でのみ影響しあうように、スプリングアルゴリズムでノードを配置し(S504)、集合の範囲とノードの相対位置を固定する(S505)。その後、配置部24は、現在表示されているノードのうち、集合の関係性がないノード間の関係を探索して描画する(S506)。 Subsequently, the placement unit 24 randomly places nodes within the range of the set (S503). Then, the arrangement unit 24 arranges the nodes by the spring algorithm so that they affect each other only in the range where the set has a relationship (S504), and fixes the range of the set and the relative position of the node (S505). After that, the placement unit 24 searches for and draws relationships between nodes that do not have a set relationship among the nodes that are currently displayed (S506).

そして、配置部24は、集合の関係性で結ばれた描画領域を一つのノードとみなし、新たに描画されたノードを加えてスプリングアルゴリズムで描画する(S507)。例えば、配置部24は、直接関係がある場合は直線で結ぶ。また、配置部24は、集合の範囲内に入らないように、複数ノードがある場合は等分して関係が近い順に並べる。 Then, the arrangement unit 24 regards the drawing areas connected by the relationship of the set as one node, adds the newly drawn node, and draws by the spring algorithm (S507). For example, the arrangement portions 24 are connected with a straight line when they are directly related. Also, if there are multiple nodes, the arrangement unit 24 divides them into equal parts and arranges them in descending order so that they do not fall within the range of the set.

その後、配置部24は、ノードの相対位置を解除し(S508)、スプリングアルゴリズムで再描画する(S509)。ただし、集合に属するノードは、その範囲から出ることはなく、属さないノードはその範囲に入ることはない。そして、配置部24は、集合の範囲とノードの相対位置を固定し(S510)、S501以降を繰り返す。 After that, the arrangement unit 24 cancels the relative positions of the nodes (S508), and redraws them using the spring algorithm (S509). However, nodes that belong to the set never leave the scope, and nodes that do not belong never enter the scope. Then, the placement unit 24 fixes the range of the set and the relative positions of the nodes (S510), and repeats S501 and subsequent steps.

また、S501において、配置部24は、図10の拡張探索処理のS402で格納された配列Xに未処理の組み合わせが残っていない場合(S501:No)、各組み合わせについて、安定している配置を求めて採用する(S511)。例えば、配置部24は、集合の範囲の中心とその集合に属するノードの距離の2乗の平均が最も小さい配置や、ノード間の距離の標準偏差が最も小さい配置などを採用する。 In addition, in S501, if there are no unprocessed combinations remaining in the array X stored in S402 of the extended search processing of FIG. It is sought and adopted (S511). For example, the placement unit 24 adopts a placement with the smallest average squared distance between the center of the range of the set and the nodes belonging to the set, or a placement with the smallest standard deviation of the distances between nodes.

その後、配置部24は、まだ配置されていないノードを、関係するエッジがつながっているノードの近くに配置し(S512)、追加されたノードをスプリングアルゴリズムで配置する(S513)。 After that, the placement unit 24 places the nodes that have not yet been placed near the nodes to which the related edges are connected (S512), and places the added nodes using the spring algorithm (S513).

(具体例)
例えば、配置部24は、集合の配置の組み合わせのうち一つとして、図14の(1)に示すように、[集合A、集合B、集合C]と[集合D、集合E]をランダムに配置する。続いて、図14の(2)に示すように、配置部24は、各集合内にノードを配置し、スプリングアルゴリズムで描画する。
(Concrete example)
For example, the arranging unit 24 randomly selects [set A, set B, set C] and [set D, set E] as one combination of set layouts, as shown in (1) of FIG. Deploy. Subsequently, as shown in (2) of FIG. 14, the placement unit 24 places nodes in each set and draws them by the spring algorithm.

そして、配置部24は、図14の(3)に示すように、集合内のノードを配置した後、集合に含まれないノードのうち別の関係性間を有するノードを、集合外に配置して連結する。その後、配置部24は、図14の(4)に示すように、関係性で結ばれた集合を1つのノードとして扱った上で、スプリングアルゴリズムで描画する。 Then, as shown in (3) of FIG. 14, after arranging the nodes in the set, the arranging unit 24 arranges, out of the nodes not included in the set, nodes having different relationships outside the set. concatenate. Thereafter, as shown in (4) of FIG. 14, the arrangement unit 24 treats the set connected by the relationship as one node and draws it by the spring algorithm.

その後、配置部24は、図15に示すように、配置された集合に含まれない未配置のノードを配置し、スプリングアルゴリズムで描画する。このとき、配置部24は、スプリングアルゴリズムで描画する際は、新たに配置した(追加した)ノードのみを動かして配置を行う。 After that, the placement unit 24 places unplaced nodes that are not included in the placed set and draws them by the spring algorithm, as shown in FIG. 15 . At this time, the placement unit 24 performs placement by moving only the newly placed (added) nodes when drawing with the spring algorithm.

同様に、配置部24は、集合の配置の組み合わせのうち一つとして、図16の(1)に示すように、[集合A、集合B、集合C]と[集合D、集合E]をランダムに配置する。この具体例2は、具体例1とは異なり、集合Bが拡張探索により配置されたパターンである。続いて、図16の(2)に示すように、配置部24は、各集合内にノードを配置し、スプリングアルゴリズムで描画する。 Similarly, the arranging unit 24 randomly selects [set A, set B, set C] and [set D, set E] as one of the set layout combinations, as shown in (1) of FIG. to be placed. This specific example 2 is a pattern in which the set B is arranged by extended search, unlike the specific example 1. FIG. Subsequently, as shown in (2) of FIG. 16, the placement unit 24 places nodes in each set and draws them by the spring algorithm.

そして、配置部24は、図16の(3)に示すように、集合内のノードを配置した後、集合に含まれないノードのうち別の関係性間を有するノードを、集合外に配置して連結する。その後、配置部24は、図16の(4)に示すように、関係性で結ばれた集合を1つのノードとして扱った上で、スプリングアルゴリズムで描画する。 Then, as shown in (3) of FIG. 16, after arranging the nodes in the set, the arranging unit 24 arranges the nodes that are not included in the set and have different relationships outside the set. concatenate. After that, as shown in (4) of FIG. 16, the arrangement unit 24 treats the set connected by the relationship as one node and draws it by the spring algorithm.

その後、配置部24は、図17に示すように、配置された集合に含まれない未配置のノードを配置し、スプリングアルゴリズムで描画する。このとき、配置部24は、スプリングアルゴリズムで描画する際は、新たに配置した(追加した)ノードのみを動かして配置を行う。 After that, the placement unit 24 places unplaced nodes that are not included in the placed set and draws them by the spring algorithm, as shown in FIG. 17 . At this time, the placement unit 24 performs placement by moving only the newly placed (added) nodes when drawing with the spring algorithm.

このようにして、配置部24は、各集合の配置の組み合わせについて、図13の処理を実行して、各構造を描画する。そして、配置部24は、最も安定している配置の組み合わせを選択し、配置結果DB16に格納する。 In this way, the arrangement unit 24 executes the processing of FIG. 13 for each set arrangement combination to render each structure. Then, the placement unit 24 selects the most stable combination of placements and stores them in the placement result DB 16 .

[効果]
上述したように、描画装置10は、ノードの属性ごとに集合を生成し、有向性の関係性をもとに集合間の位置の組み合わせを探索する。そして、描画装置10は、探索した位置関係を保持したまま、集合に属するノードを描画した後、残りのノードを描画する。その後、描画装置10は、描画した配置をもとに、最も安定している配置を採用する。したがって、描画装置10は、視覚的に理解しやすいグラフを描画することができる。
[effect]
As described above, the rendering device 10 generates a set for each node attribute, and searches for a combination of positions between the sets based on the directional relationship. Then, the drawing device 10 draws the nodes belonging to the set while maintaining the searched positional relationship, and then draws the remaining nodes. After that, the drawing apparatus 10 adopts the most stable arrangement based on the drawn arrangement. Therefore, the drawing device 10 can draw a graph that is visually easy to understand.

図18は、グラフ描画結果を説明する図である。図18では、属性が「対策」である集合(対策)、属性が「病名」である集合(病名)、属性が「症状」である集合(症状)と各ノードを描画した例である。図2の(a)に示すような一般的なスプリングアルゴリズムでは、属性である病名や対策がバラバラに配置されてしまい、1つの症状(ノード)がどの病名でどの対策と関係しているのかを直感的に把握することが難しい。一方、図18に示すように、描画装置10を用いて描画されたグラフは、関係性が一定方向に定まっていることから、属性ごとの関係性が明確であり、各属性に属するノードも明確である。したがって、1つの症状(ノード)がどの病名でどの対策と関係しているのかを直感的にも視覚的にも把握することが容易である。 FIG. 18 is a diagram for explaining graph drawing results. FIG. 18 shows an example in which a set (measure) whose attribute is "measure", a set (disease name) whose attribute is "disease name", a set (symptom) whose attribute is "symptom", and each node are drawn. In a general spring algorithm as shown in (a) of Fig. 2, the disease name and countermeasures, which are attributes, are arranged indiscriminately. It is difficult to grasp intuitively. On the other hand, as shown in FIG. 18, in the graph drawn using the drawing apparatus 10, since the relationship is determined in a fixed direction, the relationship for each attribute is clear, and the nodes belonging to each attribute are also clear. is. Therefore, it is easy to intuitively and visually grasp which symptom (node) is associated with which disease name and which countermeasure.

さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。 Although the embodiments of the present invention have been described so far, the present invention may be implemented in various different forms other than the embodiments described above.

[関係性の判定]
例えば、属性間やノード間の有向性の有無を判定する手法は、公知の様々な手法を採用することができる。また、属性の一例としては、上述した例以外にも、クラス、データ値、データタイプなどを用いることができる。また、集合を生成して配置する例を説明したが、ノードの数が少ない場合などは、ノードの属性を上述した処理に適用して配置処理を実行することもできる。なお、拡張探索処理は、省略することもできる。
[Relationship determination]
For example, various known methods can be used to determine whether there is directionality between attributes or between nodes. Further, as an example of the attribute, a class, a data value, a data type, etc. can be used in addition to the examples described above. Also, an example of generating and arranging a set has been described, but when the number of nodes is small, it is also possible to execute the arrangement processing by applying the attributes of the nodes to the above-described processing. Note that the extended search process can be omitted.

[数値等]
また、上記実施例で用いたノードの数、集合の数、閾値、行列の値、属性名、属性数等は、あくまで一例であり、任意に変更することができる。また、拡張処理は、省略することもでき、拡張処理を行わずに、ノード配置を行うことで、グラフを描画することもできる。また、各処理において、途中経過などを一時的に保存する先として、配列などを用いた例を説明したが、これに限定されるものではなく、プログラム等で利用される変数や一時領域などを用いることもできる。
[Numbers, etc.]
Also, the number of nodes, the number of sets, the threshold value, the matrix value, the attribute name, the number of attributes, etc. used in the above embodiments are only examples and can be changed arbitrarily. Moreover, the expansion process can be omitted, and the graph can be drawn by arranging the nodes without performing the expansion process. Also, in each process, an example of using an array etc. as a place to temporarily save the progress etc. was explained, but it is not limited to this, variables and temporary areas used in programs etc. can also be used.

[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[system]
Information including processing procedures, control procedures, specific names, and various data and parameters shown in the above documents and drawings can be arbitrarily changed unless otherwise specified.

また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。 Also, each component of each device illustrated is functionally conceptual, and does not necessarily need to be physically configured as illustrated. That is, the specific forms of distribution and integration of each device are not limited to those shown in the drawings. That is, all or part of them can be functionally or physically distributed and integrated in arbitrary units according to various loads and usage conditions.

さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。 Further, each processing function performed by each device may be implemented in whole or in part by a CPU and a program analyzed and executed by the CPU, or implemented as hardware based on wired logic.

[ハードウェア]
図19は、ハードウェア構成例を説明する図である。図19に示すように、描画装置10は、通信装置10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、図19に示した各部は、バス等で相互に接続される。
[hardware]
FIG. 19 is a diagram illustrating a hardware configuration example. As shown in FIG. 19, the rendering device 10 has a communication device 10a, a HDD (Hard Disk Drive) 10b, a memory 10c, and a processor 10d. 19 are interconnected by a bus or the like.

通信装置10aは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。HDD10bは、図1に示した機能を動作させるプログラムやDBを記憶する。 The communication device 10a is a network interface card or the like, and communicates with other servers. The HDD 10b stores programs and DBs for operating the functions shown in FIG.

プロセッサ10dは、図1に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、図1等で説明した各機能を実行するプロセスを動作させる。例えば、このプロセスは、描画装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、検出部21、探索部22、拡張探索部23、配置検討部24等と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、検出部21、探索部22、拡張探索部23、配置検討部24等と同様の処理を実行するプロセスを実行する。 The processor 10d reads from the HDD 10b or the like a program that executes the same processing as each processing unit shown in FIG. 1 and develops it in the memory 10c, thereby operating processes for executing each function described with reference to FIG. 1 and the like. For example, this process executes the same function as each processing unit of the drawing apparatus 10 . Specifically, the processor 10d reads a program having functions similar to those of the detection unit 21, the search unit 22, the extended search unit 23, the arrangement review unit 24, and the like, from the HDD 10b and the like. Then, the processor 10d executes the same processes as those of the detection unit 21, the search unit 22, the extended search unit 23, the placement examination unit 24, and the like.

このように、描画装置10は、プログラムを読み出して実行することで描画方法を実行する情報処理装置として動作する。また、描画装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、描画装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。 Thus, the drawing apparatus 10 operates as an information processing apparatus that executes a drawing method by reading and executing a program. Also, the drawing apparatus 10 can read the program from the recording medium by the medium reading device and execute the read program, thereby realizing the same function as the above-described embodiment. Note that the programs referred to in other embodiments are not limited to being executed by the drawing apparatus 10 . For example, the present invention can be applied in the same way when another computer or server executes the program, or when they cooperate to execute the program.

10 描画装置
11 通信部
12 記憶部
13 ノードデータDB
14 集合データDB
15 エッジ情報DB
16 配置結果DB
20 制御部
21 検出部
22 探索部
23 拡張探索部
24 配置部
10 drawing device 11 communication unit 12 storage unit 13 node data DB
14 Aggregate data DB
15 Edge information DB
16 Placement result DB
20 control unit 21 detection unit 22 search unit 23 extended search unit 24 arrangement unit

Claims (6)

コンピュータが、
データ構造が有する複数のノードそれぞれに付与される属性ごとに描画範囲を特定し、
特定した前記描画範囲に各属性を有するノードを配置した状態で、ノード間に斥力を発生させ且つエッジに引力を発生させ、
特定した前記描画範囲の外に前記各属性を有しないノードを配置した状態で、ノード間に斥力を発生させ且つエッジに引力を発生させ、
前記データ構造の各ノードを配置したグラフデータを生成する
処理を実行することを特徴とする描画方法。
the computer
Identify the drawing range for each attribute assigned to each of the multiple nodes in the data structure,
generating a repulsive force between the nodes and an attractive force on the edge in a state where the nodes having each attribute are arranged in the specified drawing range;
generating a repulsive force between the nodes and an attractive force on the edge in a state where the nodes without the attributes are arranged outside the specified drawing range;
A rendering method comprising: generating graph data in which each node of the data structure is arranged.
前記複数のノードそれぞれに付与される属性に基づき、同じ属性を有するノードを集約させた複数の集合を生成し、
前記複数の集合間の関係性に基づき、前記複数の集合それぞれを配置し、各集合内に属するノードである各所属ノードを、スプリングアルゴリズムによって配置し、
各集合内に属するノードを配置した後、いずれの集合内にも属さないノードである各無所属ノードを、前記スプリングアルゴリズムによって配置して、前記グラフデータを生成する、処理を前記コンピュータが実行することを特徴とする請求項1に記載の描画方法。
generating a plurality of sets by aggregating nodes having the same attribute based on attributes assigned to each of the plurality of nodes;
arranging each of the plurality of sets based on the relationship between the plurality of sets, and arranging each belonging node, which is a node belonging to each set, by a spring algorithm;
After arranging the nodes belonging to each set, the computer executes a process of arranging each independent node, which is a node not belonging to any set, by the spring algorithm to generate the graph data. 2. The drawing method according to claim 1, characterized by:
前記配置する処理は、前記複数の集合間の関係性に基づき、複数の配置パターンを生成し、前記複数の配置パターンそれぞれについて、前記各所属ノードを配置し、
前記生成する処理は、前記各所属ノードが配置された前記複数の配置パターンそれぞれについて前記各無所属ノードを配置し、前記各所属ノードおよび前記各無所属ノードが配置された前記複数の配置パターンそれぞれのうち、前記各集合の範囲の中心と前記各集合に属するノードの距離の2乗の平均が最も小さい配置パターン、または、ノード間の距離の標準偏差が最も小さい配置パターンを、前記グラフデータに選択することを特徴とする請求項2に記載の描画方法。
The arranging process generates a plurality of arrangement patterns based on the relationships between the plurality of sets, arranges the respective belonging nodes for each of the plurality of arrangement patterns,
The generating process includes placing each independent node for each of the plurality of placement patterns in which the belonging node is placed, and among the plurality of placement patterns in which the belonging node and the independent node are placed, , an arrangement pattern with the smallest average squared distance between the center of the range of each set and the nodes belonging to each set, or an arrangement pattern with the smallest standard deviation of the distance between nodes, is selected for the graph data. 3. The drawing method according to claim 2, wherein:
前記複数の配置パターンそれぞれについて、集合が存在しない位置に、当該位置の周辺に位置する近接集合を配置した複数の拡張配置パターンを生成する処理を、前記コンピュータが実行し、
前記配置する処理は、前記複数の拡張配置パターンそれぞれについて、前記各所属ノードを配置し、
前記生成する処理は、前記各所属ノードが配置された前記複数の拡張配置パターンそれぞれについて前記各無所属ノードを配置し、前記各所属ノードおよび前記各無所属ノードが配置された前記複数の拡張配置パターンそれぞれから、前記グラフデータに選択することを特徴とする請求項3に記載の描画方法。
For each of the plurality of arrangement patterns, the computer executes a process of generating a plurality of extended arrangement patterns by arranging adjacent sets located around the position where the set does not exist,
The arranging process arranges each belonging node for each of the plurality of extended arrangement patterns,
The generating process includes placing each of the independent nodes for each of the plurality of extended placement patterns in which the belonging nodes are placed, and each of the plurality of extended placement patterns in which the belonging nodes and the independent nodes are placed. 4. The drawing method according to claim 3, wherein the graph data is selected from .
コンピュータに、
データ構造が有する複数のノードそれぞれに付与される属性ごとに描画範囲を特定し、
特定した前記描画範囲に各属性を有するノードを配置した状態で、ノード間に斥力を発生させ且つエッジに引力を発生させ、
特定した前記描画範囲の外に前記各属性を有しないノードを配置した状態で、ノード間に斥力を発生させ且つエッジに引力を発生させ、
前記データ構造の各ノードを配置したグラフデータを生成する
処理を実行させることを特徴とする描画プログラム。
to the computer,
Identify the drawing range for each attribute assigned to each of the multiple nodes in the data structure,
generating a repulsive force between the nodes and an attractive force on the edge in a state where the nodes having each attribute are arranged in the specified drawing range;
generating a repulsive force between the nodes and an attractive force on the edge in a state where the nodes without the attributes are arranged outside the specified rendering range;
A drawing program for executing a process of generating graph data in which each node of the data structure is arranged.
データ構造が有する複数のノードそれぞれに付与される属性ごとに描画範囲を特定する特定部と、
定した前記描画範囲に各属性を有するノードを配置した状態で、ノード間に斥力を発生させ且つエッジに引力を発生させ、特定した前記描画範囲の外に前記各属性を有しないノードを配置した状態で、ノード間に斥力を発生させ且つエッジに引力を発生させて、前記データ構造の各ノードを配置したグラフデータを生成する配置部と
を有することを特徴とする描画装置。
a specifying unit that specifies a rendering range for each attribute assigned to each of a plurality of nodes of a data structure;
A repulsive force is generated between the nodes and an attractive force is generated on the edge in a state where the nodes having the respective attributes are arranged in the specified drawing range, and the nodes without the respective attributes are arranged outside the specified drawing range. an arrangement unit that generates graph data in which each node of the data structure is arranged by generating a repulsive force between nodes and an attractive force on an edge in such a state.
JP2019100763A 2019-05-29 2019-05-29 Drawing method, drawing program and drawing device Active JP7275864B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019100763A JP7275864B2 (en) 2019-05-29 2019-05-29 Drawing method, drawing program and drawing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019100763A JP7275864B2 (en) 2019-05-29 2019-05-29 Drawing method, drawing program and drawing device

Publications (2)

Publication Number Publication Date
JP2020194459A JP2020194459A (en) 2020-12-03
JP7275864B2 true JP7275864B2 (en) 2023-05-18

Family

ID=73548275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019100763A Active JP7275864B2 (en) 2019-05-29 2019-05-29 Drawing method, drawing program and drawing device

Country Status (1)

Country Link
JP (1) JP7275864B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030011601A1 (en) 2001-06-19 2003-01-16 International Business Machines Corporation Graphics image creation apparatus, and method and program therefor
JP2007193380A (en) 2006-01-16 2007-08-02 So-Net Entertainment Corp Information processor, information processing method and computer program
JP2010044617A (en) 2008-08-13 2010-02-25 Fuji Xerox Co Ltd Display information generating device, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030011601A1 (en) 2001-06-19 2003-01-16 International Business Machines Corporation Graphics image creation apparatus, and method and program therefor
JP2007193380A (en) 2006-01-16 2007-08-02 So-Net Entertainment Corp Information processor, information processing method and computer program
JP2010044617A (en) 2008-08-13 2010-02-25 Fuji Xerox Co Ltd Display information generating device, and program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
櫻庭 祐一 他,階層的レイアウトを用いたネットワークトポロジの表示方法,情報処理学会研究報告 平成22年度▲1▼ [CD-ROM] ,日本,社団法人情報処理学会,2010年06月15日

Also Published As

Publication number Publication date
JP2020194459A (en) 2020-12-03

Similar Documents

Publication Publication Date Title
JP7413580B2 (en) Generating integrated circuit floorplans using neural networks
US8510703B1 (en) Method and mechanism for implementing PCB routing
US9208278B2 (en) Clustering using N-dimensional placement
CN111400555B (en) Graph data query task processing method and device, computer equipment and storage medium
JP2017220225A (en) Localized visual graph filters for complex graph queries
JP2007304685A (en) Retrieval system and program for software component
CN111597768B (en) Method, apparatus and computer readable storage medium for constructing a layout pattern set
US6941528B2 (en) Use of a layout-optimization tool to increase the yield and reliability of VLSI designs
JP2007280383A (en) Distribution of parallel operations
CN112328880A (en) Geographical region clustering method and device, storage medium and electronic equipment
JP7275864B2 (en) Drawing method, drawing program and drawing device
US20160364908A1 (en) Analysis Model Creation Assistance System, Analysis Model Creation Assistance Device and Analysis Model Creation Assistance Program
JP5418341B2 (en) Design support program, design support apparatus, and design support method
TWI460680B (en) Data clustering method based on density
JP6705764B2 (en) Generation device, generation method, and generation program
US20230274066A1 (en) Concurrently routing multiple partitions of an integrated circuit design
US9928331B2 (en) Method and control device for circuit layout migration
CN114616571A (en) Semiconductor layout environment around points of interest
US8762898B1 (en) Double patterning aware routing without stitching
KR101085067B1 (en) Method for analyzing a dataset with various density
US10970452B2 (en) System for designing semiconductor circuit and operating method of the same
JP6873065B2 (en) Information processing equipment, information processing methods, and programs
CN116888599A (en) Method and device for layout of circuit units of integrated circuit
US20050050501A1 (en) The use of a layout-optimization tool to increase the yield and reliability of vlsi designs
JP6961133B1 (en) Search device, search method, and search program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230203

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230417

R150 Certificate of patent or registration of utility model

Ref document number: 7275864

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150