(57)【要約】【課題】効率的に全データを用いたクラスタリングを行う。【解決手段】全データからクラスタリングの対象となる選択データを選択する選択部と、選択データに対してクラスタリングを実行する実行部と、実行部がクラスタリングを実行した結果を記憶装置に記憶させる記憶部と、選択部が未だ選択していない全データ中のデータを選択データに追加するように選択部を制御し、記憶部が記憶装置に記憶させた結果と、選択部がデータを追加した選択データとを用いて、クラスタリングを再び実行するように実行部を制御し、全データに対して実行部がクラスタリングの実行を終了させるまで処理を反復させる反復制御部と、を有する。【選択図】図２
2018109917.tif 000002
【特許請求の範囲】
【請求項１】
全データを所定数のクラスタに分類するクラスタリング装置であって、
前記全データからクラスタリングの対象となる選択データを選択する選択部と、
前記選択データに対してクラスタリングを実行する実行部と、
前記実行部がクラスタリングを実行した結果を記憶装置に記憶させる記憶部と、
前記選択部が未だ選択していない前記全データ中のデータを前記選択データに追加するように前記選択部を制御し、前記記憶部が記憶装置に記憶させた結果と、前記選択部がデータを追加した前記選択データとを用いて、クラスタリングを再び実行するように前記実行部を制御し、前記全データに対して前記実行部がクラスタリングの実行を終了させるまで処理を反復させる反復制御部と、
を有することを特徴とするクラスタリング装置。
【請求項２】
前記実行部は、
ｋ−Ｍｅｄｏｉｄｓ法によるクラスタリングを実行し、
前記記憶部は、
前記実行部がクラスタリングを実行するごとにクラスタ、メドイド及び相違度をそれぞれ記憶装置に記憶させること
を特徴とする請求項１に記載のクラスタリング装置。
【請求項３】
前記反復制御部は、
前記記憶部が記憶装置に記憶させたメドイドそれぞれをクラスタごとの初期メドイドとして、前記実行部がクラスタリングを実行するように制御すること
を特徴とする請求項２に記載のクラスタリング装置。
【請求項４】
前記実行部は、
前記記憶部が記憶装置に記憶させていない相違度のみをクラスタごとに算出すること
を特徴とする請求項２又は３に記載のクラスタリング装置。
【請求項５】
前記選択部は、
データに対応付けられた優先度を示す情報に応じて、前記全データからデータを優先させて選択データとして選択すること
を特徴とする請求項２乃至４のいずれか１項に記載のクラスタリング装置。
【請求項６】
前記選択部は、
前記全データからランダムに前記選択データを選択すること
を特徴とする請求項２乃至４のいずれか１項に記載のクラスタリング装置。
【請求項７】
前記選択部は、
前記選択データそれぞれの間隔が略均等になるように、または前記選択データの密度分布が略同様になるように、前記全データから前記選択データを選択すること
を特徴とする請求項６に記載のクラスタリング装置。
【請求項８】
前記実行部は、
データに対応付けられた重みに基づいて相違度を算出し、クラスタリングを実行すること
を特徴とする請求項２乃至７のいずれか１項に記載のクラスタリング装置。
【請求項９】
前記反復制御部は、
前記実行部がクラスタリングを収束させる前に、前記選択部が未だ選択していない前記全データ中のデータを前記選択データに追加するように前記選択部を制御し、前記選択部がデータを追加した前記選択データに対してクラスタリングを再び実行するように前記実行部を制御すること
を特徴とする請求項２乃至８のいずれか１項に記載のクラスタリング装置。
【請求項１０】
前記反復制御部は、
前記選択部がデータを前記選択データに追加した後に前記実行部が算出したメドイドと、データを追加される前に前記実行部が算出したメドイドとが一致した場合、一致しなかった場合よりも多くのデータを追加するように前記選択部を制御すること
を特徴とする請求項２乃至９のいずれか１項に記載のクラスタリング装置。
【請求項１１】
全データを所定数のクラスタに分類するクラスタリング方法であって、
前記全データからクラスタリングの対象となる選択データを選択する工程と、
前記選択データに対してクラスタリングを実行する工程と、
クラスタリングを実行した結果を記憶装置に記憶させる工程と、
未だ選択していない前記全データ中のデータを前記選択データに追加し、記憶装置に記憶させた結果と、データを追加した前記選択データとを用いて、クラスタリングを再び実行する工程と、
を含み、
前記全データに対してクラスタリングの実行を終了させるまで工程を反復させるクラスタリング方法。
【請求項１２】
全データを所定数のクラスタに分類するクラスタリングプログラムであって、
前記全データからクラスタリングの対象となる選択データを選択するステップと、
前記選択データに対してクラスタリングを実行するステップと、
クラスタリングを実行した結果を記憶装置に記憶させるステップと、
未だ選択していない前記全データ中のデータを前記選択データに追加し、記憶装置に記憶させた結果と、データを追加した前記選択データとを用いて、クラスタリングを再び実行するステップと、
を含み、
前記全データに対してクラスタリングの実行を終了させるまで工程を反復させることをコンピュータに実行させるためのクラスタリングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラスタリング装置、クラスタリング方法及びクラスタリングプログラムに関する。
【背景技術】
【０００２】
多数のサービス提供先に対して複数の拠点から迅速にサービスを提供する場合に、拠点の数や立地を最適に決定するための方法として、ｋ−Ｍｅｄｏｉｄｓ法、ＣＬＡＲＡ（Clustering  LARge  Applications）及びＣＬＡＲＡＮＳ（a  CLustering  Algorithm  based  on  RANdomized  Search）などが知られている。例えば、警備や荷物の配送などのサービスを複数の拠点から多数のサービス提供先に対して提供する場合に、サービス提供までの距離や時間を最短にする最適な拠点を決定する必要があるので、上述した方法が用いられる。
【０００３】
また、最適な拠点を決定する従来技術として、例えば特許文献１には、隣接する配送拠点候補間の間隔が所定の立地間隔上限値を越えないように地域に複数の配送拠点候補を仮配置する手段、配送拠点候補から届先までの移動所要時間が所定の配送範囲規定時間内にある届先を当該配送拠点候補の配送先候補として設定する処理を各配送拠点候補について実行する手段、各届先が何れか１又は２以上の配送拠点候補の配送先候補として網羅される配送拠点候補の組み合わせの中で配送拠点候補数が最小の組み合わせを求める手段を有する配送拠点立地決定装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４２３３３６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ｋ−Ｍｅｄｏｉｄｓ法では、サンプル数をＮとし、クラスタ数をｋとすると、Ｏ記法で示される計算量はＯ（Ｎ２ｋ）となり、演算に時間がかかってしまうという問題があった。また、ＣＬＡＲＡおよびＣＬＡＲＡＮＳでは、データ集合全体から抽出したサンプルに対してメドイドを算出するため、近似解しか得られないという問題があった。このように、従来技術では、全てのサービス提供先に対して最適な拠点を決定することと、最適な拠点を効率的に決定することとを両立させることができないという問題があった。
【０００６】
本発明は、上記に鑑みてなされたものであって、効率的に全データを用いたクラスタリングを行うことができるクラスタリング装置、クラスタリング方法及びクラスタリングプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、予め与えられた数の全データを所定数のクラスタに分類するクラスタリング装置であって、前記全データからクラスタリングの対象となる選択データを選択する選択部と、前記選択データに対してクラスタリングを実行する実行部と、前記実行部がクラスタリングを実行した結果を記憶装置に記憶させる記憶部と、前記選択部が未だ選択していない前記全データ中のデータを前記選択データに追加するように前記選択部を制御し、前記記憶部が記憶装置に記憶させた結果と、前記選択部がデータを追加した前記選択データとを用いて、クラスタリングを再び実行するように前記実行部を制御し、前記全データに対して前記実行部がクラスタリングの実行を終了させるまで処理を反復させる反復制御部と、を有する。
【発明の効果】
【０００８】
本発明によれば、効率的に全データを用いたクラスタリングを行うことができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態にかかるクラスタリング装置のハードウェア構成を例示する図である。
【図２】図２は、クラスタリング装置が有する機能の概要を例示するブロック図である。
【図３】図３は、取得部が取得した全データに対し、選択部が一部のデータを選択した状態を模式的に示す図である。
【図４】図４は、実行部が初期選択データを２個のクラスタに分類した場合の結果を模式的に示す図である。
【図５】図５は、選択部が初期選択データに対して未選択データを追加した状態を模式的に示す図である。
【図６】図６は、追加データを含んだ選択データに対するクラスタリングを実行部が実行した結果を模式的に示す図である。
【図７】図７は、クラスタリング装置の第１動作例を示すフローチャートである。
【図８】図８は、クラスタリング装置の第２動作例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、クラスタリング装置の実施形態を詳細に説明する。図１は、実施形態にかかるクラスタリング装置１０のハードウェア構成を例示する図である。図１に示すように、クラスタリング装置１０は、ＰＣ（Personal  Computer）などであり、例えばキーボード１０１、ディスプレイ１０２、通信Ｉ／Ｆ（インターフェイス）１０３、ＨＤＤ１０４、ＣＰＵ１０５、ＲＯＭ１０６、及びＲＡＭ１０７を有する。
【００１１】
キーボード１０１は、クラスタリング装置１０に対するユーザからの入力を受入れる入力部を構成する。入力部は、マウスなどが含まれていてもよい。ディスプレイ１０２は、クラスタリング装置１０の動作状況などをユーザに対して表示する表示部を構成する。通信Ｉ／Ｆ１０３は、例えばネットワークなどを介して、他の装置との通信を行う。
【００１２】
ＨＤＤ１０４は、クラスタリング装置１０が実行するプログラムやデータを記憶する記憶装置である。ＣＰＵ１０５は、プログラムを実行することにより、クラスタリング装置１０を構成する各部の制御、及び演算を行う。ＲＯＭ１０６は、ＣＰＵ１０５が実行するブートプログラムなどを記憶する。ＲＡＭ１０７は、ＣＰＵ１０５がプログラムを実行する場合にデータなどを記憶する。ＲＡＭ１０７は、記憶装置として用いられてもよい。以下、ＨＤＤ１０４又はＲＡＭ１０４を記憶装置として記す。
【００１３】
次に、クラスタリング装置１０が有する機能について説明する。図２は、クラスタリング装置１０が有する機能の概要を例示するブロック図である。図２に示すように、クラスタリング装置１０は、取得部２０、選択部２２、実行部２４、記憶部２６、及び反復制御部２８を有し、予め与えられた数の全データを所定数のクラスタに分類する。なお、取得部２０、選択部２２、実行部２４、記憶部２６、及び反復制御部２８は、ＣＰＵ１０５が実行するクラスタリングプログラムを構成するソフトウェアとしてモジュール化されていてもよいし、一部または全部がハードウェアによって構成されていてもよい。
【００１４】
取得部２０は、最終的にクラスタリングを実行されるべき予め与えられた数の全データを取得する。例えば、取得部２０は、図１に示したキーボード１０１又は通信Ｉ／Ｆ１０３を介し、クラスタリングを実行されるべき全データを取得する。
【００１５】
選択部２２は、取得部２０が取得した全データ中の一部のデータをクラスタリングの対象となる選択データとして選択する。
【００１６】
実行部２４は、例えばクラスタ算出部２４０、相違度算出部２４２、及びメドイド算出部２４４を有し、選択部２２が選択した選択データに対して例えばｋ−Ｍｅｄｏｉｄｓ法によるクラスタリングを実行する。例えば、実行部２４は、記憶装置が記憶していない相違度のみをクラスタごとに算出してもよい。
【００１７】
クラスタ算出部２４０は、データｘが所属するクラスタを下式１によって算出する。
【００１８】
【数１】
2018109917.tif 000003
【００１９】
ここで、Ｘは選択データの全集合であり、Medoidsはメドイドの集合であるとする。データｘ，ｙは、選択データの全集合Ｘの異なる要素である。また、ｄ（ｘ，ｙ）は、データｘ，ｙ間の相違度であるとする。ここで、相違度とは、データ間の距離や時間などである。以下、相違度をコストと記す。
【００２０】
相違度算出部２４２は、実行部２４がｋ個のクラスタに分類を行う場合、データｘからｉ番目のクラスタＸｉ内の他のデータまでのコストの総和を、Ｃｏｓｔ（ｘ）として下式２により算出する。ｉは、１≦ｉ≦ｋとなる値である。ここでは、データｘは、ｉ番目のクラスタＸｉの要素である。
【００２１】
【数２】
2018109917.tif 000004
【００２２】
メドイド算出部２４４は、下式３によってメドイドを算出する。
【００２３】
【数３】
2018109917.tif 000005
【００２４】
記憶部２６は、実行部２４がクラスタリングを実行した結果を記憶装置に記憶させる。具体的には、記憶部２６は、実行部２４がクラスタリングを実行するごとにクラスタ、メドイド及びコストをそれぞれ記憶装置に記憶させる。
【００２５】
反復制御部２８は、選択部２２が未だ選択していない全データ中の一部のデータを選択データに追加するように選択部２２を制御する。また、反復制御部２８は、記憶部２６が記憶装置に記憶させた結果と、選択部２２がデータを追加した選択データとを用いて、クラスタリングを再び実行するように実行部２４を制御する。そして、反復制御部２８は、全データに対して実行部２４がクラスタリングの実行を終了させるまで処理を反復させる。
【００２６】
反復制御部２８は、記憶部２６が記憶装置に記憶させたメドイドそれぞれをクラスタごとの初期メドイドとして、実行部２４がクラスタリングを実行するように制御を行ってもよい。
【００２７】
次に、図３〜図７を用いて、クラスタリング装置１０の動作をさらに詳述する。図３は、取得部２０が取得した全データに対し、選択部２２が一部の初期選択データを選択した状態を模式的に示す図である。図３に示したように、クラスタリング装置１０は、まず選択部２２が全データ中の一部のデータを初期選択データとして選択する。図３においては、初期選択データそれぞれと、選択されていないデータ（以下、未選択データと記す。）それぞれとを合わせたデータは、取得部２０が取得した全データとなっている。そして、クラスタリング装置１０は、初期選択データに対し、実行部２４がｋ−Ｍｅｄｏｉｄｓ法を用いてクラスタリングを実行する。
【００２８】
図４は、実行部２４が初期選択データを２個のクラスタに分類した場合の結果を模式的に示す図である。図４に示したように、実行部２４は、初期選択データを２個のクラスタに分類する場合、ｋ−Ｍｅｄｏｉｄｓ法を用いて初期選択データの中から第１メドイドと第２メドイドとを決定する。ここで、第１メドイドおよび第２メドイドは、それぞれ初期選択データの中のいずれかである。ここで、記憶部２６は、実行部２４がクラスタリングを実行した結果をＨＤＤ１０４又はＲＡＭ１０７に記憶させる。
【００２９】
次に、反復制御部２８は、全データ中の一部の未選択データを選択データに追加させるように選択部２２を制御する。図５は、選択部２２が初期選択データに対して未選択データを追加した状態を模式的に示す図である。図５においては、第１メドイドおよび第２メドイドを含む初期選択データそれぞれと、追加データそれぞれとを合わせたデータは、取得部２０が取得した全データとなっている。なお、図５においては、未選択データの全てを追加データとして一度に選択部２２が選択データに追加した場合が例示されているが、反復制御部２８は、選択データに対して未選択データを複数回に分けて徐々に追加するように選択部２２を制御することが好ましい。
【００３０】
そして、反復制御部２８は、追加データを含んだ選択データに対するクラスタリングを実行部２４に実行させるように制御を行う。ここで、実行部２４は、記憶部２６が記憶装置に記憶させた結果と、選択部２２がデータを追加した選択データとを用いて、クラスタリングを実行する。記憶部２６が記憶装置に記憶させた結果には、実行部２４が前回のクラスタリングにより決定したメドイド及び各コストが含まれる。
【００３１】
図６は、追加データを含んだ選択データに対するクラスタリングを実行部２４が実行した結果を模式的に示す図である。図６においては、第１メドイドおよび第２メドイドを含む初期選択データそれぞれと、追加データそれぞれとを合わせたデータは、取得部２０が取得した全データとなっている。上述したように、実行部２４は、記憶部２６が記憶装置に記憶させた結果と、選択部２２がデータを追加した選択データとを用いて、クラスタリングを実行する。例えば、実行部２４は、前回のクラスタリングにより決定したメドイドを初期メドイドとすることにより、全てのデータが均等に最終的なメドイドに成り得るとしてクラスタリングを実行するよりも効率的にクラスタリングを収束させることができる。
【００３２】
また、選択部２２が選択データに対して未選択データを複数回に分けて徐々に追加することにより、実行部２４は、メドイドの位置が大きく変わることを抑えつつ、クラスタリングを効率的に収束させることができる。そして、反復制御部２８は、全データを選択データとして実行部２４がクラスタリングの実行を終了させるまで、選択部２２及び実行部２４に処理を反復させる制御を行う。
【００３３】
例えば、選択部２２がｔ回データを追加した時のｉ番目のクラスタをＸｔ，ｉとし、ｔ＋１回目にＸｔ，ｉへ追加するデータの集合をＸ’ｔ＋１，ｉとする。ここでは、データｘは、Ｘｔ＋１，ｉの要素である。このとき、下式４が成立する。
【００３４】
【数４】
2018109917.tif 000006
【００３５】
そして、選択部２２がｔ＋１回データを追加した時、相違度算出部２４２は、データｘからクラスタＸｔ＋１，ｉ内の他のデータまでのコストの総和を、Ｃｏｓｔｔ＋１（ｘ）として下式５により算出する。
【００３６】
【数５】
2018109917.tif 000007
【００３７】
相違度算出部２４２は、上式５における右辺第一項のＣｏｓｔｔ（ｘ）をｔ回目のデータの追加時に算出済みであり、右辺第二項をｔ＋１回目のデータ追加時に算出する。
【００３８】
また、選択部２２が未選択データを選択データに追加した場合、データが他のクラスタへ移動することがある。ｔ＋１回目にクラスタＸｔ，ｉから他のクラスタへ移動するデータの集合をＸ”ｔ＋１，ｉとすると、下式６が成立する。
【００３９】
【数６】
2018109917.tif 000008
【００４０】
この場合、選択部２２がｔ＋１回データを追加した時、相違度算出部２４２は、データｘからクラスタＸｔ＋１，ｉ内の他のデータまでのコストの総和を、Ｃｏｓｔｔ＋１（ｘ）として下式７により算出する。
【００４１】
【数７】
2018109917.tif 000009
【００４２】
相違度算出部２４２は、上式７における右辺第一項のＣｏｓｔｔ（ｘ）をｔ回目のデータの追加時に算出済みであり、右辺第二項及び第三項をｔ＋１回目のデータ追加時に算出する。
【００４３】
次に、クラスタリング装置１０の第１動作例についてフローチャートを用いて説明する。図７は、クラスタリング装置１０の第１動作例を示すフローチャートである。図７に示すように、ステップ１００（Ｓ１００）において、クラスタリング装置１０は、取得部２０が取得した全データから、選択部２２がまず初期選択データを決定する。
【００４４】
ステップ１０２（Ｓ１０２）において、実行部２４は、選択部２２が選択した初期選択データを用いて初期メドイドを決定する。
【００４５】
ステップ１０４（Ｓ１０４）において、実行部２４は、選択部２２が選択した選択データのクラスタリングを実行する。
【００４６】
ステップ１０６（Ｓ１０６）において、実行部２４は、選択データの中でそれぞれのコストを計算する。
【００４７】
ステップ１０８（Ｓ１０８）において、実行部２４は、メドイドを決定する。
【００４８】
ステップ１１０（Ｓ１１０）において、実行部２４は、Ｓ１０８の処理でメドイドを決定する前のクラスタそれぞれのメドイドと、Ｓ１０８の処理でメドイドを決定した後のクラスタそれぞれのメドイドがすべて一致したか否かを判定する。実行部２４は、クラスタそれぞれのメドイドがすべて一致したと判定した場合にはＳ１１２の処理に進み、その他の場合にはＳ１０４の処理に戻る。
【００４９】
ステップ１１２（Ｓ１１２）において、反復制御部２８は、選択データ数が全データ数と一致したか否かを判定する。反復制御部２８は、選択データ数が全データ数と一致したと判定した場合には処理を終了し、その他の場合にはＳ１１４の処理に進む。
【００５０】
ステップ１１４（Ｓ１１４）において、反復制御部２８は、選択部２２に対して、選択データに未選択データを追加させる制御を行って、Ｓ１０４の処理に戻る。なお、選択部２２が選択データにデータを追加する前のメドイドと、Ｓ１１４の処理で選択部２２が選択データにデータを追加した後のメドイドとが一致する場合、反復制御部２８は、次に追加させるデータの数をより多くするように制御を行ってもよい。選択データの追加の前後でメドイドが一致する場合、今後少数のデータを追加しても現在のメドイドが変わらない可能性が高いため、データの追加数が多くされると、クラスタリングの収束が早くなることが期待される。
【００５１】
このように、クラスタリング装置１０は、選択部２２が未選択データを選択データに追加し、記憶部２６がＨＤＤ１０４などに記憶させた結果と、選択部２２がデータを追加した選択データとを用いて、実行部２４がクラスタリングを反復させて実行するので、効率的に全データを用いたクラスタリングを行うことができる。
【００５２】
次に、クラスタリング装置１０の第２動作例をフローチャートを用いて説明する。図８は、クラスタリング装置１０の第２動作例を示すフローチャートである。なお、図８に示した処理のうち、図７に示した処理と実質的に同じものには、同一の符号が付してある。
【００５３】
ステップ２００（Ｓ２００）において、実行部２４は、Ｓ１０８の処理でメドイドを決定する前のクラスタそれぞれのメドイドと、Ｓ１０８の処理でメドイドを決定した後のクラスタそれぞれのメドイドがすべて一致したか否かを判定する。実行部２４は、クラスタそれぞれのメドイドがすべて一致したと判定した場合にはＳ１１２の処理に進み、その他の場合にはＳ２０２の処理に進む。
【００５４】
ステップ２０２（Ｓ２０２）において、反復制御部２８は、選択データ数が全データ数と一致したか否かを判定する。反復制御部２８は、選択データ数が全データ数と一致したと判定した場合にはＳ１０４の処理に戻り、その他の場合にはＳ２０４の処理に進む。
【００５５】
ステップ２０４（Ｓ２０４）において、反復制御部２８は、選択部２２に対して、選択データに少数の未選択データを追加させる制御を行って、Ｓ１０４の処理に戻る。
【００５６】
なお、クラスタリング装置１０の第２動作例では、実行部２４が実行するｋ−Ｍｅｄｏｉｄｓ法によるクラスタリングが収束していない場合（例えば、メドイドが変わった場合）であっても、選択部２２が少数のデータを選択データに追加する。つまり、クラスタリング装置１０は、第２動作例においては、可能な限り早期に選択データを増やして近似最適解をより早く得るために、ｋーＭｅｄｏｉｄｓ法によるクラスタリングが収束していなくても少数のデータを選択データに追加している。
【００５７】
また、クラスタリング装置１０は、サービスを提供する施設（以下、サービス提供施設と記す。）をサービス提供先（例えば、機械警備先または訪問介護先、警備輸送先など）に対して適切に配置するために用いられることが可能である。この場合、クラスタリング装置１０は、データの全てをサービス提供施設の候補とする。また、データの一部はサービス提供先であり、サービス提供施設候補を兼ねている。
【００５８】
このとき、クラスタリング装置１０は、サービス提供先を優先させて選択データに追加することにより、クラスタリングの収束を高速化させてもよい。つまり、選択部２２は、データに対応付けられた優先度を示す情報に応じて、全データ中の一部のデータを優先して選択データとして選択してもよい。
【００５９】
また、クラスタリング装置１０は、道路の交差点を優先的に選択データに追加するように構成されてもよい。経験則として、交差点が最終的なサービス提供施設の最適位置になりやすいため、道路の交差点が優先的に選択データに追加されると、クラスタリングの収束の高速化が期待される。
【００６０】
また、クラスタリング装置１０は、選択部２２が全データからランダムに選択データを選択するように構成されてもよい。このように、選択部２２が全データからランダムに選択データを選択すると、実行部２４がクラスタリングを反復して実行する場合に、早期に近似最適解が得られるため、クラスタリングの収束の高速化が期待される。
【００６１】
さらに、クラスタリング装置１０は、道路データにおけるサービス提供先それぞれの地理的空間上の間隔が略均等になるように、選択部２２が選択データを選択するように構成されてもよい。例えば、地理的空間上で一定間隔離れたデータがそれぞれ選択される場合、選択データの地理的空間上の位置は略均等となる。選択データが地理的空間上で偏りがないように選択されると、早期に近似最適解が得られるため、クラスタリングの収束の高速化が期待される。
【００６２】
また、クラスタリング装置１０は、サービス提供先の地理的空間上の密度分布が略同様になるように、選択部２２が選択データを選択するように構成されてもよい。例えば、クラスタリング装置１０は、サービス提供先であるデータが優先してランダムに選択されるように構成されると、選択データの地理的空間上の密度分布はサービス提供先の密度分布に近付くこととなる。このように、選択データがサービス提供先の地理的空間上の密度を考慮して選択されると、早期に近似最適解が得られるため、クラスタリングの収束の高速化が期待される。
【００６３】
また、クラスタリング装置１０は、すでに配置されている既存のサービス提供施設を移転させたり、再配置を行う場合には、初期メドイドを既存のサービス提供施設の近傍にするように構成されてもよい。過去にクラスタリングが行われた結果が反映されて初期メドイドが決定されると、初期メドイドがランダムに配置される場合に比べて、評価値（例えば、クラスタ内のコストの総和）が小さくなりやすいため、クラスタリングの収束の高速化が期待される。
【００６４】
また、クラスタリング装置１０は、選択データのコストを計算する場合に、コストの総和ではなくコストの加重総和を計算するように構成されてもよい。具体的には、実行部２４は、データに対応付けられた重みに基づいてコストを算出し、クラスタリングを実行してもよい。例えば、クラスタリング装置１０が機械警備、訪問介護、または警備輸送などを行うサービス提供施設の配置を決定する場合、過去のサービス提供実績に応じた重み付けがされることにより、サービス稼働時のサービス提供時間の短縮が期待される。さらに、クラスタリング装置１０は、サービス提供先の重要度、定性的な移動のしにくさ、サービスにかかる時間、料金などでコストの重み付けを行うように構成されてもよい。
【００６５】
また、クラスタリング装置１０は、対象となる全てデータを用いてクラスタリングを実行するので、２番目に適しているメドイドも明確となっている。例えば、クラスタリング装置１０がサービス提供施設の配置の決定に用いられる場合、最適なメドイドが何らかの理由でサービス提供施設にできなくても、２番目に適しているメドイドをサービス提供施設とすることができる。
【００６６】
また、クラスタリング装置１０は、ノード数を削減するために、グラフクラスタリングを利用してもよい。グラフクラスタリングは、グラフの一部をクラスタとして検出し、クラスタを１ノードとみなすことにより、ノード数を削減する。
【００６７】
本実施形態のクラスタリング装置１０で実行されるクラスタリングプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【００６８】
また、本実施形態のクラスタリング装置１０で実行されるクラスタリングプログラムは、インターネット等のネットワークに接続されたコンピュータ上に格納され、ネットワーク経由でダウンロードさせることにより提供されるように構成されてもよい。
【符号の説明】
【００６９】
１０  クラスタリング装置
１０１  キーボード
１０４  ＨＤＤ
１０５  ＣＰＵ
１０７  ＲＡＭ
２０  取得部
２２  選択部
２４  実行部
２４０  クラスタ算出部
２４２  相違度算出部
２４４  メドイド算出部
２６  記憶部
２８  反復制御部
【図１】
2018109917.tif 000010
【図２】
2018109917.tif 000011
【図３】
2018109917.tif 000012
【図４】
2018109917.tif 000013
【図５】
2018109917.tif 000014
【図６】
2018109917.tif 000015
【図７】
2018109917.tif 000016
【図８】
2018109917.tif 000017