説明

動的グラフ用アニメーション・プランニング方法及び装置

【課題】動的グラフ用アニメーション・プランニング方法及び装置を提供する。
【解決手段】動的グラフ内の変更ノードと既存ノードとの間の関係に従って前記変更ノードをアトミック・パーティション1〜4にグループ化するステップと、前記アトミック・パーティション間のクラスタリング距離に従って、アトミック・パーティション・クラスタ又はアトミック・パーティションあるいはその両方を要素として含むランニング・リストが生成されるように、前記アトミック・パーティションをクラスタリングするステップと、を含む。更に、前記動的グラフ内のノードと、各変更接続が直接接続されるノードを指すキー・ノードとの間の相関に従って前記動的グラフ内のノードを様々なノード・グループにグループ化するステップと、前記接続変更に起因するノード移動のアニメーション・デモンストレーションを前記ノード・グループによってプランニングするステップと、を含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は動的グラフ・ビジュアライゼーションに関するものであり、より詳細には、動的グラフ用アニメーション・プランニング方法及び装置に関するものである。
【背景技術】
【0002】
グラフ・ビジュアライゼーションとも呼ばれるグラフ描画は、トポロジ及びジオメトリを使用することによってグラフの2次元(2D)又は3次元(3D)表現を取得し表示する処理を指し、VLSI回路設計、ソーシャル・ネットワーク分析、カートロジー(cartology)、バイオ・インフォーマティックス等、様々な分野で広く応用されている。グラフ・ビジュアライゼーションでは、ドットを使用してグラフ内の頂点が表現され、ドット同士を接続する線を使用して頂点間の辺(edge)が示され、矢印を使用して有向辺が示される。1つの同じグラフでも、その頂点及び辺の可視化構成が異なれば、グラフの理解性、有用性、生産コスト、美的特性等に影響が及ぶ。グラフ・ビジュアライゼーションの主な目的は、適切なレイアウト・アルゴリズムを使用することにより、(例えば辺の交差を可能な限り少なくし、様々な辺の長さをほぼ同一とすること等により)理解性及び美的特性に優れるグラフの2次元又は3次元表現を取得し提示することである。
【0003】
動的グラフとは、経時的に変化するグラフであって、それ自体の要素(ノード又は辺)が動的に追加及び削除され、それらの属性も動的に変更され得るグラフを指す。動的グラフ・ビジュアライゼーションの主な目的は、動的グラフの時間次元に沿った変化パターンを開示し、グラフ又はネットワークの発展プロセスを明示することである。例えば、動的グラフ・ビジュアライゼーションは、社会学者によるソーシャル・ネットワークの発展プロセスの解明や、ビジネス・インテリジェンス(BI)・アナリストによる様々な企業の潜在顧客の発掘、生物学者によるタンパク変異の発見等に役立つ可能性がある。
【0004】
動的グラフ・ビジュアライゼーションには多くの課題が存在する。最も重要な課題の1つは、様々な時間フレームにおけるグラフ変化をユーザのメンタル・マップが維持されるように円滑に遷移させることである。この問題を解決するために、アニメーション技術が広く使用されている。アニメーションは、人々の関心を引くことができ、物事の変更部分と不変部分とを表現することができる。図1は、あるコミュニティの年単位のソーシャル・ネットワーク・グラフのアニメーション変化をデモンストレーションした一例を示し、各フレームは、このコミュニティの2004〜2008年の各年におけるソーシャル・ネットワーク・グラフを示す。ソーシャル・ネットワーク・グラフ内の各ノードは、コミュニティを形成する個人を示し、ノード間の各辺は、それらの個人間の関係を示す。これらの各フレームを連続的に再生することによりソーシャル・ネットワーク・グラフ内のノード及び辺の数年間の増減変化が表示され、それ故コミュニティの年単位の変化パターンが直感的に開示される。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、動的グラフ・ビジュアライゼーションの分野の既存のアニメーション技術は、いくつかの欠点を有する。例えば、複数のノードを追加又は削除することによってグラフが変更される場合、既存のアニメーション技術ではそれらのすべてのノードが同時に追加又は削除される。これによって時間コストは最小となるが、変更数が多すぎる故に動的グラフの変更時に発生する重要な構造上の更新をハイライトすることができず、その結果ユーザの視覚的な混乱が生じ、アニメーションの可読性が低下することになる。一方、ノード変更が1つずつ実行される場合も、多数の変更が存在すれば時間がかかりすぎてしまう。したがって、当業界ではアニメーション速度と可読性との所望のバランスをとるアニメーション・プランニング方法が必要とされている。
【0006】
また、動的ソーシャル・ネットワークのようなネットワークでは、関係(ソーシャル・ネットワークを表す動的グラフでは辺として表現される)の変更はごく一般的なことである。例えば、このような関係変更には個人間の関連付けの追加又は削除が含まれる。関係変更はソーシャル・ネットワーク・グラフのトポロジ構造を大きく変化させる可能性があるので、ソーシャル・ネットワークに対する関係変更の影響を分析し完全に提示することは困難である。従来のアニメーション技術において、関係変更は通常以下の2つのステップでデモンストレーションされる。第1ステップでは、各辺がそれぞれの始点ノードからターゲット・ノードに伸ばされ、各ノードが接続される。本ステップは、グラフ・トポロジの変化を示すのに使用される。換言すると、本ステップによってグラフ・ビジュアライゼーションに変更が生じた理由が描写される。第2ステップでは、新しい辺によって接続されたすべてのノード及び関係するノードが、それぞれの新しい位置に一緒にドラッグされる。これにより、グラフ・ビジュアライゼーションの変更現象又は変更結果が示される。この2ステップ・モデルでは、変更理由と最終的な変更結果との間にギャップが存在する。異なるノード移動は通常異なる接続に起因するものであり、最終的な移動結果は複数の接続(理由)に起因する可能性があるので、このような従来のアニメーション技術では各ノード移動の主要理由を発見し表示することができない。ノード移動理由の発見及び可視化は、ソーシャル・ネットワーク関係分析で非常に重要となる。したがって、当業界では、ソーシャル・ネットワーク・グラフのような動的グラフの関係変更とノード移動との間の内部関係が表示可能であるとともに可読性に優れたアニメーション・プランニング方法が必要とされている。
【課題を解決するための手段】
【0007】
本発明の一態様によれば、動的グラフ用アニメーション・プランニング方法であって、動的グラフ内のノード変更が適用されたことに応答して、前記変更ノードと既存ノードとの間の関係に従って前記変更ノードをアトミック・パーティション(atomic partition)にグループ化するステップと、前記アトミック・パーティション間のクラスタリング距離に従って、前記動的グラフ内のノード変更のアニメーション・デモンストレーションをプランニングするランニング・リスト(running list)であって、アトミック・パーティション・クラスタ又はアトミック・パーティションあるいはその両方を要素として含むランニング・リストが生成されるように、前記アトミック・パーティションをクラスタリングするステップと、を含む方法が提供される。
【0008】
本発明の別の態様によれば、動的グラフ用アニメーション・プランニング装置であって、動的グラフ内のノード変更が適用されたことに応答して、前記変更ノードと既存ノードとの間の関係に従って前記変更ノードをアトミック・パーティションにグループ化するアトミック・パーティショニング・モジュール(atomic partitioningmodule)と、前記アトミック・パーティション間のクラスタリング距離に従って、前記動的グラフ内のノード変更のアニメーション・デモンストレーションをプランニングするランニング・リストであって、アトミック・パーティション・クラスタ又はアトミック・パーティションあるいはその両方を要素として含むランニング・リストが生成されるように、前記アトミック・パーティションをクラスタリングするクラスタリング・モジュールと、を備える装置が提供される。
【0009】
本発明のまた別の態様によれば、動的グラフ用アニメーション・プランニング方法であって、動的グラフ内の接続変更が適用されたことに応答して、前記動的グラフ内のノードと、各変更接続が直接接続されるノードを指すキー・ノードとの間の相関に従って前記動的グラフ内のノードを様々なノード・グループにグループ化するステップと、前記接続変更に起因するノード移動のアニメーション・デモンストレーションを前記ノード・グループによってプランニングするステップと、を含む方法が提供される。
【0010】
本発明の他の態様によれば、動的グラフ用アニメーション・プランニング装置であって、動的グラフ内の接続変更が適用されたことに応答して、前記動的グラフ内のノードと、各変更接続(change connection)が直接接続されるノードを指すキー・ノードとの間の相関に従って前記動的グラフ内のノードを様々なノード・グループにグループ化するグループ化モジュールと、前記接続変更に起因するノード移動のアニメーション・デモンストレーションを前記ノード・グループによってプランニングするプランニング・モジュールと、を備える装置が提供される。
【0011】
本発明の技術的解決を用いると、動的グラフのノード変更又は接続変更に関するマルチ・ステージ・アニメーション・デモンストレーションのプランニング、ならびに動的グラフ内の変更要素間の相関、及びそれらの変更要素と既存の要素との間の相関を開示するアニメーション・デモンストレーション効果を得ることが可能となり、それ故、可読性の改善及びアニメーション・デモンストレーション速度の高速化が実現される。
【0012】
添付の特許請求範囲には、本発明の特徴と見なされる発明の特徴が記載されている。しかしながら、本発明ならびに本発明の好ましいモード、目的、特徴、及び利点は、例示的な諸実施形態に関する以下の詳細な説明を添付図面と併せて読めばより良く理解されるだろう。
【図面の簡単な説明】
【0013】
【図1】あるコミュニティの年単位のソーシャル・ネットワーク・グラフのアニメーション変化をデモンストレーションした一例を示す図である。
【図2】本発明の一実施形態に係る動的グラフ用アニメーション・プランニング方法の全体の流れを示す概略図である。
【図3】本発明の一実施形態に従って変更ノードをアトミック・パーティションにグループ化する方法の一例を示す図である。
【図4】本発明の一実施形態に係るクラスタリング・プロセスによって生成されるアニメーション・プランニング・モデルの一例を示す図である。
【図5】本発明の別の実施形態に係る動的グラフ用アニメーション・プランニング方法の全体の流れを示す図である。
【図6】動的グラフの接続変更の一例を示す図である。
【図7】すべてのグループのノード移動が並行してアニメーション・デモンストレーションされる場合を示す図である。
【図8】異なるグループのノード移動が1つずつアニメーション・デモンストレーションされる場合を示す図である。
【図9】ノード位置の重複が検出されたときに、次のグループのノード移動のアニメーション・デモンストレーションが直ちに開始される場合を示す図である。
【図10】ある力場内の初期位置Aからターゲット位置Bに移動するノードの移動経路を示す概略図である。
【発明を実施するための形態】
【0014】
以下、添付図面を参照して本発明の諸実施形態について説明する。以下の説明では、本発明の十分な理解が得られるように様々な詳細が説明される。しかしながら、本発明は、これらの詳細の一部が与えられない場合にも実現され得ることが当業者には理解されるだろう。また、本発明は、本明細書に記載される特定の実施形態に限定されるものではないことも理解していただきたい。そうではなく、本発明は、それらが異なる実施形態に関与するものであるか否かに関わらず、後述する各特徴及び要素の任意の組合せを使用して実施されることが企図される。したがって、後述する各態様、特徴、実施形態、及び利点は、特許請求範囲に記載の各請求項に特に明記しない限り、各請求項の要素となるものでもそれらを限定するものでもなく、単なる例示にすぎない。
【0015】
本発明の一態様では、動的グラフ内のノード変更(即ち、ノードの増加又は減少)に関するアニメーション・デモンストレーションのプランニングに使用される動的グラフ用アニメーション・プランニング方法が提供される。本方法では、動的グラフ内の変更ノードとそれらのノードの重要度との間の相関に従って各ノードが様々な次数でクラスタリングされ、このクラスタリングに従って、他の変更ノードとの相関が小さい変更ノード又はより重要度が高いノードは独立して又はより小さいクラスタでアニメーション・デモンストレーションされ、互いの相関が大きい変更ノードは一緒にアニメーション・デモンストレーションされるものとしてクラスタリングされるように、ノード変更のアニメーション・デモンストレーションがプランニングされる。したがって、可読性が良く時間コストも低いアニメーション・デモンストレーション効果が達成される。
【0016】
次に図2を参照すると、本発明の一実施形態に係る動的グラフ用アニメーション・プランニング方法の全体の流れが概略的に示されている。図示のとおり、本方法は以下の主なステップ、即ち、アトミック・パーティショニングを実行するステップと、アトミック・パーティションをクラスタリングするステップと、任意選択で動的ソートを実行するステップと、を含む。以下、本発明の方法の各ステップについて詳細に説明する。
【0017】
ステップ1:アトミック・パーティショニング
本ステップは、変更ノードが動的グラフに適用されたことに応答して、グラフ内の変更ノードと既存ノードとの間の関係に従って、変更ノードをいくつかのアトミック・パーティションにグループ化する。当業界では周知のとおり、動的グラフに対するノード変更の適用とは、動的グラフのトポロジ構造に変化が生じるようにノード変更を動的グラフのトポロジに適用し、その後、採用された適切なレイアウト・アルゴリズムを適用してノード変更後の動的グラフのレイアウト、即ち各ノードのターゲット位置を取得することを指す。
【0018】
既存ノードと直接接続されるすべての新規追加ノードは、同じアトミック・パーティションにグループ化することができる。このようなグループ化方法が図2に示される。ここでは、10個の新規追加ノードが4つの既存ノードと直接接続され、それ故、これらの10個の新規追加ノードはそれぞれ4つのアトミック・パーティションにグループ化され得る。
【0019】
いくつかの新規追加ノードが既存ノードと直接接続されない比較的複雑な条件では、まず各新規追加ノードのキー・ノードが発見され、同じキー・ノードを有する新規追加ノードが同じアトミック・パーティションにグループ化される。本方法の実行プロセスは、以下のように説明することができる。
【0020】
入力:
(1)新規追加ノードn
(2)動的グラフG
出力:
(1)アトミック・パーティション集合C
説明:
1.各nについて、グラフGに対して幅優先探索(Breadth-First-Search)を実行し、nとノード{m|m∈G}とを結合するすべての最短経路を記録し、経路集合をSとする。
2.S内の各最短経路について、当該経路内の各辺の重みを単純に加算することにより、それぞれの重みを計算する。
3.nとmを結合する経路を仮定して、すべての最短経路の中から重みが最も大きい経路を選択する。
4.ノードmを新規追加ノードnのキー・ノードとする。
5.同じキー・ノードmを有するすべてのnをアトミック・パーティションcとしてグループ化し、Cに入れる。
6.Cを返す。
【0021】
図3は、変更ノードをアトミック・パーティションにグループ化する方法の実行プロセスの一例を示す。図示のとおり、5、6、7は既存ノードであり、1、2、3、4は新規追加ノードである。
【0022】
新規追加ノード1から既存ノードまでの最短経路の集合は、S={(1,2,5),(1,3,5),(1,3,6)}、各経路の重みは、W={4,4,5}(最大の重みは5)であり、したがって新規追加ノード1のキー・ノードは、P=6となる。
【0023】
新規追加ノード2から既存ノードまでの最短経路の集合は、S={(2,5)}、経路の重みは、W={2}(最大の重みは2)であり、したがって新規追加ノード2のキー・ノードは、P=5となる。
【0024】
新規追加ノード3から既存ノードまでの最短経路の集合は、S={(3,5),(3,6)}、経路の重みは、W={1,2}(最大の重みは2)であり、したがって新規追加ノード3のキー・ノードは、P=6となる。
【0025】
新規追加ノード4から既存ノードまでの最短経路の集合は、S={(4,7)}、経路の重みは、W={1}(最大の重みは1)であり、したがって新規追加ノード4のキー・ノードは、P=7となる。
【0026】
それ故、新規追加ノード1及び3は、1つの同じアトミック・パーティションにグループ化されるが、新規追加ノード2は、別のアトミック・パーティションに、新規追加ノード4は、また別のアトミック・パーティションにグループ化される。
【0027】
ステップ2:アトミック・パーティションのクラスタリング
本ステップは、各アトミック・パーティションとそれぞれの重要度との間の相関に従ってアトミック・パーティションをいくつかのクラスタにクラスタリングし、それらのクラスタから構成される適切なランニング・リストを取得し、それによってアニメーション速度と情報の可読性とのバランスをとるものである。クラスタリング・プロセス中に、アトミック・パーティション、中間クラスタ、及び最終クラスタから構成される階層構造が形成され、この階層構造は、アニメーション・プランニング・モデルと呼ばれることがある。アトミック・パーティションを階層的にクラスタリングする上で最も重要なことは、任意の2つのアトミック・パーティション又はクラスタ間のクラスタ距離を計算することである。クラスタ距離の計算では多くの方法が使用され得る。1つの単純な手法は、ユークリッド幾何学距離公式を使用してアトミック・パーティション又はクラスタ間のスクリーン距離を計算し、スクリーン距離をクラスタ距離とするものである。スクリーン距離は、例えば2つのアトミック・パーティション又はクラスタに含まれるノード間の最短経路の長さであることも、2つのアトミック・パーティション又はクラスタに含まれるノード間の経路の平均長さであることもある。一方、本発明は、以下の要因のうちの1つ又は複数を考慮することによってクラスタ距離を計算する新しい方法を提案する。
【0028】
1.アトミック・パーティション又はクラスタの重要度。重要なアトミック・パーティションは、他のアトミック・パーティションと共にクラスタリングされずに独立して表示されることが望ましく、また、あるクラスタの重要度がアトミック・パーティションのクラスタリング・プロセス中に一定の次数まで累積された場合は、それ以降当該クラスタが他のアトミック・パーティション又はクラスタと共にクラスタリングされることはなくなる。
【0029】
2.2つのアトミック・パーティション又はクラスタ間のトポロジ距離。2つのアトミック・パーティション又はクラスタ同士を接続する辺が多数存在する場合、それらの2つのアトミック・パーティション又はクラスタ同士の結び付きは通常強くなり、また、各アトミック・パーティション又はクラスタに対する変更は通常、それらのアトミック・パーティション又はクラスタが一緒にクラスタリングしやすくなるように関係付けられる。ここで、2つのアトミック・パーティション又はクラスタ間のトポロジ距離は、それらの間の共通辺の数として定義することができる。
【0030】
3.2つのアトミック・パーティション又はクラスタ間のジオメトリ距離。上述のとおり、ジオメトリ距離は、2つのアトミック・パーティション又はクラスタ間のスクリーン距離を指し、通常は2つのアトミック・パーティション又はクラスタ内のノード間の最短経路の長さ、又は2つのアトミック・パーティション又はクラスタ内のノード間の経路の平均長さで示される。
【0031】
上記を考慮すると、任意の2つのアトミック・パーティション又はクラスタ間のクラスタリング距離は、次式を使用して計算することができる。
【数1】

