(57)【要約】  本出願はジオフェンスのインデックスグリッドを判断するための方法を提供する。本方法は、ジオフェンスの外接グリッドを判断することであって、外接グリッドはジオフェンスを含む最小単一グリッドである、判断することと；外接グリッドを出発点として、ジオフェンスの境界を含むグリッドを、細分化されたグリッドセットのインデックス精度が所定の精度閾値以上になるまで、より細かい粒度のグリッドへレベル毎に細分化することであって、グリッドセットは、ジオフェンス内のグリッドとジオフェンスの境界を含むグリッドとから構成され、インデックス精度は、ジオフェンスの面積のグリッドセット内のすべてのグリッドの面積の合計への比である、細分化することと；グリッドセット内のグリッドをジオフェンスのインデックスグリッドとして選択することとを含む。本出願の技術的解決策によると、ジオフェンスを十分に含むとともに精度要件を満たすという前提下で、インデックスグリッドの数は著しく低減され、インデックス格納はそれほど複雑ではなく、インデックス照会速度は増加され、ジオフェンスベースサービスの安定性及び応答速度は改善される。
2020523650.tif 000002
【特許請求の範囲】
【請求項１】
ジオフェンスのインデックスグリッドを判断するための方法であって、
フェンスの外接グリッドを判断することであって、前記外接グリッドは前記フェンスを含む最小単一グリッドである、判断することと；
前記外接グリッドを出発点として、前記フェンスの境界を含むグリッドを、細分化されたグリッドセットのインデックス精度が所定の精度閾値以上になるまで、より細かい粒度のグリッドへレベル毎に細分化することであって、前記グリッドセットは、前記フェンス内のグリッドと前記フェンスの前記境界を含むグリッドとから構成され、前記インデックス精度は、前記フェンスの面積の前記グリッドセット内のすべての前記グリッドの面積の合計への比である、細分化することと；
前記グリッドセット内の前記グリッドを前記フェンスのインデックスグリッドとして選択することと、を含む、方法。
【請求項２】
前記方法は、前記グリッドセットの前記インデックス精度が前記所定の精度閾値より高い場合、マージ後の前記インデックス精度が前記所定の精度閾値以上となるように、前記グリッドセット内の前記グリッドの一部を、前記フェンスの境界を含む、より粗い粒度のグリッドへマージすることをさらに含み、
前記グリッドセット内の前記グリッドを前記フェンスのインデックスグリッドとして前記選択することは、マージ後の前記グリッドセット内のグリッドを前記フェンスのインデックスグリッドとして選択することを含む、請求項１に記載の方法。
【請求項３】
マージ後の前記インデックス精度が前記所定の精度閾値以上となるように、前記グリッドセット内の前記グリッドの一部を、前記フェンスの前記境界を含む、より粗い粒度のグリッドへ前記マージすることは、
前記フェンスの前記境界を含むマージされたグリッドが１つのアイテムと考えられるナップサック問題を生成することであって、前記アイテムをインデックスグリッドとして考えて、マージ前の前記フェンス外の領域と比較した場合の前記フェンス外の前記領域の増加は、前記アイテムの重量として使用され、前記アイテムをインデックスグリッドとして使用して、マージ前のグリッドの数と比較した場合のグリッドの数の低下は、前記アイテムの価格と考えられ、マージ前の前記所定の精度閾値に対する前記グリッドセットの前記インデックス精度の超過に対応する前記フェンス外の領域は、制限された全重量と考えられる、生成することと、
前記ナップサック問題に対する最適解をグリッドマージの結果として選択することと、
を含み、
マージ後の前記グリッドセット内のグリッドを前記フェンスのインデックスグリッドとして前記選択することは、前記グリッドマージの前記結果に従って前記グリッドセットを更新することと、前記更新されたグリッドセット内のグリッドを前記フェンスのインデックスグリッドとして選択することとを含む、請求項２に記載の方法。
【請求項４】
前記ナップサック問題に対する最適解をグリッドマージの結果として前記選択することは、
前記ナップサック問題のアイテムのツリー階層を構築することであって、前記ツリー階層内の親アイテムはその子アイテムからマージされる、構築することと、
親子関係を有するアイテムは１つのナップサック内に同時に存在することができないという制約条件下で、前記ナップサック問題のすべてのナップサック状態を列挙することと；
各ナップサック状態に対する答えを解くことと、すべての答えのうちの最適解を前記ナップサック問題に対する前記最適解として選択することとを含む、請求項３に記載の方法。
【請求項５】
前記ナップサック問題のアイテムのツリー階層を前記構築することは、
下限粒度を現在の粒度の出発点として、前記グリッドセット内の前記現在の粒度のグリッドをより粗い粒度のグリッドへレベル毎にマージすることと；
各マージされたグリッドをアイテムとして、すべてのグリッドが前記外接グリッドへマージされるまで、前記アイテムの前記重量及び前記価格を判断することと；
前記アイテム間の前記親子関係に従ってアイテムの前記ツリー階層を生成することと、を含み、
前記下限粒度はマージ前の前記グリッドセット内で最も密なグリッドの粒度である、請求項４に記載の方法。
【請求項６】
前記親子関係を有するアイテムは１つのナップサック内に同時に存在することができないという制約条件下で、前記ナップサック問題のすべてのナップサック状態を前記列挙することは、
前記ツリー階層のリーフノードとして機能する各アイテムのナップサック状態を判断することと；
リーフノードとして機能する子アイテムを出発点として、且つ前記親アイテムのすべての前記子アイテムのナップサック状態のデカルト積と、前記親アイテム自体のナップサック状態との共通部分を前記親アイテムの前記ナップサック状態として、前記ツリー階層内のルートノードに対応する前記外接グリッドの前記ナップサック状態が取得されるまで反復を行うこととを含み、
前記外接グリッドの前記ナップサック状態は、前記ナップサック問題のすべての前記ナップサック状態である、請求項４に記載の方法。
【請求項７】
ジオフェンスのインデックスグリッドを判断するための装置であって、
フェンスの外接グリッドを判断するように構成された外接グリッドユニットであって、前記外接グリッドは前記フェンスを含む最小単一グリッドである、外接グリッドユニットと；
前記外接グリッドを出発点として、細分化されたグリッドセットのインデックス精度が所定の精度閾値以上になるまで、前記フェンスの境界を含むグリッドをより細かい粒度のグリッドへレベル毎に細分化するように構成されたグリッド細分化ユニットであって、前記グリッドセットは、前記フェンス内のグリッドと前記フェンスの前記境界を含むグリッドとから構成され、前記インデックス精度は、前記フェンスの面積の前記グリッドセット内のすべての前記グリッドの面積の合計への比である、グリッド細分化ユニットと；
前記グリッドセット内の前記グリッドを前記フェンスのインデックスグリッドとして選択するように構成されたインデックス判断ユニットと、を含む装置。
【請求項８】
前記装置は、マージ後の前記インデックス精度が前記所定の精度閾値以上となるように、前記グリッドセットの前記インデックス精度が前記所定の精度閾値より高い場合に前記グリッドセット内のグリッドの一部を前記フェンスの前記境界を含む、より粗い粒度のグリッドへマージするように構成されたグリッドマージユニットをさらに含み、
前記インデックス判断ユニットは、マージ後の前記グリッドセット内のグリッドを、前記フェンスのインデックスグリッドとして選択するように特に構成される、請求項７に記載の装置。
【請求項９】
前記グリッドマージユニットが、マージ後の前記インデックス精度が前記所定の精度閾値以上となるように、前記グリッドセット内の前記グリッドの一部を、前記フェンスの前記境界を含む、より粗い粒度のグリッドへマージすることは、
前記フェンスの前記境界を含むマージされたグリッドが１つのアイテムと考えられるナップサック問題を生成することであって、前記アイテムをインデックスグリッドとして考えて、マージ前の前記フェンス外の領域と比較した場合の前記フェンス外の前記領域の増加は、前記アイテムの重量として使用され、前記アイテムをインデックスグリッドとして使用して、マージ前のグリッドの数と比較した場合のグリッドの数の低下は、前記アイテムの価格と考えられ、マージ前の前記所定の精度閾値に対する前記グリッドセットの前記インデックス精度の超過に対応する前記フェンス外の領域は、制限された全重量と考えられる、生成することと；
前記ナップサック問題に対する最適解をグリッドマージの結果として選択することと、
を含み、
前記インデックス判断ユニットは、前記グリッドマージの前記結果に従って前記グリッドセットを更新し、前記更新されたグリッドセット内のグリッドを前記フェンスのインデックスグリッドとして選択するように特に構成される、請求項８に記載の装置。
【請求項１０】
前記グリッドマージユニットが、前記ナップサック問題に対する最適解をグリッドマージの結果として選択することは、
前記ナップサック問題のアイテムのツリー階層を構築することであって、前記ツリー階層内の親アイテムはその子アイテムからマージされる、構築することと、
親子関係を有するアイテムは１つのナップサック内に同時に存在することができないという制約条件下で、前記ナップサック問題のすべてのナップサック状態を列挙することと；
各ナップサック状態に対する答えを解くことと、
すべての答えのうちの最適解を前記ナップサック問題に対する前記最適解として選択することとを含む、請求項９に記載の装置。
【請求項１１】
前記グリッドマージユニットが、前記ナップサック問題のアイテムのツリー階層を構築することは、
下限粒度を現在の粒度の出発点として、前記グリッドセット内の前記現在の粒度のグリッドをより粗い粒度のグリッドへレベル毎にマージすることと；
各マージされたグリッドをアイテムとして、すべてのグリッドが前記外接グリッドへマージされるまで、前記アイテムの前記重量及び前記価格を判断することと；
前記アイテム間の前記親子関係に従ってアイテムの前記ツリー階層を生成することと、を含み、
前記下限粒度はマージ前の前記グリッドセット内で最も密なグリッドの粒度である、請求項１０に記載の装置。
【請求項１２】
前記グリッドマージユニットが、前記親子関係を有するアイテムが１つのナップサック内に同時に存在することができないという制約条件下で、前記ナップサック問題のすべてのナップサック状態を列挙することは、
前記ツリー階層のリーフノードとして機能する各アイテムの前記ナップサック状態を判断することと；
リーフノードとして機能する子アイテムを出発点として、且つ前記親アイテムのすべての前記子アイテムのナップサック状態のデカルト積と、前記親アイテム自体のナップサック状態との共通部分を前記親アイテムの前記ナップサック状態として、前記ツリー階層内のルートノードに対応する前記外接グリッドの前記ナップサック状態が取得されるまで、反復を行うこととを含み、
前記外接グリッドの前記ナップサック状態は、前記ナップサック問題のすべての前記ナップサック状態である、請求項１０に記載の装置。
【請求項１３】
メモリ及びプロセッサを含むコンピュータデバイスであって、
前記メモリは前記プロセッサにより実行可能なコンピュータプログラムを格納し；
前記プロセッサが前記コンピュータプログラムを実行すると請求項１〜６のいずれか一項に記載の工程が実行される、コンピュータデバイス。
【請求項１４】
コンピュータプログラムが格納されたコンピュータ可読記憶媒体であって、前記コンピュータプログラムが前記プロセッサにより実行されると請求項１〜６のいずれか一項に記載の工程が実行される、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
技術分野
本出願は、データ処理の技術分野に関し、特にジオフェンスのインデックスグリッドを判断するための方法及び装置に関する。
【背景技術】
【０００２】
背景技術
Online Map、O2O（オンライン・ツー・オフライン：Online To Offline）などのモバイルインターネットサービス及びアプリケーションの人気と共に、ますます多くのユーザ位置データが収集され格納されている。マーケティングプッシュ及びセキュリティ警報などのジオフェンスベースサービスは、ユーザ位置データの最も直接的、最もリアルタイム且つ最も効果的な探査及び使用であり、広いアプリケーション展望を有する。
【０００３】
ジオフェンスは仮想フェンスにより囲まれた地理的領域であり、デバイスは、この領域に入る若しくはこれから離れる又はこの領域内に移動するときにプッシュ通知又は警告を受信し得る。グリッドインデックス化技術はジオフェンスベースサービスの基礎である。グリッド化は２次元地球空間を分割するやり方であり、各グリッドはある地理的領域をカバーする。ジオフェンスはグリッドセットとして近似され得る。グリッドセット内でグリッドによりカバーされる範囲は、ジオフェンス内に含まれる領域をシミュレートするために使用され、ジオフェンスの速い検索及び位置決めに使用される。グリッドセット内のグリッドはジオフェンスのインデックスグリッドである。
【０００４】
従来技術では、ジオフェンスは通常、同じ粒度の複数のグリッドにより表され、これらのインデックスグリッドは、ジオフェンス内に含まれる領域を完全にカバーすべきである。より粗い粒度のインデックスグリッドの場合、ジオフェンスを正確に表すのは困難であり、ジオフェンスベースサービスがジオフェンス内に存在しないユーザをさらに混乱させ得る。この問題を回避するために、インデックスグリッドの精度は通常、ある閾値を超えることが要求され、これは、より細かい粒度のインデックスグリッドとインデックスの数の急増とをしばしば意味する。大きなデータボリューム内のインデックスは通常、複数のデバイス上に分散されるやり方で格納される必要がある。データボリュームが大きければ大きいほど、インデックスの管理及び維持はより複雑になり、照会速度が遅ければ遅いほど、ジオフェンスベースサービスの安定性及び応答速度はより遅くなる。
【発明の概要】
【課題を解決するための手段】
【０００５】
発明の概要
この観点で、本出願はジオフェンスのインデックスグリッドを判断するための方法を提供し、本方法は、
ジオフェンスの外接グリッドを判断することであって、外接グリッドはジオフェンスを含む最小単一グリッドである、判断することと；
外接グリッドを出発点として、ジオフェンスの境界を含むグリッドを、細分化されたグリッドセットのインデックス精度が所定の精度閾値以上になるまで、より細かい粒度のグリッドへレベル毎に細分化することであって、グリッドセットは、ジオフェンス内のグリッド及びジオフェンスの境界を含むグリッドから構成され、インデックス精度は、ジオフェンスの面積のグリッドセット内のすべてのグリッドの面積の合計への比である、細分化することと；
グリッドセット内のグリッドをジオフェンスのインデックスグリッドとして選択することと、を含む。
【０００６】
本出願はさらに、ジオフェンスのインデックスグリッドを判断するための装置を提供し、本装置は、
ジオフェンスの外接グリッドを判断するように構成された外接グリッドユニットであって、外接グリッドはジオフェンスを含む最小単一グリッドである、グリッドユニットと；
外接グリッドを出発点として、ジオフェンスの境界を含むグリッドを、細分化されたグリッドセットのインデックス精度が所定の精度閾値以上になるまで、より細かい粒度のグリッドへレベル毎に細分化するように構成されたグリッド細分化ユニットであって、グリッドセットは、ジオフェンス内のグリッド及びジオフェンスの境界を含むグリッドから構成され、インデックス精度は、ジオフェンスの面積のグリッドセット内のすべてのグリッドの面積の合計への比である、グリッド細分化ユニットと；
グリッドセット内のグリッドをジオフェンスのインデックスグリッドとして選択するように構成されたインデックス判断ユニットと、を含む。
【０００７】
本出願により提供されるコンピュータデバイスはメモリ及びプロセッサを含み、メモリはプロセッサにより実行可能なコンピュータプログラムを格納し；そして、プロセッサがコンピュータプログラムを実行すると、ジオフェンスのインデックスグリッドを判断するための上記方法の工程が実行される。
【０００８】
本出願により提供されるコンピュータ可読記憶媒体はコンピュータプログラムを格納し、そしてコンピュータプログラムがプロセッサにより実行されると、ジオフェンスのインデックスグリッドを判断するための上記方法の工程が実行される。
【０００９】
上記技術的解決策から以下のことがわかる：本出願のいくつかの実施形態では、ジオフェンスの外接グリッドを出発点として、ジオフェンスの境界を含むグリッドは、所定の精度閾値が満たされるまで、より細かい粒度のグリッドへレベル毎に細分化される；ジオフェンス内のグリッドは細分化されないので、ジオフェンス内のグリッドはより粗い粒度を採用し得る。ジオフェンスを十分に含むとともに精度要件を満たすという前提下で、インデックスグリッドの数は著しく低減され、インデックス格納はそれほど複雑ではなく、インデックス照会速度は増加され、ジオフェンスベースサービスの安定性及び応答速度が改善される。
【図面の簡単な説明】
【００１０】
図面の簡単な説明
【図１】本出願のいくつかの実施形態によるジオフェンスのインデックスグリッドを判断するための方法のフローチャートである。
【図２】本出願のいくつかの実施形態によるグリッド細分化反復処理の例のフローチャートである。
【図３】本出願のいくつかの応用例によるジオフェンスのインデックスグリッドを判断するための方法のフローチャートである。
【図４】本出願のいくつかの応用例によるGeof-Demoの境界と同境界の外接グリッドとの概略図である。
【図５】本出願のいくつかの応用例によるGeof-Demoのグリッド細分化の端におけるグリッドセット内のすべてのグリッドの概略図である。
【図６】本出願のいくつかの応用例によるGeof-Demoのグリッドマージモードの概略図である。
【図７】本出願のいくつかの応用例によるGeof-Demoのアイテムツリー階層のサブツリーの概略図である。
【図８】本出願のいくつかの応用例によるGeof-Demoのインデックスグリッドの概略図である。
【図９】本出願の実施形態を実行するデバイスのハードウェア構造図である。
【図１０】本出願のいくつかの実施形態によるジオフェンスのインデックスグリッドを判断するための装置の論理構造図である。
【発明を実施するための形態】
【００１１】
詳細な説明
ジオフェンスのグリッドインデックスは次の３つの指標：すなわちインデックスカバレッジ、インデックス精度、及びインデックスグリッドの数に基づき測定され得る。ジオフェンスを表すために使用されるグリッドセット内の設定要素の数がＮ（Ｎは自然数）である、すなわちジオフェンスのインデックスグリッドの数がＮであるということを仮定すると、グリッドセットのインデックスカバレッジＣは式１として表され得、インデックス精度Ｐは式２として表され得る：
【数１】
2020523650.tif 000003
【００１２】
式１及び２において、ＳＯは、インデックスグリッドのジオフェンスと重畳する部分の面積の合計である、すなわち
【数２】
2020523650.tif 000004
。ここでａｏｏｉは、第ｉ番目インデックスグリッドのジオフェンスと重畳する部分の面積であり、そしてｉ∈［１，Ｎ］であり；ＳＦはジオフェンスの面積であり；ＳＩはすべてのインデックスグリッドの面積の合計である、すなわち
【数３】
2020523650.tif 000005
であり、ここでａｏｇｉは第ｉ番目インデックスグリッドの面積であり、そしてｉ∈［１，Ｎ］である。
【００１３】
本出願の実施形態において解決される技術的問題は次のように表現され得る：グリッドセットがジオフェンスを完全にカバーする（すなわちＣ＝１）ということと、インデックス精度レートが所定の精度閾値ＴＨＲＰ以上（すなわちＰ≧ＴＨＲＰ）であるということと、の条件下で、Ｎの値は低減される。
【００１４】
ジオフェンスがインデックスグリッドのグリッドセットとして表されると、セット内のインデックスグリッドは次の２つのカテゴリに分類され得る：すなわちジオフェンス内のグリッド（すなわちジオフェンスの範囲に完全に入るカバレッジを有するグリッド）を含む１つのカテゴリと、ジオフェンスの境界を含むグリッド（すなわちジオフェンスの範囲に入るカバレッジを有するグリッドと、ジオフェンスを越えるカバレッジを有するグリッドとの両方）を含む他のカテゴリ。ジオフェンス内のグリッドに関して、それらのグリッドの粒度にかかわらず、グリッドセットのインデックス精度は影響されない。グリッドセットのインデックス精度は、ジオフェンスの境界を含む各グリッドの粒度により判断される。インデックス精度は、ジオフェンスの境界を含むグリッドの粒度を増加すること（粒度を増加するということは、より密なグリッド又はより細かい粒度のグリッドを使用することを意味する）により改善され得、ジオフェンス内のグリッドに、より粗い粒度を使用することを許可することにより、インデックスグリッドの数Ｎを低減し得る。
【００１５】
したがって、本出願の実施形態は、ジオフェンスのインデックスグリッドを判断するための新しい方法を提供する。本方法によると、ジオフェンスを含む最小単一グリッドはジオフェンスの外接グリッドと考えられ、そして外接グリッドから始めて、反復が、ジオフェンスの境界を含むグリッドをより細かい粒度のグリッドへレベル毎に細分化するために行われる。反復は、グリッドセットのインデックス精度が所定の精度閾値を満足すると停止する；ジオフェンスの境界を含むグリッドの粒度を増加するだけで、ジオフェンス内のグリッドをさらに細分化せず、そして様々な粒度のグリッドをインデックスグリッドとして判断することにより、インデックスグリッドの数は低減され、これにより従来技術における問題を解決する。
【００１６】
本出願の実施形態は、モバイルフォン、タブレットコンピュータ、ＰＣ（パーソナルコンピュータ）、ノートブックコンピュータ及びサーバなどの任意のコンピューティング及び記憶デバイス上で動作し得；本出願の実施形態における機能もまた、２つ以上のデバイス上で動作する論理ノードにより実現され得る。
【００１７】
本出願のいくつかの実施形態では、ジオフェンスのインデックスグリッドを判断するための方法のフローが図１に示される。
【００１８】
工程１１０において、ジオフェンスの外接グリッドが判断される。
【００１９】
グリッドシステムは、面サブセットの規則的階層的細分化に基づく空間データ構造である。ある粒度系に基づき、地理的領域は、位置情報の表現及び位置関連データの管理を容易にするとともにデータの編成、解析及び適用を高効率にするように、粗いものから細かいものまでいくつかの互いに隣接するポリゴングリッドへレベル毎に細分化され得る。
【００２０】
グリッドシステムは通常、地理的領域を分割するためにある粒度系を使用する。各粒度系は粗いものから細かいものまでレベル毎に構成される一連の粒度から構成され、グリッド細分化において使用される粒度がグリッドのサイズを判断する。定義された粒度系に従って分割される地理的領域に関して、Ｔ（Ｔは自然数）レベル粒度のグリッドは多くの（Ｔ＋１）レベル粒度のグリッドで構成され、（Ｔ＋１）レベル粒度のグリッドは面積が等しい。
【００２１】
ジオフェンスに関して、ジオフェンスを含む最小単一グリッドはジオフェンスの外接グリッドである。換言すれば、採用された粒度系において、ある粒度のグリッドがジオフェンスの全領域をカバーする場合、当該グリッドが下位粒度のグリッドへ細分化された後、各より細かい粒度のグリッドは、ジオフェンスの全領域ではなくジオフェンスの一部だけをカバーし得、もとの当該グリッドはジオフェンスの外接グリッドである。
【００２２】
ジオフェンスの外接グリッドを判断する具体的やり方は従来技術を参照することにより実現され得、したがってその詳細については本明細書では説明しない。
【００２３】
工程１２０では、外接グリッドを出発点として、ジオフェンスの境界を含むグリッドは、細分化されたグリッドセットのインデックス精度が所定の精度閾値以上になるまで、より細かい粒度のグリッドへレベル毎に細分化される。グリッドセットは、ジオフェンス内のグリッドとジオフェンスの境界を含むグリッドとから構成され、インデックス精度は、ジオフェンスの面積のグリッドセット内のすべてのグリッドの面積の合計への比である。
【００２４】
外接グリッドが判断された後、反復は、外接グリッドをジオフェンスのインデックスグリッドとして開始され、この場合、１つの要素（すなわち外接グリッド）だけがグリッドセット内に含まれる。ジオフェンスに対するグリッドセットのインデックス精度が計算される。計算されたインデックス精度が所定の精度閾値未満であれば、グリッドセット内のジオフェンスの境界を含むグリッドは、より細かい粒度のグリッドへ細分化され、グリッドセット内のジオフェンス内のグリッドは処理されない；グリッド細分化後に取得されるより細かい粒度のグリッドが完全にジオフェンス外にあれば、ジオフェンス外のグリッドはグリッドセットから抹消される。上記処理は、ジオフェンスに対するグリッドセットのインデックス精度が所定の精度閾値以上になるまで繰り返される。
【００２５】
外接グリッドはジオフェンスの全領域をカバーし、そして反復中に、ジオフェンスの完全に外にあるグリッドだけがグリッドセットから抹消されるので、グリッドセット内のすべてのグリッドは常に、ジオフェンスの全領域をカバーし得、グリッドセットのインデックスカバレッジは１である。
【００２６】
図２は、上記工程の反復処理フローの例を示し、以下の具体的工程を含む。
【００２７】
工程２０１では、グリッドセットが生成され、グリッドセット内の要素は、ジオフェンス内のグリッド及びジオフェンスの境界を含むグリッドである。この場合、１つの要素（すなわち外接グリッド）だけがグリッドセットに含まれる。
【００２８】
工程２０２において、グリッドセット内のすべてのグリッドをジオフェンスのインデックスグリッドとして、グリッドセットのインデックス精度が式２に従って計算される。計算されたインデックス精度は所定の精度閾値と比較され；計算されたインデックス精度が所定の精度閾値以上であれば、グリッドセットは所定の精度要件を満たし、処理は工程２１０に進み；そうでなければ工程２０３が行われる。
【００２９】
工程２０３において、グリッドセット内の第１のグリッドが現在のグリッドとして判断される。
【００３０】
工程２０４では、現在のグリッドがジオフェンス内に完全に存在するかどうかが判断され；判定結果が肯定であれば、処理は工程２０８に進み；判定結果が否定であれば、現在のグリッドはジオフェンスの境界を含むグリッドであり、工程２０５が行われる。
【００３１】
工程２０５では、現在のグリッドは下位のより細かい粒度のグリッドへ細分化される。現在のグリッドが細分化された下位のより細かい粒度のグリッドの特定数は、特定のアプリケーションシナリオにおいて使用される粒度系により判断される。
【００３２】
工程２０６では、グリッドセット内で、現在のグリッドは、グリッド細分化後に取得された下位のより細かい粒度のグリッドで置換される。すなわち、現在のグリッドはグリッドセットから抹消され、現在のグリッドを細分化することにより取得される多くの下位のより細かい粒度のグリッドがグリッドセットへ追加される。グリッド細分化後に取得される下位のより細かい粒度のグリッド内には、ジオフェンスの境界を含むグリッドと、ジオフェンス内のグリッドと、ジオフェンス外のグリッドとが存在し得る。
【００３３】
工程２０７では、グリッド細分化後に取得される多くの下位のより細かい粒度のグリッド内に、ジオフェンス外のグリッドが存在する場合、ジオフェンス外のグリッドはジオフェンスのインデックスグリッドとならなく、そしてグリッドセットの要素として使用されるべきではないので、グリッド細分化後のジオフェンス外の下位グリッドはグリッドセットから抹消される。グリッド細分化後に取得された多くの下位のより細かい粒度のグリッド内にジオフェンス外のグリッドが存在しない場合は、抹消操作は必要ではない。
【００３４】
工程２０８では、グリッドセット内に次のグリッドが存在するかどうかが判断される。判断結果が肯定であれば、工程２０９は現在の反復を続けるように行われる。グリッドセット内に次のグリッドが存在しない場合は、現在の反復は完了される。グリッドセット内のジオフェンスの境界を含むすべてのグリッドは既により細かい粒度のグリッドであり、したがって、処理は工程２０２に進み、次の反復が必要かどうかを判断するためにグリッドセットのインデックス精度を計算する。
【００３５】
工程２０９では、グリッドセット内の次のグリッドが現在のグリッドとして判断され、処理は工程２０４に進む。
【００３６】
工程２１０では、グリッドセットが出力され、反復処理は完了される。
【００３７】
図２の処理は反復処理フローの単に一例であるということに注意すべきであり、反復処理は、実際のアプリケーションシナリオの具体的状況に従って他の処理で実装され得、本出願の実施形態に制限されない。
【００３８】
図１に戻ると、工程１３０では、グリッドセット内のグリッドはジオフェンスのインデックスグリッドとして判断される。
【００３９】
工程１２０後、グリッドセット内のジオフェンスの境界を含むすべてのグリッドは、グリッドセット内のすべてのグリッド粒度のうちの最も細かい（最も密な）粒度（以降、「下限粒度」と呼ばれる）である同じ粒度を有する。グリッドセット内のジオフェンス内のグリッドは様々な粒度を有し得、それらの粒度の可能な範囲は、外接グリッドの粒度の下位粒度から、下限粒度までである。
【００４０】
グリッドセットのインデックス精度は、同セット内のジオフェンスの境界を含むグリッドの粒度に依存するので、精度要件を満たす一方でインデックスグリッドの数を低減するように、ジオフェンス内のグリッドがより大きな粒度を有するということが許容される。特に、工程１２０における反復処理では、ジオフェンスの実際の形状に従って、より粗い粒度のグリッドがジオフェンス内の領域を可能な限りカバーするために使用され、このことは、インデックスグリッドを低減する際に極めて良好な効果を生じる。
【００４１】
グリッドセット内のグリッドがジオフェンスのインデックスグリッドとして判断される特定処理方法は、通常、グリッドセット内の各グリッドのインデックスアイテム下のジオフェンスに対応するエンティティを登録することを含む。実際のアプリケーションシナリオの必要性に従って採用される他の方法が存在し得、本明細書では限定されない。
【００４２】
ほとんどの場合、工程１２０により取得されるグリッドセットに関して、そのインデックス精度は所定の精度閾値を超え得る。工程１２０により取得されるグリッドセットのインデックス精度が所定の精度閾値より高いと、グリッドセット内のグリッドの一部は、ジオフェンスの境界を含む、より粗い粒度のグリッドへマージされ得、このマージは、マージ後のインデックス精度が所定の精度閾値以上であるという条件下で行われる；次に工程１３０では、マージ後のグリッドセット内のグリッドがジオフェンスのインデックスグリッドとして判断され得る。これはさらに、ジオフェンスのインデックスグリッドの数を低減し得る。
【００４３】
グリッドマージは、同じレベルのより粗い粒度のグリッドに属する多くのより細かい粒度のグリッドを、当該より細かい粒度のグリッドの集合セットとして選択する代わりに、より粗い粒度のグリッドで置換することを指す、ということに注意すべきである。同じレベルのより粗い粒度のグリッドに属するより細かい粒度のグリッドは、すべてが必ずしもグリッドセット内の要素ではない可能性がある。この場合、グリッドセット内のより細かい粒度の１つ又は複数のグリッドもまた、より粗い粒度のグリッドへマージされ得る。
【００４４】
例えば、同じグリッドから細分化されるとともに下限粒度を有する２つ以上のグリッドは、グリッドセット内に見つけ出された場合、見つけ出されたグリッドは、より粗い粒度のグリッドへマージされ、次に、マージされたグリッドセットのインデックス精度が計算される。計算されたインデックス精度が所定の精度閾値未満であれば、マージは停止し、この場合のグリッドセットはマージされたグリッドセットである。計算されたインデックス精度が所定の精度閾値以上であれば、マージ前のすべてのグリッドはグリッドセット内のマージされたより粗い粒度のグリッドで置換される。次に、上記処理は、同じグリッドから細分化された次の一組の２つ以上のグリッドを見つけ出すために繰り返され、そして、マージすべきかどうかはマージが停止するまで判断される。この例におけるマージモードはインデックスグリッドの数をさらに低減することができ得るが、通常、グリッドインデックスの数を最小化するという効果は無い。
【００４５】
一実装施形態では、ナップサック問題が、グリッドインデックスの数を最小化するマージモードを解決するために使用され得る。ナップサック問題は、一群のアイテムを所与として、各アイテムがそれ自身の重量及び価格を有し、そして規定された全重量の範囲内で、アイテムの合計価格を最大化するためにどのように選択すべきかとして説明され得る：。本出願のいくつかの実施形態では、ナップサック問題は、ジオフェンスの境界を含むマージされたグリッドがアイテムと考えられる場合に生成され得る。アイテムをインデックスグリッドと考えて、マージ前のジオフェンス外の領域と比較した場合のジオフェンス外の領域の増加が、アイテムの重量として使用され、アイテムをインデックスグリッドとして使用して、マージ前のグリッドの数と比較した場合のグリッドの数の低下が、アイテムの価格として考えられ、所定の精度閾値に対するグリッドセットのインデックス精度の超過に対応するジオフェンス外の領域は、制限された全重量として考えられ；このナップサック問題に対する最適解は、グリッドマージの結果として考えられる。グリッドマージの結果は、マージされたグリッドセットを取得するために、グリッドセットへ更新される。例えば、グリッドマージの結果のグリッドはグリッドセットへ追加され得、グリッドマージの結果のグリッドと同じ地理的領域をカバーするすべての元のグリッドは抹消される。
【００４６】
ナップサック問題が生成された後、その最適解は、従来技術におけるナップサック問題に対する様々な解法を参照することにより取得され得るが、本出願の実施形態はこれに限定しない。
【００４７】
ナップサック問題を解決する特定実施形態が以下に与えられる。もしアイテムａがマージされたグリッドであれば；アイテム１によりマージされたグリッド及び他のアイテムもまた１つのアイテムと考えられ、アイテム２として表される；アイテム２はアイテム１の親アイテムであり、アイテム１はアイテム２の子アイテムである。アイテム１及びアイテム２は同じ地理的領域を含むので、アイテム１がグリッドセットの要素として機能すると、アイテム２は確かにグリッドセットの要素ではなく、逆も同様である。すなわち、親子関係を有するアイテムは１つのナップサック内に同時に存在することができなく、親子関係を有するアイテムは、直接的及び間接的親子関係を有するアイテムを含む。例えば、アイテム３がアイテム２の親アイテムであれば、アイテム１及びアイテム３は１つのナップサック内に同時に存在することができない。
【００４８】
本実施形態においてナップサック問題を解く場合、アイテムのツリー階層はアイテム間の親子関係に従って構築され得、そして、親子関係を有するアイテムが１つのナップサック内に同時に存在することができないという制約条件下で、ナップサック問題のすべてのナップサック状態が列挙され；各ナップサック状態が解かれ、すべての答えの中の最適なものがナップサック問題に対する最適解である。
【００４９】
具体的には、下限粒度（すなわちマージ前のグリッドセット内の最も密なグリッドの粒度）を現在の粒度の出発点として、グリッドセット内の現在の粒度のグリッドはより粗い粒度のグリッドへレベル毎にマージされ得；そして各マージされたグリッドをアイテムとして、各アイテムの重量及び価格が、すべてのグリッドが外接グリッドへマージされるまで、判断される。アイテムのツリー階層はアイテム間の親子関係に従って生成され得；ツリー階層のリーフノード（すなわち後続ノードの無いノード）は、下限粒度のグリッドにより形成されるグリッドであり、ルートノード（すなわち先行ノードの無いノード）は外接グリッドである。
【００５０】
アイテムのツリー階層が構築された後、ツリー階層のリーフノードとして機能する各アイテムのナップサック状態が判断される。リーフノードとして機能する子アイテムを出発点として、親アイテムのすべての子アイテムのナップサック状態のデカルト積と、親アイテム自体のナップサック状態との共通部分（an intersection of the Cartesian product of knapsack states of all the child items of the parent item and the parent item itself）を親アイテムのナップサック状態として、反復は、外接グリッドに対応するツリー階層内のルートノードのナップサック状態が最後に取得されるまで、行われる。換言すれば、リーフノードとして機能する子アイテムから始まり、それらの親アイテムのナップサック状態は、ルートノードのナップサック状態が計算されるまで、式３に従ってツリー階層内でレベル毎に上方へ計算される。
【数４】
2020523650.tif 000006
【００５１】
式３において、ＳｔａｔｅＦは親アイテムのナップサック状態であり、ＮｏｄｅＦは親アイテムであり、
【数５】
2020523650.tif 000007
は第ｉ番目の子アイテムのナップサック状態であり、ｋは親アイテムの子アイテムの数である。
【００５２】
ルートノード（すなわち外接グリッドのナップサック状態）として機能する親アイテムが反復を通じて取得された後、外接グリッドのすべてのナップサック状態は、ナップサック問題のすべてのナップサック状態である。各ナップサック状態は基本ナップサック問題と見做され得る。従来技術における基本ナップサック問題に対する解法に従って、各ナップサック状態は解くことができ、ナップサック状態に対するすべての解のうちの最適解がナップサック問題に対する最適解である。本実施形態におけるナップサック問題に対する最適解をグリッドセット内のグリッドのマージ結果として選択することにより、ジオフェンスの最小数のインデックスグリッドが、所定の精度閾値を満たしながら、取得され得る。
【００５３】
本出願のいくつかの実施形態では、ジオフェンスを含む最小単一グリッドはジオフェンスの外接グリッドと考えられ、ジオフェンスの外接グリッドを出発点として、ジオフェンスの境界を含むグリッドは、所定の精度閾値が満たされるまで、より細かい粒度のグリッドへレベル毎に細分化される；ジオフェンスの境界を含むグリッドの粒度を増加するだけで、ジオフェンス内のグリッドをさらに細分化せず、そして様々な粒度のグリッドをインデックスグリッドとして判断することにより、インデックスグリッドの数は著しく低減され、インデックス格納はそれほど複雑ではなく、インデックス照会速度は増加されるということがわかる。
【００５４】
さらに、インデックス精度が所定の精度閾値を超えるグリッドセットに関して、ナップサック問題モデルが、グリッドセット内のグリッドの一部をより粗い粒度のグリッドへマージするために使用され、最適解はナップサック問題のツリー階層を構築することにより取得され、これによりインデックス精度要件を満たしながら、インデックスの数を最小化する。
【００５５】
本出願の応用例では、図３に示される処理フローがジオフェンスのインデックスグリッドを取得するために使用され、そして、これらのインデックスグリッドがジオフェンスの領域を１００％カバーするということが必要とされ、インデックス精度は所定の精度閾値以上である。以下の説明はGeof-Demoと呼ばれるジオフェンスの例を参照する。
【００５６】
工程３１０において、ジオフェンスの外接グリッドが判断される。Geof-Demoジオフェンス及び判断された外接グリッドが図４に示される。
【００５７】
工程３２０では、グリッドセットは外接グリッドを要素として使用することにより形成され、ジオフェンスの境界を含むグリッドは、細分化されたグリッドセットのインデックス精度が所定の精度閾値以上になるまで、より細かい粒度のグリッドへレベル毎に細分化される。
【００５８】
Geof-Demoにより採用される粒度系は以下のとおりであるとする：１つの粒度によるグリッド細分化の場合、元のグリッドは４つの等しいグリッドへ細分化される。Geof-Demoの外接グリッドから始まり、最初の４回の細分化後のグリッドの分布が図５に示され；４回の細分化後のグリッドセットのインデックス精度が所定の精度閾値を超えると、細分化は停止する。この場合、グリッドセット内のすべての要素は図５における灰色の背景を有するグリッドであり、ここでは、Geof-Demoの境界を含むグリッドはグリッドセット内のすべてのグリッドの最も細かい粒度（すなわち下限粒度）である同じ粒度であり、一方、Geof-Demoの境界内のグリッドは異なる粒度を有する。図５の白色背景を有するグリッドはジオフェンス外のグリッドであり、細分化処理中にグリッドセットから抹消されることになる。
【００５９】
工程３３０では、グリッドセットのインデックス精度が所定の精度閾値と等しいかどうかの判断がなされる。判定結果が「はい」であれば、処理は工程３６０へ進む。インデックス精度が所定の精度閾値より大きければ、工程３４０が行われる。
【００６０】
工程３４０では、ナップサック問題は、ジオフェンスの境界を含むマージされたグリッドがアイテムと考えられる場合に生成される。アイテムをインデックスグリッドと考えて、マージ前のジオフェンス外の領域と比較した場合のジオフェンス外の領域の増加は、アイテムの重量として使用され、アイテムをインデックスグリッドとして使用して、マージ前のグリッドの数と比較した場合のグリッドの数の低下は、アイテムの価格と考えられ、所定の精度閾値に対するグリッドセットのインデックス精度の超過に対応するジオフェンス外の領域は、制限された全重量と考えられる。
【００６１】
ジオフェンスの境界を含むとともに下限粒度を有する、グリッドセット内のグリッドを出発点として、グリッドはより粗い粒度のグリッドへレベル毎にマージされ、そして各マージされたグリッドをアイテムとして、アイテムの重量及び価格が判断される。アイテムの親子関係はマージされた階層に従って判断され、ナップサック問題のツリー階層が構築される。
【００６２】
図６の右上角に示される下限粒度を有するグリッドｄ１、ｄ２、ｄ３、ｅ１、ｆ１、ｆ２、及びｆ３を例にとると、ｄ１、ｄ２及びｄ３は、アイテムｄであるより粗い粒度のグリッドへマージされ得；ｅ１は、アイテムｅであるより粗い粒度のグリッドへマージされ得；ｆ１、ｆ２及びｆ３は、アイテムｆであるより粗い粒度のグリッドへマージされ得る。アイテムｄをインデックスグリッドとして、ジオフェンス外の領域の増加は、グリッドセットのマージ前のジオフェンス外の領域と比較した場合、１つの下限粒度グリッドであり、インデックスグリッドの数の低下は２であり、アイテムｄに関して、重量ｗ＝１、価格ｐ＝２であるということが結論付けられる；これと同じように、アイテムｅに関して、重量ｗ＝３、価格ｐ＝０であるということが結論付けられ、アイテムｆに関して、重量ｗ＝１、価格ｐ＝２であるということが結論付けられる。
【００６３】
グリッドマージはさらに、より粗い粒度へ進み、ｄは、グリッドセット内の他のグリッドと共に、アイテムｂ（図６の点線のボックスにより示される）であるより粗い粒度のグリッドへマージされ、アイテムｂはアイテムｄの親アイテムとなり；ｅ及びｆは、グリッドセット内の他のグリッドと共に、アイテムｃ（図６の点線のボックスにより示される）であるより粗い粒度のグリッドへマージされ得、アイテムｃはアイテムｅ及びアイテムｆの親アイテムとなる。アイテムｂをインデックスグリッドとして、ジオフェンス外の領域の増加は、グリッドセットのマージ前のジオフェンス外の領域と比較した場合、１つの下限粒度グリッドであり、インデックスグリッドの数の低下は５であり、アイテムｂに関して、重量ｗ＝１、価格ｐ＝５であるということが結論付けられる；これと同じように、アイテムｃに関して、重量ｗ＝８、価格ｐ＝４である。アイテムｂ及びアイテムｃもまた、グリッドセット内の他のグリッドと共に、アイテムａであるより粗い粒度のグリッドへマージされ、アイテムａに関して、重量ｗ＝９、価格ｐ＝１２であるということが結論付けられる。これと同じように、マージは、Geof-Demoの外接グリッドが取得されるまでに停止する。
【００６４】
グリッドマージ時のアイテム間の親子関係に従って、下限粒度のグリッドから外接グリッドまでのマージされたアイテム（アイテムｄなど）からのツリー階層が取得され得る。上記アイテムａ〜ｆを例にとると、図７に示されるツリー階層が、マージ時のアイテム間の親子関係に従って取得され得る。図７に示すツリー階層は、Geof-Demoのツリー階層のサブツリーだけであるということに注意すべきである。
【００６５】
工程３５０では、アイテムのツリー階層に従って、同じ地理的領域を含むアイテム（すなわち、直接的又は間接的親子関係を有するアイテム）は１つのナップサック内に同時に存在することができないという制約条件下で、ナップサック問題のすべてのナップサック状態が列挙され、各ナップサック状態が解かれ、すべての解のうちの最適な解がグリッドマージの結果として判断される。
【００６６】
ツリー階層のリーフノード（すなわち下限粒度のグリッドからマージされたアイテム）の状態から始めて、反復は、外接グリッドの状態（すなわち、ナップサック問題のすべてのナップサック状態）が取得されるまで、式３に従って行われる。
【００６７】
図７に示すサブツリーを例にとると、リーフノード（すなわちアイテムｄ、アイテムｅ及びアイテムｆ）の状態：すなわちアイテムｄ＝｛ｄ｝の状態Ｄ、アイテムｄ＝｛ｅ｝の状態Ｅ、及びアイテムｆ＝｛ｆ｝の状態Ｆが最初に判断される。式３に従って、アイテムｂの状態はＢ＝ｂ＋Ｄ＝｛｛ｂ｝，｛ｄ｝｝として計算され、アイテムｃの状態は
【数６】
2020523650.tif 000008
として計算される。次に、アイテムａの状態は
【数７】
2020523650.tif 000009
として計算され、これと同じように、外接グリッドの状態が取得され得る。
【００６８】
各外接グリッドの状態は、従来技術に従って解決され得る基本ナップサック問題である。状態に対するすべての解のうちの最適解は、グリッドマージの結果であると考えられる。次に、グリッドセットはグリッドマージの結果に従って更新される。
【００６９】
工程３６０では、グリッドセット内のグリッドは、ジオフェンスのインデックスグリッドとして使用される。Geof-Demoの最終グリッドセット内のグリッドが図８に示される。
【００７０】
本出願例の方法を実際に応用した後、著しい効果が、単一粒度のインデックスグリッドを使用する従来技術と比較して達成された。オフィスビル、住宅地域、ショッピングモール、空港、病院などのフェンスを含む地理的領域を対象として、比較結果を表１に示す：
【００７１】
【表１】
2020523650.tif 000010
【００７２】
高精度の場合において、本出願例のインデックスの数は、単一粒度のインデックスグリッドより３０倍超低減される、ということがわかる。より高いインデックス精度は、ジオフェンスベースサービスの位置決めをより精確にし、これによりサービス性能を改善し中断レートを低減し；より少ない数のインデックスがインデックスデータに少ない格納スペースを占めさせ、これにより、サービス構築が依存する環境を改善し、サービスの頑強性及び柔軟性を改善する。
【００７３】
これまで述べた処理実施に対応して、本出願の実施形態はさらに、ジオフェンスのインデックスグリッドを判断するための装置を提供する。本装置は、ソフトウェア、若しくはハードウェア、又はハードウェアとソフトウェアとの組み合わせにより実現され得る。論理装置としてソフトウェア実装を例にとると、ソフトウェア実装は、装置が位置するデバイスのＣＰＵ（中央処理ユニット）が操作のために、対応するコンピュータプログラム命令をメモリ中へ読み込むようなやり方で形成される。ハードウェアレベルでは、図９に示すＣＰＵ、メモリ、及びストレージに加えて、ジオフェンスのインデックスグリッドを判断するための装置が位置するデバイスは通常、無線信号を送受信するためのチップなどの他のハードウェア及び／又はネットワーク通信機能を実施するための基板カードなどの他のハードウェアを含む。
【００７４】
図１０は、本出願のいくつかの実施形態によるジオフェンスのインデックスグリッドを判断するための装置であって、外接グリッドユニット、グリッド細分化ユニット及びインデックス判断ユニットを含む装置を示し、外接グリッドユニットは、ジオフェンスの外接グリッドを判断するように構成され、外接グリッドはジオフェンスを含む最小単一グリッドであり；グリッド細分化ユニットは、外接グリッドを出発点として、細分化されたグリッドセットのインデックス精度が所定の精度閾値以上になるまで、ジオフェンスの境界を含むグリッドをより細かい粒度のグリッドへレベル毎に細分化するように構成される。グリッドセットは、ジオフェンス内のグリッド及びジオフェンスの境界を含むグリッドから構成され、インデックス精度は、ジオフェンスの面積のグリッドセット内のすべてのグリッドの面積の合計への比であり；インデックス判断ユニットは、グリッドセット内のグリッドをジオフェンスのインデックスグリッドとして選択するように構成される。
【００７５】
一実施形態では、本装置はさらに、マージ後のインデックス精度が所定の精度閾値以上となるように、グリッドセットのインデックス精度が所定の精度閾値より高い場合に、グリッドセット内のグリッドの一部を、ジオフェンスの境界を含むより粗い粒度のグリッドへマージするように構成されたグリッドマージユニットを含み；インデックス判断ユニットは、マージ後のグリッドセット内のグリッドを、ジオフェンスのインデックスグリッドとして選択するように特に構成される。
【００７６】
上記実施形態では、グリッドマージユニットは、マージ後のインデックス精度が所定の精度閾値以上となるように、グリッドセット内のグリッドの一部を、ジオフェンスの境界を含むより粗い粒度のグリッドへマージする。マージすることは、ジオフェンスの境界を含むマージされたグリッドがアイテムとして考えられる場合にナップサック問題を生成することを含む。アイテムをインデックスグリッドと考えて、マージ前のジオフェンス外の領域と比較した場合のジオフェンス外の領域の増加は、アイテムの重量として使用され、アイテムをインデックスグリッドとして使用して、マージ前のグリッドの数と比較した場合のグリッドの数の低下は、アイテムの価格と考えられ、所定の精度閾値に対するグリッドセットのインデックス精度の超過に対応するジオフェンス外の領域は、制限された全重量と考えられる；またマージすることは、ナップサック問題に対する最適解をグリッドマージの結果として選択することを含む。インデックス判断ユニットは、グリッドマージの結果に従ってグリッドセットを更新するように、そして更新されたグリッドセット内のグリッドをジオフェンスのインデックスグリッドとして選択するように構成される。
【００７７】
一例では、グリッドマージユニットは、ナップサック問題に対する最適解をグリッドマージの結果として判断する。判断することは、ナップサック問題のアイテムのツリー階層を構築することであって、ツリー階層内の親アイテムがその子アイテムからマージされる、構築することと；親子関係を有するアイテムは１つのナップサック内に同時に存在することができないという制約条件下で、ナップサック問題のすべてのナップサック状態を列挙することと；各ナップサック状態に対する答えを解くことと；すべての答えのうちの最適解をナップサック問題に対する最適解として選択することと、を含む。
【００７８】
上記例では、グリッドマージユニットは、ナップサック問題のアイテムのツリー階層を構築する。構築することは、下限粒度を現在の粒度の出発点として、グリッドセット内の現在の粒度のグリッドをより粗い粒度のグリッドへレベル毎にマージすることと；各マージされたグリッドをアイテムとして、各アイテムの重量及び価格を、すべてのグリッドが外接グリッドへマージされるまで、判断することと；アイテム間の親子関係に従ってアイテムのツリー階層を生成することと、を含み、下限粒度はマージ前のグリッドセット内で最も密なグリッドの粒度である。
【００７９】
上記例では、親子関係を有するアイテムは１つのナップサック内に同時に存在することができないという制約条件下で、グリッドマージユニットは、ナップサック問題のすべてのナップサック状態を列挙する。列挙することは、ツリー階層のリーフノードとして機能する各アイテムのナップサック状態を判断することと；リーフノードとして機能する子アイテムを出発点として、親アイテムのすべての子アイテムのナップサック状態のデカルト積と、親アイテム自体のナップサック状態との共通部分を、親アイテムのナップサック状態として、ツリー階層内のルートノードに対応する外接グリッドのナップサック状態が取得されるまで、反復を行うことと、を含み、外接グリッドのナップサック状態は、ナップサック問題のすべてのナップサック状態である。
【００８０】
本出願の実施形態は、メモリ及びプロセッサを含むコンピュータデバイスを提供する。本明細書におけるメモリは、プロセッサにより実行可能なコンピュータプログラムを格納し；そして格納されたコンピュータプログラムを実行する際、プロセッサは、本出願の実施形態におけるジオフェンスのインデックスグリッドを判断するための方法の工程を実行する。ジオフェンスのインデックスグリッドを判断するための方法の工程の詳細説明に関して、参照は上記内容に対しなされ得、したがって詳細説明は繰り返されない。
【００８１】
本出願の実施形態は、コンピュータプログラムを格納するコンピュータ可読記憶媒体を提供し、そしてコンピュータプログラムがプロセッサにより実行されると、本出願の実施形態におけるジオフェンスのインデックスグリッドを判断するための方法の工程が実行される。ジオフェンスのインデックスグリッドを判断するための方法の工程の詳細説明に関して、上記内容を参照することができ、したがって、詳細説明は繰り返されない。
【００８２】
上記実施形態は、本出願の単に好適な実施形態であり、本出願を制限するように意図されていない。本出願の精神及び原理内でなされるいかなる修正、等価置換、改善なども本出願の範囲内でカバーされるものとする。
【００８３】
典型的構成では、コンピュータデバイスは、１つ又は複数のプロセッサ（ＣＰＵ）、入出力インターフェース、ネットワークインターフェース及びメモリを含む。
【００８４】
メモリは、非恒久的メモリ、ランダムアクセスメモリ（ＲＡＭ：random access memory）、及び／又はコンピュータ可読媒体内の読み取り専用メモリ（ＲＯＭ：read-only memory）又はフラッシュＲＡＭなどの非揮発性メモリを含み得る。メモリはコンピュータ可読媒体の一例である。
【００８５】
コンピュータ可読媒体は、恒久的及び非恒久的媒体、着脱可能及び着脱不能媒体を含み、任意の方法又は技術により情報を格納し得る。情報は、コンピュータ可読命令、データ構造、プログラムのモジュール又は他のデータであり得る。コンピュータ記憶媒体の例は、限定しないが、相転移メモリ（ＰＲＡＭ：phase change memory）、スタティックランダムアクセスメモリ（ＳＲＡＭ：static random access memory）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ：dynamic random access memory）、他のタイプのランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ：electrically erasable programmable read-only memory）、フラッシュメモリ又は他のメモリ技術、読み取り専用光学ディスク読み取り専用メモリ（read-only optical disk read-only memory）（ＣＤ−ＲＯＭ）、デジタルバーサタイルディスク（ＤＶＤ：digital versatile disc）又は他の光学ストレージ、磁気カセットテープ、磁気ディスク記憶デバイス、又は他の磁気記憶デバイス、又はコンピュータデバイスによりアクセスされ得る情報を格納するための任意の他の非伝送媒体を含む。本明細書で定義されるように、コンピュータ可読媒体は変調データ信号及び搬送波などの一時的媒体を含まない。
【００８６】
用語「含む（include）」、「含む（comprise）」又はその他の変形のうちの任意のものは、一連の要素を含む処理、方法、物品若しくはデバイスが、それらの要素を含むだけでなく、明示的に列挙される他の要素も含む、又はこの処理、方法、物品又はデバイスの固有要素も含むように非排他的な包含物をカバーするように意図される、ということも理解すべきである。さらなる制約が無いと、文章「１つの．．．を含む（including  a/an...）」により定義される要素は、要素を含む処理、方法、物品、又はデバイス内に存在する他の同一要素を排除しない。
【００８７】
当業者は、本出願の実施形態が方法、システム又はコンピュータプログラム製品として提供され得るということを理解すべきである。したがって、本出願は、全ハードウェア実施形態、全ソフトウェア実施形態、又はソフトウェアとハードウェアとを組み合わせた実施形態の形式をとり得る。さらに、本出願は、コンピュータプログラムコードを含む１つ又は複数のコンピュータ記憶媒体（限定しないが、ディスクメモリ、ＣＤ−ＲＯＭ及び光学メモリを含む）上に実装されたコンピュータプログラム製品の形式をとり得る。
【図１】
2020523650.tif 000011
【図２】
2020523650.tif 000012
【図３】
2020523650.tif 000013
【図４】
2020523650.tif 000014
【図５】
2020523650.tif 000015
【図６】
2020523650.tif 000016
【図７】
2020523650.tif 000017
【図８】
2020523650.tif 000018
【図９】
2020523650.tif 000019
【図１０】
2020523650.tif 000020
【手続補正書】
【提出日】令和1年12月13日(2019.12.13)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００５６
【補正方法】変更
【補正の内容】
【００５６】
工程３０１において、ジオフェンスの外接グリッドが判断される。Geof-Demoジオフェンス及び判断された外接グリッドが図４に示される。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００６７
【補正方法】変更
【補正の内容】
【００６７】
図７に示すサブツリーを例にとると、リーフノード（すなわちアイテムｄ、アイテムｅ及びアイテムｆ）の状態：すなわちアイテムｄ＝｛ｄ｝の状態Ｄ、アイテムｅ＝｛ｅ｝の状態Ｅ、及びアイテムｆ＝｛ｆ｝の状態Ｆが最初に判断される。式３に従って、アイテムｂの状態はＢ＝ｂ＋Ｄ＝｛｛ｂ｝，｛ｄ｝｝として計算され、アイテムｃの状態は
【数６】
2020523650.tif 000021
として計算される。次に、アイテムａの状態は
【数７】
2020523650.tif 000022
として計算され、これと同じように、外接グリッドの状態が取得され得る。
【国際調査報告】
2020523650.tif 000023
2020523650.tif 000024
2020523650.tif 000025
2020523650.tif 000026