JP2012064136A - Test data generation method, test data generation device, and test data generation program - Google Patents
Test data generation method, test data generation device, and test data generation program Download PDFInfo
- Publication number
- JP2012064136A JP2012064136A JP2010209739A JP2010209739A JP2012064136A JP 2012064136 A JP2012064136 A JP 2012064136A JP 2010209739 A JP2010209739 A JP 2010209739A JP 2010209739 A JP2010209739 A JP 2010209739A JP 2012064136 A JP2012064136 A JP 2012064136A
- Authority
- JP
- Japan
- Prior art keywords
- cluster
- data generation
- test data
- nodes
- graph data
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、テストデータ生成方法、テストデータ生成装置及びテストデータ生成プログラムに関する。 The present invention relates to a test data generation method, a test data generation device, and a test data generation program.
従来、外部入力が存在する情報処理に用いるアルゴリズムの妥当性を判定することが行なわれている。ここで、外部入力が実データとして容易に取得できる場合、当該実データは、アルゴリズムの妥当性をテストするためのデータとして使用することができる。例えば、収集可能な実データとして、SNS(Social Networking Service)内におけるユーザー間のリンク構造を分析するためのグラフデータを生成することが行なわれている。 Conventionally, the validity of an algorithm used for information processing in which an external input exists is determined. Here, when the external input can be easily acquired as actual data, the actual data can be used as data for testing the validity of the algorithm. For example, as actual data that can be collected, graph data for analyzing a link structure between users in an SNS (Social Networking Service) is generated.
一方、実データが容易に収集できない場合、アルゴリズムの妥当性を判定するためには、外部入力を擬似したテストデータが必要となる。通信網を分析対象とするアルゴリズムにおいて実データをテスト用に収集することは、分析対象が大規模であり、また、実データを逐次収集する際に収集中の実データの状態が実時間で変化してしまう場合があることから、困難である。すなわち、通信網を分析対象とするアルゴリズムの妥当性を判定するためには、テストデータを生成することが必要となる。 On the other hand, when actual data cannot be easily collected, test data simulating an external input is required to determine the validity of the algorithm. Collecting actual data for testing in an algorithm whose analysis target is a communication network is that the analysis target is large-scale, and the state of the actual data being collected changes in real time when the actual data is collected sequentially. It may be difficult to do so. That is, it is necessary to generate test data in order to determine the validity of an algorithm whose analysis target is a communication network.
このため、電話網の出現以来、交換機などの試験では、電話網の制御アルゴリズムを検証するために、外部入力を擬似したテストデータを生成する装置が使用されてきた。電話のように通信経路が物理的回線と対応付けられ、かつ、回線の接続構造が地理的条件から自明ならば、テストデータは、比較的容易に生成することができる。すなわち、グラフ構造を容易に取得することができるので、テストデータは、例えば、乱数で通信密度を決定することで容易に生成することができる。 For this reason, since the advent of the telephone network, a device for generating test data that simulates an external input has been used in testing of an exchange or the like in order to verify a control algorithm of the telephone network. If the communication path is associated with a physical line as in the case of a telephone and the connection structure of the line is obvious from geographical conditions, the test data can be generated relatively easily. That is, since the graph structure can be easily acquired, the test data can be easily generated by determining the communication density with, for example, a random number.
ところで、現在のインターネットサービスにおける接続の概念は、物理的な機器間でないWebページ間のリンクにも存在する。また、全てのWebページ間は、リンクさえ記述すれば直接遷移が可能である。従って、インターネットサービスにおいては、電話網のように、地理的条件などに基づく自明な接続構造の抽出が困難であった。 By the way, the concept of connection in the current Internet service also exists in a link between Web pages that is not between physical devices. In addition, direct transition is possible between all Web pages as long as a link is described. Therefore, in the Internet service, it is difficult to extract a trivial connection structure based on geographical conditions as in a telephone network.
また、全てのWebページ間は、同確率でランダムにリンクされるわけではなく、潜在する縁故などによって偏ったリンクが張られている。さらに、検索エンジンなどでは、潜在的なコミュニティ内での偏ったリンクによる関係性を利用したアルゴリズムの需要がある。検索アルゴリズムなどの動作検証では、テストデータが潜在的なコミュニティ内での偏ったリンク構造を模擬していないと、検証の妥当性が不確かになる。 Also, not all Web pages are linked at random with the same probability, but links that are biased due to potential ties, etc. are provided. Furthermore, in search engines, etc., there is a demand for an algorithm that uses the relationship due to a biased link in a potential community. In operation verification such as a search algorithm, if the test data does not simulate a biased link structure in a potential community, the validity of the verification becomes uncertain.
しかし、上記した従来の技術は、回線の接続構造が取得できることを前提としているので、Webページ間のリンクのように、潜在的なコミュニティ内での偏ったリンク構造を模擬したテストデータを生成することができなかった。 However, since the conventional technology described above is based on the assumption that the connection structure of the line can be acquired, test data that simulates a biased link structure in a potential community, such as a link between Web pages, is generated. I couldn't.
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、潜在的なコミュニティ内での偏ったリンク構造を模擬したテストデータを生成することが可能となるテストデータ生成方法、テストデータ生成装置及びテストデータ生成プログラムを提供することを目的とする。 Accordingly, the present invention has been made to solve the above-described problems of the prior art, and test data generation that can generate test data that simulates a biased link structure in a potential community. It is an object to provide a method, a test data generation device, and a test data generation program.
上述した課題を解決し、目的を達成するために、本願の開示するテストデータ生成方法は、コンピュータが、識別情報がそれぞれ付与された複数のノードから構成されるノード群を、当該ノード群の総ノード数及び所定のクラスタ規模数で決定されるクラスタ数に無作為に分割することで、複数のクラスタを生成するクラスタ生成ステップと、前記クラスタ生成ステップにより生成された各クラスタを構成するノード間のリンク状態を示すリンク属性情報を、当該ノード間に対して生成された乱数及び所定の閾値を用いて設定することで、前記複数のクラスタそれぞれにおけるリンク構造を示すグラフデータを生成するグラフデータ生成ステップと、前記クラスタ生成ステップによるクラスタ生成処理及び前記グラフデータ生成ステップによるグラフデータ生成処理を所定の回数繰り返すように制御することで、前記グラフデータ生成ステップにより生成された全てのグラフデータを、各ノードに付与された識別情報に基づいて統合することで、前記ノード群を構成する各ノード間のリンク状態を模擬したテストデータを生成するテストデータ生成ステップと、を含んだことを特徴とする。 In order to solve the above-described problems and achieve the object, the test data generation method disclosed in the present application is a computer in which a node group composed of a plurality of nodes each having identification information is assigned to the total node group. By randomly dividing the number of nodes and the number of clusters determined by a predetermined number of clusters, a cluster generation step for generating a plurality of clusters and between nodes constituting each cluster generated by the cluster generation step A graph data generation step of generating graph data indicating a link structure in each of the plurality of clusters by setting link attribute information indicating a link state using a random number generated between the nodes and a predetermined threshold value And a cluster generation process by the cluster generation step and the graph data generation step. By controlling the graph data generation process to repeat a predetermined number of times, all the graph data generated by the graph data generation step is integrated based on the identification information given to each node, so that the node group And a test data generation step for generating test data simulating the link state between the nodes constituting the network.
また、本願の開示するテストデータ生成装置は、識別情報がそれぞれ付与された複数のノードから構成されるノード群を、当該ノード群の総ノード数及び所定のクラスタ規模数で決定されるクラスタ数に無作為に分割することで、複数のクラスタを生成するクラスタ生成手段と、前記クラスタ生成手段により生成された各クラスタを構成するノード間のリンク状態を示すリンク属性情報を、当該ノード間に対して生成された乱数及び所定の閾値を用いて設定することで、前記複数のクラスタそれぞれにおけるリンク構造を示すグラフデータを生成するグラフデータ生成手段と、前記クラスタ生成手段によるクラスタ生成処理及び前記グラフデータ生成手段によるグラフデータ生成処理を所定の回数繰り返すように制御することで、前記グラフデータ生成手段により生成された全てのグラフデータを、各ノードに付与された識別情報に基づいて統合することで、前記ノード群を構成する各ノード間のリンク状態を模擬したテストデータを生成するテストデータ生成手段と、を備えたことを特徴とする。 In addition, the test data generation device disclosed in the present application is configured such that a node group composed of a plurality of nodes each having identification information is assigned to the number of clusters determined by the total number of nodes of the node group and a predetermined cluster size number. By randomly dividing the cluster generation means for generating a plurality of clusters, and link attribute information indicating the link state between the nodes constituting each cluster generated by the cluster generation means, between the nodes A graph data generation unit that generates graph data indicating a link structure in each of the plurality of clusters by setting using the generated random number and a predetermined threshold, and a cluster generation process and the graph data generation by the cluster generation unit By controlling the graph data generation processing by means to be repeated a predetermined number of times, the graph All the graph data generated by the data generation means is integrated based on the identification information given to each node, thereby generating test data that simulates the link state between the nodes constituting the node group. And test data generation means.
また、本願の開示するテストデータ生成プログラムは、上記のテストデータ生成方法をコンピュータに実行させることを特徴とする。 A test data generation program disclosed in the present application causes a computer to execute the test data generation method.
本願の開示するテストデータ生成方法、テストデータ生成装置及びテストデータ生成プログラムによれば、潜在的なコミュニティ内での偏ったリンク構造を模擬したテストデータを生成することが可能となる。 According to the test data generation method, test data generation apparatus, and test data generation program disclosed in the present application, it is possible to generate test data that simulates a biased link structure in a potential community.
以下、本願の開示するテストデータ生成方法、テストデータ生成装置及びテストデータ生成プログラムの実施例を詳細に説明する。以下では、本願の開示するテストデータ生成方法を実行するテストデータ生成装置を実施例として説明する。なお、以下の実施例により本発明が限定されるものではない。 Hereinafter, embodiments of a test data generation method, a test data generation device, and a test data generation program disclosed in the present application will be described in detail. Hereinafter, a test data generation apparatus that executes the test data generation method disclosed in the present application will be described as an example. In addition, this invention is not limited by the following examples.
図1及び図2を用いて、実施例1に係るテストデータ生成装置について説明する。図1は、実施例1に係るテストデータ生成装置の構成を説明するための図であり、図2は、実施例1に係るテストデータ生成装置が実行する処理の概要を説明するための図である。 A test data generation apparatus according to the first embodiment will be described with reference to FIGS. 1 and 2. FIG. 1 is a diagram for explaining the configuration of the test data generation device according to the first embodiment, and FIG. 2 is a diagram for explaining an overview of processing executed by the test data generation device according to the first embodiment. is there.
図1に示すように、実施例1に係るテストデータ生成装置10は、クラスタ生成部11と、グラフデータ生成部12と、テストデータ生成部13とを有する。
As illustrated in FIG. 1, the test
ここで、実施例1に係るテストデータ生成装置10は、外部入力が存在する情報処理に用いるアルゴリズムの妥当性を判定する際、外部入力が実データとして容易に取得できない場合に、当該外部入力を擬似したテストデータを生成する装置である。例えば、実施例1に係るテストデータ生成装置は、インターネットサービスにおけるWebページの検索アルゴリズムの動作検証を行なうためのテストデータを生成する。具体的には、実施例1に係るテストデータ生成装置は、Webページ間のリンクのように、潜在的なコミュニティ内での偏ったリンク構造を模擬したテストデータを生成する。
Here, the test
より具体的には、クラスタ生成部11、グラフデータ生成部12及びテストデータ生成部13は、テストデータ生成装置10の操作者から、図1に示すように、設定リストを受け付けた場合に、協働してテストデータの生成を行なう。ここで、設定リストには、図2の(A)に示すように、総ノード数(n)、クラスタ規模数(m)、多重帰属可能数(t)及び閾値(s)が設定される。以下、設定リストに記載された各数値を用いて実行されるクラスタ生成部11、グラフデータ生成部12及びテストデータ生成部13の処理を説明する。
More specifically, the cluster generation unit 11, the graph
クラスタ生成部11は、まず、識別情報がそれぞれ付与された複数のノードから構成されるノード群を設定する。 The cluster generation unit 11 first sets a node group composed of a plurality of nodes to which identification information is assigned.
例えば、図2の(A)に示すように、「総ノード数(n):4」と設定されている場合、クラスタ生成部11は、4つのノードからなるノード群を設定する。ここで、クラスタ生成部11は、4つのノードそれぞれに、ノード番号「1〜4」を識別情報として付与する。これにより、クラスタ生成部11は、図2の(A)に示すように、ノード番号「1〜4」が付与された4つのノードから構成されるノード群「N={1,2,3,4}」を設定する。なお、識別情報は、各ノードを一意に特定できるものであれば任意の情報でよく、例えば、名称であってもよい。 For example, as illustrated in FIG. 2A, when “total number of nodes (n): 4” is set, the cluster generation unit 11 sets a node group including four nodes. Here, the cluster generation unit 11 assigns node numbers “1 to 4” as identification information to each of the four nodes. As a result, as shown in FIG. 2A, the cluster generation unit 11 has a node group “N = {1, 2, 3, 3] composed of four nodes assigned node numbers“ 1 to 4 ”. 4} ". The identification information may be any information as long as it can uniquely identify each node, and may be a name, for example.
ここで、総ノード数「n」が設定された場合、テストデータ生成部13は、「n×n」通りのノード間のリンク状態を模擬したテストデータを生成することとなる。例えば、テストデータ生成部13は、「n×n」の正方行列の各要素にノード間のリンク状態を設定することで、テストデータを生成する。ここで、テストデータ生成部13は、テストデータを「n×n」の零行列又は単位行列に初期設定する。
Here, when the total number of nodes “n” is set, the test
すなわち、操作者がノード間の関連性の強さを模擬したテストデータを生成したい場合、各ノードが自ノードと完全に接続されていると設定することが適切であるので、操作者の指示により、テストデータ生成部13は、生成するテストデータを「n×n」の単位行列に初期設定する。また、操作者がノード間のリンクの有無を模擬したテストデータを生成したい場合、自ノードをリンク先ではないと設定することが適切であるので、操作者の指示により、テストデータ生成部13は、生成するテストデータを「n×n」の零行列に初期設定する。
That is, when the operator wants to generate test data that simulates the strength of the relationship between nodes, it is appropriate to set that each node is completely connected to its own node. The test
例えば、ノード間の関連性の強さを模擬したテストデータを生成したい操作者の指示により、テストデータ生成部13は、図2の(A)に示すように、生成するテストデータ「Ea」を「4×4」の単位行列に初期設定する。
For example, in response to an instruction from an operator who wants to generate test data simulating the strength of relevance between nodes, the test
そして、クラスタ生成部11は、ノード群を、総ノード数(n)及びクラスタ規模数(m)で決定されるクラスタ数に無作為に分割することで、複数のクラスタを生成する。例えば、「m」が「n」の約数である場合、クラスタ生成部11は、「c=n/m」回にわたり、ノード群を構成する「n」個のノードから「m」個のノードを順次無作為に選択する。これにより、クラスタ生成部11は、「n」個のノードからなるノード群を「m」個のノードから構成されるクラスタ「M(1)〜M(c)」に分割する。 Then, the cluster generation unit 11 generates a plurality of clusters by randomly dividing the node group into the number of clusters determined by the total number of nodes (n) and the number of cluster sizes (m). For example, when “m” is a divisor of “n”, the cluster generation unit 11 performs “c = n / m” times from “n” nodes constituting the node group to “m” nodes. Are randomly selected. Accordingly, the cluster generation unit 11 divides the node group including “n” nodes into clusters “M (1) to M (c)” including “m” nodes.
図2の(A)に示す一例では、クラスタ生成部11は、設定リストにて「総ノード数(n):4、クラスタ規模数(m):2」と設定されているので、「2=4/2」回にわたり、ノード群を構成する「4」個のノードから「2」個のノードのノードを順次無作為に選択する。これにより、クラスタ生成部11は、「4」個のノードからなるノード群「N」を、「2」個のノードから構成されるクラスタ「M(1)及びM(2)」に分割する。 In the example shown in FIG. 2A, the cluster generation unit 11 is set as “total number of nodes (n): 4, cluster size number (m): 2” in the setting list, so “2 = The nodes of “2” nodes are sequentially selected at random from “4” nodes constituting the node group over 4/2 times. Thereby, the cluster generation unit 11 divides the node group “N” composed of “4” nodes into clusters “M (1) and M (2)” composed of “2” nodes.
図2の(B)に示す一例では、クラスタ生成部11は、ノード群「N」を、「M(1)={1,3}」及び「M(2)={2,4}」に分割する。なお、総ノード数がクラスタ規模数で割り切れない場合のクラスタ生成部11の処理については、後に詳細に説明する。 In the example illustrated in FIG. 2B, the cluster generation unit 11 sets the node group “N” to “M (1) = {1, 3}” and “M (2) = {2, 4}”. To divide. The processing of the cluster generation unit 11 when the total number of nodes is not divisible by the number of cluster scales will be described in detail later.
そして、図1に示すグラフデータ生成部12は、クラスタ生成部11により生成された各クラスタを構成するノード間のリンク状態を示すリンク属性情報を、当該ノード間に対して生成された乱数及び閾値(s)を用いて設定することで、複数のクラスタそれぞれにおけるリンク構造を示すグラフデータを生成する。
Then, the graph
具体的には、グラフデータ生成部12は、ノード番号「i」からノード番号「j」へのリンク属性情報「e(i,j)」を設定する際に、まず、乱数「r」を生成する。そして、グラフデータ生成部12は、例えば、乱数「r」が閾値「s」より大きい値である場合、「e(i,j)」として「r」に基づくリンク属性情報を設定し、乱数「r」が閾値「s」以下の値である場合、「e(i,j)」を「0」に設定する。なお、グラフデータ生成部12は、ノード番号「i」からノード番号「i」へのリンク属性情報「e(i,i)」を「0」と設定する。
Specifically, when setting the link attribute information “e (i, j)” from the node number “i” to the node number “j”, the graph
例えば、クラスタ「M(1)」において、グラフデータ生成部12は、図2の(B)に示すように、ノード番号「1」からノード番号「3」へのリンク属性情報を設定するための乱数「r」を生成し、「r」と「s」との大小関係に基づいて、「e(1,3)」を設定する。また、グラフデータ生成部12は、図2の(B)に示すように、ノード番号「3」からノード番号「1」へのリンク属性情報を設定するための乱数「r」、「r」と「s」との大小関係に基づいて、「e(3,1)」を設定する。これにより、グラフデータ生成部12は、図2の(B)に示すように、クラスタ「M(1)」のグラフデータとして、各要素にリンク属性情報が設定された「2×2」の正方行列「E1」を生成する。
For example, in the cluster “M (1)”, the graph
また、グラフデータ生成部12は、図2の(B)に示すように、クラスタ「M(2)」において、ノード番号「2」からノード番号「4」へのリンク属性情報を設定するための乱数「r」を生成して「e(2,4)」を設定し、ノード番号「4」からノード番号「2」へのリンク属性情報を設定するための乱数「r」を生成して「e(4,2)」を設定する。これにより、グラフデータ生成部12は、図2の(B)に示すように、クラスタ「M(2)」のグラフデータとして、各要素にリンク属性情報が設定された「2×2」の正方行列「E2」を生成する。なお、リンク属性情報が設定される順番は、任意の順番でよい。
Further, as shown in FIG. 2B, the graph
そして、図1に示すテストデータ生成部13は、クラスタ生成部11によるクラスタ生成処理及びグラフデータ生成部12によるグラフデータ生成処理を多重帰属可能数(t)繰り返すように制御することで、グラフデータ生成部12により生成された全てのグラフデータを、各ノードに付与された識別情報に基づいて統合することで、ノード群を構成する各ノード間のリンク状態を模擬したテストデータを生成する。
Then, the test
例えば、テストデータ生成部13は、図2の(B)に示すように、1回目の処理によりグラフデータ生成部12が生成したE1及びE2を、ノード番号に応じて初期設定のEaに組み込む。そして、テストデータ生成部13は、クラスタ生成部11及びグラフデータ生成部12に対して2回目の処理を行なうように指示を送出する。
For example, as shown in FIG. 2B, the test
これにより、クラスタ生成部11は、図2の(C)に示すように、2回目の処理において、ノード群「N」を、例えば、「M(1)={1,4}」及び「M(2)={2,3}」の2つのクラスタに分割する。そして、グラフデータ生成部12は、図2の(C)に示すように、クラスタ「M(1)」において、ノード番号「1」からノード番号「4」へのリンク属性情報を設定するための乱数「r」を生成して「e(1,4)」を設定し、ノード番号「4」からノード番号「1」へのリンク属性情報を設定するための乱数「r」を生成して「e(4,1)」を設定する。これにより、グラフデータ生成部12は、図2の(C)に示すように、クラスタ「M(1)」の2回目のグラフデータとして、「E1」を生成する。
Thereby, as shown in FIG. 2C, the cluster generation unit 11 sets the node group “N” to “M (1) = {1, 4}” and “M” in the second process. (2) = {2, 3} ”is divided into two clusters. Then, the graph
また、グラフデータ生成部12は、図2の(C)に示すように、クラスタ「M(2)」において、ノード番号「2」からノード番号「3」へのリンク属性情報を設定するための乱数「r」を生成して「e(2,3)」を設定し、ノード番号「3」からノード番号「2」へのリンク属性情報を設定するための乱数「r」を生成して「e(3,2)」を設定する。これにより、グラフデータ生成部12は、図2の(C)に示すように、クラスタ「M(2)」の2回目のグラフデータとして、「E2」を生成する。
Further, as shown in FIG. 2C, the graph
そして、テストデータ生成部13は、1回目の処理により生成されたE1及びE2が組み込まれたEaに対して、2回目の処理により生成されたE1及びE2をノード番号に応じて組み込む。これにより、テストデータ生成部13は、図2の(C)に示すように、グラフデータ生成部12の1回目及び2回目の処理結果が反映されたEaを生成する。
Then, the test
そして、テストデータ生成部13は、図2の(C)に示すように、クラスタ生成部11及びグラフデータ生成部12の処理を「t」回繰り返させる。これにより、テストデータ生成部13は、グラフデータ生成部12が1回目からt回目の処理により生成した全てのグラフデータが統合されたテストデータ「Ea」を生成する。なお、テストデータ生成部13によるグラフデータの統合処理は、上述したように、グラフデータ生成部12の処理が終了するごとに実行される場合であっても良いし、グラフデータ生成部12のt回分の処理が終了した後にまとめて実行される場合であっても良い。
Then, the test
上述したように、実施例1によれば、クラスタ生成部11は、識別情報がそれぞれ付与された複数のノードから構成されるノード群を、当該ノード群の総ノード数及びクラスタ規模数で決定されるクラスタ数に無作為に分割することで、複数のクラスタを生成する。そして、グラフデータ生成部12は、クラスタ生成部11により生成された各クラスタを構成するノード間のリンク状態を示すリンク属性情報を、当該ノード間に対して生成された乱数及び閾値を用いて設定することで、複数のクラスタそれぞれにおけるリンク構造を示すグラフデータを生成する。そして、テストデータ生成部13は、クラスタ生成部11によるクラスタ生成処理及びグラフデータ生成部12によるグラフデータ生成処理を多重帰属可能数繰り返すように制御することで、グラフデータ生成部12により生成された全てのグラフデータを、各ノードに付与された識別情報に基づいて統合することで、ノード群を構成する各ノード間のリンク状態を模擬したテストデータを生成する。
As described above, according to the first embodiment, the cluster generation unit 11 determines a node group including a plurality of nodes to which identification information is assigned, based on the total number of nodes and the number of cluster sizes of the node group. Multiple clusters are generated by randomly dividing the number of clusters. Then, the graph
すなわち、実施例1では、クラスタ生成処理及びグラフデータ生成処理を複数回繰り返し、さらに、生成された全グラフデータを統合することでテストデータを生成する。ここで、クラスタ生成部11により生成されたクラスタは、潜在的なコミュニティと見なすことができる。また、グラフデータ生成部12により生成されたグラフデータは、コミュニティ内での偏ったリンク構造を模擬したデータと見なすことができる。すなわち、実施例1で生成されるデータは、偏ったリンク構造を有する複数のコミュニティが入り組んで形成される状態の通信網を模擬したデータとなる。従って、実施例1では、潜在的なコミュニティ内での偏ったリンク構造を模擬したテストデータを生成することが可能となる。
That is, in the first embodiment, test data is generated by repeating the cluster generation process and the graph data generation process a plurality of times, and further integrating all the generated graph data. Here, the cluster generated by the cluster generation unit 11 can be regarded as a potential community. The graph data generated by the graph
実施例2では、実施例1で説明したクラスタ生成処理、グラフデータ生成処理及びテストデータ生成処理を詳細に説明する。 In the second embodiment, the cluster generation process, the graph data generation process, and the test data generation process described in the first embodiment will be described in detail.
まず、実施例2に係るテストデータ生成装置10を、図3などを用いて説明する。図3は、実施例2に係るテストデータ生成装置の構成を説明するための図である。
First, the test
実施例2に係るテストデータ生成装置は、図3に示すように、入力部20、出力部30、入出力制御I/F部40、記憶部50及び処理部60を有する。
As illustrated in FIG. 3, the test data generation apparatus according to the second embodiment includes an
入力部20は、マウスやキーボード、FD(Flexible Disk Drive)、CD−ROM(Compact Disc Read Only Memory)、MO(Magneto Optical Disc)、DVD(Digital Versatile Disc)などの記録媒体の読取装置などを有し、テストデータ生成装置10の操作者から各種設定情報を受け付ける。具体的には、入力部20は、テストデータ生成装置10の操作者から総ノード数(n)、クラスタ規模数(m)、多重帰属可能数(t)及び閾値(s)が設定された設定リストの登録を受け付ける。
The
出力部30は、モニタやスピーカなどを有し、例えば、後述する処理部60の処理結果などをモニタに表示する。
The
入出力制御I/F部40は、入力部20および出力部30と、記憶部50および処理部60との間におけるデータ転送を制御する。
The input / output control I /
記憶部50は、処理部60による各種処理に用いるデータと、処理部60による各種処理結果を記憶する。記憶部50は、例えば、HDD(Hard Disc Drive)やRAM(Random Access Memory)などである。具体的には、記憶部50は、図3に示すように、設定リスト51、ノードリスト52、クラスタ別グラフデータ53及びテストデータ54を有する。
The storage unit 50 stores data used for various processes by the
設定リスト51は、入力部20が受け付けた設定リストを記憶する。図4は、図3に示す設定リストを説明するための図である。
The setting
設定リスト51は、例えば、図4の(A)に示すように、「総ノード数:n、多重帰属可能数:t、クラスタ規模数:m、閾値:s」が設定された設定リストを記憶する。あるいは、設定リスト51は、例えば、図4の(B)に示すように、「総ノード数:n、多重帰属可能数:t」と、t個のクラスタ規模数が配列された「m1,m2,・・・・・・・・,mt」と、t個の閾値が配列された「s1,s2,・・・・・・・・,st」とが設定された設定リストを記憶する。
For example, as shown in FIG. 4A, the setting
すなわち、図4の(A)に示す一例では、t回繰り返されるクラスタ生成処理を全て同じクラスタ規模数にて実行し、かつ、t回繰り返されるグラフデータ生成処理を全て同じ閾値にて実行するように設定されている。一方、図4の(B)に示す一例では、t回繰り返されるクラスタ生成処理に用いられるクラスタ規模数が変化するように設定され、t回繰り返されるグラフデータ生成処理に用いられる閾値が変化するように設定されている。なお、t個のクラスタ規模数それぞれは、互いに異なる値であってもよいし、一部又は全部が同じ値である場合であってもよい。同様に、t個の閾値それぞれは、互いに異なる値であってもよいし、一部又は全部が同じ値である場合であってもよい。 That is, in the example shown in FIG. 4A, all cluster generation processes repeated t times are executed with the same number of cluster scales, and all graph data generation processes repeated t times are executed with the same threshold value. Is set to On the other hand, in the example shown in FIG. 4B, the number of cluster sizes used in the cluster generation process repeated t times is set to change, and the threshold value used in the graph data generation process repeated t times changes. Is set to Each of the t cluster scale numbers may be different from each other, or a part or all of them may have the same value. Similarly, each of the t threshold values may be different from each other, or may be a case where a part or all of them are the same value.
ノードリスト52は、設定リスト51が記憶する設定リストの総ノード数「n」に基づいて、処理部60のクラスタ生成部11が設定したノード群を構成する複数のノードのリストを記憶する。ノードリスト52の記憶部50における領域規模は、総ノード数に応じて、例えば、クラスタ生成部11により確保される。図5は、図3に示すノードリストを説明するための図である。
The
ノードリスト52は、例えば、図5の(A)に示すように、「n」個のノードそれぞれに、ノード番号「1,2,3、・・・・、n−1、n」が識別情報として付与された形式のノードリストを記憶する。あるいは、ノードリスト52は、例えば、図5の(B)に示すように、名称「名称(1),名称(2),名称(3)、・・・・、名称(n−1)、名称(n)」が識別情報として付与された形式のノードリストを記憶する。なお、以下では、ノードリスト52が、「n」個のノードそれぞれに、ノード番号が識別情報として付与された形式のノードリストを記憶する場合について説明する。
In the
図3に戻って、クラスタ別グラフデータ53は、処理部60のクラスタ生成部11が生成した各クラスタを構成するノードのリスト及び処理部60のグラフデータ生成部12が生成した各クラスタのリンクリストを記憶する。すなわち、クラスタ別グラフデータ53は、クラスタ生成部11が生成した各クラスタを構成するノードのリストを、クラスタ別にまとめたクラスタ別ノードリストを記憶する。また、クラスタ別グラフデータ53は、クラスタ生成部11が生成した各クラスタを構成するノード間のリンク属性情報のリストを、クラスタ別にまとめたクラスタ別リンクリストを記憶する。換言すれば、クラスタ別グラフデータ53は、クラスタ別ノードリストとクラスタ別リンクリストとをクラスタごとにペアとして記憶することで、各クラスタのグラフデータを記憶する。
Returning to FIG. 3, the cluster-
なお、クラスタ別ノードリストの記憶部50における領域規模は、総ノード数、クラスタ規模数、多重帰属可能数及び後述するクラスタ生成法に応じて、例えば、クラスタ生成部11及びグラフデータ生成部12により確保される。すなわち、クラスタ別ノードリストの領域規模は、クラスタ生成部11が多重帰属可能数分繰り返して生成した各クラスタを構成するノード数を加算した領域規模となる。また、クラスタ別リンクリストの領域規模は、クラスタ生成部11が多重帰属可能数分繰り返して生成した各クラスタを構成するノード数を二乗した数を加算した領域規模となる。
The area size in the storage unit 50 of the cluster-specific node list is determined by, for example, the cluster generation unit 11 and the graph
テストデータ54は、処理部60のテストデータ生成部13が生成したテストデータを記憶する。総ノード数「n」が設定された場合、ノード間のリンク状態を模擬したテストデータは、「n×n」通りのノード間のリンク状態を模擬したデータとなる。すなわち、テストデータ54の記憶部50における領域規模は、総ノード数の二乗個に相当する領域規模として、例えば、テストデータ生成部13により確保される。図6は、図3に示すテストデータのデータ形式を説明するための図である。
The test data 54 stores test data generated by the test
例えば、テストデータ54は、図6の(A)に示すように、「n×n」の正方行列のデータ形式にてテストデータを記憶する。図6の(A)に示す一例では、i行目、j 列目の要素が、リンク元であるi番目のノードからリンク先であるj番目のノードへのリンク属性情報となる。 For example, as shown in FIG. 6A, the test data 54 stores test data in a data format of an “n × n” square matrix. In the example shown in FIG. 6A, the element in the i-th row and j-th column is the link attribute information from the i-th node as the link source to the j-th node as the link destination.
あるいは、テストデータ54は、図6の(B)に示すように、「リンク元、リンク先、リンク属性情報」といったn個の配列情報のデータ形式にてテストデータを記憶する。なお、以下では、テストデータ54が、図6の(A)に示す「n×n」の正方行列のデータ形式にてテストデータを記憶する場合について説明する。 Alternatively, the test data 54 stores test data in a data format of n pieces of array information such as “link source, link destination, link attribute information” as shown in FIG. In the following, a case will be described in which the test data 54 is stored in the “n × n” square matrix data format shown in FIG.
図3に戻って、処理部60は、設定リスト51が記憶する設定リストに基づいて、テストデータを生成するために、クラスタ生成部11、グラフデータ生成部12及びテストデータ生成部13を有する。
Returning to FIG. 3, the
クラスタ生成部11は、まず、識別情報がそれぞれ付与された複数のノードから構成されるノード群を設定し、設定したノード群をノードリストとしてノードリスト52に格納する。例えば、クラスタ生成部11は、図5の(A)に例示したノードリストをノードリスト52に格納する。
First, the cluster generation unit 11 sets a node group composed of a plurality of nodes to which identification information is assigned, and stores the set node group in the
そして、クラスタ生成部11は、設定したノード群を、総ノード数(n)及びクラスタ規模数(m)で決定されるクラスタ数に無作為に分割することで、複数のクラスタを生成する。そして、クラスタ生成部11は、生成した各クラスタを構成するノードのリストを、クラスタ別ノードリストとしてクラスタ別グラフデータ53に格納する。
Then, the cluster generation unit 11 generates a plurality of clusters by randomly dividing the set node group into the number of clusters determined by the total node number (n) and the cluster size number (m). The cluster generation unit 11 stores the generated list of nodes constituting each cluster in the cluster-
ここで、「m」が「n」の約数である場合、クラスタ生成部11は、「c=n/m」回にわたり、ノード群を構成する「n」個のノードから「m」個のノードを順次無作為に選択する。これにより、クラスタ生成部11は、「n」個のノードからなるノード群を「m」個のノードから構成されるクラスタ「M(1)〜M(c)」に分割する。 Here, when “m” is a divisor of “n”, the cluster generation unit 11 performs “c = n / m” times from “n” nodes constituting the node group to “m” pieces. Select nodes sequentially and randomly. Accordingly, the cluster generation unit 11 divides the node group including “n” nodes into clusters “M (1) to M (c)” including “m” nodes.
しかし、「m」が「n」の約数でない場合、クラスタ生成部11は、「n」を「m」を除算した余りの数分のノードを処理する必要がある。そこで、実施例2に係るクラスタ生成部11は、以下に説明する第1のクラスタ生成方法、又は、第2のクラスタ生成方法により、クラスタ生成処理を行なう。 However, if “m” is not a divisor of “n”, the cluster generation unit 11 needs to process as many nodes as the remainder obtained by dividing “n” by “m”. Therefore, the cluster generation unit 11 according to the second embodiment performs cluster generation processing using a first cluster generation method or a second cluster generation method described below.
まず、実施例2に係るクラスタ生成部11は、第1のクラスタ生成方法及び第2のクラスタ生成方法双方において、複数のノードの中でクラスタとして未抽出のノード群から無作為にクラスタ規模数のノードを抽出することでクラスタを順次生成する。 First, in both the first cluster generation method and the second cluster generation method, the cluster generation unit 11 according to the second embodiment generates a cluster size number randomly from a node group that is not extracted as a cluster among a plurality of nodes. Clusters are generated sequentially by extracting nodes.
ここで、「m」が「n」の約数である場合、実施例2に係るクラスタ生成部11は、上記の処理のみで、クラスタ生成処理を実行することとなる。一方、「m」が「n」の約数でないと、上記の処理を「ノード群の総ノード数をクラスタ規模数で除算した値以下で最大となる整数回」繰り返すと、クラスタとして未抽出のノード群のノード数は、クラスタ規模「m」より少なくなる。 Here, when “m” is a divisor of “n”, the cluster generation unit 11 according to the second embodiment executes the cluster generation processing only by the above processing. On the other hand, if “m” is not a divisor of “n” and the above process is repeated “integer number of times that is not more than a value obtained by dividing the total number of nodes in the node group by the number of cluster sizes”, the cluster is not extracted The number of nodes in the node group is smaller than the cluster scale “m”.
そこで、実施例2に係るクラスタ生成部11は、第1のクラスタ生成方法として、クラスタとして未抽出のノード群のノード数がクラスタ規模数より少なくなった場合、当該クラスタとして未抽出のノード群を生成済みの各クラスタに無作為に割り振る。これにより、実施例2に係るクラスタ生成部11は、第1のクラスタ生成方法を実行することで、ノード群の総ノード数をクラスタ規模数で除算した値以下で最大となる整数個のクラスタを生成する。 Therefore, the cluster generation unit 11 according to the second embodiment, as the first cluster generation method, when the number of nodes in the unextracted node group as a cluster is smaller than the number of cluster sizes, the unextracted node group as the cluster is selected. Randomly allocate to each generated cluster. As a result, the cluster generation unit 11 according to the second embodiment executes the first cluster generation method to obtain an integer number of clusters that is the maximum of the number of nodes less than the value obtained by dividing the total number of nodes in the node group by the number of cluster sizes. Generate.
あるいは、実施例2に係るクラスタ生成部11は、第2のクラスタ生成方法として、クラスタとして未抽出のノード群のノード数がクラスタ規模数より少なくなった場合、当該クラスタとして未抽出のノード群を新たなクラスタとして生成する。これにより、実施例2に係るクラスタ生成部11は、第2のクラスタ生成方法を実行することで、ノード群の総ノード数をクラスタ規模数で除算した値以上で最小となる整数個のクラスタを生成する。 Alternatively, the cluster generation unit 11 according to the second embodiment, as the second cluster generation method, when the number of nodes in the node group that has not been extracted as a cluster is smaller than the number of cluster sizes, the node group that has not been extracted as the cluster. Create as a new cluster. As a result, the cluster generation unit 11 according to the second embodiment executes the second cluster generation method, so that an integer number of clusters that are the minimum number of clusters equal to or greater than the value obtained by dividing the total number of nodes in the node group by the number of cluster sizes is obtained. Generate.
以下、第1のクラスタ生成方法及び第2のクラスタ生成方法それぞれについて、図7及び図8のフローチャートを用いて詳細に説明する。図7は、実施例2に係るクラスタ生成部が実行する第1のクラスタ生成方法を説明するためのフローチャートであり、図8は、実施例2に係るクラスタ生成部が実行する第2のクラスタ生成方法を説明するためのフローチャートである。 Hereinafter, each of the first cluster generation method and the second cluster generation method will be described in detail with reference to the flowcharts of FIGS. 7 and 8. FIG. 7 is a flowchart for explaining a first cluster generation method executed by the cluster generation unit according to the second embodiment. FIG. 8 is a second cluster generation executed by the cluster generation unit according to the second embodiment. It is a flowchart for demonstrating a method.
第1のクラスタ生成方法を実行する場合、図7に示すように、クラスタ生成部11は、設定リストを参照して、総ノード数「n」のノード群「N」を設定し、クラスタ規模数「m」を取得する(ステップSA1)。ここで、クラスタ生成部11は、内部処理用データとして、ノード群N(0)〜N(C)を準備する。第1のクラスタ生成方法を実行する場合、「C」は、総ノード数「n」をクラスタ規模数「m」で除算した値以下で最大となる整数から「1」を差し引いた値となる。 When executing the first cluster generation method, as shown in FIG. 7, the cluster generation unit 11 refers to the setting list, sets the node group “N” of the total number of nodes “n”, and sets the number of cluster sizes. “M” is acquired (step SA1). Here, the cluster generation unit 11 prepares node groups N (0) to N (C) as internal processing data. When the first cluster generation method is executed, “C” is a value obtained by subtracting “1” from an integer that is equal to or less than a value obtained by dividing the total node number “n” by the cluster size number “m”.
そして、クラスタ生成部11は、「N(0)=N」とし、クラスタ管理用変数「i」を「0」とし(ステップSA2)、N(i)からランダムにm個の要素を選択してM(i+1)の要素とする(ステップSA3)。 Then, the cluster generation unit 11 sets “N (0) = N”, sets the cluster management variable “i” to “0” (step SA2), and randomly selects m elements from N (i). The element is M (i + 1) (step SA3).
その後、クラスタ生成部11は、「i」をインクリメントして、「i=i+1」とし(ステップSA4)、「N(i)=N(i−1)−M(i)」とする(ステップSA5)。 Thereafter, the cluster generation unit 11 increments “i” to “i = i + 1” (step SA4) and “N (i) = N (i−1) −M (i)” (step SA5). ).
そして、クラスタ生成部11は、N(i)の要素数がm以上か否かを判定する(ステップSA6)。ここで、N(i)の要素数がm以上である場合(ステップSA6肯定)、クラスタ生成部11は、ステップSA3に戻って、N(i)からクラスタM(i+1)を構成する要素の選択処理を行なう。 Then, the cluster generation unit 11 determines whether the number of elements of N (i) is greater than or equal to m (step SA6). Here, when the number of elements of N (i) is greater than or equal to m (Yes at step SA6), the cluster generation unit 11 returns to step SA3 and selects elements that form the cluster M (i + 1) from N (i). Perform processing.
一方、N(i)の要素数がmより小さい値である場合(ステップSA6否定)、クラスタ生成部11は、剰余ノード分配管理用変数(J)を「J=0」とし(ステップSA7)、N(i)からランダムに1個の要素を選択してM(J+1)に追加し、追加した要素をN(i)から取り除く(ステップSA8)。 On the other hand, when the number of elements of N (i) is smaller than m (No at Step SA6), the cluster generation unit 11 sets the residual node distribution management variable (J) to “J = 0” (Step SA7). One element is selected at random from N (i) and added to M (J + 1), and the added element is removed from N (i) (step SA8).
そして、クラスタ生成部11は、「J=(J+1)mod(n/mを超えない最大整数)」とし(ステップSA9)、N(i)の要素数が「0」となったか否かを判定する(ステップSA10)。ここで、N(i)の要素数が「0」でない場合(ステップSA10否定)、クラスタ生成部11は、ステップSA8に戻って、剰余ノードの分配処理を行なう。 Then, the cluster generation unit 11 sets “J = (J + 1) mod (maximum integer not exceeding n / m)” (step SA9), and determines whether the number of elements of N (i) is “0”. (Step SA10). Here, when the number of elements of N (i) is not “0” (No at Step SA10), the cluster generation unit 11 returns to Step SA8 and performs distribution processing of the surplus nodes.
一方、N(i)の要素数が「0」となった場合(ステップSA10肯定)、クラスタ生成部11は、処理を終了する。 On the other hand, when the number of elements of N (i) becomes “0” (Yes at step SA10), the cluster generation unit 11 ends the process.
また、第2のクラスタ生成方法を実行する場合、図8に示すように、クラスタ生成部11は、設定リストを参照して、総ノード数「n」のノード群「N」を設定し、クラスタ規模数「m」を取得する(ステップSB1)。ここで、クラスタ生成部11は、内部処理用データとして、ノード群N(0)〜N(C)を準備する。第2のクラスタ生成方法を実行する場合、「C」は、総ノード数「n」をクラスタ規模数「m」で除算した値以下で最大となる整数となる。 When executing the second cluster generation method, as illustrated in FIG. 8, the cluster generation unit 11 refers to the setting list, sets the node group “N” of the total number of nodes “n”, and The scale number “m” is acquired (step SB1). Here, the cluster generation unit 11 prepares node groups N (0) to N (C) as internal processing data. When the second cluster generation method is executed, “C” is an integer that becomes the maximum value not more than a value obtained by dividing the total node number “n” by the cluster size number “m”.
そして、クラスタ生成部11は、「N(0)=N」とし、クラスタ管理用変数「i」を「0」とし(ステップSB2)、N(i)からランダムにm個の要素を選択してM(i+1)の要素とする(ステップSB3)。 Then, the cluster generation unit 11 sets “N (0) = N”, sets the cluster management variable “i” to “0” (step SB2), and selects m elements at random from N (i). The element is M (i + 1) (step SB3).
その後、クラスタ生成部11は、「i」をインクリメントして、「i=i+1」とし(ステップSA4)、「N(i)=N(i−1)−M(i)」とする(ステップSB5)。 Thereafter, the cluster generation unit 11 increments “i” to “i = i + 1” (step SA4) and “N (i) = N (i−1) −M (i)” (step SB5). ).
そして、クラスタ生成部11は、N(i)の要素数がm以上か否かを判定する(ステップSB6)。ここで、N(i)の要素数がm以上である場合(ステップSB6肯定)、クラスタ生成部11は、ステップSB3に戻って、N(i)からクラスタM(i+1)を構成する要素の選択処理を行なう。 Then, the cluster generation unit 11 determines whether the number of elements of N (i) is greater than or equal to m (step SB6). Here, when the number of elements of N (i) is greater than or equal to m (Yes in step SB6), the cluster generation unit 11 returns to step SB3 and selects elements that constitute the cluster M (i + 1) from N (i). Perform processing.
一方、N(i)の要素数がmより小さい値である場合(ステップSB6否定)、クラスタ生成部11は、「M(i+1)=N(i)」とし(ステップSB7)、処理を終了する。 On the other hand, when the number of elements of N (i) is smaller than m (No at Step SB6), the cluster generation unit 11 sets “M (i + 1) = N (i)” (Step SB7), and ends the process. .
すなわち、第1のクラスタ生成方法は、「n」を「m」を除算した余りの数分のノードを、生成済みのクラスタ(要素数:m)に分配する方法である。一方、第2のクラスタ生成方法は、「n」を「m」を除算した余りの数分のノードを、そのまま新たなクラスタとするものである。第1のクラスタ生成方法及び第2のクラスタ生成方法のどちらを用いるかは、各クラスタを構成するノード数をなるべく均等にすることを優先するか、各クラスタを構成するノード数をなるべく「m」から変えないことを優先するかに依存する。操作者は、テストデータを使用するテスト対象アルゴリズムの目的に応じて、第1のクラスタ生成方法又は第2のクラスタ生成方法のいずれかを選択する。例えば、クラスタ生成部11が第1のクラスタ生成方法を実行するか、第2のクラスタ生成方法を実行するかは、設定リストの登録時や、クラスタ生成部11の処理開始前などに操作者により指定される。 That is, the first cluster generation method is a method of distributing the remaining number of nodes obtained by dividing “n” by “m” to the generated clusters (number of elements: m). On the other hand, in the second cluster generation method, the remaining number of nodes obtained by dividing “n” by “m” are used as new clusters as they are. Whether to use the first cluster generation method or the second cluster generation method gives priority to equalizing the number of nodes constituting each cluster as much as possible, or “m” as many as possible. Depends on whether to give priority to not changing. The operator selects either the first cluster generation method or the second cluster generation method according to the purpose of the test target algorithm using the test data. For example, whether the cluster generation unit 11 executes the first cluster generation method or the second cluster generation method is determined by the operator when registering the setting list or before starting the processing of the cluster generation unit 11. It is specified.
図3に戻って、グラフデータ生成部12は、クラスタ生成部11により生成された各クラスタを構成するノード間のリンク状態を示すリンク属性情報を、当該ノード間に対して生成された乱数及び閾値(s)を用いて設定することで、複数のクラスタそれぞれにおけるリンク構造を示すグラフデータを生成する。そして、グラフデータ生成部12は、各クラスタから生成したグラフデータにて設定されたノード間のリンク属性情報のリストをクラスタ別リンクリストとして、生成対象であるクラスタのクラスタ別ノードリストに対応付けてクラスタ別グラフデータ53に格納する。
Returning to FIG. 3, the graph
ここで、グラフデータ生成部12は、ノード間のリンク状態を示すリンク属性情報として、ノード間のリンクの有無、又は、ノード間の関係強度を示す重み付けを設定する。リンク属性情報の種別は、操作者の指示により決定される。以下では、リンク属性情報として、グラフデータ生成部12がノード間の関係強度を示す重み付けを設定する場合について説明する。
Here, the graph
具体的には、グラフデータ生成部12は、ノード番号「i」からノード番号「j」への重み付け「e(i,j)」を設定する際に、まず、乱数「r」を生成する。例えば、グラフデータ生成部12は、「0〜1」の範囲にある実数を乱数として生成する。グラフデータ生成部12は、乱数「r」が閾値「s」以下の値である場合、「e(i,j)」を「0」に設定する。また、グラフデータ生成部12は、「i=j」の場合、重み付け「e(i,j)」を「0」に設定する。
Specifically, when setting the weighting “e (i, j)” from the node number “i” to the node number “j”, the graph
一方、グラフデータ生成部12は、「i=j」でなく、乱数「r」が閾値「s」より大きい値である場合、「e(i,j)」を「r」に基づいて設定する。具体的には、グラフデータ生成部12は、以下で説明する3つの設定方法のいずれかの方法により、「e(i,j)」を設定する。
On the other hand, when “i = j” is not satisfied and the random number “r” is larger than the threshold “s”, the graph
第1の設定方法は、「r>s」ならば、乱数「r」をそのまま「e(i,j)」と設定する方法である。また、第2の設定方法は、「r>s」ならば「r−s」を「e(i,j)」として設定する方法である。また、第3の設定方法は、「r>s」ならば「(r−s)/(1−s)」を「e(i,j)」として設定する方法である。なお、グラフデータ生成部12は、操作者が第1〜第3の設定方法から指定した設定方法により、ノード間の重み付けを設定する。例えば、グラフデータ生成部12が第1の設定方法、第2の設定方法、又は、第3の設定方法のいずれかを実行するかは、設定リストの登録時や、グラフデータ生成部12の処理開始前などに操作者により指定される。
The first setting method is a method of setting the random number “r” as it is as “e (i, j)” if “r> s”. The second setting method is a method of setting “r−s” as “e (i, j)” if “r> s”. The third setting method is a method of setting “(rs− / 1-s)” as “e (i, j)” if “r> s”. Note that the graph
なお、グラフデータ生成部12は、リンク属性情報としてノード間のリンクの有無を設定する場合、例えば、乱数「r」が閾値「s」より大きい値であるならば、「e(i,j)」を「リンク有」に設定し、乱数「r」が閾値「s」以下の値であるならば、「e(i,j)」を「リンク無」に設定する。なお、グラフデータ生成部12は、「i=j」の場合、「e(i,j)」を「リンク無」に設定する。
When the graph
以下、グラフデータ生成部12の処理について、図9を用いて説明する。図9は、実施例2に係るグラフデータ生成部の処理を説明するためのフローチャートである。なお、図9は、グラフデータ生成部12がリンク属性情報としてノード間の関係強度を示す重み付けを第2の設定方法により設定する場合について説明する。
Hereinafter, the process of the graph
図9に示すように、実施例2に係るグラフデータ生成部12は、クラスタ別グラフデータ53のクラスタ別ノードリスト及び設定リスト51を参照して、要素数「y」のクラスタ及び閾値「s」を取得する(ステップSC1)。
As illustrated in FIG. 9, the graph
そして、グラフデータ生成部12は、リンクの発着ノード番号であるリンク元ノード番号管理用変数(i)とリンク先ノード番号管理用変数(j)を「i=1,j=1」とし、クラスタ別グラフデータを格納する行列「E=[y×y]」を零行列に初期化する(ステップSC2)。
Then, the graph
その後、グラフデータ生成部12は、「i=j」であるか否かを判定する(ステップSC3)。ここで、「i=j」である場合(ステップSC3肯定)、グラフデータ生成部12は、ノード番号「i」からノード番号「j」への重み付け「e(i,j)」を「0」と設定する(ステップSC7)。
Thereafter, the graph
「i=j」でない場合(ステップSC3否定)、グラフデータ生成部12は、「0〜1」の範囲内で乱数(r)を発生する(ステップSC4)。そして、グラフデータ生成部12は、「r>s」であるか否かを判定する(ステップSC5)。ここで、「r」が「s」以下である場合(ステップSC5否定)、グラフデータ生成部12は、「e(i,j)」を「0」と設定する(ステップSC7)。
When it is not “i = j” (No at Step SC3), the graph
一方、「r>s」である場合(ステップSC5肯定)、グラフデータ生成部12は、「e(i,j)」を「r−s」と設定する(ステップSC6)。なお、第1の設定方法を行なう場合、グラフデータ生成部12は、「e(i,j)」を「r」と設定する。また、第3の設定方法を行なう場合、グラフデータ生成部12は、「e(i,j)」を「(r−s)/(1−s)」と設定する。
On the other hand, if “r> s” (Yes at step SC5), the graph
ステップSC6の処理、又は、ステップSC7の処理を行なった後、グラフデータ生成部12は、「j」をインクリメントして「j=j+1」とし(ステップSC8)、「j>y」であるか否かを判定する(ステップSC9)。ここで、「j」が「y」以下である場合(ステップSC9否定)、グラフデータ生成部12は、ステップSC3に戻って「i=j」であるか否かの判定処理を行なう。
After performing the process of step SC6 or the process of step SC7, the graph
一方、「j>y」である場合(ステップSC9肯定)、グラフデータ生成部12は、「i」をインクリメントして「i=i+1」とし、「j」をリセットして「j=1」とし、(ステップSC10)、「i>y」であるか否かを判定する(ステップSC11)。ここで、「i」が「y」以下である場合(ステップSC11否定)、グラフデータ生成部12は、ステップSC3に戻って「i=j」であるか否かの判定処理を行なう。
On the other hand, if “j> y” (Yes at step SC9), the graph
一方、「i>y」である場合(ステップSC11肯定)、グラフデータ生成部12は、処理を終了する。
On the other hand, if “i> y” (Yes at step SC11), the graph
なお、図9では、リンク先ノード番号管理用変数(j)をインクリメントした後に、リンク元ノード番号管理用変数(i)をインクリメントする場合について説明した。しかし、グラフデータ生成処理は、リンク元ノード番号管理用変数(i)をインクリメントした後に、リンク先ノード番号管理用変数(j)をインクリメントする場合であってもよい。 In FIG. 9, the case where the link source node number management variable (i) is incremented after the link destination node number management variable (j) is incremented has been described. However, the graph data generation process may be a case where the link destination node number management variable (j) is incremented after the link source node number management variable (i) is incremented.
図3に戻って、テストデータ生成部13は、クラスタ生成部11によるクラスタ生成処理及びグラフデータ生成部12によるグラフデータ生成処理を多重帰属可能数(t)繰り返すように制御する。そして、テストデータ生成部13は、グラフデータ生成部12により生成された全てのグラフデータを、各ノードに付与された識別情報に基づいて統合することで、ノード群を構成する各ノード間のリンク状態を模擬したテストデータを生成する。そして、テストデータ生成部13は、生成したテストデータをテストデータ54に格納する。
Returning to FIG. 3, the test
具体的には、テストデータ生成部13は、リンク属性情報がノード間の関係強度を示す重み付けである場合、グラフデータ生成部12が生成した全てのグラフデータの算術和をとることでテストデータを生成する。例えば、テストデータ生成部13は、「n×n」の単位行列に初期設定したテストデータ(Ea)に対して、グラフデータ生成部12が生成した全てのグラフデータ(ノード間の関係強度)の算術和をとることでテストデータを生成する。
Specifically, when the link attribute information is a weight indicating the relationship strength between the nodes, the test
なお、テストデータ生成部13は、リンク属性情報がノード間のリンクの有無である場合、グラフデータ生成部12が生成した全てのグラフデータの論理和をとることでテストデータを生成する。例えば、テストデータ生成部13は、「n×n」の零行列に初期設定したテストデータ(Ea)に対して、グラフデータ生成部12が生成した全てのグラフデータ(リンクの有無)の論理和をとることでテストデータを生成する。
Note that the test
ここで、テストデータ生成部13は、クラスタ生成処理及びグラフデータ生成処理が多重帰属可能数(t)実行されるごとに、クラスタ規模数及び閾値の少なくともいずれか一方を変化させても良い。例えば、図4の(B)に示すように、t回繰り返されるクラスタ生成処理に用いられるクラスタ規模数が変化するように設定されている場合、クラスタ生成部11は、テストデータ生成部13の制御により、現に実行する繰り返し回数に該当するクラスタ規模数を設定リストから取得して、図7又は図8で例示したクラスタ生成処理を行なう。
Here, the test
また、図4の(B)に示すように、t回繰り返されるグラフデータ生成処理に用いられる閾値が変化するように設定された設定リストが格納されている場合、グラフデータ生成部12は、テストデータ生成部13の制御により、現に実行する繰り返し回数に該当する閾値を設定リストから取得して、図9で例示したグラフデータ生成処理を行なう。なお、クラスタ規模数及び閾値は、図4の(B)に示すように、双方が繰り返し回数ごとに設定されている場合であっても良いし、いずれか一方が、一つの値である場合であっても良い。
In addition, as illustrated in FIG. 4B, when the setting list is set so that the threshold used for the graph data generation process repeated t times is stored, the graph
また、クラスタ生成部11は、例えば、操作者からの指示に基づくテストデータ生成部13の制御により、繰り返し回数ごとに、第1のクラスタ生成方法又は第2のクラスタ生成方法のいずれかを実行する場合であってもよい。例えば、繰り返し回数ごとに、クラスタ生成部11が第1のクラスタ生成方法を実行するか、第2のクラスタ生成方法を実行するかは、設定リストの登録時や、クラスタ生成部11の処理開始前などに操作者により指定される。また、グラフデータ生成部12は、重み付けを設定する際に、例えば、操作者からの指示に基づくテストデータ生成部13の制御により、繰り返し回数ごとに、第1の設定方法、第2の設定方法、又は、第3の設定方法のいずれかを実行する場合であってもよい。例えば、繰り返し回数ごとに、グラフデータ生成部12が第1の設定方法、第2の設定方法、又は、第3の設定方法のいずれかを実行するかは、設定リストの登録時や、グラフデータ生成部12の処理開始前などに操作者により指定される。
In addition, the cluster generation unit 11 executes either the first cluster generation method or the second cluster generation method for each repetition count under the control of the test
続いて、図10を用いて、実施例2に係るテストデータ生成装置10による処理の手順を説明する。図10は、実施例2に係るテストデータ生成装置の処理を説明するためのフローチャートである。なお、図10は、リンク属性情報がノード間の関係強度を示す重み付けである場合の処理を説明するためのフローチャートである。
Subsequently, a processing procedure performed by the test
図10に示すように、実施例2に係るテストデータ生成装置10は、設定リスト51に設定リストが格納されたか否かを判定する(ステップS101)。ここで、設定リストが格納されていない場合(ステップS101否定)、テストデータ生成装置10は、待機状態となる。
As illustrated in FIG. 10, the test
一方、設定リストが格納された場合(ステップS101肯定)、テストデータ生成部13は、多重帰属可能数管理用変数(k)を「k=0」とし、テストデータを格納するための「n×n」の正方行列(Ea)を「Ea=単位行列」とする(ステップS102)。なお、リンク属性情報がノード間のリンクの有無である場合、ステップS102において、テストデータ生成部13は、「Ea=零行列」とする。
On the other hand, when the setting list is stored (Yes in step S101), the test
そして、クラスタ生成部11は、クラスタ生成処理を行なう(ステップS103)。具体的には、クラスタ生成部11は、図7で説明した第1のクラスタ生成処理、又は図8で説明した第2のクラスタ生成処理を行なう。 Then, the cluster generation unit 11 performs a cluster generation process (step S103). Specifically, the cluster generation unit 11 performs the first cluster generation process described with reference to FIG. 7 or the second cluster generation process described with reference to FIG.
その後、テストデータ生成部13は、クラスタ番号管理用カウンタ変数(L)を「L=0」とし(ステップS104)、グラフデータ生成部12は、グラフデータ生成処理を行なう(ステップS105)。例えば、グラフデータ生成部12は、重み付けの設定方法が第1の設定方法として設定されている場合、図9で説明したグラフデータ生成処理を行なう。
Thereafter, the test
そして、テストデータ生成部13は、「L」をインクリメントして「L=1」とし(ステップS106)、「L」がステップS103で生成されたクラスタ数以上であるか否かを判定する(ステップS107)。ここで、「L」がステップS103で生成されたクラスタ数より小さい場合(ステップS107否定)、テストデータ生成部13は、グラフデータが未生成のクラスタが存在すると判断し、グラフデータ生成部12は、テストデータ生成部13の制御により、ステップS105に戻って、残りのクラスタに対するグラフデータ生成処理を行なう。
Then, the test
一方、「L」がステップS103で生成されたクラスタ数以上である場合(ステップS107肯定)、テストデータ生成部13は、「k=k+1」とし(ステップS108)、kのグラフデータ群を「E」とする(ステップS109)。すなわち、「L」がステップS103で生成されたクラスタ数以上である場合、テストデータ生成部13は、ステップS103で生成されたクラスタ数分のグラフデータが生成されたと判断する。
On the other hand, when “L” is equal to or greater than the number of clusters generated in step S103 (Yes in step S107), the test
そして、テストデータ生成部13は、「Ea=Ea+E」としてテストデータを更新し(ステップS110)、「k=t(多重帰属可能数)」であるか否かを判定する(ステップS111)。
Then, the test
ここで、「k」が「t」に到達していない場合(ステップS111否定)、テストデータ生成部13は、多重帰属可能数分のグラフデータ群が生成されていないと判断し、クラスタ生成部11は、テストデータ生成部13の制御により、ステップS103に戻って、再度、クラスタ生成処理を行なう。
Here, when “k” has not reached “t” (No in step S111), the test
一方、「k=t」である場合(ステップS111肯定)、テストデータ生成部13は、ステップS110で更新された「Ea」をテストデータとし、処理を終了する。
On the other hand, if “k = t” (Yes at Step S111), the test
なお、図10では、「Ea」が順次更新される場合について説明したが、本実施例2は、多重帰属可能数分のグラフデータ群が生成された後に、一括して統合されることで「Ea」が生成される場合であっても良い。また、図10では、多重帰属可能数分のクラスタ生成処理及びグラフデータ生成処理が順次行なわれる場合について説明したが、本実施例2は、例えば、多重帰属可能数分のクラスタ生成処理及びグラフデータ生成処理が並列に行なわれる場合であっても良い。また、図10では、クラスタ番号管理用カウンタ変数(L)を用いたテストデータ生成部13の制御により、グラフデータ生成部12がクラスタごとにグラフデータを生成する場合について説明したが、本実施例2は、ステップS103で生成された複数のクラスタに対するグラフデータ生成処理が並列に行なわれる場合であっても良い。
In FIG. 10, the case where “Ea” is sequentially updated has been described. However, in the second embodiment, after graph data groups corresponding to the number of possible multiple assignments are generated, they are integrated in a lump. Ea ”may be generated. Further, FIG. 10 illustrates the case where the cluster generation process and the graph data generation process for the number of multiple assignments are sequentially performed. However, in the second embodiment, for example, the cluster generation process and the graph data for the number of multiple assignments can be performed. The generation process may be performed in parallel. FIG. 10 illustrates the case where the graph
上述したように、実施例2によれば、実施例1と同様に、クラスタ生成部11、グラフデータ生成部12及びテストデータ生成部13の処理によりテストデータを生成する。
As described above, according to the second embodiment, as in the first embodiment, test data is generated by the processing of the cluster generation unit 11, the graph
例えば、電話網では、通信経路が物理的回線と対応付けられ、かつ、回線の接続構造が地理的条件から自明である。このため、電話網の制御アルゴリズムを検証するためのテストデータは、図11の(A)に示すように、例えば、乱数で通信密度を決定することで、通信経路に対応した情報の流れを模擬したグラフ構造として生成することができた。また、ランダムグラフによるテストデータの生成方法では、全てのノード間が結線される可能性を与えたうえで、乱数により、図11の(B)に示すように、結線の有無を決定したり、結線に重み付けを付与したりしていた。しかし、図11に示す方法では、Webページ間のリンクのように、潜在的なコミュニティ内での偏ったリンク構造を模擬したテストデータを生成することができなかった。なお、図11は、従来のテストデータを説明するための図である。 For example, in a telephone network, a communication path is associated with a physical line, and the connection structure of the line is obvious from geographical conditions. Therefore, the test data for verifying the control algorithm of the telephone network simulates the flow of information corresponding to the communication path, for example, by determining the communication density with a random number as shown in FIG. Could be generated as a graph structure. Further, in the test data generation method using a random graph, after giving the possibility that all nodes are connected, the presence or absence of connection is determined by random numbers as shown in FIG. The connection was given a weight. However, the method shown in FIG. 11 cannot generate test data that simulates a biased link structure in a potential community, such as a link between Web pages. FIG. 11 is a diagram for explaining conventional test data.
しかし、実施例2では、図12の(A)に示すように、ノード群からクラスタを生成する処理を複数回行ない、さらに、図12の(B)に示すように、複数回行なわれたクラスタ生成処理ごとに、各クラスタのグラフ構造(グラフデータ)を生成する。そして、実施例2では、図12の(C)に示すように、各クラスタのグラフ構造を統合する。すなわち、実施例2で生成されるテストデータは、図11に示す従来のテストデータとは異なり、偏ったリンク構造を有する複数のコミュニティが入り組んで形成される状態の通信網を模擬したデータとなる。なお、図12は、実施例2で生成されるテストデータを説明するための図である。 However, in the second embodiment, as shown in FIG. 12A, a process for generating a cluster from a node group is performed a plurality of times, and further, as shown in FIG. For each generation process, a graph structure (graph data) of each cluster is generated. And in Example 2, as shown to (C) of FIG. 12, the graph structure of each cluster is integrated. That is, unlike the conventional test data shown in FIG. 11, the test data generated in the second embodiment is data simulating a communication network in a state where a plurality of communities having a biased link structure are formed in an intricate manner. . FIG. 12 is a diagram for explaining test data generated in the second embodiment.
従って、実施例2では、実施例1と同様に、潜在的なコミュニティ内での偏ったリンク構造を模擬したテストデータを生成することができる。 Therefore, in the second embodiment, as in the first embodiment, it is possible to generate test data that simulates a biased link structure in a potential community.
また、実施例2では、グラフデータ生成部12は、リンク属性情報として、ノード間のリンクの有無、又は、ノード間の関係強度を示す重み付けを設定する。そして、テストデータ生成部13は、リンク属性情報がノード間のリンクの有無である場合、全てのグラフデータの論理和をとることでテストデータを生成する。また、グラフデータ生成部12は、リンク属性情報がノード間の関係強度を示す重み付けである場合、全てのグラフデータの算術和をとることでテストデータを生成する。
In the second embodiment, the graph
従って、実施例2では、操作者の要望するタイプに応じて、潜在的なコミュニティ内での偏ったリンク有無を模擬したテストデータや、潜在的なコミュニティ内での偏ったリンク密度を模擬したテストデータを生成することが可能となる。 Therefore, in the second embodiment, depending on the type desired by the operator, test data simulating the presence or absence of a biased link in a potential community, or a test simulating a biased link density in a potential community. Data can be generated.
また、実施例2では、クラスタ生成部11は、第1のクラスタ生成方法として、複数のノードの中でクラスタとして未抽出のノード群から無作為にクラスタ規模数のノードを抽出することでクラスタを順次生成し、さらに、クラスタとして未抽出のノード群のノード数がクラスタ規模数より少なくなった場合、当該クラスタとして未抽出のノード群を生成済みの各クラスタに無作為に割り振ることで、総ノード数をクラスタ規模数で除算した値以下で最大となる整数個のクラスタを生成する。あるいは、クラスタ生成部11は、第2のクラスタ生成方法として、複数のノードの中でクラスタとして未抽出のノード群から無作為にクラスタ規模数のノードを抽出することでクラスタを順次生成し、さらに、クラスタとして未抽出のノード群のノード数がクラスタ規模数より少なくなった場合、当該クラスタとして未抽出のノード群を新たなクラスタとして生成することで、総ノード数をクラスタ規模数で除算した値以上で最小となる整数個のクラスタを生成する。 Further, in the second embodiment, the cluster generation unit 11 performs cluster extraction by randomly extracting nodes having a cluster size from a group of nodes not extracted as a cluster among a plurality of nodes as a first cluster generation method. If the number of nodes in a node group that has not been extracted as a cluster is smaller than the number of cluster sizes, the total number of nodes can be determined by randomly allocating the node group that has not been extracted as the cluster to each generated cluster. Generates an integer number of clusters that is the maximum value less than or equal to the number divided by the cluster size number. Alternatively, as a second cluster generation method, the cluster generation unit 11 sequentially generates clusters by randomly extracting nodes of a cluster scale number from a group of nodes not extracted as a cluster among a plurality of nodes. When the number of nodes in a node group that has not been extracted as a cluster is less than the number of cluster sizes, a value obtained by dividing the total number of nodes by the number of cluster sizes by generating a new cluster of nodes that have not been extracted as the cluster. The minimum number of clusters is generated as described above.
従って、実施例2では、各クラスタを構成するノード数をなるべく均等にすることを優先するか、各クラスタを構成するノード数をなるべくクラスタ規模数から変えないことを優先するかという操作者の要望に応じて、クラスタ生成処理を行なうことができる。また、実施例2では、第1のクラスタ生成方法及び第2のクラスタ生成方法を、クラスタ生成処理を行なうごとに変更させることもできる。 Therefore, in the second embodiment, an operator's request whether to give priority to equalizing the number of nodes constituting each cluster as much as possible or not giving priority to changing the number of nodes constituting each cluster from the number of cluster sizes as much as possible. In response to this, cluster generation processing can be performed. In the second embodiment, the first cluster generation method and the second cluster generation method can be changed every time the cluster generation process is performed.
また、実施例2では、テストデータ生成部13は、設定リストの設定値に応じて、クラスタ生成処理及びグラフデータ生成処理が多重帰属可能数実行されるごとに、クラスタ規模数及び閾値の少なくともいずれか一方を変化させる。すなわち、実施例2では、想定するコミュニティの多様性を増大することができる。従って、実施例2では、潜在的なコミュニティ内での偏ったリンク構造を模擬したテストデータの多様性を任意に変更することが可能となる。
In the second embodiment, the test
すなわち、操作者は、テストデータ生成装置10を用いる際に、模擬しようとする対象の性質に応じて、設定リストに設定する値を調整することで、自身が要望するテストデータを生成させることができる。例えば、インターネット上のサイト間交流の密度(関係強度)を対象とする場合、操作者が設定リストに設定する値は、以下のようになる。
That is, when using the test
まず、多重帰属可能数は、あるサイトがアクセスされるコミュニティの想定数を表す値として設定される。インターネット上で絶対数が多い個人サイトを多く含む通信網を対象とする場合、多重帰属可能数は、個人が持ちうる興味分野の数などから推定して設定できる。例えば、非常に多趣味な人物が多い社会を想定しても、同時に興味を持てる範囲は、人間の脳の構造などから限界がある。近年の脳構造に関する知見から、人間の短期記憶は、高々10個の数字が保持できる程度であることが判明している。 First, the multiple attribution possible number is set as a value representing the assumed number of communities to which a certain site is accessed. When targeting a communication network including many personal sites with a large absolute number on the Internet, the number of multiple belongings can be estimated and set from the number of fields of interest that an individual can have. For example, even if a society with many very hobby people is assumed, the scope of interest at the same time is limited by the structure of the human brain. Recent knowledge about brain structure has revealed that human short-term memory can only hold up to 10 numbers.
ここで、短期記憶が可能な情報量は、実用化されている検索システムにおける結果一覧にて参照される件数などとも類似する。このため、潜在的な興味が広くても、実際のサイト作成において目立つ場所におかれるリンクは、10件前後であることが多い。このような性質に鑑みれば、多重帰属可能数は、「10」に設定されることが望ましい。あるいは、模擬したいサイト群によっては、多重帰属可能数は、例えば、「7」と、「10」より小さい値に設定されてもよい。 Here, the amount of information that can be stored for a short time is similar to the number of cases that are referred to in a result list in a practically used search system. For this reason, even if there is wide potential interest, there are often about 10 links placed in a prominent place in actual site creation. In view of such properties, it is desirable that the number of possible multiple assignments is set to “10”. Alternatively, depending on the site group to be simulated, the number of possible multiple assignments may be set to a value smaller than “7” and “10”, for example.
また、クラスタ規模数は、コミュニティの想定最大規模を表す値として設定される。例えば、クラスタ規模数を低めに設定すると、狭いコミュニティを模擬したことになる。また、クラスタ規模数を高めに設定すると、広いコミュニティを模擬したことになる。 The cluster size number is set as a value representing the assumed maximum size of the community. For example, if the number of cluster sizes is set low, a small community is simulated. If the cluster size is set high, it means that a large community is simulated.
また、閾値は、上述したグラフデータ生成処理において、各発・宛ノードの対が接続されない確率を表す値である。例えば、閾値を低めに設定するとリンクが濃密なコミュニティを模擬したことになり、閾値を高めに設定するとリンクが希薄なコミュニティを模擬したことになる。 Further, the threshold value is a value that represents the probability that each source / destination node pair is not connected in the graph data generation process described above. For example, when the threshold value is set low, a community with dense links is simulated, and when the threshold value is set high, a community with thin links is simulated.
すなわち、クラスタ規模数と閾値とを設定することで、様々なリンク密度及び規模を有するコミュニティを模擬することができる。例えば、閾値を低めに設定し、クラスタ規模数を低めに設定すると、リンクが濃密な狭いコミュニティを模擬したことになる。また、閾値を高めに設定し、クラスタ規模数を高めに設定すると、リンクが希薄な広いコミュニティを模擬したことになる。 That is, by setting the cluster size number and the threshold value, it is possible to simulate communities having various link densities and sizes. For example, if the threshold value is set low and the cluster size number is set low, a narrow community with dense links is simulated. If the threshold value is set high and the cluster size number is set high, it means that a wide community with few links is simulated.
ここで、実施例1や2では、リンク生成のランダム性の結果として、想定コミュニティ内の連結性を保障しない。つまり、実施例1や2では、グラフデータ生成部12が生成した複数のグラフデータにおいて、コミュニティ内の連結性が記述されたグラフデータの数が、設定したクラスタ規模数を下回っている可能性がある。コミュニティ内の連結性が記述されたグラフデータの数がクラスタ規模数を下回る確率は、クラスタ規模数及び閾値双方の大きさに依存する。すなわち、閾値が高い場合は、全てのノードが互いに到達可能なパスを持たないデータが生成する確率が高まり、その結果、コミュニティ内の連結性が記述されたグラフデータの数がクラスタ規模数を下回る確率が大きくなる。このため、クラスタ規模数は、閾値との組み合わせで決定されることが望ましい。
Here, in the first and second embodiments, connectivity within the assumed community is not guaranteed as a result of the randomness of link generation. In other words, in the first and second embodiments, in the plurality of graph data generated by the graph
なお、模擬対象が潜在的なコミュニティであって互いにリンクを張ることに消極的な傾向にあるサイト群であるならば、閾値は、リンクが希薄なため全ノードが連結されていない状態を示すテストデータを生成するために高めに設定する場合であっても良い。 Note that if the simulation target is a potential community and sites that tend to be reluctant to link to each other, the threshold value is a test indicating that all nodes are not connected because the links are sparse. It may be a case where it is set higher in order to generate data.
このようにして設定された設定データを用いて生成されるテストデータは、クラスタにに属するノード間の縁故を模擬したリンクを多重帰属可能数通りのクラスタ分割について重ね合わせたものになっている。例えば、ノードがWebサイト、クラスタがWebサイト運営者の属するコミュニティを模擬すると見なせば、各運営者がt個以内のコミュニティに多重帰属することで、直接同じコミュニティに属さないWebサイト間にも関わりが発生する様子を模擬できる。従って、本実施例2で生成されるテストデータを用いることで、操作者は、例えば、Webサイト間の関係強度を決定するための重要な経路を検証することができる。 The test data generated using the setting data set in this way is obtained by superimposing links simulating the margins between nodes belonging to a cluster with respect to the number of cluster divisions that can be attributed to multiple assignments. For example, if it is assumed that a node is a website and a cluster simulates a community to which a website operator belongs, each operator can belong to up to t communities, and even between websites that do not belong directly to the same community. You can simulate how the relationship occurs. Therefore, by using the test data generated in the second embodiment, the operator can verify an important path for determining the strength of relationship between Web sites, for example.
なお、上記した実施例1及び2では、テストデータ生成方法が一つの装置にて実行される場合について説明した。しかし、実施例1及び2で説明したテストデータ生成方法は、複数の装置にて分散されて実行される場合であっても良い。例えば、実施例1及び2で説明したテストデータ生成方法は、クラスタ生成部11及びグラフデータ生成部12の機能を有する装置と、テストデータ生成部13の機能を有する装置とが一つの仮想的なテストデータ生成装置10として機能することにより実現される場合であっても良い。また、1装置または2以上の装置からなるシステム内に、仮想マシンが起動される環境であって、この仮想マシン上で複数の仮想化されたコンピュータが動作するものであり、この仮想化されたコンピュータ上で実施例1及び2で説明したテストデータ生成方法が実行される場合であってもよい。
In the first and second embodiments, the case where the test data generation method is executed by one apparatus has been described. However, the test data generation method described in the first and second embodiments may be executed in a distributed manner by a plurality of apparatuses. For example, in the test data generation method described in the first and second embodiments, the device having the functions of the cluster generation unit 11 and the graph
また、上記した実施例1及び2で説明したテストデータ生成方法は、あらかじめ用意されたテストデータ生成プログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで以下では、図13を用いて、上記の実施例1に示したテストデータ生成装置10と同様の機能を有するテストデータ生成プログラムを実行するコンピュータの一例を説明する。図13は、実施例1に係るテストデータ生成プログラムを実行するコンピュータを示す図である。なお、以下では、テストデータ生成方法が一つのコンピュータにて実行される場合について説明する。しかし、実施例1及び2で説明したテストデータ生成方法は、上述したように、複数のコンピュータにて分散されて実行される場合であっても良い。また、実施例1及び2で説明したテストデータ生成方法は、上述したように、仮想化されたコンピュータ上で実行される場合であっても良い。
The test data generation method described in the first and second embodiments can be realized by executing a test data generation program prepared in advance on a computer such as a personal computer or a workstation. In the following, an example of a computer that executes a test data generation program having the same function as that of the test
図13に示すように、PC(Personal Computer)などの情報処理装置であるコンピュータ100は、CPU(Central Processing Unit)110、入力装置120、出力装置130、媒体読取装置140、及びネットワークインタフェース150を有する。CPU110は、各種の演算処理を実行する。入力装置120は、各種データの入力を利用者から受け付ける。出力装置130は、CPU110により処理された各種データを出力する。媒体読取装置140は、記憶媒体からプログラム等を読み取る。ネットワークインタフェース150は、ネットワークを介して他のコンピュータとの間でデータの授受を行う。例えば、ネットワークインタフェース150は、設定リストを、ネットワークを介して受信することもできる。
As shown in FIG. 13, a
また、コンピュータ100は、RAM160及びHDD170を有する。RAM160は、CPU110により処理される各種情報を一時的に記憶する。HDD170は、各種データや各種プログラムを記憶する。
The
そして、例えば、HDD170は、図1に示したクラスタ生成部11、グラフデータ生成部12及びテストデータ生成部13それぞれと同様の機能を有するクラスタ生成プログラム171、グラフデータ生成プログラム172及びテストデータ生成プログラム173を記憶する。また、CPU110は、HDD170からクラスタ生成プログラム171、グラフデータ生成プログラム172及びテストデータ生成プログラム173を読み出してRAM160に、クラスタ生成プログラム171、グラフデータ生成プログラム172及びテストデータ生成プログラム173を、クラスタ生成プログラム161、グラフデータ生成プログラム162及びテストデータ生成プログラム163として展開する。
For example, the HDD 170 includes a cluster generation program 171, a graph data generation program 172, and a test data generation program having the same functions as the cluster generation unit 11, the graph
その後、CPU110は、クラスタ生成プログラム161、グラフデータ生成プログラム162及びテストデータ生成プログラム163それぞれを、クラスタ生成プロセス111、グラフデータ生成プロセス112及びテストデータ生成プロセス113として実行する。
Thereafter, the
なお、クラスタ生成プログラム171、グラフデータ生成プログラム172及びテストデータ生成プログラム173は、必ずしもHDD170に格納されている必要はなく、例えば、CD−ROM等の記憶媒体に記憶され、記憶媒体から読み出されて実行されてもよい。又は、クラスタ生成プログラム171、グラフデータ生成プログラム172及びテストデータ生成プログラム173は、他のコンピュータによって記憶され、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等を介して取得されて実行されてもよい。 Note that the cluster generation program 171, the graph data generation program 172, and the test data generation program 173 are not necessarily stored in the HDD 170, and are stored in a storage medium such as a CD-ROM and read from the storage medium, for example. May be executed. Alternatively, the cluster generation program 171, the graph data generation program 172, and the test data generation program 173 are stored by another computer and acquired via a public line, the Internet, a LAN (Local Area Network), a WAN (Wide Area Network), or the like. May be executed.
以上のように、本発明に係るテストデータ生成方法、テストデータ生成装置及びテストデータ生成プログラムは、外部入力が存在する情報処理に用いるアルゴリズムの妥当性を判定するために、外部入力を模擬したテストデータを生成する場合に有用であり、特に、潜在的なコミュニティ内での偏ったリンク構造を模擬したテストデータを生成することに適する。 As described above, the test data generation method, the test data generation device, and the test data generation program according to the present invention are designed to simulate the external input in order to determine the validity of the algorithm used for information processing in which the external input exists. This is useful when generating data, and is particularly suitable for generating test data that simulates a biased link structure within a potential community.
10 テストデータ生成装置
11 クラスタ生成部
12 グラフデータ生成部
13 テストデータ生成部
20 入力部
30 出力部
40 入出力制御I/F部
50 記憶部
51 設定リスト
52 ノードリスト
53 クラスタ別グラフデータ
54 テストデータ
60 処理部
DESCRIPTION OF
Claims (7)
識別情報がそれぞれ付与された複数のノードから構成されるノード群を、当該ノード群の総ノード数及び所定のクラスタ規模数で決定されるクラスタ数に無作為に分割することで、複数のクラスタを生成するクラスタ生成ステップと、
前記クラスタ生成ステップにより生成された各クラスタを構成するノード間のリンク状態を示すリンク属性情報を、当該ノード間に対して生成された乱数及び所定の閾値を用いて設定することで、前記複数のクラスタそれぞれにおけるリンク構造を示すグラフデータを生成するグラフデータ生成ステップと、
前記クラスタ生成ステップによるクラスタ生成処理及び前記グラフデータ生成ステップによるグラフデータ生成処理を所定の回数繰り返すように制御することで、前記グラフデータ生成ステップにより生成された全てのグラフデータを、各ノードに付与された識別情報に基づいて統合することで、前記ノード群を構成する各ノード間のリンク状態を模擬したテストデータを生成するテストデータ生成ステップと、
を含んだことを特徴とするテストデータ生成方法。 Computer
By randomly dividing a node group composed of a plurality of nodes each having identification information into a number of clusters determined by the total number of nodes of the node group and a predetermined number of cluster sizes, a plurality of clusters can be divided. A cluster generation step to generate;
By setting link attribute information indicating a link state between nodes constituting each cluster generated by the cluster generation step using a random number generated between the nodes and a predetermined threshold, A graph data generation step for generating graph data indicating a link structure in each cluster;
All graph data generated by the graph data generation step is assigned to each node by controlling the cluster generation processing by the cluster generation step and the graph data generation processing by the graph data generation step to be repeated a predetermined number of times. A test data generation step of generating test data simulating the link state between the nodes constituting the node group by integrating based on the identified identification information;
The test data generation method characterized by including.
前記テストデータ生成ステップは、前記リンク属性情報がノード間のリンクの有無である場合、前記グラフデータ生成ステップが生成した全てのグラフデータの論理和をとることで前記テストデータを生成し、前記リンク属性情報がノード間の関係強度を示す重み付けである場合、前記グラフデータ生成ステップが生成した全てのグラフデータの算術和をとることで前記テストデータを生成することを特徴とする請求項1に記載のテストデータ生成方法。 The graph data generation step sets, as the link attribute information, a weight indicating the presence or absence of a link between nodes, or a relationship strength between nodes,
In the test data generation step, when the link attribute information is the presence / absence of a link between nodes, the test data is generated by taking the logical sum of all the graph data generated by the graph data generation step, and the link The test data is generated by calculating an arithmetic sum of all graph data generated by the graph data generation step when the attribute information is a weight indicating a relation strength between nodes. Test data generation method.
前記クラスタ生成手段により生成された各クラスタを構成するノード間のリンク状態を示すリンク属性情報を、当該ノード間に対して生成された乱数及び所定の閾値を用いて設定することで、前記複数のクラスタそれぞれにおけるリンク構造を示すグラフデータを生成するグラフデータ生成手段と、
前記クラスタ生成手段によるクラスタ生成処理及び前記グラフデータ生成手段によるグラフデータ生成処理を所定の回数繰り返すように制御することで、前記グラフデータ生成手段により生成された全てのグラフデータを、各ノードに付与された識別情報に基づいて統合することで、前記ノード群を構成する各ノード間のリンク状態を模擬したテストデータを生成するテストデータ生成手段と、
を備えたことを特徴とするテストデータ生成装置。 By randomly dividing a node group composed of a plurality of nodes each having identification information into a number of clusters determined by the total number of nodes of the node group and a predetermined number of cluster sizes, a plurality of clusters can be divided. A cluster generating means for generating;
By setting link attribute information indicating a link state between nodes constituting each cluster generated by the cluster generation means using a random number generated between the nodes and a predetermined threshold, Graph data generating means for generating graph data indicating the link structure in each cluster;
All graph data generated by the graph data generation unit is assigned to each node by controlling the cluster generation processing by the cluster generation unit and the graph data generation processing by the graph data generation unit to be repeated a predetermined number of times. A test data generating means for generating test data simulating the link state between the nodes constituting the node group by integrating based on the identified identification information;
A test data generating apparatus comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010209739A JP2012064136A (en) | 2010-09-17 | 2010-09-17 | Test data generation method, test data generation device, and test data generation program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010209739A JP2012064136A (en) | 2010-09-17 | 2010-09-17 | Test data generation method, test data generation device, and test data generation program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012064136A true JP2012064136A (en) | 2012-03-29 |
Family
ID=46059748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010209739A Pending JP2012064136A (en) | 2010-09-17 | 2010-09-17 | Test data generation method, test data generation device, and test data generation program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012064136A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016151846A (en) * | 2015-02-17 | 2016-08-22 | 三菱電機株式会社 | Server device, client device, grouping method, and grouping program |
CN108664535A (en) * | 2017-04-01 | 2018-10-16 | 北京京东尚科信息技术有限公司 | Information output method and device |
CN109342872A (en) * | 2018-11-21 | 2019-02-15 | 陕西电器研究所 | A kind of cable conducting high speed detection algorithm |
CN109684198A (en) * | 2018-11-13 | 2019-04-26 | 平安科技(深圳)有限公司 | Data capture method to be tested, device, medium, electronic equipment |
CN112948275A (en) * | 2021-04-27 | 2021-06-11 | 平安普惠企业管理有限公司 | Test data generation method, device, equipment and storage medium |
CN113495839A (en) * | 2020-04-08 | 2021-10-12 | 百度在线网络技术(北京)有限公司 | Test page generation method and device, electronic equipment and storage medium |
-
2010
- 2010-09-17 JP JP2010209739A patent/JP2012064136A/en active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016151846A (en) * | 2015-02-17 | 2016-08-22 | 三菱電機株式会社 | Server device, client device, grouping method, and grouping program |
CN108664535A (en) * | 2017-04-01 | 2018-10-16 | 北京京东尚科信息技术有限公司 | Information output method and device |
CN109684198A (en) * | 2018-11-13 | 2019-04-26 | 平安科技(深圳)有限公司 | Data capture method to be tested, device, medium, electronic equipment |
CN109684198B (en) * | 2018-11-13 | 2024-03-29 | 平安科技(深圳)有限公司 | Method, device, medium and electronic equipment for acquiring data to be tested |
CN109342872A (en) * | 2018-11-21 | 2019-02-15 | 陕西电器研究所 | A kind of cable conducting high speed detection algorithm |
CN113495839A (en) * | 2020-04-08 | 2021-10-12 | 百度在线网络技术(北京)有限公司 | Test page generation method and device, electronic equipment and storage medium |
CN112948275A (en) * | 2021-04-27 | 2021-06-11 | 平安普惠企业管理有限公司 | Test data generation method, device, equipment and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kumar et al. | Multi-objective modified heat transfer search for truss optimization | |
JP2012064136A (en) | Test data generation method, test data generation device, and test data generation program | |
Xu et al. | Finding community structures in complex networks using mixed integer optimisation | |
Yuan et al. | The small-world trust network | |
CN105205180B (en) | A kind of evaluation method and device of knowledge mapping | |
Şen et al. | Focal structures analysis: identifying influential sets of individuals in a social network | |
CN109309596B (en) | Pressure testing method and device and server | |
Zhao et al. | Halo mass distribution reconstruction across the cosmic web | |
Raimbault et al. | Space matters: Extending sensitivity analysis to initial spatial conditions in geosimulation models | |
Zhao et al. | Abstracting the core subnet of weighted networks based on link strengths | |
Ashlock et al. | Fitting contact networks to epidemic behavior with an evolutionary algorithm | |
Cardinot et al. | Cooperation in the spatial prisoner’s dilemma game with probabilistic abstention | |
Zhao et al. | Exploring EOSIO via graph characterization | |
CN106372101A (en) | Video recommendation method and apparatus | |
Younsi et al. | SEIR-SW, simulation model of influenza spread based on the Small World network | |
US9235866B2 (en) | Analyzing social network | |
Patel et al. | Improved GA using population reduction for load balancing in cloud computing | |
Tolba et al. | Integration of renewable distributed generation in distribution networks including a practical case study based on a hybrid PSOGSA optimization algorithm | |
Ventresca et al. | An experimental evaluation of multi-objective evolutionary algorithms for detecting critical nodes in complex networks | |
CN103744933A (en) | Community discovery method based on parallelization modularity optimization | |
Del-Pozo-Puñal et al. | A scalable simulator for cloud, fog and edge computing platforms with mobility support | |
Grabowski et al. | Evolution of a social network: The role of cultural diversity | |
Rossetto Moraes et al. | A perturbation-based methodology to estimate the equivalent inertia of an area monitored by pmus | |
Johnson et al. | Analyzing the Evolution of the Internet. | |
Friese et al. | Towards efficient resource allocation for distributed workflows under demand uncertainties |