【0032】
上式で、i及びjは、2つのアトミック・パーティション又はクラスタを示し、
dist(i,j)は、2つのアトミック・パーティション又はクラスタ間のクラスタリング距離を示し、
dは、iとjの間のジオメトリ距離を示し、次式が得られる。
【数2】

【0033】
上式で、eijはiとjを結合する辺の数であり、|i|はi内のノード数、|j|はj内のノード数を示す。
a=(0,1)は、0〜1の範囲の重みパラメータを指し、関連要因の必要とされる重みに従って指定することができる。
cは、iとjの組合せの重要度を示し、式:c=(|i|c+|j|c)/(|i|+|j|)を使用して計算される。ここで、c及びcは、それぞれi及びjの重要度を示し、これらの重要度は、次式を使用して計算することができる。
【数3】

【0034】
即ち、cは、i内のノードの重要度の合計である。上式は更に、ノードnの重要度の計算方法も提案する。上式で、C(n)はノードnの近接中心性(closeness centrality)、B(n)はノードnの媒介中心性(between centrality)、βは重みパラメータである。実際には、ノードの重要度は当業界で周知の多くの方法を使用して計算することができる。例えば、ノードの次数中心性(degree centrality)や固有ベクトル中心性(eigenvector centrality)等も考慮することができる。
【0035】
上記では、アトミック・パーティション又はクラスタ間のクラスタリング距離の例示的な計算方法を提示したが、以下では、クラスタリング距離を使用してアトミック・パーティションに対する階層クラスタリングを実行し、それによってランニング・リストを取得する方法の実行プロセスについて説明する。
【0036】
入力:
1)アトミック・パーティション集合C
2)重要度閾値λ
3)動的グラフG
出力:
1)ランニング・リストL
説明:
1.初期集合S=Cにセットする。
2.S内の各要素iの重要度cを計算する。iがアトミック・パーティションである場合には、その重要度はすべての収容ノードの重要度の合計となるが、iがクラスタである場合には、その重要度はクラスタに含まれるアトミック・パーティション又はクラスタの重要度の合計となる。ノードの重要度計算では複数の方法が使用され得る。例えば、ノードの重要度は、ノードの次数中心性、近接中心性、媒介中心性、及び固有ベクトル中心性のうちの任意の1つ又はそれらの組合せを使用して計算することができる。
3.S内の各iについて、c≧λである場合は、iをLに入れる。ここで、λは重要度閾値であり、λの値は、関連要因の必要とされる重みに従って設定することができる。
4.S内の2つの要素i及びj毎に、上述の方法を使用してdist(i,j)が計算される。
a)クラスタi及びjをクラスタMとして、iとjの間のクラスタリング距離が平均距離閾値λ未満である場合は、i及びjをSから削除し、MをSに追加する。
b)iとS内の他の任意の要素との間のクラスタ距離が平均距離閾値λ以上である場合は、iをLに入れる。
5.ステップ2に進んで、S内のすべての要素間のクラスタリング距離が平均距離閾値λ以上となるまで新しいクラスタリング・ラウンドを開始し、S内のすべての要素をLに入れる。
6.Lを返す。
【0037】
上記の平均距離閾値λは、次式によって計算することができる。
λ=max(D(i,j))/(count−1)
上式で、max(D(i,j))はS内の既存要素間の最大クラスタリング距離、countはS内の既存要素数である。
【0038】
上記のクラスタリング・プロセスによってアニメーション・プランニング・モデルが生成される。図4は、このようなクラスタリング・プロセスによって生成されるアニメーション・プランニング・モデルの一例を示す。図示のとおり、このモデルは階層的であり、最下層はアトミック・パーティション1〜18である。クラスタリング・プロセスの第1ラウンドにおいて、アトミック・パーティション1〜4、5‐6、7‐8、9‐10、13〜15、16〜18は、それぞれクラスタA、B、C、D、E、Fにクラスタリングされ、アトミック・パーティション11及び12は、それらの重要度が重要度閾値を超える、又は他の任意の要素との間のクラスタリング距離がいずれも平均距離閾値以上となる故に、ランニング・リストに転送される。クラスタリング・プロセスの第2ラウンドにおいて、クラスタA‐B、E‐Fは更に、クラスタG、Hにクラスタリングされ、クラスタC及びDは、それらの重要度が重要度閾値を超える、又は他の任意の要素との間のクラスタリング距離がいずれも平均距離閾値以上となる故に、ランニング・リストに転送される。クラスタリング・プロセスの第3ラウンドにおいて、クラスタG及びHは、それらの重要度が重要度閾値を超える、又は他の任意の要素との間のクラスタリング距離がいずれも平均距離閾値以上となる故に、ランニング・リストに転送される。したがって、取得されるランニング・リストは、図4の破線で接続される要素、即ちクラスタG、C、D、アトミック・パーティション11、12、及びクラスタHを含むことになる。このようにして、アニメーション・デモンストレーションは、ランニング・リストの内容に従って実行されるようにプランニングされ、それ故、可読性とデモンストレーション速度とのバランスが良いアニメーション・デモンストレーション効果が得られる。
【0039】
ステップ3:動的ソート
本ステップは任意選択であり、ランニング・リスト内の要素(クラスタ又はアトミック・パーティション)のアニメーション・デモンストレーション順序を決定する。人間の視覚的な平滑追跡能力は非対称的であり、通常は縦方向の平滑追跡能力よりも横方向の平滑追跡能力の方が優れており、上方向の平滑追跡能力よりも下方向の平滑追跡能力の方が優れている。これに基づき、動的ソートの目的は、横方向の移動ならびに下方向の移動を最大化すること、即ち、ランニング・リスト内のクラスタ又はアトミック・パーティションのスクリーン位置に従って、クラスタ又はアトミック・パーティションのデモンストレーションが左から右、上から下、右から左の順に可能な限り離れた位置まで実行されるように、アニメーション・デモンストレーションの順序を決定することである。また、重要度の高いクラスタ又はアトミック・パーティションほど高い優先度が割り当てられ、即ち、重要なクラスタ又はアトミック・パーティションから先にデモンストレーションされる。
【0040】
具体的には、まずランニング・リスト内の要素の重要度[a1,a2,...,ai,...,an]が取得される。クラスタ又はアトミック・パーティションの重要度は、上述の方法を使用して計算することができる。
【0041】
次に、ランニング・リスト内の要素のスクリーン位置に従って、各要素の視覚的順序の重み(visual order weight)[b,b,...,b,...,b]が決定される。視覚的順序の重みは、上記のアニメーション・デモンストレーション順序に従って指定することができる。例えば、スクリーンの左側の要素がスクリーンの右側の要素よりも大きい視覚的順序の重みを有し、スクリーンの上部の要素がスクリーンの下部の要素よりも大きい視覚的順序の重みを有するように指定することができる。
【0042】
次に、ランニング・リスト内の各要素のアニメーション・デモンストレーション順序の重み(animationdemonstration order weight)を次式を使用して計算することができ、ランニング・リスト内の各要素のアニメーション・デモンストレーション順序をアニメーション・デモンストレーション順序の重みに従って決定することができる。
【数4】

