(57)【要約】【課題】ポリシやポリシ集合の性質が反映されたポリシやポリシ集合の類似度を計算する。【解決手段】類似度計算部１２は、例えば、２ルール内の主体名間での相違箇所数をカウントし、それと設定値との積を計算してポリシ間類似度に加算し、客体名間、アクセス方法名間でも同様にし、主体名、客体名、アクセス方法名について２ルール内で同一箇所があり、かつ、２ルール内の許可設定値同士が同一でない場合は、同一箇所数同士の積を計算し、それと設定値との積を計算してポリシ間類似度に加算し、符号をマイナスにする。【選択図】図１
2007072582.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータで扱われる資源へのアクセスを行う主体の主体名、当該資源である客体の客体名、当該アクセスの方法を示すアクセス方法名、ならびに、当該主体から当該客体への当該アクセス方法によるアクセスを許可するか否かを示す許可設定値からなるルールを１以上含むポリシが２つある場合の当該２ポリシ間のポリシ間類似度を計算する類似度計算装置であって、
当該ポリシ間類似度を計算する類似度計算手段と、
当該ポリシ間類似度の計算に用いられる設定値とを備え、
前記類似度計算手段は、
主体名、客体名およびアクセス方法名の１以上が選択され、当該ポリシ間類似度が初期化された後、当該２ポリシの内の一方のポリシ内の１ルールと他方のポリシ内の１ルールとからなるルールの組の全てを処理するものであり、
そのときの各組での処理では、
主体名が選択された場合は、当該組を構成する２ルール内の主体名間での相違箇所数をカウントし、それと前記設定値との積を計算してポリシ間類似度に加算し、
客体名が選択された場合は、当該２ルール内の客体名間での相違箇所数をカウントし、それと前記設定値との積を計算してポリシ間類似度に加算し、
アクセス方法名が選択された場合は、当該２ルール内のアクセス方法名間での相違箇所数をカウントし、それと前記設定値との積を計算してポリシ間類似度に加算し、
前記選択されたものの全てについて当該２ルール内で同一箇所があり、かつ、当該２ルール内の許可設定値同士が同一でない場合は、同一箇所数同士の積を計算し、それと前記設定値との積を計算してポリシ間類似度に加算し、符号をマイナスにする一方、
前記選択されたもののいずれかについて当該２ルール内で同一箇所がない、または、当該許可設定値同士が同一である場合は、同一箇所数同士の積の計算、それと設定値との積の計算、それをポリシ間類似度に加算し、符号をマイナスにすること、を省略する
ことを特徴とする類似度計算装置。
【請求項２】
コンピュータで扱われる資源へのアクセスを行う主体の主体名、当該資源である客体の客体名、当該アクセスの方法を示すアクセス方法名、ならびに、当該主体から当該客体への当該アクセス方法によるアクセスを許可するか否かを示す許可設定値からなるルールを１以上含むポリシが２つある場合の当該２ポリシ間のポリシ間類似度、ならびに、１以上のポリシからなるポリシ集合が２つある場合の当該２ポリシ集合間のポリシ集合間類似度を計算する類似度計算装置であって、
当該ポリシ間類似度および当該ポリシ集合間類似度を計算する類似度計算手段と、
当該ポリシ間類似度の計算に用いられる設定値および当該ポリシ集合間類似度の計算に用いられる第２設定値を備え、
前記類似度計算手段は、
当該２ポリシ集合の一方が縦方向に、他方が横方向に対応する、マトリクスを生成し、
当該２ポリシ集合の内の一方のポリシ集合内の１ポリシと他方のポリシ集合内の１ポリシとからなるポリシの組の全てを処理し、各組での処理で得られたポリシ間類似度をマトリクスの当該組に該当する位置に記憶させようになっており、
そのときの各組での処理は、
主体名、客体名およびアクセス方法名の１以上が選択され、当該ポリシ間類似度が初期化された後、当該２ポリシの内の一方のポリシ内の１ルールと他方のポリシ内の１ルールとからなるルールの組の全てを処理するものであり、
そのときの各組での処理では、
主体名が選択された場合は、当該組を構成する２ルール内の主体名間での相違箇所数をカウントし、それと前記設定値との積を計算してポリシ間類似度に加算し、
客体名が選択された場合は、当該２ルール内の客体名間での相違箇所数をカウントし、それと前記設定値との積を計算してポリシ間類似度に加算し、
アクセス方法名が選択された場合は、当該２ルール内のアクセス方法名間での相違箇所数をカウントし、それと前記設定値との積を計算してポリシ間類似度に加算し、
前記選択されたものの全てについて当該２ルール内で同一箇所があり、かつ、当該２ルール内の許可設定値同士が同一でない場合は、同一箇所数同士の積を計算し、それと前記設定値との積を計算してポリシ間類似度に加算し、符号をマイナスにする一方、
前記選択されたもののいずれかについて当該２ルール内で同一箇所がない、または、当該許可設定値同士が同一である場合は、同一箇所数同士の積の計算、それと設定値との積の計算、それをポリシ間類似度に加算し、符号をマイナスにすること、を省略する
ようになっており、
前記類似度計算手段は、
当該２ポリシ集合の両方を処理し、各ポリシ集合での処理で得られた各合計値の中で最小のものを、予め初期化されたポリシ集合間類似度に加算し、マトリクス中に、負のポリシ間類似度がある場合、当該ポリシ集合間類似度の符号をマイナスにする一方、マトリクス中に、負のポリシ間類似度がない場合、符号をマイナスにすることを省略するようになっており、
そのときの各ポリシ集合での処理は、
マトリクスにおいて、当該ポリシ集合内の各ポリシにつき、０または最も０に近いプラスのポリシ間類似度を選択し、
異なるポリシにつき選択されたポリシ間類似度同士を組み合わせ、
各組み合わせにつき、
それに含まれるポリシ間類似度の合計値を計算し、他方のポリシ集合内の、当該ポリシ間類似度に無関係なポリシの数を計算し、それと第２設定値との積を計算し、それを合計値に加算する
ものである
ことを特徴とする類似度計算装置。
【請求項３】
コンピュータで扱われる資源へのアクセスを行う主体の主体名、当該資源である客体の客体名、当該アクセスの方法を示すアクセス方法名、ならびに、当該主体から当該客体への当該アクセス方法によるアクセスを許可するか否かを示す許可設定値からなるルールを１以上含むポリシが２つある場合の当該２ポリシ間のポリシ間類似度を計算する類似度計算装置の制御方法であって、
類似度計算装置は、
当該ポリシ間類似度を計算する類似度計算手段と、
当該ポリシ間類似度の計算に用いられる設定値とを備え、
前記類似度計算手段は、
主体名、客体名およびアクセス方法名の１以上が選択され、当該ポリシ間類似度が初期化された後、当該２ポリシの内の一方のポリシ内の１ルールと他方のポリシ内の１ルールとからなるルールの組の全てを処理し、
そのときの各組での処理では、
主体名が選択された場合は、当該組を構成する２ルール内の主体名間での相違箇所数をカウントし、それと前記設定値との積を計算してポリシ間類似度に加算し、
客体名が選択された場合は、当該２ルール内の客体名間での相違箇所数をカウントし、それと前記設定値との積を計算してポリシ間類似度に加算し、
アクセス方法名が選択された場合は、当該２ルール内のアクセス方法名間での相違箇所数をカウントし、それと前記設定値との積を計算してポリシ間類似度に加算し、
前記選択されたものの全てについて当該２ルール内で同一箇所があり、かつ、当該２ルール内の許可設定値同士が同一でない場合は、同一箇所数同士の積を計算し、それと前記設定値との積を計算してポリシ間類似度に加算し、符号をマイナスにする一方、
前記選択されたもののいずれかについて当該２ルール内で同一箇所がない、または、当該許可設定値同士が同一である場合は、同一箇所数同士の積の計算、それと設定値との積の計算、それをポリシ間類似度に加算し、符号をマイナスにすること、を省略する
ことを特徴とする類似度計算装置の制御方法。
【請求項４】
コンピュータで扱われる資源へのアクセスを行う主体の主体名、当該資源である客体の客体名、当該アクセスの方法を示すアクセス方法名、ならびに、当該主体から当該客体への当該アクセス方法によるアクセスを許可するか否かを示す許可設定値からなるルールを１以上含むポリシが２つある場合の当該２ポリシ間のポリシ間類似度、ならびに、１以上のポリシからなるポリシ集合が２つある場合の当該２ポリシ集合間のポリシ集合間類似度を計算する類似度計算装置の制御方法であって、
類似度計算装置は、
当該ポリシ間類似度および当該ポリシ集合間類似度を計算する類似度計算手段と、
当該ポリシ間類似度の計算に用いられる設定値および当該ポリシ集合間類似度の計算に用いられる第２設定値を備え、
前記類似度計算手段は、
当該２ポリシ集合の一方が縦方向に、他方が横方向に対応する、マトリクスを生成し、
当該２ポリシ集合の内の一方のポリシ集合内の１ポリシと他方のポリシ集合内の１ポリシとからなるポリシの組の全てを処理し、各組での処理で得られたポリシ間類似度をマトリクスの当該組に該当する位置に記憶させ、
そのときの各組での処理は、
主体名、客体名およびアクセス方法名の１以上が選択され、当該ポリシ間類似度が初期化された後、当該２ポリシの内の一方のポリシ内の１ルールと他方のポリシ内の１ルールとからなるルールの組の全てを処理するものであり、
そのときの各組での処理では、
主体名が選択された場合は、当該組を構成する２ルール内の主体名間での相違箇所数をカウントし、それと前記設定値との積を計算してポリシ間類似度に加算し、
客体名が選択された場合は、当該２ルール内の客体名間での相違箇所数をカウントし、それと前記設定値との積を計算してポリシ間類似度に加算し、
アクセス方法名が選択された場合は、当該２ルール内のアクセス方法名間での相違箇所数をカウントし、それと前記設定値との積を計算してポリシ間類似度に加算し、
前記選択されたものの全てについて当該２ルール内で同一箇所があり、かつ、当該２ルール内の許可設定値同士が同一でない場合は、同一箇所数同士の積を計算し、それと前記設定値との積を計算してポリシ間類似度に加算し、符号をマイナスにする一方、
前記選択されたもののいずれかについて当該２ルール内で同一箇所がない、または、当該許可設定値同士が同一である場合は、同一箇所数同士の積の計算、それと設定値との積の計算、それをポリシ間類似度に加算し、符号をマイナスにすること、を省略し、
前記類似度計算手段は、
当該２ポリシ集合の両方を処理し、各ポリシ集合での処理で得られた各合計値の中で最小のものを、予め初期化されたポリシ集合間類似度に加算し、マトリクス中に、負のポリシ間類似度がある場合、当該ポリシ集合間類似度の符号をマイナスにする一方、マトリクス中に、負のポリシ間類似度がない場合、符号をマイナスにすることを省略し、
そのときの各ポリシ集合での処理では、
マトリクスにおいて、当該ポリシ集合内の各ポリシにつき、０または最も０に近いプラスのポリシ間類似度を選択し、
異なるポリシにつき選択されたポリシ間類似度同士を組み合わせ、
各組み合わせにつき、
それに含まれるポリシ間類似度の合計値を計算し、他方のポリシ集合内の、当該ポリシ間類似度に無関係なポリシの数を計算し、それと第２設定値との積を計算し、それを合計値に加算する
ことを特徴とする類似度計算装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、類似度計算装置とその制御方法に関するものである。
【背景技術】
【０００２】
アクセスコントロールポリシ（以下、単にポリシという）は、アクセスコントロールを行う上でのルールを規定するものであり、基本的には「何が（サブジェクト）」、「何に対して（リソース）」、「何するのを（アクション）」、「許可／禁止する（エフェクト）」という形で記述されている。このようなポリシの記述方式を定めたものには、ＸＡＣＭＬ（非特許文献１）などがあり、上記以外にも環境条件や、アクセスを許可するに当たって要求する義務などを記述することが可能である。ＸＡＣＭＬでは、１つのポリシの中に１つ以上のルールが存在し、個々のルールの中で、上記のサブジェクト、リソース、アクション、エフェクトを指定する記述形式になっている。
【０００３】
本発明は、上記ポリシの類似性を計測する方式に関わるが、類似性を計測する従来技術としては、レーベンシュタイン距離などの文字列の類似度を測定するものや、類似度統計を用いた文章間の類似度を求める方法（非特許文献２）などがある。
【０００４】
また、他には生物学の分野などで主に使われている、塩基配列やアミノ酸配列の類似度を測定する方法などがある。特にアミノ酸については、置換可能なアミノ酸の指標をマトリクスにすることで、完全に同じ種類で一致していなくても、類似性が認められるものを検出できる方法（非特許文献３）が提案されている。
【非特許文献１】OASIS, eXtensive Access Control Markup Language Version 2.0 Committee draft 04, 6 Dec 2004
【非特許文献２】深谷亮、山村毅、工藤博章、松本哲也、竹内義則、大西昇、単語の頻度統計を用いた文章の類似性の定量化、電子情報通信学会論文誌、J87-D-II、2、611-672、2004
【非特許文献３】S. Henikoff and J.G Henikoff, Amino acid substitution matrices from protein blocks, Proc. Natl. Acad. Sci. USA, Biochemistry, 89, 10915-10919, 1992
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ポリシの類似度の判定では、比較対象となるポリシのサブジェクト、リソース、アクション、エフェクトなどをそれぞれ比較することが必要である。このとき、サブジェクト同士、リソース同士およびアクション同士のそれぞれが同じでも、エフェクト同士が同じでないことがある。一方のポリシは許可するもので、他方は禁止するものであるので、２ポリシ間の差異がエフェクトだけであるにも拘わらず、２ポリシの性格は大きく異なる。よって、類似度は、単にポリシ同士の比較から求めるべきものではなく、かかる性格の違いを表現できるものでなければならない。
【０００６】
非特許文献２の技術は、文字列全体の特徴を捉えて類似度を計算するものであり、上記のような性格の違いを表現できない。
【０００７】
また、一般的に制御対象には、様々な条件ごとに複数のポリシが定義されており、これらのポリシの集合を総合的に判定して、アクセスコントロールが行われる。したがって、１対１のポリシの類似度だけでなく、制御対象ごとにポリシの集合間の類似度を、多対多で判定する方式も必要である。この際には、２つの集合に含まれる、どのポリシとどのポリシを対応させて類似度を算出するかで結果が大きく変わるため、最適なポリシの組み合わせを探す必要がある。最適な組み合わせを探索するような技術にはアラインメントなどがあり、されにこれを非特許文献３のように置換可能なもののマトリクスを作ることで拡張し、不完全な一致も検出できる方式もある。しかし、上記アラインメントや非特許文献３の方式は、順序に意味のある配列の類似性を検出することを目的としており、並んでいる順番に意味のないポリシ集合には利用できない。
【０００８】
本発明は、上記の課題に鑑みてなされたものであり、その目的とするところは、ポリシやポリシ集合の性質が反映されたポリシやポリシ集合の類似度を計算する類似度計算装置とその制御方法を提供することにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、請求項１の本発明は、コンピュータで扱われる資源へのアクセスを行う主体の主体名、当該資源である客体の客体名、当該アクセスの方法を示すアクセス方法名、ならびに、当該主体から当該客体への当該アクセス方法によるアクセスを許可するか否かを示す許可設定値からなるルールを１以上含むポリシが２つある場合の当該２ポリシ間のポリシ間類似度を計算する類似度計算装置であって、当該ポリシ間類似度を計算する類似度計算手段と、当該ポリシ間類似度の計算に用いられる設定値とを備え、前記類似度計算手段は、主体名、客体名およびアクセス方法名の１以上が選択され、当該ポリシ間類似度が初期化された後、当該２ポリシの内の一方のポリシ内の１ルールと他方のポリシ内の１ルールとからなるルールの組の全てを処理するものであり、そのときの各組での処理では、主体名が選択された場合は、当該組を構成する２ルール内の主体名間での相違箇所数をカウントし、それと前記設定値との積を計算してポリシ間類似度に加算し、客体名が選択された場合は、当該２ルール内の客体名間での相違箇所数をカウントし、それと前記設定値との積を計算してポリシ間類似度に加算し、アクセス方法名が選択された場合は、当該２ルール内のアクセス方法名間での相違箇所数をカウントし、それと前記設定値との積を計算してポリシ間類似度に加算し、前記選択されたものの全てについて当該２ルール内で同一箇所があり、かつ、当該２ルール内の許可設定値同士が同一でない場合は、同一箇所数同士の積を計算し、それと前記設定値との積を計算してポリシ間類似度に加算し、符号をマイナスにする一方、前記選択されたもののいずれかについて当該２ルール内で同一箇所がない、または、当該許可設定値同士が同一である場合は、同一箇所数同士の積の計算、それと設定値との積の計算、それをポリシ間類似度に加算し、符号をマイナスにすること、を省略することを特徴とする類似度計算装置をもって解決手段とする。
【００１０】
請求項２の本発明は、コンピュータで扱われる資源へのアクセスを行う主体の主体名、当該資源である客体の客体名、当該アクセスの方法を示すアクセス方法名、ならびに、当該主体から当該客体への当該アクセス方法によるアクセスを許可するか否かを示す許可設定値からなるルールを１以上含むポリシが２つある場合の当該２ポリシ間のポリシ間類似度、ならびに、１以上のポリシからなるポリシ集合が２つある場合の当該２ポリシ集合間のポリシ集合間類似度を計算する類似度計算装置であって、当該ポリシ間類似度および当該ポリシ集合間類似度を計算する類似度計算手段と、当該ポリシ間類似度の計算に用いられる設定値および当該ポリシ集合間類似度の計算に用いられる第２設定値を備え、前記類似度計算手段は、当該２ポリシ集合の一方が縦方向に、他方が横方向に対応する、マトリクスを生成し、当該２ポリシ集合の内の一方のポリシ集合内の１ポリシと他方のポリシ集合内の１ポリシとからなるポリシの組の全てを処理し、各組での処理で得られたポリシ間類似度をマトリクスの当該組に該当する位置に記憶させようになっており、そのときの各組での処理は、主体名、客体名およびアクセス方法名の１以上が選択され、当該ポリシ間類似度が初期化された後、当該２ポリシの内の一方のポリシ内の１ルールと他方のポリシ内の１ルールとからなるルールの組の全てを処理するものであり、そのときの各組での処理では、主体名が選択された場合は、当該組を構成する２ルール内の主体名間での相違箇所数をカウントし、それと前記設定値との積を計算してポリシ間類似度に加算し、客体名が選択された場合は、当該２ルール内の客体名間での相違箇所数をカウントし、それと前記設定値との積を計算してポリシ間類似度に加算し、アクセス方法名が選択された場合は、当該２ルール内のアクセス方法名間での相違箇所数をカウントし、それと前記設定値との積を計算してポリシ間類似度に加算し、前記選択されたものの全てについて当該２ルール内で同一箇所があり、かつ、当該２ルール内の許可設定値同士が同一でない場合は、同一箇所数同士の積を計算し、それと前記設定値との積を計算してポリシ間類似度に加算し、符号をマイナスにする一方、前記選択されたもののいずれかについて当該２ルール内で同一箇所がない、または、当該許可設定値同士が同一である場合は、同一箇所数同士の積の計算、それと設定値との積の計算、それをポリシ間類似度に加算し、符号をマイナスにすること、を省略するようになっており、前記類似度計算手段は、当該２ポリシ集合の両方を処理し、各ポリシ集合での処理で得られた各合計値の中で最小のものを、予め初期化されたポリシ集合間類似度に加算し、マトリクス中に、負のポリシ間類似度がある場合、当該ポリシ集合間類似度の符号をマイナスにする一方、マトリクス中に、負のポリシ間類似度がない場合、符号をマイナスにすることを省略するようになっており、そのときの各ポリシ集合での処理は、マトリクスにおいて、当該ポリシ集合内の各ポリシにつき、０または最も０に近いプラスのポリシ間類似度を選択し、異なるポリシにつき選択されたポリシ間類似度同士を組み合わせ、各組み合わせにつき、それに含まれるポリシ間類似度の合計値を計算し、他方のポリシ集合内の、当該ポリシ間類似度に無関係なポリシの数を計算し、それと第２設定値との積を計算し、それを合計値に加算するものであることを特徴とする類似度計算装置をもって解決手段とする。
【００１１】
請求項３の本発明は、コンピュータで扱われる資源へのアクセスを行う主体の主体名、当該資源である客体の客体名、当該アクセスの方法を示すアクセス方法名、ならびに、当該主体から当該客体への当該アクセス方法によるアクセスを許可するか否かを示す許可設定値からなるルールを１以上含むポリシが２つある場合の当該２ポリシ間のポリシ間類似度を計算する類似度計算装置の制御方法であって、類似度計算装置は、当該ポリシ間類似度を計算する類似度計算手段と、当該ポリシ間類似度の計算に用いられる設定値とを備え、前記類似度計算手段は、主体名、客体名およびアクセス方法名の１以上が選択され、当該ポリシ間類似度が初期化された後、当該２ポリシの内の一方のポリシ内の１ルールと他方のポリシ内の１ルールとからなるルールの組の全てを処理し、そのときの各組での処理では、主体名が選択された場合は、当該組を構成する２ルール内の主体名間での相違箇所数をカウントし、それと前記設定値との積を計算してポリシ間類似度に加算し、客体名が選択された場合は、当該２ルール内の客体名間での相違箇所数をカウントし、それと前記設定値との積を計算してポリシ間類似度に加算し、アクセス方法名が選択された場合は、当該２ルール内のアクセス方法名間での相違箇所数をカウントし、それと前記設定値との積を計算してポリシ間類似度に加算し、前記選択されたものの全てについて当該２ルール内で同一箇所があり、かつ、当該２ルール内の許可設定値同士が同一でない場合は、同一箇所数同士の積を計算し、それと前記設定値との積を計算してポリシ間類似度に加算し、符号をマイナスにする一方、前記選択されたもののいずれかについて当該２ルール内で同一箇所がない、または、当該許可設定値同士が同一である場合は、同一箇所数同士の積の計算、それと設定値との積の計算、それをポリシ間類似度に加算し、符号をマイナスにすること、を省略することを特徴とする類似度計算装置の制御方法をもって解決手段とする。
【００１２】
請求項４の本発明は、コンピュータで扱われる資源へのアクセスを行う主体の主体名、当該資源である客体の客体名、当該アクセスの方法を示すアクセス方法名、ならびに、当該主体から当該客体への当該アクセス方法によるアクセスを許可するか否かを示す許可設定値からなるルールを１以上含むポリシが２つある場合の当該２ポリシ間のポリシ間類似度、ならびに、１以上のポリシからなるポリシ集合が２つある場合の当該２ポリシ集合間のポリシ集合間類似度を計算する類似度計算装置の制御方法であって、類似度計算装置は、当該ポリシ間類似度および当該ポリシ集合間類似度を計算する類似度計算手段と、当該ポリシ間類似度の計算に用いられる設定値および当該ポリシ集合間類似度の計算に用いられる第２設定値を備え、前記類似度計算手段は、当該２ポリシ集合の一方が縦方向に、他方が横方向に対応する、マトリクスを生成し、当該２ポリシ集合の内の一方のポリシ集合内の１ポリシと他方のポリシ集合内の１ポリシとからなるポリシの組の全てを処理し、各組での処理で得られたポリシ間類似度をマトリクスの当該組に該当する位置に記憶させ、そのときの各組での処理は、主体名、客体名およびアクセス方法名の１以上が選択され、当該ポリシ間類似度が初期化された後、当該２ポリシの内の一方のポリシ内の１ルールと他方のポリシ内の１ルールとからなるルールの組の全てを処理するものであり、そのときの各組での処理では、主体名が選択された場合は、当該組を構成する２ルール内の主体名間での相違箇所数をカウントし、それと前記設定値との積を計算してポリシ間類似度に加算し、客体名が選択された場合は、当該２ルール内の客体名間での相違箇所数をカウントし、それと前記設定値との積を計算してポリシ間類似度に加算し、アクセス方法名が選択された場合は、当該２ルール内のアクセス方法名間での相違箇所数をカウントし、それと前記設定値との積を計算してポリシ間類似度に加算し、前記選択されたものの全てについて当該２ルール内で同一箇所があり、かつ、当該２ルール内の許可設定値同士が同一でない場合は、同一箇所数同士の積を計算し、それと前記設定値との積を計算してポリシ間類似度に加算し、符号をマイナスにする一方、前記選択されたもののいずれかについて当該２ルール内で同一箇所がない、または、当該許可設定値同士が同一である場合は、同一箇所数同士の積の計算、それと設定値との積の計算、それをポリシ間類似度に加算し、符号をマイナスにすること、を省略し、前記類似度計算手段は、当該２ポリシ集合の両方を処理し、各ポリシ集合での処理で得られた各合計値の中で最小のものを、予め初期化されたポリシ集合間類似度に加算し、マトリクス中に、負のポリシ間類似度がある場合、当該ポリシ集合間類似度の符号をマイナスにする一方、マトリクス中に、負のポリシ間類似度がない場合、符号をマイナスにすることを省略し、そのときの各ポリシ集合での処理では、マトリクスにおいて、当該ポリシ集合内の各ポリシにつき、０または最も０に近いプラスのポリシ間類似度を選択し、異なるポリシにつき選択されたポリシ間類似度同士を組み合わせ、各組み合わせにつき、それに含まれるポリシ間類似度の合計値を計算し、他方のポリシ集合内の、当該ポリシ間類似度に無関係なポリシの数を計算し、それと第２設定値との積を計算し、それを合計値に加算することを特徴とする類似度計算装置の制御方法をもって解決手段とする。
【発明の効果】
【００１３】
本発明によれば、ポリシの性質が反映されたポリシ間類似度を得ることができ、それにより互いに類似するまたは類似しない２ポリシを発見でき、これにより、ポリシのグループ化などが行える。
【００１４】
また、本発明によれば、ポリシ集合の性質が反映されたポリシ集合間類似度を得ることができ、それにより互いに類似するまたは類似しない２ポリシ集合を発見でき、これにより、ポリシ集合のグループ化などが行える。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態を図面を参照して説明する。
【００１６】
図１は、本実施の形態に係る類似度計算装置の構成を示す図である。
【００１７】
類似度計算装置１は、コンピュータで扱われる資源へのアクセスを行う主体の主体名、当該資源である客体の客体名、当該アクセスの方法を示すアクセス方法名、ならびに、当該主体から当該客体への当該アクセス方法によるアクセスを許可するか否かを示す許可設定値という、４つの属性からなるルールを１以上含むポリシが２つある場合の当該２ポリシ間の類似度（ポリシ間類似度という）、ならびに、１以上のポリシからなるポリシ集合が２つある場合の当該２ポリシ集合間の類似度（ポリシ集合間類似度という）を計算する装置である。以下、ポリシ間類似度とポリシ集合間類似度を総称するときは、単に類似度という。
【００１８】
図２は、ポリシを例示した図である。具体的には、ＸＡＣＭＬに準拠したポリシを示した図である。
【００１９】
ポリシは、具体的には、コンピュータで扱われるファイルであり、このファイルには、主体名、客体名、アクセス方法名および許可設定値が、例えば、英語表記で記述されてなるルールが、１以上含まれる。
【００２０】
また、このポリシは、例えば、ある家庭の父のログイン名で起動されたコンピュータが父の「スケジュールデータ」を読み出すというアクセスを行うに際し、当該コンピュータがアクセスコントロール装置に当該アクセスの可否を問い合わせたとき、アクセスコントロール装置により参照され、それによりアクセス可否判定と回答がなされる。
【００２１】
図２に示すように、主体名の記述箇所には、例えば、主体の英語表記である「Ｓｕｂｊｅｃｔ」を含むタグが用いられる。また、客体の記述箇所には、「資源」の英語表記である「Ｒｅｓｏｕｒｃｅ」を含むタグが用いられる。また、アクセス方法名の記述箇所には、「アクセス」に代わる「行動」の英語表記である「Ａｃｔｉｏｎ」を含むタグが用いられる。また、許可設定値の記述箇所には、「影響」の英語表記である「Ｅｆｆｅｃｔ」が用いられる。
【００２２】
客体とは、前述の通り資源であり、例えば、家庭に導入されたホームネットワーク上のサーバにある、父の「スケジュールデータ」であり、この場合の客体名は、例えば、「スケジュールデータ」のファイル名である。他の例を示せば、客体とは、例えば、この「スケジュールデータ」ならびにホームネットワークに接続されたＤＶＤレコーダが作成した「録画リスト」であり、この場合の客体名は、「スケジュールデータ」のファイル名と、「録画リスト」のファイル名とからなる。つまり、客体名は１以上の客体名からなることがある。他の例を示せば、客体名は、「どれでもよい」という意味の英語表記「Ａｎｙ」を含むことで、任意の１以上の客体名を間接的に示すことがある。
【００２３】
主体とは、例えば、父のログイン名で起動されたコンピュータであり、この場合の主体名は、例えば、父のログイン名である。他の例を示せば、主体とは、例えば、娘のログイン名で起動されたコンピュータであり、この場合の主体名は娘のログイン名である。他の例を示せば、主体とは、例えば、父のログイン名で起動されたコンピュータと、娘のログイン名で起動されたコンピュータの一方であり、この場合の主体名は、ログイン名を用いる場合、父のログイン名と娘のログイン名とからなる。つまり、主体名は１以上の主体名からなることがある。他の例を示せば、主体名は、英語表記「Ａｎｙ」を含むことで、任意の１以上の主体名を間接的に示すことがある。
【００２４】
アクセス方法名とは、例えば、「スケジュールデータ」を読み出すというアクセスを示すものであり、この場合、アクセス方法名は、「読み出す」の英語表記である「ＲＥＡＤ」などとされる。他の例を示せば、アクセス方法名とは、例えば、スケジュールデータを書き込むというアクセスを示すものであり、この場合、アクセス方法名は、「書き換える」の英語表記である「ＷＲＩＴＥ」などとされる。他の例を示せば、アクセス方法名は、例えば、「スケジュールデータ」を読み出すというアクセスと書き込むアクセスとを示すものであり、この場合、アクセス方法名は、読み出すアクセスを示すアクセス方法名と、書き換えるアクセスを示すアクセス方法名とからなる。他の例を示せば、アクセス方法名は、英語表記「Ａｎｙ」を含むことで、任意の１以上のアクセス方法名を間接的に示すことがある。
【００２５】
許可設定値とは、例えば、「スケジュールデータ」を読み出すというアクセスを許可すること示すものであり、この場合の許可設定値は、「許可する」の英語表記である「ＰＥＲＭＩＴ」などとされる。他の例を示せば、許可設定値とは、「スケジュールデータ」を読み出すというアクセスを禁止すること示すものであり、この場合の許可設定値は、英語表記の「ＤＥＮＹ」などとされる。つまり、基本的に許可設定値は２値のいずれか一方をとる。なお、「スケジュールデータ」を読み出すというアクセスを許可し、「スケジュールデータ」を書き替えるというアクセスを禁止する場合の許可設定値は、各アクセス方法についての許可設定値により構成される。
【００２６】
図３は、類似度の説明図である。
【００２７】
例えば、ポリシ間類似度は、０、正値あるいは負値をとる。ポリシ間類似度が０であるのは、主体名、客体名、アクセス方法名（これらを３属性と総称する）および許可設定値が、２ポリシ間で同一であることなどによる。
【００２８】
ポリシ間類似度が正値であるのは、３属性の１以上が２ポリシ間で同一でなく、かつ、許可設定値が２ポリシ間で同一であることなどによる。ポリシ間類似度が負値であるのは、３属性の１以上が２ポリシ間で同一でなく、かつ、許可設定値が２ポリシ間で同一でないことなどによる。ポリシ間類似度の絶対値が小さい（大きい）のは、３属性に関する類似の程度が大きい（小さい）ことによる。なお、このようなポリシ間類似度と同様にポリシ集合間類似度は計算される。
【００２９】
図１に戻り、類似度計算装置１は、ポリシ集合が記憶されるポリシ集合記憶部１１と、ポリシ間類似度およびポリシ集合間類似度を計算する類似度計算部１２と、ポリシ間類似度が記憶されるポリシ間類似度記憶部１３と、ポリシ集合間類似度が記憶されるポリシ集合間類似度記憶部１４と、ポリシ集合間類似度の計算で使用されるマトリクスが生成されるマトリクス記憶部１５を備える。
【００３０】
ポリシ集合記憶部１１は、同一の客体を示す客体名を含むポリシを１以上含むポリシ集合を１以上含むロールが１以上記憶される。
【００３１】
このように、客体名でグループ化したのは、本発明の適用先である家庭などの環境では、主体名数よりも客体名数の方が多く、しかも客体名の方が流動性が高いためである。
【００３２】
なお、ロールは、該ロールに含まれるポリシ集合を適用すべき客体名を含んでいる。
【００３３】
類似度計算装置１は、第１設定値および第２設定値という、２つの設定値を、類似度計算部１２が読み出せるように記憶している。第１設定値は、ポリシ間類似度の計算およびポリシ集合間類似度の計算で使用されるものであり、第２設定値は、ポリシ集合間類似度の計算で使用されるものである。
【００３４】
次に、本実施の形態の動作を説明する。
【００３５】
まず、図４のフローチャートを参照して、ポリシ間類似度を計算するときの動作を説明する。
【００３６】
ポリシ間類似度計算では、３属性の中から１以上の属性つまり２ポリシ内で相違箇所数と同一箇所数をカウントされる属性が予め選択されるので、ここでは、かかる選択がなされたこととする。また、選択されたものを、以下、選択属性という。なお、第１設定値は、選択属性ごとに値を変えてもよい。
【００３７】
ポリシ間類似度計算では、まず、ポリシ間類似度を計算される２ポリシ間のポリシ間類似度の初期値「０」を、例えばポリシ間類似度記憶部１３に記憶させる（Ｓ１：ポリシ間類似度の初期化）。以下、単にポリシ間類似度という。
【００３８】
次に、一方のポリシ内の１ルールと他方のポリシ内の１ルールとからなるルールの組の全てを処理（総当たりで処理）するのだが、まず、そのような組でありかつ未処理である組の有無を判定する（Ｓ３）。
【００３９】
ない場合、処理を終える。ある場合、該当のルールの組を１つ選択する（Ｓ５）。
【００４０】
次に、主体名を示す選択属性がある場合、当該組を構成する２ルール内の主体名間での相違箇所数をカウントし（Ｓ１３）、それと第１設定値との積を計算し、ポリシ間類似度に加算する（Ｓ１５）。
【００４１】
次に、客体名を示す選択属性がある場合、当該２ルール内の客体名間での相違箇所数をカウントし（Ｓ１７）、それと第１設定値との積を計算し、ポリシ間類似度に加算する（Ｓ１９）。
【００４２】
次に、アクセス方法名を示す選択属性がある場合、当該２ルール内のアクセス方法名間での相違箇所数をカウントし（Ｓ２１）、それと第１設定値の積を計算し、ポリシ間類似度に加算する（Ｓ２３）。
【００４３】
相違箇所数のカウントでは、同一箇所がない場合には１とカウントする。また、一方が「Ａｎｙ」などの文字列を含むことで任意となっているときには、相違箇所数を０とカウントする。また、相違箇所は、一方に対して他方が異なっている箇所であり、かつ、他方に対して一方が異なっている箇所であることから、一方がもつものを他方がもたないときに１とカウントしてもよい。つまり、一方がＡのみをもち他方がＢのみをもつ場合は、相違箇所数を２とカウントしてもよい。
【００４４】
次に、主体名を示す選択属性がある場合、当該２ルール内の主体名間での同一箇所数をカウントする（Ｓ２７）。
【００４５】
同一箇所数が０の場合は、ステップＳ３へ戻る。同一箇所数が１以上の場合は、その同一箇所数を記憶し（Ｓ２９）、次に、客体名を示す選択属性がある場合、当該２ルール内の客体名間での同一箇所数をカウントする（Ｓ３３）。
【００４６】
同一箇所数が０の場合は、ステップＳ３へ戻る。同一箇所数が１以上の場合は、その同一箇所数を記憶し（Ｓ３５）、次に、アクセス方法名を示す選択属性がある場合、当該２ルール内のアクセス方法名間での同一箇所数をカウントする（Ｓ３９）。
【００４７】
同一箇所数が０の場合は、ステップＳ３へ戻る。同一箇所数が１以上の場合は、その同一箇所数を記憶し（Ｓ４１）、当該２ルール内の許可設定値同士が同一か否かを判定する（Ｓ４３）。
【００４８】
同一の場合、ステップＳ３へ戻る。同一でない場合、記憶した同一箇所数同士の積を計算し（Ｓ４５）、それと第１設定値との積を計算し（Ｓ４７）、それをポリシ間類似度に加算し（Ｓ４９）、ポリシ間類似度の符号をマイナスにし（Ｓ５１）、ステップＳ３へ戻る。
【００４９】
図５は、第１設定値が「１」でかつ選択属性が３属性を示すときのポリシ間類似度計算の具体例を示す図である。具体的には、父、母、長男、長女で構成される家庭に導入されたホームネットワーク上のサーバに、父の「スケジュールデータ」があり、各人が自分のログイン名をもっている場合のものである。
【００５０】
ここでは、ポリシ内の主体名となる、各人のログイン名を便宜的に父、母、長男、長女という。また、客体となっている父の「スケジュールデータ」のファイル名などを便宜的に「スケジュールデータ」という。
【００５１】
かかる状況では、例えば、主体名「父」、客体名「スケジュールデータ」、アクセス方法名「読み出し，書き替え」および許可設定値「許可」からなるルールからなるポリシと、主体名「母」、客体名「Ａｎｙ」、アクセス方法名「読み出し，書き替え」および許可設定値「許可」からなるルールからなるポリシとが存在し、当該２ポリシ間でのポリシ間類似度計算では、以下のような処理がなされる。
【００５２】
当該２ルールがあるので、まず、ステップＳ３の判定によっては終了させず、当該２ルールからなるルールの組を選択する（Ｓ５）。
【００５３】
当該２ルール内の主体名間では、一方の主体名「父」に対して他方には主体名「父」がなく、つまり異なっている箇所が１であり、他方の主体名「母」に対して一方には主体名「母」がない、つまり異なっている箇所が１つあることから、相違箇所数を２とカウントし（Ｓ１３）、それと第１設定値「１」との積「２」を計算し、ポリシ間類似度に加算する（Ｓ１５）。
【００５４】
また、客体名間では、一方が「Ａｎｙ」の文字列を含むことで任意となっているので、相違箇所数を０とカウントし（Ｓ１７）、それと第１設定値「１」との積「０」を計算し、ポリシ間類似度に加算する（Ｓ１９）。
【００５５】
また、アクセス方法名間では、相違箇所数を０とカウントし（Ｓ２１）、それと第１設定値「１」の積「０」を計算し、ポリシ間類似度に加算する（Ｓ２３）。
【００５６】
よって、この時点で、ポリシ間類似度は２となる。
【００５７】
そして、主体名間での同一箇所数をカウントする（Ｓ２７）と、ここでは、同一箇所数が０なので、ステップＳ３へ戻り、ここでは、ルールの組が他にないので、処理を終了させる。よって、ポリシ間類似度は２となる。
【００５８】
図６は、第１設定値が「１」でかつ選択属性が３属性を示すときのポリシ間類似度計算の別の具体例を示す図である。具体的には、この家族が新たに、録画したファイルをリスト化した「録画リスト」を作成できるＤＶＤレコーダを購入してホームネットワークに接続した場合のものである。
【００５９】
ここでは、客体となっている「録画リスト」のファイル名などを便宜的に「録画リスト」という。
【００６０】
かかる状況では、例えば、主体名「父」、客体名「録画リスト」、アクセス方法名「読み出し，書き替え」および許可設定値「許可」からなるルールからなるポリシと、主体名「父，母」、客体名「録画リスト」、アクセス方法名「書き替え」および許可設定値「許可」からなるルールからなるポリシとが存在し、当該２ポリシ間でのポリシ間類似度計算では、以下のような処理がなされる。
【００６１】
当該２ルールがあるので、まず、ステップＳ３の判定によっては終了させず、当該２ルールからなるルールの組を選択する（Ｓ５）。
【００６２】
当該２ルール内の主体名間では、一方の主体名「父」に対して他方にも主体名「父」があり、つまり異なっている箇所が０であり、他方の主体名「母」に対して一方には主体名「母」がない、つまり異なっている箇所が１つあることから、相違箇所数を１とカウントし（Ｓ１３）、それと第１設定値「１」との積「１」を計算し、ポリシ間類似度に加算する（Ｓ１５）。
【００６３】
また、客体名間では、相違箇所がないので、相違箇所数を０とカウントし（Ｓ１７）、それと第１設定値「１」との積「０」を計算し、ポリシ間類似度に加算する（Ｓ１９）。
【００６４】
また、アクセス方法名間では、主体名間について行われたように、相違箇所数を１とカウントし、それと第１設定値「１」の積「１」を計算し、ポリシ間類似度に加算する（Ｓ２３）。
【００６５】
よって、この時点で、ポリシ間類似度は２となる。
【００６６】
そして、当該２ルール内の主体名間での同一箇所数をカウントする（Ｓ２７）と、ここでは、同一箇所として主体名「父」が１つ有り、よって、その同一箇所数「１」を記憶し（Ｓ２９）、客体名間での同一箇所数をカウントする（Ｓ３３）。
【００６７】
ここでは、同一箇所として客体名「録画リスト」が１つ有り、よって、この同一箇所数「１」を記憶し（Ｓ３５）、アクセス方法名間での同一箇所数をカウントする（Ｓ３９）。
【００６８】
ここでは、同一箇所としてアクセス方法名「書き替え」が１つ有り、よって、この同一箇所数「１」を記憶し（Ｓ４１）、許可設定値同士が同一か否かを判定する（Ｓ４３）。
【００６９】
ここでは、同一なので、ステップＳ３へ戻り、ここでは、ルールの組が他にないので、処理を終了させる。よって、ポリシ間類似度は２となる。
【００７０】
図７は、第１設定値が「１」でかつ選択属性が３属性を示すときのポリシ間類似度計算の更に別の具体例を示す図である。状況については、図６と同様である。
【００７１】
かかる状況では、例えば、主体名「父」、客体名「録画リスト」、アクセス方法名「読み出し，書き替え」および許可設定値「許可」からなるルールからなるポリシと、主体名「父，母」、客体名「録画リスト」、アクセス方法名「書き替え」および許可設定値「禁止」からなるルールからなるポリシと存在し、当該２ポリシ間でのポリシ間類似度計算では、以下のような処理がなされる。
【００７２】
当該２ルールがあるので、まず、ステップＳ３の判定によっては終了させず、当該２ルールからなるルールの組を選択する（Ｓ５）。
【００７３】
当該２ルール内の主体名間では、図６と同様に、相違箇所数を１とカウントし（Ｓ１３）、それと第１設定値「１」との積「１」を計算し、ポリシ間類似度に加算する（Ｓ１５）。
【００７４】
また、客体名間では、図６と同様に、相違箇所数を０とカウントし（Ｓ１７）、それと第１設定値「１」との積「０」を計算し、ポリシ間類似度に加算する（Ｓ１９）。
【００７５】
また、アクセス方法名間では、図６と同様に、相違箇所数を１とカウントし（Ｓ２１）、それと第１設定値「１」の積「１」を計算し、ポリシ間類似度に加算する（Ｓ２３）。
【００７６】
よって、この時点で、ポリシ間類似度は２となる。
【００７７】
そして、主体名間での同一箇所数をカウントする（Ｓ２７）と、ここでは、図６と同様に、同一箇所数が１であり、よって、その同一箇所数「１」を記憶し（Ｓ２９）、客体名間での同一箇所数をカウントする（Ｓ３３）。
【００７８】
ここでは、図６と同様に、同一箇所数が１であり、よって、この同一箇所数「１」を記憶し（Ｓ３５）、アクセス方法名間での同一箇所数をカウントする（Ｓ３９）。
【００７９】
ここでは、図６と同様に、同一箇所数が１であり、よって、この同一箇所数「１」を記憶し（Ｓ４１）、許可設定値同士が同一か否かを判定する（Ｓ４３）。
【００８０】
ここでは、同一ではないので、Ｓ２９で記憶した同一箇所数「１」とＳ３５で記憶した同一箇所数「１」とＳ４１で記憶した同一箇所数「１」の積「１」を計算し（Ｓ４５）、それと第１設定値「１」との積「１」を計算し（Ｓ４７）、それをポリシ間類似度に加算して「３」とし（Ｓ４９）、ポリシ間類似度の符号をマイナスにし（Ｓ５１）、ステップＳ３へ戻る。ここでは、ルールの組が他にないので、処理を終了させる。よって、ポリシ間類似度は−３となる。
【００８１】
次に、図８のフローチャートを参照して、ポリシ集合間類似度を計算するときの動作を説明する。
【００８２】
まず、類似度を計算される２ポリシ集合間のポリシ集合間類似度の初期値「０」を、例えばポリシ集合間類似度記憶部１４に記憶させる（Ｓ１０１：ポリシ集合間類似度の初期化）。以下、単にポリシ集合間類似度という。
【００８３】
次に、当該２ポリシ集合の一方が縦方向に、他方が横方向に対応する、マトリクスをマトリクス記憶部１５に生成する（Ｓ１０３）。
【００８４】
続いて、一方のポリシ集合内の１ポリシと他方のポリシ集合内の１ポリシとからなるポリシの組の全てを処理（総当たりで処理）するのだが、まず、そのような組でありかつ未処理である組の有無を判定する（Ｓ１０５）。
【００８５】
ない場合、Ｓ２０１へ進む。ある場合、該当のポリシの組を１つ選択し（Ｓ１０７）、当該２ポリシ間のポリシ間類似度を同様に計算し（Ｓ１０９）、マトリクスの当該組に該当する位置に記憶させ（Ｓ１１１）、Ｓ１０５に戻る。
【００８６】
さて、該当のポリシの組がない場合（Ｓ１０５：ＮＯ）、当該２ポリシ集合の両方を処理するのだが、まず、未処理であるポリシ集合の有無を判定する（Ｓ２０１）。
【００８７】
ない場合は、ステップＳ３０１へ進む。ある場合は、該当のポリシ集合の１つを選択する（Ｓ２０３）。以下、選択されたポリシ集合を基準ポリシ集合という。
【００８８】
次に、マトリクスにおいて、基準ポリシ集合内の各ポリシにつき、０または最も０に近いプラスのポリシ間類似度を選択する（Ｓ２０５）。このとき、例えば第２設定値の２倍などの値を持つしきい値を設け、しきい値以上の値のポリシ間類似度の選択を禁止してもよい。
【００８９】
次に、異なるポリシにつき選択されたポリシ間類似度同士を組み合わせる（Ｓ２０７）。
【００９０】
Ｓ２０５では、同一のポリシにつき複数のポリシ間類似度が選択される場合があり、この場合、Ｓ２０７では、複数の組み合わせが得られる。
【００９１】
次に、このような組み合わせの全てについて処理するのだが、まず、未処理の組み合わせの有無を判定する（Ｓ２０９）。
【００９２】
ない場合、Ｓ２０１へ戻る。ある場合、該当の組み合わせに含まれるポリシ間類似度の合計値を計算する（Ｓ２１１）。
【００９３】
次に、基準ポリシ集合でないポリシ集合内の、当該ポリシ間類似度に無関係なポリシの数を計算し（Ｓ２１３）、それと第２設定値との積を計算し（Ｓ２１５）、それを合計値に加算し（Ｓ２１７）、Ｓ２０９へ戻る。
【００９４】
さて、該当のポリシ集合がない場合（Ｓ２０１：ない）、各合計値の中で最小のものを、ポリシ集合間類似度の初期値「０」に加算する（Ｓ３０１）。
【００９５】
次に、マトリクス中に、負のポリシ間類似度がある場合、ポリシ集合間類似度の符号をマイナスにし（Ｓ３０３）、処理を終える。
【００９６】
図９は、ポリシ集合間類似度計算の具体例を示す図である。
【００９７】
ここでは、図９に示すように、ポリシ１、ポリシ２およびポリシ３からなるポリシ集合Ａと、ポリシ５、ポリシ６、ポリシ７およびポリシ８からなるポリシ集合Ｂとからなる２ポリシ集合間のポリシ集合間類似度を計算する課程でのステップＳ１０５で、該当のポリシの組がないと判定した場合には、マトリクスには、例えば、ポリシ１−ポリシ５間のポリシ間類似度「０」、ポリシ１−ポリシ６間のポリシ間類似度「３」、ポリシ１−ポリシ７間のポリシ間類似度「３」、ポリシ１−ポリシ８間のポリシ間類似度「２」、ポリシ２−ポリシ５間のポリシ間類似度「２」、ポリシ２−ポリシ６間のポリシ間類似度「４」、ポリシ２−ポリシ７間のポリシ間類似度「１」、ポリシ２−ポリシ８間のポリシ間類似度「２」、ポリシ３−ポリシ５間のポリシ間類似度「２」、ポリシ３−ポリシ６間のポリシ間類似度「４」、ポリシ３−ポリシ７間のポリシ間類似度「０」およびポリシ３−ポリシ８間のポリシ間類似度「−１」が記憶されている。
【００９８】
その後、マトリクスにおいて、基準ポリシ集合であるポリシ集合Ａ内の各ポリシにつき、０または最も０に近いプラスのポリシ間類似度を選択する（Ｓ２０５）ときには、ポリシ１につき、ポリシ１−ポリシ５間のポリシ間類似度「０」を、ポリシ２につき、ポリシ２−ポリシ７間のポリシ間類似度「１」を、ポリシ３につき、ポリシ３−ポリシ７間のポリシ間類似度「０」を、それぞれ選択する。
【００９９】
その後、異なるポリシにつき選択されたポリシ間類似度同士を組み合わせる（Ｓ２０７）ときには、ポリシ１−ポリシ５間のポリシ間類似度、ポリシ２−ポリシ７間のポリシ間類似度およびポリシ３−ポリシ７間のポリシ間類似度を組み合わせ（組み合わせＡ１という）る。
【０１００】
その後、組み合わせＡ１に含まれるポリシ間類似度の合計値「１」を計算する（Ｓ２１１）。
【０１０１】
その後、ポリシ集合Ｂ内で、組み合わせＡ１に含まれるポリシ間類似度（ポリシ１−ポリシ５間のポリシ間類似度、ポリシ２−ポリシ７間のポリシ間類似度およびポリシ３−ポリシ７間のポリシ間類似度）に無関係なポリシは、ポリシ６とポリシ８なので、その数を２と計算し（Ｓ２１３）、それと第２設定値「１」との積「２」を計算し（Ｓ２１５）、それを合計値（組み合わせＡ１に含まれるポリシ間類似度の合計値「１」）に加算して「３」とする（Ｓ２１７）。
【０１０２】
その後、基準ポリシ集合であるポリシ集合Ｂ内の各ポリシにつき、０または最も０に近いプラスのポリシ間類似度を選択する（Ｓ２０５）ときには、ポリシ５につき、ポリシ１−ポリシ５間のポリシ間類似度「０」を、ポリシ６につき、ポリシ１−ポリシ６間のポリシ間類似度「３」を、ポリシ７につき、ポリシ３−ポリシ７間のポリシ間類似度「０」を、ポリシ８につき、ポリシ１−ポリシ８間のポリシ間類似度「２」とポリシ２−ポリシ８間のポリシ間類似度「２」をそれぞれ選択する。
【０１０３】
その後、異なるポリシにつき選択されたポリシ間類似度同士を組み合わせる（Ｓ２０７）ときには、ポリシ１−ポリシ５間のポリシ間類似度「０」、ポリシ１−ポリシ６間のポリシ間類似度「３」、ポリシ３−ポリシ７間のポリシ間類似度「０」およびポリシ１−ポリシ８間のポリシ間類似度「２」を組み合わせ（組み合わせＢ１という）、また、ポリシ１−ポリシ５間のポリシ間類似度「０」、ポリシ１−ポリシ６間のポリシ間類似度「３」、ポリシ３−ポリシ７間のポリシ間類似度「０」およびポリシ２−ポリシ８間のポリシ間類似度「２」を組み合わせ（組み合わせＢ２という）る。
【０１０４】
その後、組み合わせＢ１に含まれるポリシ間類似度の合計値「５」および組み合わせＢ２に含まれるポリシ間類似度の合計値「５」計算する（Ｓ２１１）。
【０１０５】
その後、ポリシ集合Ａ内で、組み合わせＢ１に含まれるポリシ間類似度（ポリシ１−ポリシ５間のポリシ間類似度、ポリシ１−ポリシ６間のポリシ間類似度、ポリシ３−ポリシ７間のポリシ間類似度およびポリシ１−ポリシ８間のポリシ間類似度）に無関係なポリシは、ポリシ２のみなので、その数を１と計算し（Ｓ２１３）、それと第２設定値「１」との積「１」を計算し（Ｓ２１５）、それを合計値（組み合わせＢ１に含まれるポリシ間類似度の合計値「５」）に加算して「６」とする（Ｓ２１７）。
【０１０６】
また、ポリシ集合Ａ内で、組み合わせＢ２に含まれるポリシ間類似度（ポリシ１−ポリシ５間のポリシ間類似度、ポリシ１−ポリシ６間のポリシ間類似度、ポリシ３−ポリシ７間のポリシ間類似度およびポリシ２−ポリシ８間のポリシ間類似度）に無関係なポリシはないので、その数を０と計算し（Ｓ２０３）、それと第２設定値「１」との積「０」を計算し（Ｓ２１５）、それを合計値（組み合わせＢ２に含まれるポリシ間類似度の合計値「５」）に加算して「５」とする（Ｓ２１７）。
【０１０７】
その後、組み合わせＡ１に含まれるポリシ間類似度の合計値「３」、組み合わせＢ１に含まれるポリシ間類似度の合計値「６」および組み合わせＢ２に含まれるポリシ間類似度の合計値「５」の中で最小のものである、組み合わせＡ１に含まれるポリシ間類似度の合計値「３」を、ポリシ集合間類似度の初期値「０」に加算して「３」とする（Ｓ３０１）。
【０１０８】
その後、マトリクス中に、負のポリシ間類似度であるポリシ３−ポリシ８間のポリシ間類似度「−１」があるので、ポリシ集合間類似度の符号をマイナスにし（Ｓ３０３）、よって、ポリシ集合間類似度は「−３」となる。
【０１０９】
図１０は、ポリシ集合間類似度計算の別の具体例を示す図である。
【０１１０】
ここでは、図１０に示すように、ポリシ１、ポリシ２およびポリシ３からなるポリシ集合Ａと、ポリシ５、ポリシ６、ポリシ７およびポリシ８からなるポリシ集合Ｂとからなる２ポリシ集合間のポリシ集合間類似度を計算する課程でのステップＳ１０５で、該当のポリシの組がないと判定した場合には、マトリクスには、例えば、ポリシ１−ポリシ５間のポリシ間類似度「０」、ポリシ１−ポリシ６間のポリシ間類似度「１」、ポリシ１−ポリシ７間のポリシ間類似度「２」、ポリシ１−ポリシ８間のポリシ間類似度「３」、ポリシ２−ポリシ５間のポリシ間類似度「３」、ポリシ２−ポリシ６間のポリシ間類似度「１」、ポリシ２−ポリシ７間のポリシ間類似度「１」、ポリシ２−ポリシ８間のポリシ間類似度「２」、ポリシ３−ポリシ５間のポリシ間類似度「３」、ポリシ３−ポリシ６間のポリシ間類似度「４」、ポリシ３−ポリシ７間のポリシ間類似度「０」およびポリシ３−ポリシ８間のポリシ間類似度「２」が記憶されている。
【０１１１】
その後、マトリクスにおいて、基準ポリシ集合であるポリシ集合Ａ内の各ポリシにつき、０または最も０に近いプラスのポリシ間類似度を選択する（Ｓ２０５）ときには、ポリシ１につき、ポリシ１−ポリシ５間のポリシ間類似度「０」を、ポリシ２につき、ポリシ２−ポリシ６間のポリシ間類似度「１」とポリシ２−ポリシ７間のポリシ間類似度「１」とを、ポリシ３につき、ポリシ３−ポリシ７間のポリシ間類似度「０」を、それぞれ選択する。
【０１１２】
なお、基準ポリシ集合でないポリシ集合（ここでは、ポリシ集合Ｂ）内の同一ポリシに関係する複数のポリシ間類似度の選択を禁止（複数選択禁止）してもよく、この場合は、例えば、ポリシ２−ポリシ７間のポリシ間類似度「１」が選択されない。
【０１１３】
その後、異なるポリシにつき選択されたポリシ間類似度同士を組み合わせる（Ｓ２０７）ときには、ポリシ１−ポリシ５間のポリシ間類似度「０」、ポリシ２−ポリシ６間のポリシ間類似度「１」およびポリシ３−ポリシ７間のポリシ間類似度「０」を組み合わせ（組み合わせＡ１という）、また、ポリシ１−ポリシ５間のポリシ間類似度「０」、ポリシ２−ポリシ７間のポリシ間類似度「１」およびポリシ３−ポリシ７間のポリシ間類似度「０」を組み合わせ（組み合わせＡ２という）る。
【０１１４】
なお、複数選択禁止した場合は、図のように、組み合わせＡ１のみが得られる。
【０１１５】
その後、組み合わせＡ１に含まれるポリシ間類似度の合計値「１」、組み合わせＡ２に含まれるポリシ間類似度の合計値「１」を計算する（Ｓ２１１）。
【０１１６】
なお、複数選択禁止した場合は、例えば、組み合わせＡ１に含まれるポリシ間類似度の合計値「１」のみが得られる。
【０１１７】
その後、ポリシ集合Ｂ内で、組み合わせＡ１に含まれるポリシ間類似度（ポリシ１−ポリシ５間のポリシ間類似度、ポリシ２−ポリシ６間のポリシ間類似度およびポリシ３−ポリシ７間のポリシ間類似度）に無関係なポリシは、ポリシ８のみなので、その数を１と計算し（Ｓ２１３）、それと第２設定値「１」との積「１」を計算し（Ｓ２１５）、それを合計値（組み合わせＡ１に含まれるポリシ間類似度の合計値「１」）に加算して「２」とする（Ｓ２１７）。
【０１１８】
また、ポリシ集合Ｂ内で、組み合わせＡ２に含まれるポリシ間類似度（ポリシ１−ポリシ５間のポリシ間類似度、ポリシ２−ポリシ７間のポリシ間類似度およびポリシ３−ポリシ７間のポリシ間類似度）に無関係なポリシは、ポリシ７とポリシ８なので、その数を２と計算し（Ｓ２１３）、それと第２設定値「１」との積「２」を計算し（Ｓ２１５）、それを合計値（組み合わせＡ２に含まれるポリシ間類似度の合計値「１」）に加算して「３」とする（Ｓ２１７）。
【０１１９】
なお、複数選択禁止した場合は、例えば、組み合わせＡ１に含まれるポリシ間類似度の合計値「１」のみに加算がなされる。
【０１２０】
その後、基準ポリシ集合であるポリシ集合Ｂ内の各ポリシにつき、０または最も０に近いプラスのポリシ間類似度を選択する（Ｓ２０５）ときには、ポリシ５につき、ポリシ１−ポリシ５間のポリシ間類似度「０」を、ポリシ６につき、ポリシ１−ポリシ６間のポリシ間類似度「１」とポリシ２−ポリシ６間のポリシ間類似度「１」とを、ポリシ７につき、ポリシ３−ポリシ７間のポリシ間類似度「０」を、ポリシ８につき、ポリシ２−ポリシ８間のポリシ間類似度「２」とポリシ３−ポリシ８間のポリシ間類似度「２」をそれぞれ選択する。
【０１２１】
なお、複数選択禁止した場合は、例えば、例えば、ポリシ２−ポリシ６間のポリシ間類似度「１」およびポリシ３−ポリシ８間のポリシ間類似度「２」が選択されない。
【０１２２】
その後、異なるポリシにつき選択されたポリシ間類似度同士を組み合わせる（Ｓ２０７）ときには、ポリシ１−ポリシ５間のポリシ間類似度「０」、ポリシ１−ポリシ６間のポリシ間類似度「１」、ポリシ３−ポリシ７間のポリシ間類似度「０」およびポリシ２−ポリシ８間のポリシ間類似度「２」を組み合わせ（組み合わせＢ１という）、また、ポリシ１−ポリシ５間のポリシ間類似度「０」、ポリシ２−ポリシ６間のポリシ間類似度「１」、ポリシ３−ポリシ７間のポリシ間類似度「０」およびポリシ２−ポリシ８間のポリシ間類似度「２」を組み合わせ（組み合わせＢ２という）、また、ポリシ１−ポリシ５間のポリシ間類似度「０」、ポリシ１−ポリシ６間のポリシ間類似度「１」、ポリシ３−ポリシ７間のポリシ間類似度「０」およびポリシ３−ポリシ８間のポリシ間類似度「２」を組み合わせ（組み合わせＢ３という）、また、ポリシ１−ポリシ５間のポリシ間類似度「０」、ポリシ２−ポリシ６間のポリシ間類似度「１」、ポリシ３−ポリシ７間のポリシ間類似度「０」およびポリシ３−ポリシ８間のポリシ間類似度「２」を組み合わせ（組み合わせＢ４という）る。
【０１２３】
なお、複数選択禁止した場合は、例えば、組み合わせＢ１のみが得られる。
【０１２４】
その後、組み合わせＢ１に含まれるポリシ間類似度の合計値「３」、組み合わせＢ２に含まれるポリシ間類似度の合計値「３」、組み合わせＢ３に含まれるポリシ間類似度の合計値「３」および組み合わせＢ４に含まれるポリシ間類似度の合計値「３」を計算する（Ｓ２１１）。
【０１２５】
なお、複数選択禁止した場合は、例えば、組み合わせＢ１に含まれるポリシ間類似度の合計値「３」のみが得られる。
【０１２６】
その後、ポリシ集合Ａ内で、組み合わせＢ１に含まれるポリシ間類似度（ポリシ１−ポリシ５間のポリシ間類似度、ポリシ１−ポリシ６間のポリシ間類似度、ポリシ３−ポリシ７間のポリシ間類似度およびポリシ２−ポリシ８間のポリシ間類似度）に無関係なポリシはないので、その数を０と計算し（Ｓ２１３）、それと第２設定値「１」との積「０」を計算し（Ｓ２１５）、それを合計値（組み合わせＢ１に含まれるポリシ間類似度の合計値「３」）に加算して「３」とする（Ｓ２１７）。
【０１２７】
また、ポリシ集合Ａ内で、組み合わせＢ２に含まれるポリシ間類似度（ポリシ１−ポリシ５間のポリシ間類似度、ポリシ２−ポリシ６間のポリシ間類似度、ポリシ３−ポリシ７間のポリシ間類似度およびポリシ２−ポリシ８間のポリシ間類似度）に無関係なポリシはないので、その数を０と計算し（Ｓ２０３）、それと第２設定値「１」との積「０」を計算し（Ｓ２１５）、それを合計値（組み合わせＢ２に含まれるポリシ間類似度の合計値「３」）に加算して「３」とする（Ｓ２１７）。
【０１２８】
また、ポリシ集合Ａ内で、組み合わせＢ３に含まれるポリシ間類似度（ポリシ１−ポリシ５間のポリシ間類似度、ポリシ１−ポリシ６間のポリシ間類似度、ポリシ３−ポリシ７間のポリシ間類似度およびポリシ２−ポリシ８間のポリシ間類似度）に無関係なポリシはないので、その数を０と計算し（Ｓ２０３）、それと第２設定値「１」との積「０」を計算し（Ｓ２１５）、それを合計値（組み合わせＢ３に含まれるポリシ間類似度の合計値「３」）に加算して「３」とする（Ｓ２１７）。
【０１２９】
また、ポリシ集合Ａ内で、組み合わせＢ４に含まれるポリシ間類似度（ポリシ１−ポリシ５間のポリシ間類似度、ポリシ１−ポリシ６間のポリシ間類似度、ポリシ３−ポリシ７間のポリシ間類似度およびポリシ３−ポリシ８間のポリシ間類似度）に無関係なポリシはないので、その数を０と計算し（Ｓ２１３）、それと第２設定値「１」との積「０」を計算し（Ｓ２１５）、それを合計値（組み合わせＢ４に含まれるポリシ間類似度の合計値「３」）に加算して「３」とする（Ｓ２１７）。
【０１３０】
なお、複数選択禁止した場合は、例えば、組み合わせＢ１に含まれるポリシ間類似度の合計値「３」のみに加算がなされる。
【０１３１】
その後、組み合わせＡ１に含まれるポリシ間類似度の合計値「２」、組み合わせＡ２に含まれるポリシ間類似度の合計値「３」、組み合わせＢ１に含まれるポリシ間類似度の合計値「３」、組み合わせＢ２に含まれるポリシ間類似度の合計値「３」、組み合わせＢ３に含まれるポリシ間類似度の合計値「３」および組み合わせＢ４に含まれるポリシ間類似度の合計値「３」の中で最小のものである、組み合わせＡ１に含まれるポリシ間類似度の合計値「２」を、ポリシ集合間類似度の初期値「０」に加算して「２」とする（Ｓ３０１）。
【０１３２】
なお、複数選択禁止した場合は、例えば、組み合わせＡ１に含まれるポリシ間類似度の合計値「２」および組み合わせＢ１に含まれるポリシ間類似度の合計値「３」の中で最小のものである、組み合わせＡ１に含まれるポリシ間類似度の合計値「２」を、ポリシ集合間類似度の初期値「０」に加算して「２」とする（Ｓ３０１）。
【０１３３】
その後、マトリクス中に、負のポリシ間類似度がないので、ポリシ集合間類似度の符号をマイナスにする（Ｓ３０３）ことは行わず、よって、ポリシ集合間類似度は「２」となる。
【０１３４】
図１１および図１２は、ポリシ集合間類似度計算の更に別の具体例を示す図である。
【０１３５】
ここでは、図１１に示すように、ポリシ１、ポリシ２、ポリシ３およびポリシ４からなるポリシ集合Ａと、ポリシ５、ポリシ６、ポリシ７（２ルールからなる）およびポリシ８からなるポリシ集合Ｂとからなる２ポリシ集合間のポリシ集合間類似度を計算する課程でのステップＳ１０５で、該当のポリシの組がないと判定した場合には、図１２に示すように、マトリクスには、例えば、ポリシ１−ポリシ５間のポリシ間類似度「０」、ポリシ１−ポリシ６間のポリシ間類似度「３」、ポリシ１−ポリシ７間のポリシ間類似度「６」、ポリシ１−ポリシ８間のポリシ間類似度「２」、ポリシ２−ポリシ５間のポリシ間類似度「２」、ポリシ２−ポリシ６間のポリシ間類似度「１」、ポリシ２−ポリシ７間のポリシ間類似度「６」、ポリシ２−ポリシ８間のポリシ間類似度「２」、ポリシ３−ポリシ５間のポリシ間類似度「３」、ポリシ３−ポリシ６間のポリシ間類似度「２」、ポリシ３−ポリシ７間のポリシ間類似度「２」、ポリシ３−ポリシ８間のポリシ間類似度「３」ポリシ４−ポリシ５間のポリシ間類似度「２」、ポリシ４−ポリシ６間のポリシ間類似度「３」、ポリシ４−ポリシ７間のポリシ間類似度「６」およびポリシ４−ポリシ８間のポリシ間類似度「０」が記憶されている。
【０１３６】
その後、マトリクスにおいて、基準ポリシ集合であるポリシ集合Ａ内の各ポリシにつき、０または最も０に近いプラスのポリシ間類似度を選択する（Ｓ２０５）ときには、ポリシ１につき、ポリシ１−ポリシ５間のポリシ間類似度「０」を、ポリシ２につき、ポリシ２−ポリシ６間のポリシ間類似度「１」をポリシ３につき、ポリシ３−ポリシ７間のポリシ間類似度「２」を、ポリシ４につき、ポリシ４−ポリシ８間のポリシ間類似度「０」を、それぞれ選択する。
【０１３７】
その後、異なるポリシにつき選択されたポリシ間類似度同士を組み合わせる（Ｓ２０７）ときには、ポリシ１−ポリシ５間のポリシ間類似度、ポリシ２−ポリシ６間のポリシ間類似度、ポリシ３−ポリシ７間のポリシ間類似度、ポリシ４−ポリシ８間のポリシ間類似度およびを組み合わせ（組み合わせＡ１という）る。
【０１３８】
その後、組み合わせＡ１に含まれるポリシ間類似度の合計値「３」を計算する（Ｓ２１１）。
【０１３９】
その後、ポリシ集合Ｂ内で、組み合わせＡ１に含まれるポリシ間類似度に無関係なポリシはないので、その数を０と計算し（Ｓ２１３）、それと第２設定値「１」との積「０」を計算し（Ｓ２１５）、それを合計値（組み合わせＡ１に含まれるポリシ間類似度の合計値「３」）に加算して「３」とする（Ｓ２１７）。
【０１４０】
その後、基準ポリシ集合であるポリシ集合Ｂ内の各ポリシにつき、０または最も０に近いプラスのポリシ間類似度を選択する（Ｓ２０５）ときには、ポリシ５につき、ポリシ１−ポリシ５間のポリシ間類似度「０」を、ポリシ６につき、ポリシ２−ポリシ６間のポリシ間類似度「１」を、ポリシ７につき、ポリシ３−ポリシ７間のポリシ間類似度「２」を、ポリシ８につき、ポリシ４−ポリシ８間のポリシ間類似度「０」をそれぞれ選択する。
【０１４１】
その後、異なるポリシにつき選択されたポリシ間類似度同士を組み合わせる（Ｓ２０７）ときには、ポリシ１−ポリシ５間のポリシ間類似度「０」、ポリシ２−ポリシ６間のポリシ間類似度「１」、ポリシ３−ポリシ７間のポリシ間類似度「２」およびポリシ４−ポリシ８間のポリシ間類似度「０」を組み合わせ（組み合わせＢ１という）る。
【０１４２】
その後、組み合わせＢ１に含まれるポリシ間類似度の合計値「３」を計算する（Ｓ２１１）。
【０１４３】
その後、ポリシ集合Ａ内で、組み合わせＢ１に含まれるポリシ間類似度に無関係なポリシはないので、その数を０と計算し（Ｓ２１３）、それと第２設定値「１」との積「０」を計算し（Ｓ２１５）、それを合計値（組み合わせＢ１に含まれるポリシ間類似度の合計値「３」）に加算して「３」とする（Ｓ２１７）。
【０１４４】
その後、組み合わせＡ１に含まれるポリシ間類似度の合計値「３」および組み合わせＢ１に含まれるポリシ間類似度の合計値「３」の中で最小のもの、この場合、互いに同一である合計値「３」を、ポリシ集合間類似度の初期値「０」に加算して「３」とする（Ｓ３０１）。
【０１４５】
その後、マトリクス中に、負のポリシ間類似度がないので、ポリシ集合間類似度の符号をマイナスにする（Ｓ３０３）ことは行わず、よって、ポリシ集合間類似度は「３」となる。
【０１４６】
以上説明したように、本実施の形態によれば、ポリシの性質が反映されたポリシ間類似度を得ることができ、それにより互いに類似するまたは類似しない２ポリシを発見でき、これにより、ポリシのグループ化などが行える。
【０１４７】
また、ポリシ集合の性質が反映されたポリシ集合間類似度を得ることができ、それにより互いに類似するまたは類似しない２ポリシ集合を発見でき、これにより、ポリシ集合のグループ化などが行える。
【０１４８】
なお、本実施の形態の装置（本装置）を、コンピュータプログラムで動作する１または複数のコンピュータ（演算装置を用いたもの）で構成（実現）し、このコンピュータが本実施の形態の方法（本方法）を実行するようにしてもよい。つまり、コンピュータが、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどの記録媒体に記録されたコンピュータプログラムを読み取り、あるいは、通信回線（場合によってはインターネットに使用されるもの）を介して送信されたコンピュータプログラムを受信し、こうして取得したコンピュータプログラムを、このコンピュータが主記憶装置に記憶させ演算装置が実行することで、このコンピュータが本装置の機能を具備し、本方法が（場合によっては操作により）実行されるようにしてもよい。また、このコンピュータプログラムが記録された記録媒体を配送および陳列などして流通させてもよい。
【図面の簡単な説明】
【０１４９】
【図１】本実施の形態に係る類似度計算装置の構成を示す図である。
【図２】ポリシを例示した図である。
【図３】類似度の説明図である。
【図４】ポリシ間類似度を計算するときのフローチャートである。
【図５】ポリシ間類似度計算の具体例を示す図である。
【図６】ポリシ間類似度計算の別の具体例を示す図である。
【図７】ポリシ間類似度計算の更に別の具体例を示す図である。
【図８】ポリシ集合間類似度を計算するときのフローチャートである。
【図９】ポリシ集合間類似度計算の具体例を示す図である。
【図１０】ポリシ集合間類似度計算の別の具体例を示す図である。
【図１１】ポリシ集合間類似度計算の更に別の具体例を示す図である。
【図１２】ポリシ集合間類似度計算の更に別の具体例を示す図である。
【符号の説明】
【０１５０】
１…類似度計算装置
１１…ポリシ集合記憶部
１２…類似度計算部
１３…ポリシ間類似度記憶部
１４…ポリシ集合間類似度記憶部
１５…マトリクス記憶部
【図１】
2007072582.tif 000003
【図２】
2007072582.tif 000004
【図３】
2007072582.tif 000005
【図４】
2007072582.tif 000006
【図５】
2007072582.tif 000007
【図６】
2007072582.tif 000008
【図７】
2007072582.tif 000009
【図８】
2007072582.tif 000010
【図９】
2007072582.tif 000011
【図１０】
2007072582.tif 000012
【図１１】
2007072582.tif 000013
【図１２】
2007072582.tif 000014