(57)【特許請求の範囲】
【請求項１】
コロプレスマップを設計するコンピュータにより実行される方法であって、
地図、および前記地図のそれぞれの領域における統計的変数を表す数値（ｘ1，…，ｘn）の数（ｎ）を設けるステップと、
予め定められた数（Ｋ）のクラスタに対し、前記数値の最適Ｋ平均クラスタリングを算出するステップであって、前記算出するステップは、前記予め定められた数のクラスタに対応する回数、前記数値の数に等しい次数（ｎ）の正方行列に適用される線形時間行最小検索アルゴリズムを反復することを含む、ステップと、
それぞれの配色を、前記算出されたクラスタリングの各々のクラスタに割り当てるステップと、
それぞれの数値が設けられる前記地図の全ての領域において、前記それぞれの数値が属する前記クラスタに割り当てられた前記配色を適用するステップと
を備えたことを特徴とする方法。
【請求項２】
予め定められた色を設けるステップをさらに備え、それぞれのクラスタに割り当てられた前記配色は、前記それぞれのクラスタの前記数値によって決まる前記予め定められた色の明度であることを特徴とする請求項１に記載の方法。
【請求項３】
それぞれのクラスタに割り当てられた前記配色は、前記それぞれのクラスタの中心の値に応じて増加する前記予め定められた色の明度であることを特徴とする請求項２に記載の方法。
【請求項４】
前記数値（ｘ1，…，ｘn）は、記憶およびインデックス付けされ、前記算出するステップ内での反復は、それぞれの反復ランクにおいて、および前記数値の数（ｎ）未満のインデックス（ｊ）ごとに、前記正方行列（Ｈ）に適用される線形時間行最小検索アルゴリズムに従って、それぞれの反復ランクに対応するクラスタの数で、それぞれのインデックス（ｉ＜＝ｊ）未満でインデックス付けされた数値（ｘi）のサブセットに対して達成可能な最小全歪み（ＴＤmin（ｊ，ｋ））の算出を含むことを特徴とする請求項１乃至３のいずれか一項に記載の方法。
【請求項５】
各々のそれぞれの反復ランク（ｋ）において、および前記数値の数（ｎ）未満のインデックス（ｊ）ごとに、行インデックス（ｉ）ごと、および列インデックス（ｊ）ごとに、行列エントリ（Ｈ（ｉ，ｊ））は、
前記行インデックスに先行するインデックス（ｉ−１）に対する前の反復において算出された最小全歪み（ＴＤmin（ｉ−１，ｋ−１））と、
前記行インデックスと前記列インデックスとの間の前記数値の連続するサブセットの歪み（ｄｉｓｔｏ（ｉ，ｊ））
の合計に対応することを特徴とする請求項４に記載の方法。
【請求項６】
各々のそれぞれの反復ランク（ｋ）において、行最小検索アルゴリズムによって返されるインデックス（Ｃｕｔmin（ｊ，ｋ））を記憶するステップをさらに備えたことを特徴とする請求項５に記載の方法。
【請求項７】
前記算出するステップにおいて、前記記憶されたインデックスから最適クラスタリングを判定するステップをさらに備えたことを特徴とする請求項６に記載の方法。
【請求項８】
前記記憶されたインデックスから前記最適クラスタリングを判定するステップは、前記記憶されたインデックス（Ｃｕｔmin）において、最後にインデックス付けされた数値（Ｃｕｔmin（ｎ，Ｋ））から開始して、数値を区分化するステップを備え、各々のそれぞれの反復ランク（ｑ）において、現在形成されているクラスタの開始数値のインデックスは、予め定められた数のクラスタから、現在形成されているクラスタの最後にインデックス付けされた数値のインデックスに等しい行インデックスに対するそれぞれの反復ランク（ｑ）を減算したものに等しいランク（Ｋ−ｑ）の反復において、前記算出するステップ内で反復する間に記憶されたインデックスに等しいことを特徴とする請求項７に記載の方法。
【請求項９】
コンピュータによって実行されるとき、前記コンピュータに、請求項１乃至８のいずれか一項に記載の方法を実行させるコンピュータ実行可能命令を備えたことを特徴とするコンピュータプログラム。
【請求項１０】
請求項９に記載のコンピュータプログラムを記憶したことを特徴とするデータ記憶媒体。
【請求項１１】
メモリに結合されたプロセッサを備えたシステムであって、前記プロセッサは、前記メモリに記憶された、請求項９に記載の前記コンピュータプログラムを実行するように構成されていることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は特に、地図設計の分野に関し、特に、コロプレスマップを設計するためのコンピュータ実装方法、コンピュータプログラム、およびシステムに関する。
【背景技術】
【０００２】
コロプレスマップ（chloropeth map）は、地理的情報システム（ＧＩＳ）に使用されることが多い。これは、統計的変数を地図上で表し、地図の各領域上のその変数の値が、色の明度（color intensity）によって表される課題に関係する。表示される統計的変数は、異なる性質（人口密度、居住者による車の数、降雨、病気の比率）の変数とすることができる。
【０００３】
このコンテキストでは、選択される明度の組の選択は、この表現において基本的なものである（primordial）。この選択に使用される背景技術の２つの主要なアルゴリズムは、Ｊｅｎｋｓ／Ｆｉｓｈｅｒのｎａｔｕｒａｌ  ｂｒｅａｋｓ  ｏｐｔｉｍｉｚａｔｉｏｎ（非特許文献１および２の論文において説明される）、およびＨｅａｄ−ｔａｉｌ  ｂｒｅａｋｓ（非特許文献３、および非特許文献４または非特許文献５の論文において説明される）。それらの解決策は、実際に、クラスタ分析アルゴリズムに基づいている。クラスタ分析を使用するコロプレスマップシステムの他の例は、特許文献１、特許文献２および特許文献３の文書を含む。
【０００４】
コロプレスマップの設計は、ある意味で、量子化（すなわち、予め定められた距離に従って、予め定められた組の値の最も近い１つ値による入力値の置き換え）に関係する。実際に、地図の領域は、共にグループ化され、したがって、そのような領域に対する統計的変数の値は、グループを表す値によって置き換えられる。この全体のフレームワークは、クラスタ分析の更なる全体的な分野に関連する。
【０００５】
クラスタ分析は、グループ（クラスタと称される）におけるオブジェクトの組を区分化し、それによって、各グループにおいて、データが類似するようになる（非特許文献６の論文を参照）タスクに関係する。それは、データマイニング（非特許文献７の論文を参照）、機械学習（非特許文献８の論文を参照）、および大規模探索（非特許文献９の論文を参照）における主要な問題のように見える。クラスタ分析は、量子化、各クラスタに中心（center）を割り当て、１つは、そのクラスタの中心に各ポイントを量子化することにある単純な量子化を有する、重要なツールである。
【０００６】
Ｋ平均クラスタリング問題は、クラスタ分析の最も有名な問題であり、パルス符号変調のための技術として、１９５７年にＢｅｌｌ研究所においてＳｔｕａｒｔ  Ｌｌｏｙｄによって導入されている。Ｌｌｏｙｄアルゴリズムは、ｐ次元のポイントの集合を入力と見なし、および「全歪み」最小化することを目的とするそれらのポイントの区画（partition）を出力する。このアルゴリズムは、発見的問題解決（heuristic）であるにすぎない（最適なクラスタリングをもたらさない）。しかしながら、実際には、Ｋ平均クラスタリング問題が一次元でないケースにおけるＮＰ困難（NP-hard）であるので、厳密なアルゴリズムを期待することはできない。Ｌｌｏｙｄアルゴリズムが最近では広く使用されている。幾つかの変形例がまた提案されている（非特許文献１０を参照）。
【０００７】
１次元の適用が特に重要である。この問題に対する最も有名なアルゴリズムの１つは、上述した、１９６７年に開発されたＪｅｎｋｓ  ｎａｔｕｒａｌ  ｂｒｅａｋｓ  ｏｐｔｉｍｉｚａｔｉｏｎであり（非特許文献１１の論文を参照）、上述したように、地図製作を目的に導入されている。Ｌｌｏｙｄアルゴリズムとして、それは発見的問題解決であるにすぎない。２０１１年に、ＣＫ平均（CKmeans）と称される、厳密なアルゴリズムが、ＷａｎｇおよびＳｏｎｇによって開発されている（非特許文献１２の論文を参照）。このアルゴリズムは、特許文献４の基礎（corner stone）である。それは時間Ｏ（Ｋ*ｎ2）において実行し、Ｋは要求される数のクラスタであり、およびｎは実数の数である。さらに最近では（２０１３年に）、Ｍａａｒｔｅｎ  Ｈｉｌｆｅｒｉｎｋが、より効率的なアルゴリズムを開発し、およびそれの実装を提供している。この実装は、コロプレスマップに対してより正確な、地図製作に実際に特化されているが、このアルゴリズムの文献のみは、Ｗｉｋｉｐｅｄｉａのページである（非特許文献１３）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許出願公開第２００５／０２７８１８２号明細書
【特許文献２】米国特許第８４１２４１９号明細書
【特許文献３】米国特許第８５１００８０号明細書
【特許文献４】米国特許第１５４３０３６号明細書
【非特許文献】
【０００９】
【非特許文献１】"The Data Model Concept in Statistical Mapping", by Jenks, 1967
【非特許文献２】"On grouping for maximum homogeneity" by Fisher, 1958
【非特許文献３】"A comparison study on natural and head/tail breaks involving digital elevation models" by Lin and Yue, 2013
【非特許文献４】"Head/tail breaks for visualizing the fractal or scaling structure of geographic features" by Jiang and Bing, 2014
【非特許文献５】"Ht-index for quantifying the fractal or scaling structure of geographic features"
【非特許文献６】Jain et al., "Data Clustering: A Review"
【非特許文献７】Chen et al., "Data mining: an overview from a database perspective"
【非特許文献８】book of Murphy, "Machine Learning, A Probabilistic Perspective"
【非特許文献９】Goodrum, "Image Information Retrieval: An Overview of Current Research"
【非特許文献１０】J.A. Hartigan (1975), "Clustering algorithms”, John Wiley & Sons, Inc."
【非特許文献１１】Jenks, "The Data Model Concept in Statistical Mapping", in International Yearbook of Cartography
【非特許文献１２】Wang and Wong, "Optimal k-means Clustering in One Dimension by Dynamic Programming"
【非特許文献１３】Fisher's Natural Breaks Classification, accessible at the following URL at the priority date: http://wiki.objectvision.nl/index.php/Fisher%27s_Natural_Breaks_Classification
【非特許文献１４】http://en.wikipedia.org/wiki/Choropleth_map#Color_progression
【非特許文献１５】Gray and Neuhoff, "Quantization"
【非特許文献１６】MacQueen, "Some Methods for classification and Analysis of Multivariate Observations"
【非特許文献１７】Bellman, "The theory of dynamic programming"
【非特許文献１８】Bradford and Reinert, "Lower Bounds for Row Minima Searching",1996
【非特許文献１９】Alon and Azar, "Comparison-Sorting and Selecting in Totally Monotone Matrices"
【非特許文献２０】Cechlarova and Szabo, "On the Monge property of matrices"
【非特許文献２１】Bein, Golin, Larmore, and Zhang, "The Knuth-Yao quadrangle-inequality speedup is a consequence of total-monotonicity"
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、それらの既存の方法の全ては、最適なＫ平均クラスタリングを提供せず、非常に低速であることから、それらは限定されている。このコンテキスト内で、コロプレスマップを設計するための改善された解決策の必要性がいまだに存在する。
【課題を解決するための手段】
【００１１】
したがって、コロプレスマップを設計するためのコンピュータ実装方法が提供される。方法は、地図、および地図のそれぞれの領域において統計的変数を表す数値の数を設けるステップを備える。方法はまた、予め定められた数のクラスタに対する数値の最適Ｋ平均クラスタリングを算出するステップを備える。算出するステップは、予め定められた数のクラスタに対応する回数、数値の数に等しい次数の正方行列に適用される線形時間行最小検索アルゴリズムを反復することを含む。方法はまた、算出されたクラスタリングの各々のクラスタにそれぞれの配色（coloration）を割り当てるステップを備える。方法はまた、それぞれの数値が設けられる地図の全ての領域において、それぞれの数値が属するクラスタに割り当てられた配色を適用するステップを備える。
【００１２】
方法は以下のうちの１つまたは複数を備えてもよく、すなわち、
−方法は、予め定められた色を設けるステップをさらに備え、それぞれのクラスタに割り当てられた配色は、それぞれのクラスタの数値によって決まる予め定められた色の明度であり、
−それぞれのクラスタに割り当てられた配色は、それぞれのクラスタの中心の値によって次第に（increasingly）決まる予め定められた色の明度であり、
−その結果、数値がソートおよびインデックス付けされ、算出するステップ内で反復することは、正方行列に適用される線形時間行最小検索アルゴリズムに従って、各々のそれぞれの反復ランク（iteration rank）において、および数値の数未満のそれぞれのインデックスごとに、それぞれの反復ランクに対応するクラスタの数で、それぞれのインデックス未満でインデックス付けされた数値のサブセットに対して達成可能な最小全歪み（minimal total distortion）を算出することを含み、
−各々のそれぞれの反復ランクにおいて、および数値の数未満のそれぞれのインデックスごとに、行インデックスごと、および列インデックスごとに、行列エントリ（matrix entry）は、行インデックスに先行するインデックスに対する前の反復において算出された最小全歪みの合計、および行インデックスと列インデックスとの間の数値の連続するサブセットの歪みに対応し、
−方法は、各々のそれぞれの反復ランクにおいて、行最小検索アルゴリズムによって返されるインデックスを記憶するステップをさらに備え、
−方法は、算出するステップにおいて、記憶されたインデックスから最適なクラスタリングを判定するステップ、ならびに／または、
−記憶されたインデックスから最適なクラスタリングを判定するステップは、記憶されたインデックスにおいて、最後にインデックス付けされた数値から開始して、数値を反復して区分化する（partitioning）ステップであって、各々のそれぞれの反復ランクにおいて、現在形成されているクラスタの開始数値のインデックスは、予め定められた数のクラスタから、現在形成されているクラスタの最後にインデックス付けされた数値のインデックスに等しい行インデックスに対するそれぞれの反復ランクを減算したものに等しいランクの反復において、算出するステップ内で反復する間に記憶されたインデックスに等しい、ステップをさらに備える。
【００１３】
方法を実行するための命令を備えたコンピュータプログラムがさらに提供される。
【００１４】
コンピュータプログラムを記憶したコンピュータ可読記憶媒体がさらに提供される。
【００１５】
コンピュータプログラムを記憶した、メモリに結合されたプロセッサを備えたシステムがさらに提供される。
【００１６】
方法によって取得可能なコロプレスマップがさらに提供される。
【００１７】
コロプレスマップを記憶したデータ記憶媒体がさらに提供される。
【図面の簡単な説明】
【００１８】
本発明の実施形態は、非限定的な例によって、かつ添付図面を参照して説明される。
【００１９】
【図１】例示的な方法のフローチャートを示す。
【図２】例示的なシステムを示す。
【図３】例示的な方法を示す。
【図４】例示的な方法を示す。
【発明を実施するための形態】
【００２０】
図１のフローチャートを参照して、コロプレスマップを設計する（例えば、記述／作成／定義する）コンピュータ実装方法が提案される。方法は、（例えば、ブランクの（blank）および／または地理的な）地図（例えば、地理的領域を表す線の２次元表示（2D view of lines）を少なくとも含む）、ならびに地図のそれぞれの領域における統計的変数（すなわち、人口密度、居住者による車の数、降雨、病気の比率などの、任意の人口統計／地理的／地質学的／戦略地政学的／医療／商業／マーケティング変数）を表す（例えば、それらによってとられる値）数値の数（例えば、任意の数）（すなわち、数値の各々は、地図の局地的な範囲／領域を表す地図の位置と関連付けられ、よって、地図は、線およびそのような位置への参照（referential）を備えることができ、例えば、地図は、画素に関連付けられた地理的領域および数値の単純な描画であり、または地図は、正方形、長方形、円もしくは楕円面上で地球若しくはその一部を表す球体の投影（projection）を記述するデータを含む、さらなる複合的なデータの部分として設けられ、次いで、数値は、投影上の位置に対応する座標を備える）を設けるステップＳ１０を備える。方法はまた、予め定められた数のクラスタに対する数値の最適Ｋ平均クラスタリングを算出するステップＳ２０を備える。算出するステップＳ２０は、予め定められた数のクラスタに対応する回数、数値の数に等しい次数の正方行列に適用される線形時間行最小検索アルゴリズムを反復するステップを含む。また、方法は、それぞれの配色を、算出されたクラスタリングの各々のクラスタに割り当てるステップ（Ｓ３０）、およびそれぞれの数値が設けられる地図の全ての領域において、割り当てられた配色を、それぞれの数値が属するクラスタに適用し、それによって、視覚的詳細（visual details）を地図に追加する（すなわち、配色）ステップＳ４０を備える。そのような方法は、コロプレスマップの設計を改善する。
【００２１】
特に、方法によって、従来技術によって既知であり、かつ提供されるように、コロプレスマップを設計するために統計的データの値をクラスタリングする（Ｓ２０）ことが可能になる。方法は、最適Ｋ平均クラスタリングを算出する（Ｓ２０）ことによって、そのようなクラスタリングを実行する（Ｓ３０）ので、方法は、コロプレスマップを作成するためにＫ平均クラスタリングを通常目標にする地理的情報システムの分野において公知なように、比較的高品質のコロプレスマップを設計する。しかしながら、最も重要なことに、方法は、予め定められた数のクラスタに対応する回数、数値の数に等しい次数の正方行列に適用される線形時間行最小検索アルゴリズムを反復することによって、そのような算出Ｓ２０を実行する。本方法によって実行されるこの特定のアルゴリズムのフレームワークによって、後述するように、最適Ｋ平均クラスタリングの算出が高速に実行される。
【００２２】
方法は、コンピュータによって実行される。これは、方法のステップ（すなわち、実質的に全てのステップ）が、少なくとも１つのコンピュータ、または同様の任意のシステムによって実行されることを意味する。よって、方法のステップは、場合によっては完全に自動で（例えば、設けるステップＳ１０を除く全てのステップ）、または半自動でコンピュータによって実行される。例では、方法のステップの少なくとも一部をトリガすることは、ユーザ−コンピュータの対話を通じて実行される（例えば、設けるステップＳ１０）。要求されるユーザ−コンピュータの対話のレベルは、予想される機械的動作（automatism）によって決まることがあり、およびユーザの要求を実装する必要性とのバランスをとられることがある。例では、このレベルは、ユーザにより定義されてもよく、または事前定義されてもよい。
【００２３】
コンピュータ実装方法の典型的な例は、この目的のために適合されたシステムで方法を実行することである。システムは、メモリに結合されたプロセッサを備えてもよく、メモリは方法を実行するための命令を備えたコンピュータプログラムを記憶している。メモリはまた、方法によって処理されるデータを維持するように適合されたデータベースを記憶している。メモリは、場合によっては幾つかの物理的に別個の部分（parts）（例えば、１つはプログラム用であり、場合によっては、１つはデータベース用である）を備えた、そのような記憶に適合された任意のハードウェアである。
【００２４】
図２は、システムの例を示し、システムは、クライアントコンピュータシステム、例えば、ユーザのワークステーションである。例示のクライアントコンピュータは、内部通信バス１０００に接続された中央処理装置（ＣＰＵ）１０１０、またバスに接続されたランダムアクセスメモリ（ＲＡＭ）１０７０を備える。クライアントコンピュータはさらに、バスに接続されたビデオランダムアクセスメモリ１１００と関連付けられたグラフィカルプロセシングユニット（ＧＰＵ）１１１０が設けられる。ビデオＲＡＭ１１００は、フレームバッファとしても本分野で知られている。大容量記憶装置コントローラ１０２０は、ハードドライブ１０３０などの大容量メモリデバイスへのアクセスを管理する。コンピュータプログラム命令およびデータを有形的に具体化するのに適切な大容量メモリデバイスは、例として、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリデバイスなどの半導体メモリデバイス、内蔵ハードディスクおよび着脱可能ディスクなどの磁気ディスク、光磁気ディスク、ならびにＣＤ−ＲＯＭディスク１０４０を含む、全ての形式の不揮発性メモリを含む。上述したことのいずれかは、特別に設計されたＡＳＩＣ（特定用途向け集積回路）によって補完されてもよく、またはそれに組み込まれてもよい。ネットワークアダプタ１０５０は、ネットワーク１０６０へのアクセスを管理する。クライアントコンピュータはまた、カーソル制御装置、またはキーボードなどの触覚デバイス１０９０を含んでもよい。カーソル制御装置は、ディスプレイ１０８０上の任意の所望の位置においてユーザが選択的にカーソルを位置付けることを可能にするために、クライアントコンピュータにおいて使用される。加えて、カーソル制御装置によって、ユーザは種々のコマンドを選択することが可能になり、および制御信号を入力することが可能になる。カーソル制御装置は、システムに制御信号を入力するための幾つかの信号生成デバイスを含む。概して、カーソル制御装置は、信号を生成するために使用されるマウス、マウスのボタンであってもよい。代わりに、または加えて、クライアントコンピュータシステムは、感知パッド、および／または感知スクリーンを備えてもよい。
【００２５】
コンピュータプログラムは、コンピュータにより実行可能な命令を備えてもよく、命令は、上記システムに方法を実行させる手段を備える。プログラムは、システムのメモリを含む、任意のデータ記憶媒体上で記録可能であってもよい。プログラムは、例えば、デジタル電子回路、またはコンピュータハードウェア、ファームウェア、ソフトウェア、もしくはそれらの組合せで実装されてもよい。プログラムは、装置、例えば、プログラム可能なプロセッサによって実行される機械可読記憶デバイスで有形的に具体化される製品として実装されてもよい。方法のステップは、入力データを操作し、および出力を生成することによって、方法の機能を実行するために、命令のプログラムを実行するプログラム可能プロセッサによって実行されてもよい。よって、プロセッサは、データ記憶システム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスからデータおよび命令を受信し、ならびにそれらにデータおよび命令を送信するようにプログラム可能であってもよく、およびそれらに結合されてもよい。アプリケーションプログラムは、高レベル手続型プログラミング言語、もしくはオブジェクト指向プログラミング言語、または望ましい場合にアセンブリ言語もしくは機械語で実装されてもよい。いずれにしても、言語はコンパイル言語またはインタープリタ言語であってもよい。プログラムは、完全インストールプログラムまたはアップデートプログラムであってもよい。システム上のプログラムのアプリケーションは、方法を実行するための命令におけるいずれかのケースをもたらす。
【００２６】
方法は、特にコロプレスマップ設計に適用される、改善されたデータクラスタリングアルゴリズムを提案する。しかしながら、方法のアルゴリズム的な解決策を詳述する前に、そのコンテキスト（すなわち、その適用）がここで詳述される。
【００２７】
方法は、コロプレスマップを設計する。
【００２８】
上述したように、かつ従来技術から公知なように、このタイプの地図は、統計のサブ領域、統計のそれぞれの値に関連付けられた各々の配色、または統計の連続した範囲において統計的変数／測定値（measure）の値に従って地理的領域のそのようなサブ領域を異なる配色（例えば、色／テキスチャ）で表現／表示する、（主として、２次元、しかしながら場合によっては３次元）表示である。このコンテキストでは。用語「配色」（例えば、色／テキスチャ）は、概して、当該サブ領域上で展開される任意の視覚情報を指定する。主として、配色は、その明度が統計的変数の増加関数にある色（ＲＧＢまたはグレースケール）である。しかしながら、配色はまた、プリズムマップ（prism map）のケース（コロプレスマップの特定のケース）では、統計的変数に比例した高さである。図３は、地図の異なる領域に割り当てられた異なるグレースケールの明度で、方法によって取得することができるコロプレスマップの例を示す。概して、コロプレスマップの設計は、配色の値および統計的変数の値の予め定められた、順序付けされ、かつ１次元の組（よって、１次元の順序付けされた領域に関連付けられる（それに含まれない場合に））の間の予め定められた増加する関係（increasing relationship）に基づいてもよい。
【００２９】
そのような地図の設計は、方法のケースでは、従来技術の古典的パイプラインに従う。最初に、方法は、単純な曲線地図（contour map）（主としてブランクの）および地図のそれぞれの領域に関連付けられた統計的変数の値で、Ｓ１０において開始する。目的は、統計のそのような数値表現を、単純かつ有意な視覚化を得る方法で変換することである。これは、クラスタリングが介入する場合である。実際に、コロプレスマップは、異なる配色を統計的変数の各々の値に理論上割り当てるが、これは、計算上の目的では重くないことがあり、これはまた、ユーザにとって非常に有意でないことがある（地図が非常に「ビジー」である）。
【００３０】
既知のように、Ｋ平均クラスタリングは特に、それが有効な方法で統計的変数の値を収集するので、意味的な観点から有利である。よって、統計的変数の値は、Ｋ平均クラスタリング（地図の観察者および／または設計者に応じたクラスタの数、それは、方法のコンテキストで事前に判定される）で方法によってクラスタリングされ、次いで、統計的変数の値に割り当てられた地図の各々の領域（場合によっては、Ｓ１０において設けられたデータに応じた全ての領域）は、ここで、それぞれのクラスタ（その領域に対する統計的変数の値のクラスタ）に関連付けられる。ここで、方法は、算出されたクラスタリングの各々のクラスタにそれぞれの配色を割り当てるので（Ｓ３０）、方法は、Ｓ４０によってコロプレスマップを作成することができる。これは、全てが上述した従来技術において非常に古典的であり、かつ広範囲に説明される。
【００３１】
配色を実行する任意の古典的方法は、本方法によって実装されてもよい。古典的方法は、予め定められた色を設け、次いで、それぞれのクラスタに予め定められた色の明度を割り当てることである。例えば、色がＲＧＢで設けられる場合、各々のそれぞれの明度は、ＲＧＢの重みに適用される因子（例えば、０〜１）に対応する。同じことは、グレースケールの色に対して実行されてもよい。予め定められた色の明度は、それぞれのクラスタの中心の値に応じて次第に決まってもよい。言い換えると、クラスタの中心（例えば、クラスタにおいてグループ化された統計的変数の平均値）は、適用される明度を次第に定義する（すなわち、明度が増すと、視覚化領域に対して統計的変数の値がより高くなることを意味する）。
【００３２】
非特許文献１４（優先日に利用可能な）で説明されるような多くの他の方法が適用されてもよい）。
【００３３】
例では、方法は、０（黒）と２５５（白）との間の異なるグレースケールレベル（図３にあるような）を単純に適用してもよい。例えば、クラスタリングの結果がクラスタの中心ｃ1、…、ｃK（ｃ1＜ｃ2＜…＜ｃK）を提供する場合、方法は、ｃ1を０（白）にマッピングし、およびｃKを２５５（黒）にマッピングし、φ：ｃi→２５５＊（ｃi−ｃ1）／（ｃK−ｃ1）、にするアフィン変換を適用してもよい。
【００３４】
これの全ては非常に古典的であり、さらに説明する必要はない。
【００３５】
ここで、本方法は、アルゴリズムの複雑度を低減して（従来技術の厳密な解アルゴリズムと比較して、および合理的な発見的解決法と比較してさえも）最適Ｋ平均クラスタリングを発見するので、最適Ｋ平均クラスタリングを使用してコロプレスマップを設計することが可能になる。これは、最適Ｋ平均クラスタリングにつながらない発見的問題解決、または実際に適用不可能な（複雑度が高すぎるので）発見的問題解決のいずれかを適用する従来技術とは異なる。特に、本方法は、例えば、１００００の次数の１０００よりも大きいｎの値、特に、５０よりも大きいｋの値、さらに２００よりも大きい、例えば、２５６に対して（グレースケール値の８ビットエンコーディングに対して）最適Ｋ平均クラスタリングを発見する。例えば、本方法は作用する。
【００３６】
本方法は、色マッピングレイヤが最適となり（標準目的関数である「全歪み」に関して）、最近の他の最適な量子化よりも高速になるように、地理的統計データの最適な量子化器を生成する。実際に、本方法の算出時間は、最良の発見的問題解決（最適でない量子化を生成する）に匹敵する（かつ、さらに高速であることが多い）
【００３７】
この点で、本方法およびその多くの例のコンテキストが提供されたが、本方法のさらなる詳細（すなわち、後の設計Ｓ３０〜Ｓ４０を定義する算出するＳ２０のステップ）は示されていない。これは、以下で行われ、以下で提供される全ての実装の例が、上記提供された例示的な適用例のいずれかに適用されてもよいことに留意されたい。
【００３８】
前に示されたように、方法は、予め定められた数Ｋのクラスタに対する数値の最適Ｋ平均クラスタリングを算出するステップＳ２０を備える。しかしながら、これは乱暴に（brutally）は行われない。実際に、算出するステップＳ２０は、Ｋに対応する回数、線形時間行最小検索アルゴリズムを反復することを含む（後述する例では、Ｋ−１回）。行最小検索アルゴリズムの公知なカテゴリの任意の予め定められた線形時間アルゴリズムのその使用によって、算出するステップＳ２０は、複雑度が低い。よって、方法は、Ｋ平均クラスタリング問題の新たな、かつアルゴリズムによる効率的な解決策を実装する。
【００３９】
算出するステップＳ２０に関するさらなる詳細を提供する前に、量子化がここで議論される。実際に、例では、統計的値は、ある程度、Ｓ３０〜Ｓ４０の前に「量子化」されてもよい。各領域の統計的値は、それらの対応する領域がクラスタの配色に適用されるように、領域が本方法によって関連付けられるクラスタの中心によって置き換えられるものとして見ることができる。
【００４０】
公知であるように、スカラ量子化は、有限集合
【００４１】
【数１】
0006773412.tif 000002
【００４２】
を使用して、実際の値を近似させる算出ツールであり、デジタルステップと称されるＶの要素は、近似値として使用される値である。スカラ量子化器は、マッピング
【００４３】
【数２】
0006773412.tif 000003
【００４４】
として数学的に定義され、それによって、ｘとｑ（ｘ）との間の距離が小さくなり、距離は、ユークリッド距離などの任意の予め定められた距離である（距離の概念はコンテキストによって決まることがある）。
【００４５】
実際に、スカラ量子化器は、間隔（intervals）Ｉ1＝]−∞，ａ1[，Ｉ2＝[ａ1，ａ2[，…，ＩK＝[ａK-1，∞[（ａ1＜…＜ａK-1）への、
【００４６】
【数３】
0006773412.tif 000004
【００４７】
次いで、各々の
【００４８】
【数４】
0006773412.tif 000005
【００４９】
に対する区画を通じて常に定義され、Ｉiはｘ∈Ｉiとなるような間隔のみを表し、値ｑ（ｘ）＝ｃiを関連付ける。実際の数ａ1，…，ａK-1は「閾値（decision bounds）」と称される。非特許文献１５の論文は、量子化の完全な調査を与える。
【００５０】
方法は、例えば、最も広く使用されている、非特許文献１６の論文で周知であり、かつ定義されたＫ平均法設定に焦点をあてる。この設定では、方法は、Ｓ２０において、昇順にソートされた所与のタプル
【００５１】
【数５】
0006773412.tif 000006
【００５２】
、および所与の整数Ｋ（一般に、Ｋ＝２bであり、ｂは各ｘiをエンコードするのに利用可能なビットの数である）を検索し、量子化器ｑは、最小全歪みを達成するＫのデジタルステップを使用し、全歪みは、
【００５３】
【数６】
0006773412.tif 000007
【００５４】
として定義される。
【００５５】
この量を最小化するために、方法は、各々の実際の値ｘを、その最も近いデジタルステップにマッピングする量子化器を単に扱うことができることが明らかである。よって、問題はまさに、
【００５６】
【数７】
0006773412.tif 000008
【００５７】
を最小化するＫの中心ｃ1，…，ｃKを発見することに等しい。
【００５８】
図４は、１０の値および４のデジタルステップに対する例を示す。最適な量子化は、集合｛ｃ1，…，ｃK｝によって与えられ、それによって、
【００５９】
【数８】
0006773412.tif 000009
【００６０】
になる。
【００６１】
この全歪みを最小化することは、量子化ステップ（所与のＫに対する）の間に失われる情報をできるだけ少なくすることを理解される必要がある。各ポイントｘiがその最も近い中心に黙示的に割り当てられており、よって、方法は、クラスタへの区画を構築しており、各クラスタは、所与の中心に割り当てられたポイントの集合に対応する（よって、最良の量子化器を発見することは、「ＰＣＭにおける最小二乗量子化」におけるＬｌｏｙｄによって説明されるように、クラスタリング問題である）。ｋ∈｛１，…，Ｋ｝ごとに、中心ｃkに対応するクラスタをｃkによって表す。実際には、各々の中心がその対応するクラスタのポイントの平均であることを理解することは容易である。さらに、ｘ1＜…＜ｘn、であることが想定されるので、各々のクラスタが、ポイントの連続するサブセットから構成されることに留意されたい。例えば、Ｋ＝４のクラスタに区分化することを望む４７の実数を有する場合、考えられる最適なクラスタリングは、
【００６２】
【数９】
0006773412.tif 000010
【００６３】
である。
【００６４】
全て１＜＝ａ＜＝ｂ＜＝ｎの場合、表記（notation）
【００６５】
【数１０】
0006773412.tif 000011
【００６６】
が導入され、また、
【００６７】
【数１１】
0006773412.tif 000012
【００６８】
を表す。前の例の対応する全歪みは、
ＴＤ＝ｄｉｓｔｏ（１，１７）＋ｄｉｓｔｏ（１８，２４）＋ｄｉｓｔｏ（２５，４２）＋ｄｉｓｔｏ（４３，４７）
として記述することができる。
【００６９】
上述したように、この問題の解は既に存在するが、それらは、本方法よりも低速であり、それらのほとんどがまさに発見的問題解決である（すなわち、最適な量子化を生成しない）。
【００７０】
したがって、方法の例示的な実装形態では、数値（ｘ1，…，ｘn）がソートおよびインデックス付けされる。算出するステップＳ２０内での反復は、各々のそれぞれの反復ランクｋにおいて、および数値の数ｎ未満のそれぞれのインデックスｊごとに、正方行列Ｈに適用される線形時間行最小検索アルゴリズムに従って、それぞれの反復ランク（よってｋ）に対応するクラスタｋの数での、ｊ（よってｉ＜＝ｊ）未満のインデックス付けされた数値ｘｉのサブセットに対して達成可能な、ＴＤmin（ｊ，ｋ）で表される最小全歪みの算出を含む。
【００７１】
この例では、各々のそれぞれの反復ランクｋにおいて、および数値の数ｎ未満のそれぞれのインデックスｊごとに、行インデックスｉごと、および各々の列インデックスｊごとに、行列エントリＨ（ｉ，ｊ）は、
−行インデックスに先行するインデックス（ｉ−１）に対する前の反復において算出された最小全歪み（ＴＤmin（ｉ−１，ｋ−１））、および
−行インデックスと列インデックスとの間の数値の連続するサブセット（ｘi，…，ｘj）の歪み（ｄｉｓｔｏ（ｉ，ｊ））
の合計に対応してもよい。
【００７２】
そのような実装形態は、既存のクラスタリング方法よりも効率が良い（outperform）システム（それはまた、最適Ｋ平均クラスタリングを生成するが、特に時間Ｏ（Ｋ＊ｎ）においてより高速に実行するので）を提供する。一般的な使用では、例示的な方法は、「良好な」発見的問題解決よりも１０倍以上高速に実行することに留意されたい。
【００７３】
例示的なクラスタリングアルゴリズムのさらなる完全な概要がここで議論される。
【００７４】
最適な区画を算出するために、方法は、ダイナミックプログラミングパラダイム（Ｄｙｎａｍｉｃ  Ｐｒｏｇｒａｍｍｉｎｇ  ｐａｒａｄｉｇｍ）（非特許文献１７の論文で説明される）を使用する。特に、例示的な方法は、ｊ∈｛１，…，ｎ｝および各々のｋ∈｛１，…，Ｋ｝ごとに、ｊの第１のポイント（ｘ1，…，ｘj）を単に考慮する場合に、最大でｋのクラスタで達成することができる最小全歪みとして定義される値ＴＤmin（ｊ，ｋ）を算出する。
【００７５】
定義によって、全てのｊ∈｛１，…，Ｋ｝に対し、ＴＤmin（ｊ，１）＝ｄｉｓｔｏ（１，ｊ）を有し、なぜならば、１つのクラスタにおいてポイントの組を区分化する唯一の方法がそれら全てをとることであるからである。さらに、全てのｋ∈｛２，…，ｋ｝および全てのｊ∈｛１，…，ｎ｝に対し、式
【００７６】
【数１２】
0006773412.tif 000013
【００７７】
を有する。
【００７８】
この式は、最大でｋのクラスタで（ｘ1，…，ｘj）に対して達成することができる最小全歪みが、或るｉに対し、最大でｋ−１のクラスタで、および最終（final）クラスタとしての［ｘi，…，ｘj］でｉ−１の第１のポイントの最適クラスタリングから構成されるという事実を表す。上記式は、本方法の主要部にある。所与のｋ∈｛２，…，Ｋ｝に対し、全てのｊに対する値ＴＤmin（ｊ，ｋ−１）を算出した場合、方法の１つは、上記式における全ての可能な（possible）ｉ∈｛１，…，ｊ｝を試験することによって、全てのｊに対し、値ＴＤmin（ｊ，ｋ）を算出してもよい。しかしながら、この仮説的な（hypothetical）技術は、非常に低速なアルゴリズムにつながることがある。
【００７９】
これを克服するために、方法は、特定の行列において行最小検索に対する特定のカテゴリのアルゴリズムを使用する。
【００８０】
ここで例示的な方法が依存する行最小検索および全単調性（Total monotonicity）の概念が議論される。
【００８１】
行最小検索アルゴリズムは（非特許文献１８の論文で詳述されるように）、全ての１＜＝ｉ＜＝Ｒ，１＜＝ｊ＜＝Ｃに対し、値ｆ（ｉ，ｊ）を一定時間で計算し、および整数ｐ＝（ｐ1，…，ｐR）のベクトルを出力することでき、それによって
【００８２】
【数１３】
0006773412.tif 000014
【００８３】
とすることができるように、
関数
【００８４】
【数１４】
0006773412.tif 000015
【００８５】
を入力として見なすアルゴリズムである。
【００８６】
以下では、Ｆによって行列Ｆ＝（ｆ（ｉ，ｊ））i,jを表す。完全を期して、行列Ｆが特定の特性を有さない場合に、ベクトルｐを算出するために全てのそのエントリが要求される場合があることに留意されたい。しかしながら、Ｆに関するある条件下では、抜本的により高速になるアルゴリズムを実装することができる。
【００８７】
行列Ｆは、それが次の条件を満たす場合に全体として単調（monotone）と称される。「ｉ，ｊ，ｋ、ｉ＜ｊに対し、Ｆ（ｋ，ｉ）＜Ｆ（ｋ，ｊ）の場合、全てのｋ'＜＝ｋに対し、Ｆ（ｋ'，ｉ）＜Ｆ（ｋ'，ｊ）」。
【００８８】
全体的に単調な行列における行最小検索に対する線形−時間アルゴリズムが存在する（非特許文献１９の論文で説明されるように）。そのような予め定められたアルゴリズム（すなわち、線形時間行最小検索アルゴリズム）のいずれかは、行列Ｈ上でＳ２０における方法によって実装されてもよい。特に、発明者は、非特許文献１９の論文で提示された、飛躍的に高速に集束する（with dramatically fast convergence）（従来技術と比較して）周知のＳＭＡＷＫアルゴリズムを使用して当該方法を試験している。
【００８９】
ここで、方法を飛躍的に高速に実行することを可能にする基本的特性が議論される。その前に、この特性の特定がＫ平均クラスタリング問題と行最小検索に対して提供される周知かつ強力なアルゴリズムとの間の架け橋（bridge）を作成することにつながり、およびＫ平均クラスタリングに関する長年の研究がそのような架け橋を特定してこなかったことに留意されたい。
【００９０】
＜定理＞
全ての１＜＝ｉ＜ｊ＜ｎに対し、ｄｉｓｔｏ（ｉ，ｊ）＋ｄｉｓｔｏ（ｉ＋１，ｊ＋１）＜＝ｄｉｓｔｏ（ｉ，ｊ＋１）＋ｄｉｓｔｏ（ｉ＋１，ｊ）。
【００９１】
＜証明＞
まず第一に、１＜＝ａ＜＝ｂ＜＝ｎに対し、ｄｉｓｔｏ（ａ，ｂ）は、定義によって（ｂ−ａ＋１）と乗算した（ｘa，…，ｘb）の変数に等しい。
【００９２】
したがって、Ｋｏｎｉｇ−Ｈｕｙｇｅｎｓ式から
【００９３】
【数１５】
0006773412.tif 000016
【００９４】
有する。
【００９５】
１＜＝ｉ＜ｊ＜ｎとなるようにｉおよびｊを考える。
【００９６】
ｐ＝（ｂ−ａ＋１）、Ｓ＝Σi<=l<=jｘl、α＝ｘj+1および、β＝ｘiを表し、上記特定から
【００９７】
【数１６】
0006773412.tif 000017
【００９８】
【数１７】
0006773412.tif 000018
【００９９】
を有する。
【０１００】
したがって、式（１）
【０１０１】
【数１８】
0006773412.tif 000019
【０１０２】
である。
【０１０３】
さらに、
【０１０４】
【数１９】
0006773412.tif 000020
【０１０５】
【数２０】
0006773412.tif 000021
【０１０６】
である。
【０１０７】
したがって、式（２）
【０１０８】
【数２１】
0006773412.tif 000022
【０１０９】
である。
【０１１０】
Δ＝ｄｉｓｔｏ（ｉ，ｊ＋１）−ｄｉｓｔｏ（ｉ，ｊ）＋ｄｉｓｔｏ（ｉ＋１，ｊ）−ｄｉｓｔｏ（ｉ＋１，ｊ＋１）を表す。
【０１１１】
証明したい定理は、単純にΔ＞＝０と等しい。
【０１１２】
さらに、式（１）と式（２）とを加算すると、
【０１１３】
【数２２】
0006773412.tif 000023
【０１１４】
を得る。
【０１１５】
目標は、Δ＞＝０を示すためにこの式を使用することである。
【０１１６】
概念を失うことなく、問題は変換（translation）によって不変であるので、Ｓ＝０であることを想定することができ（それは、
【０１１７】
【数２３】
0006773412.tif 000024
【０１１８】
による全てのポイントを変換することに対応する）、それによって
【０１１９】
【数２４】
0006773412.tif 000025
【０１２０】
とすることができ、
Δ'＝−ｐ（ｐ＋１）β2−ｐ（ｐ−１）α2＋（ｐ−１）（ｐ＋１）（α−β）2
である。
【０１２１】
項（term）をグループ化して、
Δ'＝−（ｐ＋１）β2＋（ｐ−１）α2−２（ｐ＋１）（ｐ−１）αβ
と記述することができる。
【０１２２】
全てのｌ∈｛ｉ＋１，…，ｊ｝に対しα＞＝ｘlであるので、Ｓ＝ｘi＋…＋ｘj＝β＋…＋α＜＝β＋（ｐ−１）α（ｘ1＜…＜ｘnであることが想起される）であることに留意されたい。Ｓ＝０であることが想定されるので、
（ｐ−１）α＞＝−β
が得られる。
【０１２３】
さらに、ヌルである合計Ｓのより小さな項であるので、β＜＝０を明確に有し、よって、
−（ｐ−１）αβ＞＝β2
に従う。
【０１２４】
この不等式をΔの最後の式に再注入（reinject）すると、
Δ'＞＝−（ｐ＋１）β2＋（ｐ−１）α2＋２（ｐ＋１）β2＞＝（ｐ−１）α2＋（ｐ＋１）β2
を得る。
【０１２５】
よって、Δ'＞＝０であり、結果としてΔ＞＝０であり、立証を結論づける。
【０１２６】
ここで、固定されたｋ∈｛２，…，Ｋ｝に対し、方法が全てのｊに対して全てのＴＤmin（ｊ，ｋ−１）を算出したと推定される。関係
【０１２７】
【数２５】
0006773412.tif 000026
【０１２８】
を通じて全てのｊに対して（ＴＤmin（ｊ，ｋ））jを取り出すことができることが想起される。
【０１２９】
ここで、上述した特性がどのようにして、方法が時間Ｏ（ｎ）において（ＴＤmin（ｊ，ｋ−１））jから全ての（ＴＤmin（ｊ，ｋ））jを算出することを支援するかが理解されよう。
【０１３０】
最初に、Ｈ（ｉ，ｊ）＝ＴＤmin（ｉ−１，ｋ−１）＋ｄｉｓｔｏ（ｉ，ｊ）を表す。
【０１３１】
ｄｉｓｔｏ（ｉ，ｊ）＋ｄｉｓｔｏ（ｉ＋１，ｊ＋１）＜＝ｄｉｓｔｏ（ｉ，ｊ＋１）＋ｄｉｓｔｏ（ｉ＋１，ｊ）であるので、ＴＤmin（ｉ−１，ｋ−１）＋ＴＤmin（ｉ，ｋ−１）の両側を加算することによって、
Ｈ（ｉ，ｊ）＋Ｈ（ｉ＋１，ｊ＋１）＜＝Ｈ（ｉ，ｊ＋１）＋Ｈ（ｉ＋１，ｊ）を得る。
【０１３２】
この特性は、行列Ｈ＝（Ｈ（ｉ，ｊ））i,jのＭｏｎｇｅの特性と称され（非特許文献２０の論文を参照）（実際に、方法は、ｊ＜ｉであるがそのような欠けた値（missing value）が実際に本当に問題にならないときに、Ｈ（ｉ、ｊ）の定義を無視してもよく、このことは、これ以上は論述されない）。一部の文献では、Ｋｎｕｔｈ−Ｙａｏ四角形不等式（quadrangle inequality）とも称される（例えば、非特許文献２１の論文を参照）。
【０１３３】
定理によって、行列Ｈは全体として単調であり、すなわち、ｉ＜ｊであるｉ，ｊ，ｋに対し、Ｈ（ｋ，ｉ）＜Ｈ（ｋ，ｊ）である場合、全てのｋ'＜＝ｋに対しＨ（ｋ'，ｉ）＜Ｈ（ｋ'，ｊ）である。これは実際に、Ｍｏｎｇｅの行列の周知の特性であり、証明される必要はない。
【０１３４】
ここで、（ＴＤmin（ｊ，ｋ））jを算出することは、行列Ｈの行の各々の最小値を算出することに等しいことに留意されよう。例示的な方法は、時間Ｏ（ｎ）において解決されるこの副課題に対して偶然に厳密に設計されることになる、任意の予め定められた線形時間行最小検索アルゴリズム（ＳＭＡＷＫアルゴリズムなど）を引き起こす。行列Ｈはサイズｎ×ｎの行列であるが、方法はそれを全体として構築する必要はない。方法は、単に、一定の時間で任意のＨエントリを算出する方法をＳＭＡＷＫサブルーチンに提供する。
【０１３５】
よって、実際には、方法のアルゴリズムは最初に、第１の層（ＴＤmin（ｊ，０））jを算出してもよく、次いで、行最小検索（ＲＭＳ）サブルーチンを使用して第２の層（ＴＤmin（ｊ，１））jを算出し、および方法が全ての（ＴＤmin（ｊ，ｋ））j,kを取得する前に、第２の時間でＲＭＳアルゴリズムなどを使用して第３の層（ＴＤmin（ｊ，２））jを算出する。Ｋの層の各々が、算出されることになる時間Ｏ（ｎ）を要するので、アルゴリズム全体が時間Ｏ（Ｋｎ）で動作する。
【０１３６】
この点において、例では、方法はさらに、各々のそれぞれの反復ランクｋにおいて、例えば、専用行列Ｃｕｔminに、行最小検索アルゴリズムによって返されるインデックスを記憶するステップを備えてもよい。この例示的な方法はさらに、算出するステップＳ２０において、記憶されたインデックスから最適クラスタリングを判定するステップを含んでもよい。
【０１３７】
単純かつ直接的な実装形態では、記憶されたインデックスから最適クラスタリングを判定するステップは、行列Ｃｕｔｍｉｎ内で作用するステップを備える。特に、例示的な方法は、最後にインデックス付けされた数値（Ｃｕｔmin（ｎ，Ｋ））から開始して、数値を反復して区分化する（partition）。各々のそれぞれの反復ランクｑにおいて、現在形成されているクラスタの開始数値のインデックスは、ランクＫ−ｑの反復において（算出するステップＳ２０内での反復の間に）記憶されたインデックスに等しい。
【０１３８】
実際に、方法が毎回最小値を算出することに気付く場合、方法はまた、この最小値に到達するインデックスを得ることができることが明らかである。より正確には、（ＴＤmin（ｊ，ｋ））j,kの各々の値は、そのインデックスを行列（Ｃｕｔmin（ｊ，ｋ））j,kに記憶することができる最小値として算出される。そのことから、方法は、テーブルＣｕｔminを参照することのみで、最適な区分を容易に得ることができる。
【図１】
0006773412.tif 000027
【図２】
0006773412.tif 000028
【図３】
0006773412.tif 000029
【図４】
0006773412.tif 000030