【0043】
上式で、Oは、要素iのアニメーション・デモンストレーション順序の重みであり、αは、要素重要度の重みと視覚的順序の重みとの間の相対重みを表す係数である。
【0044】
ステップ2で変更ノードがクラスタリングされ、適切なランニング・リストが生成され、任意選択のステップ3でクラスタ又はアトミック・パーティションのデモンストレーション順序が決定された後は、良好な可読性と高速なデモンストレーション速度を兼ね備えたアニメーション・デモンストレーションが得られるように、ノード変更のアニメーション・デモンストレーションをランニング・リスト及びデモンストレーション順序に従ってプランニングすることができる。
【0045】
上記では、動的グラフにノードを追加する場合を一例として本発明の一実施形態に係る動的グラフ用アニメーション・プランニング方法について説明したが、上記の説明は単なる例示であり、本発明を限定するものではないことを指摘しておきたい。例えば、本発明は、動的グラフのノードを減少させるのにも適しており、また、動的グラフへのノード追加と動的グラフのノード減少を同時に実行するのにも適している。動的グラフのノードが減少される場合は、減少対象ノードの処理は追加対象ノードの処理と同じになる。即ち、各ノードがアトミック・パーティションにグループ化された後、当該アトミック・パーティションのクラスタリングが実行され、任意選択でクラスタ(場合によってはアトミック・パーティション)に対して動的ソートが実行され、その結果、各ノードのアニメーション・デモンストレーションがこれらのクラスタリング及び動的ソートに従ってプランニングされる。動的グラフのノード追加及びノード減少が同時に実行される場合は、追加対象ノードと減少対象ノードはそれぞれ個別に処理され得る。即ち、追加対象ノード及び減少対象ノードがそれぞれ個別にアトミック・パーティションにグループ化された後、それぞれのアトミック・パーティションのクラスタリングが実行され、任意選択でそれぞれのクラスタ(場合によってはアトミック・パーティション)に対して動的ソートが実行され、その結果、追加対象ノード及び減少対象ノードのアニメーション・デモンストレーションがそれぞれのクラスタリング及び動的ソートに従ってプランニングされる。好ましくは、アニメーション・デモンストレーションは、最初に減少対象ノードがデモンストレーションされ、次に動的グラフ内のオリジナル・ノードがターゲット位置に移動するようにデモンストレーションされ、最後に追加対象ノードがデモンストレーションされるようにプランニングされる。動的グラフ内のオリジナル・ノードのターゲット・ノードは、ノード変更が動的グラフに適用された後に、採用されたレイアウト・アルゴリズムを使用して計算することができる。
【0046】
本発明は更に、上述した動的グラフ用アニメーション・プランニング方法を実行するのに使用され得る動的グラフ用アニメーション・プランニング装置も提供する。以下では動的グラフ用アニメーション・プランニング装置の概要のみを説明し、本装置の詳細情報に関しては上記の説明を参照していただきたい。
【0047】
本発明の一実施形態によれば、動的グラフ用アニメーション・プランニング装置は、動的グラフ内の変更ノードと既存ノードとの間の関係に従って前記変更ノードをアトミック・パーティションにグループ化するアトミック・パーティショニング・モジュールと、前記アトミック・パーティション間のクラスタリング距離に従って、前記動的グラフ内の前記変更ノードのアニメーション・デモンストレーションをプランニングするランニング・リストであって、アトミック・パーティション・クラスタ又はアトミック・パーティションあるいはその両方を要素として含むランニング・リストが生成されるように、前記アトミック・パーティションをクラスタリングするクラスタリング・モジュールと、を備える。
【0048】
本発明の一実施形態によれば、前記装置は、前記要素のスクリーン位置及び前記要素の重要度に従って、前記ランニング・リスト内の前記要素のアニメーション・デモンストレーション順序をソートするソート・モジュールを更に備える。
【0049】
本発明の一実施形態によれば、前記アトミック・パーティショニング・モジュールは、各変更ノードについて、当該ノードが前記動的グラフ内の既存ノードと接続される最短経路内で重みが最も大きい経路を取得し、前記経路によって接続される前記動的グラフ内の前記既存ノードを前記変更ノードのキー・ノードとする手段と、同じキー・ノードを有する前記変更ノードを同じアトミック・パーティションにグループ化する手段と、を備える。
【0050】
本発明の一実施形態によれば、前記クラスタリング・モジュールは、それ自体の重要度が重要度閾値に達した又はそれを超えた前記アトミック・パーティション又はクラスタを前記ランニング・リストに転送する手段と、それらの間の前記クラスタリング距離が距離閾値よりも小さい2つのアトミック・パーティション又はクラスタをクラスタリングする手段と、他の任意のアトミック・パーティション又はクラスタとの間の前記クラスタリング距離が前記距離閾値以上である前記アトミック・パーティション又はクラスタを前記ランニング・リストに転送する手段と、を備え、上記の処理は、すべての前記アトミック・パーティションがアトミック・パーティション又はクラスタの一部として前記ランニング・リストに入れられるまで繰り返し実行される。
【0051】
本発明の一実施形態によれば、2つのアトミック・パーティション又はクラスタ間の前記クラスタリング距離は、前記2つのアトミック・パーティション又はクラスタ間のジオメトリ距離、前記2つのアトミック・パーティション又はクラスタ同士を接続する辺の数、及び前記2つのアトミック・パーティション又はクラスタの組合せの重要度、のうちの1つ又は複数に依存する。
【0052】
本発明の一実施形態によれば、アトミック・パーティション又はクラスタの重要度は、前記アトミック・パーティション又はクラスタに含まれるノードの重要度に依存し、ノードの重要度は、前記ノードの次数中心性、近接中心性、媒介中心性、及び固有ベクトル中心性のうちの1つ又は複数に依存する。
【0053】
本発明の別の態様によれば、動的グラフ用アニメーション・プランニング方法が提供される。前記方法は、動的グラフ内の接続(即ち辺)の変更に起因するノード移動のアニメーション・デモンストレーションをプランニングするのに使用される。前記方法では、ノードの接続変更がノード移動の内部理由とされ、様々なノードの位置変更を生じさせた内部理由、即ち、どの辺の変更がどのノードの位置変更原因であるかを突き止める試行がなされ、次に、それらの移動が主に同じ辺に起因するノードが一緒にグループ化され、最後に、同じグループ内のノードの移動が同時にアニメーション・デモンストレーションされ、異なるグループ内のノードの移動が異なる時点でアニメーション・デモンストレーションされるように、ノード移動のアニメーション・デモンストレーションがプランニングされる。
【0054】
次に図5を参照すると、本発明の一実施形態に係る動的グラフ用アニメーション・プランニング方法の全体の流れが示されている。図示のとおり、本方法は、以下の主なステップ、即ち、接続変更を適用するステップと、ノード・グループ化を実行するステップと、マルチ・ステージ・アニメーション・プランニングを実行するステップと、を含む。以下、添付図面を参照して本発明の一実施形態に係る動的グラフ用アニメーション・プランニング方法について説明する。
【0055】
ステップ1:接続変更の適用
本ステップでは、動的グラフのトポロジ構造を変化させる接続変更が動的グラフのトポロジに適用され、その後、採用された適切なレイアウト・アルゴリズムを適用して接続変更後の動的グラフのレイアウト、即ち各ノードのターゲット位置が取得される。図6は、動的グラフの接続変更の一例を示す。図示のとおり、2つの接続eAD及びeBCが動的グラフに追加され、これらの2つの接続によってすべてのノードの移動が発生する。本ステップは、ここでは詳細な説明は省略するが、http://sonia.stanford.edu等から入手可能な既存の動的グラフ・ビジュアライゼーション・システムによって達成することができる。
【0056】
ステップ2:ノード・グループ化
本ステップでは、すべてのノードの接続変更を1つずつ検査してその接続変更がノード移動の主要理由となるかどうかが判定され、移動が同じ接続変更に起因するノード同士が一緒にグループ化される。従来技術の方法では、すべてのノードが一緒に移動するので、ノード移動を生じさせた主要理由を表示することができない。本発明の方法は、ノード移動を生じさせた主要理由に従って各ノードを様々なグループに分け、それらのグループに従って、可読性に優れたアニメーション・デモンストレーション効果が得られるようにノード移動のアニメーション・デモンストレーションをプランニングする。
【0057】
本発明の一実施形態によれば、ノード・グループ化の詳細なステップは以下のとおりとなる。
【0058】
1.各変更接続eijについて、初期グループGijが作成され、ノードi及びjがGijに入れられると同時にキー・ノード集合Kに入れられる。即ち、接続変更によって直接接続されるノードがキー・ノードと見なされ、これらのキー・ノードは、各キー・ノードが属する接続変更に従って様々なグループにグループ化される。例えば、図6の動的グラフの接続変更の場合、作成される初期グループは、GAD={A,D}、GBC={B,C}であり、キー・ノード集合は、K={A,D,B,C}である。2つ以上の変更接続が共通のノードを共有する場合は、初期グループを作成し、これらの変更接続によって直接接続されるすべてのノードを作成された初期グループに入れることができる。
【0059】
2.すべての初期グループ内の各ノードiについて、iとグラフ内の他の任意のノードとの間の相関が計算される。即ち、動的グラフ内の各非キー・ノードと各キー・ノードとの間の相関が計算される。ノードiとjの間の相関は、次式を使用して計算することができる。
【数5】

【0060】
上式で、R(i,j)はノードiとjの間の相関、Pijはノードiからjまでのすべての経路を含む経路集合、wklはノードkとlの間の辺の重み、|p|は経路pのトポロジ長、Eはグラフ内のすべての辺の集合、eklはノードkとlの間の辺、eijはノードiとjの間の辺である。即ち、上式によれば、2つのノード間の相関は、2つのノード間のすべての経路内の各辺の重みに依存する。
【0061】
3.各非キー・ノードについて、非キー・ノードは、それ自体との相関が最も大きいキー・ノードを含むグループに入れられる。即ち、すべての非キー・ノードとすべてのキー・ノードとの間の相関を比較して各非キー・ノードとの相関が最も大きいキー・ノードが取得され、その後、各非キー・ノードは、それ自体との相関が最も大きいキー・ノードが存在するグループに入れられる。例えば、図6の各ノードE、F、G、H、Iについて、各ノードは、それらとキー・ノードA、D、B、Cとの間の計算される相関に従ってグループGAD又はGBCに入れられる。
【0062】
このようにして、動的グラフ内の各ノードは、接続変更が動的グラフに適用されたことに応答して、動的グラフ内の各ノードの移動を生じさせた主要理由に従って、即ち、各ノードの移動を生じさせた対応する主要接続変更に従って様々なグループにグループ化される。
【0063】
ステップ3:マルチ・ステージ・アニメーション・プランニング
本ステップは、アニメーションのマルチ・ステージ・デモンストレーションをステップ2で取得されるノード・グループに従ってプランニングする。即ち、グラフ中の同じグループ内のノード移動は、一緒にアニメーション・デモンストレーションされるようにプランニングされ、異なるグループ内のノード移動は、ノード移動を生じさせた主要理由がより明確に表示されるよう異なる時点でアニメーション・デモンストレーションされるようにプランニングされる。異なるグループ内のノード移動のアニメーション・デモンストレーションの相対時間は、状況に応じて異なる可能性がある。図7は、すべてのグループのノード移動が並行してアニメーション・デモンストレーションされる場合、即ち、複数の接続変更に起因するすべてのグループのノード移動が同時にアニメーション・デモンストレーションされる場合を示す。これは事実上、すべてのノード移動を同時にデモンストレーションする従来技術のアプローチであり、この場合はグラフ変更の詳細が失われ、グラフ変更の因果関係を開示することができない。図8は、異なるグループ内のノード移動が1つずつアニメーション・デモンストレーションされる場合、即ち、前のグループのノード移動のアニメーション・デモンストレーションが完了した後に、次のグループのノード移動が直ちにアニメーション・デモンストレーションされる場合を示す。このようなアプローチでは、グラフ変更の詳細を維持し、グラフ変更の因果関係を開示することが可能となる。しかしながら、このアプローチの欠点は、ノード重複が発生する可能性があることである。即ち、あるグループのノードの移動がアニメーション・デモンストレーションされるときに、そのグループ内のいくつかのノードの位置が他のノードの位置と重複する可能性があり、それ故視覚的な混乱が生じる恐れがある。したがって、ノード移動をグループ単位でアニメーション・デモンストレーションすると同時にノード位置の重複を可能な限り回避することが必要とされる。
【0064】
このため、本発明の他の実施形態は更に、各グループのノードの移動時に発生するノード位置の重複を検出するステップと、あるグループのノード位置の移動中に別のグループのノード位置との重複が発生したときに、当該別のグループのノードの移動が直ちに開始されるようにアニメーション・デモンストレーションをプランニングするステップと、を含む。図9は、ノード位置の重複が検出されたときに、次のグループのノードの移動が直ちに開始される場合を示す図である。当業者には理解されるように、動的グラフ内の各ノードの初期位置は既知であり、各ノードのターゲット位置も上述のステップで適切なレイアウト・アルゴリズムを適用することによって取得済みであり、また、選択された経路計算方法(例えば後述の力指向的(force-directed)アニメーション・モデル)に従って、各ノードの初期位置からターゲット位置までの移動経路を計算することができ、それ故各ノードが移動中に他のノードと重複するかどうか、重複する場合はいつ重複が起きるかを検出することが可能となる。
【0065】
各グループのノード移動のアニメーション・デモンストレーションを具体的にプランニングするために、各ノードの初期位置とターゲット位置との間の移動経路を解決する必要がある。各ノードの初期位置とターゲット位置との間の移動経路は、様々な方法を使用して計算することができ、例えば、各ノードの移動経路は、単純に線形補間法を使用することにより、各ノードの初期位置及び最終位置に従って計算することができる。より良い方法は、各ノードの移動経路を力指向的アニメーション・モデルを使用して計算することである。力指向的アニメーション・モデルの目的は、力場の消費エネルギーが最小となる曲線経路を発見することである。具体的に、このモデルでは、ある接続によって結合される各ノード対についてばね力が指定され、互いに分離又は接続される各ノード対について普遍的な斥力(universal expulsionforce)が指定され、各ノードについて当該ノードが最終的にターゲット位置に移動し得ることを保証する可変外力Fが指定され、ノードの移動時に発生するエネルギー消費量||F||が最小化される。このモデルは、関係制約最適化問題に変換することによって解くことができる。
【0066】
例えば、ノードの移動経路は、以下の制約最適化方程式を作成することによって計算することができる。
【数6】

【0067】
上式で、tはノード移動の開始時間、tはノード移動の終了時間、tは時間変数、Fはノードiが受ける可変力、fijはノードiとjの間のばね力、Eは動的グラフ内の辺の集合、pijはi及びjから成る任意のノード対間の斥力、mはノードiの重要度、Xはノードiの位置、kはばね力とノード移動速度との間の関係を表す係数、kは斥力とノード移動速度との間の関係を表す係数、Initialはノードiの初期位置、Finalはノードiの最終位置である。当業者には周知のとおり、上記の各方程式は、離散方程式を使用して上式中の偏微分方程式を置き換え、有限差分法及び逐次2次計画法(Sequential QuadraticProgramming)を使用して解くことができ、その結果ノードiの移動経路が取得される。図10は、上記の方法を使用して得られる力場内の初期位置Aからターゲット位置Bまでのノードの移動経路を概略的に示す。各ノード・グループ内の各ノードの移動経路が上記の方法を使用して計算されると、各グループのノード移動のアニメーション・デモンストレーションを具体的にプランニングすることが可能となる。
【0068】
上記では、本発明の一実施形態に係る動的グラフ用アニメーション・プランニング方法について説明したが、上記の説明は単なる例示であり、本発明を限定するものではないことを指摘しておきたい。例えば、上記では接続を追加する場合を一例として本発明について説明したが、本発明は、動的グラフの接続を減少させる場合にも適しており、また、動的グラフの接続追加及び接続減少を同時に実行する場合にも適している。これらの場合において、本発明の方法は、減少対象接続と追加対象接続とを均一に処理する。即ち、追加対象接続の場合であれ減少対象接続の場合であれ、各ノードは、それらの接続によって直接接続されるキー・ノード、及び他のノードとキー・ノードとの間の相関に従ってグループ化され、それらのノード・グループに従ってアニメーション・デモンストレーションがプランニングされる。
【0069】
本発明は更に、上述した動的グラフ用アニメーション・プランニング方法を実行するのに使用され得る動的グラフ用アニメーション・プランニング装置も提供する。以下では動的グラフ用アニメーション・プランニング装置の概要のみを説明し、本装置の詳細情報に関しては上記の説明を参照していただきたい。
【0070】
本発明の一実施形態によれば、動的グラフ用アニメーション・プランニング装置は、動的グラフ内の接続変更が適用されたことに応答して、前記動的グラフ内のノードと、前記動的グラフ内の各変更接続が直接接続されるノードを指すキー・ノードとの間の相関に従って前記動的グラフ内のノードを様々なノード・グループにグループ化するグループ化モジュールと、前記接続変更に起因するノード移動のアニメーション・デモンストレーションを前記ノード・グループによってプランニングするプランニング・モジュールと、を備える。
【0071】
本発明の一実施形態によれば、前記グループ化モジュールは、前記動的グラフ内の各非キー・ノードと各キー・ノードとの間の相関を計算する計算サブ・モジュールと、各非キー・ノードと各キー・ノードとの間の前記相関を比較することによって各非キー・ノードとの間の相関が最も大きいキー・ノードを取得する比較サブ・モジュールと、各非キー・ノードを、それ自体との相関が最も大きいキー・ノードが存在するノード・グループにグループ化するグループ化サブ・モジュールと、を備える。
【0072】
本発明の一実施形態によれば、2つのノード間の相関は、前記2つのノード間の各経路内の各辺の重みに依存する。
【0073】
本発明の一実施形態によれば、前記装置は、前記ノード移動中に発生する前記ノード・グループ内のノードと他のノードとの位置重複を検出する重複検出モジュールを更に備え、前記プランニング・モジュールは、前記ノード移動中に前記ノード・グループ内のノードと別のノード・グループ内のノードとの位置重複が発生したときに、前記別のノード・グループ内の前記ノードの移動が直ちに開始されるように前記ノード移動の前記アニメーション・デモンストレーションをプランニングする手段を備える。
【0074】
本発明の一実施形態によれば、前記プランニング・モジュールは、前記接続変更が適用される前に前記動的グラフ内の各ノードの初期位置を取得し、前記接続変更が適用された後に各ノードのターゲット位置を取得する手段と、前記初期位置と前記ターゲット位置との間の各ノードの移動経路を力指向的アニメーション・モデルを使用して計算する手段と、を備え、前記力指向的アニメーション・モデルは、直接接続されるノードから成る各ノード対間のばね力と、各ノード対間の斥力と、各ノードの移動を推進する可変力と、を含み、力場内の消費エネルギーが最小となる曲線経路を発見するモデルである。
【0075】
本発明は、ハードウェア、ソフトウェア、あるいはハードウェアとソフトウェアの組合せの形で実現することができる。本発明は、1つのコンピュータ・システムにおいて集中的な構成で実現することも、様々な構成要素がいくつかの相互接続コンピュータ・システムに分散される分散的な構成で実現することもできる。本明細書に記載の方法を実行するのに適した任意のコンピュータ・システム又は他の装置を利用することが可能である。ハードウェアとソフトウェアの典型的な組合せは、それ自体がロードされ実行されたときにコンピュータ・システムによって本発明の方法が実行され本発明の装置が構成されるように制御するコンピュータ・プログラムを備えたコンピュータ・システムである可能性がある。
【0076】
本発明は、本明細書に記載される方法のすべての特徴を実現し、それ自体がコンピュータ・システムにロードされたときに当該方法を実行することが可能なコンピュータ・プログラムの形で実施することもできる。
【0077】
以上、本発明を好ましい諸実施形態に関して図示し説明してきたが、本発明の形態及び詳細には本発明の趣旨及び範囲を逸脱しない限り様々な変更を加えることができることが、当業者には理解されるであろう。
【符号の説明】
【0078】
AD、eBC 追加される接続

【特許請求の範囲】
【請求項1】
動的グラフ用アニメーション・プランニング方法であって、
動的グラフ内のノード変更が適用されたことに応答して、変更ノードと既存ノードとの間の関係に従って前記変更ノードをアトミック・パーティションにグループ化するステップと、
前記アトミック・パーティション間のクラスタリング距離に従って、前記動的グラフ内のノード変更のアニメーション・デモンストレーションをプランニングするランニング・リストであって、アトミック・パーティション・クラスタ又はアトミック・パーティションあるいはその両方を要素として含むランニング・リストが生成されるように、前記アトミック・パーティションをクラスタリングするステップと、
を含む方法。
【請求項2】
前記要素のスクリーン位置及び前記要素の重要度に従って、前記ランニング・リスト内の前記要素のアニメーション・デモンストレーション順序をソートするステップ
を更に含む、請求項1に記載の方法。
【請求項3】
前記変更ノードを前記アトミック・パーティションにグループ化する前記ステップは、
各変更ノードについて、当該ノードが前記動的グラフ内の既存ノードと接続される最短経路内で重みが最も大きい経路を取得し、前記経路によって接続される前記動的グラフ内の前記既存ノードを前記変更ノードのキー・ノードとするステップと、
同じキー・ノードを有する前記変更ノードを同じアトミック・パーティションにグループ化するステップと、
を含む、請求項1に記載の方法。
【請求項4】
前記アトミック・パーティション間のクラスタリング距離に従って、前記動的グラフ内のノード変更のアニメーション・デモンストレーションをプランニングするランニング・リストが生成されるように前記アトミック・パーティションをクラスタリングする前記ステップは、
それ自体の重要度が重要度閾値に達した又はそれを超えた前記アトミック・パーティション又はクラスタを前記ランニング・リストに転送するステップと、
それらの間の前記クラスタリング距離が距離閾値よりも小さい2つのアトミック・パーティション又はクラスタをクラスタリングするステップと、
他の任意のアトミック・パーティション又はクラスタとの間の前記クラスタリング距離が前記距離閾値以上である前記アトミック・パーティション又はクラスタを前記ランニング・リストに転送するステップと、
を含み、
前記各ステップは、すべての前記アトミック・パーティションがアトミック・パーティション又はクラスタの一部として前記ランニング・リストに入れられるまで繰り返し実行される、
請求項1に記載の方法。
【請求項5】
2つのアトミック・パーティション又はクラスタ間の前記クラスタリング距離は、
前記2つのアトミック・パーティション又はクラスタ間のジオメトリ距離、
前記2つのアトミック・パーティション又はクラスタ同士を接続する辺の数、及び
前記2つのアトミック・パーティション又はクラスタの組合せの重要度、
のうちの1つ又は複数に依存する、請求項4に記載の方法。
【請求項6】
アトミック・パーティション又はクラスタの重要度は、前記アトミック・パーティション又はクラスタに含まれるノードの重要度に依存し、ノードの重要度は、前記ノードの次数中心性、近接中心性、媒介中心性、及び固有ベクトル中心性のうちの1つ又は複数に依存する、請求項4に記載の方法。
【請求項7】
動的グラフ用アニメーション・プランニング装置であって、
動的グラフ内のノード変更が適用されたことに応答して、変更ノードと既存ノードとの間の関係に従って前記変更ノードをアトミック・パーティションにグループ化するアトミック・パーティショニング・モジュールと、
前記アトミック・パーティション間のクラスタリング距離に従って、前記動的グラフ内のノード変更のアニメーション・デモンストレーションをプランニングするランニング・リストであって、アトミック・パーティション・クラスタ又はアトミック・パーティションあるいはその両方を要素として含むランニング・リストが生成されるように、前記アトミック・パーティションをクラスタリングするクラスタリング・モジュールと、
を備える装置。
【請求項8】
前記要素のスクリーン位置及び前記要素の重要度に従って、前記ランニング・リスト内の前記要素のアニメーション・デモンストレーション順序をソートするソート・モジュール
を更に備える、請求項7に記載の装置。
【請求項9】
前記アトミック・パーティショニング・モジュールは、
各変更ノードについて、当該ノードが前記動的グラフ内の既存ノードと接続される最短経路内で重みが最も大きい経路を取得し、前記経路によって接続される前記動的グラフ内の前記既存ノードを前記変更ノードのキー・ノードとする手段と、
同じキー・ノードを有する前記変更ノードを同じアトミック・パーティションにグループ化する手段と、
を備える請求項7に記載の装置。
【請求項10】
前記クラスタリング・モジュールは、
それ自体の重要度が重要度閾値に達した又はそれを超えた前記アトミック・パーティション又はクラスタを前記ランニング・リストに転送する手段と、
それらの間の前記クラスタリング距離が距離閾値よりも小さい2つのアトミック・パーティション又はクラスタをクラスタリングする手段と、
他の任意のアトミック・パーティション又はクラスタとの間の前記クラスタリング距離が前記距離閾値以上である前記アトミック・パーティション又はクラスタを前記ランニング・リストに転送する手段と、
を備え、
すべての前記アトミック・パーティションがアトミック・パーティション又はクラスタの一部として前記ランニング・リストに入れられるまで繰り返し実行される、
請求項7に記載の装置。
【請求項11】
2つのアトミック・パーティション又はクラスタ間の前記クラスタリング距離は、
前記2つのアトミック・パーティション又はクラスタ間のジオメトリ距離、
前記2つのアトミック・パーティション又はクラスタ同士を接続する辺の数、及び
前記2つのアトミック・パーティション又はクラスタの組合せの重要度、
のうちの1つ又は複数に依存する、請求項10に記載の装置。
【請求項12】
アトミック・パーティション又はクラスタの重要度は、前記アトミック・パーティション又はクラスタに含まれるノードの重要度に依存し、ノードの重要度は、前記ノードの次数中心性、近接中心性、媒介中心性、及び固有ベクトル中心性のうちの1つ又は複数に依存する、請求項10に記載の装置。
【請求項13】
動的グラフ用アニメーション・プランニング方法であって、
動的グラフ内の接続変更が適用されたことに応答して、前記動的グラフ内のノードと、各変更接続が直接接続されるノードを指すキー・ノードとの間の相関に従って前記動的グラフ内のノードを様々なノード・グループにグループ化するステップと、
前記接続変更に起因するノード移動のアニメーション・デモンストレーションを前記ノード・グループによってプランニングするステップと、
を含む方法。
【請求項14】
前記動的グラフ内のノードと前記キー・ノードとの間の相関に従って前記動的グラフ内のノードを様々なノード・グループにグループ化する前記ステップは、
前記動的グラフ内の各非キー・ノードと各キー・ノードとの間の相関を計算するステップと、
各非キー・ノードと各キー・ノードとの間の前記相関を比較することによって各非キー・ノードとの間の相関が最も大きいキー・ノードを取得するステップと、
各非キー・ノードを、それ自体との相関が最も大きいキー・ノードが存在するノード・グループにグループ化するステップと、
を含む、請求項13に記載の方法。
【請求項15】
2つのノード間の相関は、前記2つのノード間の各経路内の各辺の重みに依存する、請求項13に記載の方法。
【請求項16】
前記ノード移動中に発生する前記ノード・グループ内のノードと他のノードとの位置重複を検出するステップを更に含み、前記接続変更に起因する前記ノード移動の前記アニメーション・デモンストレーションを前記ノード・グループによってプランニングする前記ステップは、
前記ノード移動中に前記ノード・グループ内のノードと別のノード・グループ内のノードとの位置重複が発生したときに、前記別のノード・グループ内の前記ノードの移動が直ちに開始されるように前記ノード移動の前記アニメーション・デモンストレーションをプランニングするステップ
を含む、請求項13に記載の方法。
【請求項17】
前記接続変更に起因する前記ノード移動の前記アニメーション・デモンストレーションを前記ノード・グループによってプランニングする前記ステップは、
前記接続変更が適用される前に前記動的グラフ内の各ノードの初期位置を取得し、前記接続変更が適用された後にターゲット位置を取得するステップと、
前記初期位置と前記ターゲット位置との間の各ノードの移動経路を力指向的アニメーション・モデルを使用して計算するステップと、
を含み、
前記力指向的アニメーション・モデルは、直接接続されるノードから成る各ノード対間のばね力と、各ノード対間の斥力と、各ノードの移動を推進する可変力と、を含み、力場内の消費エネルギーが最小となる曲線経路を発見するモデルである、
請求項13に記載の方法。
【請求項18】
動的グラフ用アニメーション・プランニング装置であって、
動的グラフ内の接続変更が適用されたことに応答して、前記動的グラフ内のノードと、各変更接続が直接接続されるノードを指すキー・ノードとの間の相関に従って前記動的グラフ内のノードを様々なノード・グループにグループ化するグループ化モジュールと、
前記接続変更に起因するノード移動のアニメーション・デモンストレーションを前記ノード・グループによってプランニングするプランニング・モジュールと、
を備える装置。
【請求項19】
前記グループ化モジュールは、
前記動的グラフ内の各非キー・ノードと各キー・ノードとの間の相関を計算する計算サブ・モジュールと、
各非キー・ノードと各キー・ノードとの間の前記相関を比較することによって各非キー・ノードとの間の相関が最も大きいキー・ノードを取得する比較サブ・モジュールと、
各非キー・ノードを、それ自体との相関が最も大きいキー・ノードが存在するノード・グループにグループ化するグループ化サブ・モジュールと、
を備える、請求項18に記載の装置。
【請求項20】
2つのノード間の相関は、前記2つのノード間の各経路内の各辺の重みに依存する、請求項18に記載の装置。
【請求項21】
前記ノード移動中に発生する前記ノード・グループ内のノードと他のノードとの位置重複を検出する重複検出モジュールを更に備え、前記プランニング・モジュールは、
前記ノード移動中に前記ノード・グループ内のノードと別のノード・グループ内のノードとの位置重複が発生したときに、前記別のノード・グループ内の前記ノードの移動が直ちに開始されるように前記ノード移動の前記アニメーション・デモンストレーションをプランニングする手段
を備える、請求項18に記載の装置。
【請求項22】
前記プランニング・モジュールは、
前記接続変更が適用される前に前記動的グラフ内の各ノードの初期位置を取得し、前記接続変更が適用された後にターゲット位置を取得する手段と、
前記初期位置と前記ターゲット位置との間の各ノードの移動経路を力指向的アニメーション・モデルを使用して計算する手段と、
を備え、
前記力指向的アニメーション・モデルは、直接接続されるノードから成る各ノード対間のばね力と、各ノード対間の斥力と、各ノードの移動を推進する可変力と、を含み、力場内の消費エネルギーが最小となる曲線経路を発見するモデルである、
請求項18に記載の装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2010−262646(P2010−262646A)
【公開日】平成22年11月18日(2010.11.18)
【国際特許分類】
【出願番号】特願2010−100555(P2010−100555)
【出願日】平成22年4月26日(2010.4.26)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】