(57)【要約】【課題】従来の条件判定方式では、判定条件内に複数の同一の詳細判定条件が存在する場合、同一の詳細判定条件の条件判定を一度行ったにも関わらず残りの同一の詳細判定条件についても複数回条件判定を行うため、条件判定性能が劣化するという問題があった。【解決手段】条件判定サーバが外部から入力された判定条件を最適化するステップと、条件判定サーバが最適化した最適判定条件と外部から入力された入力情報が一致するか否かを判定するステップと、を含む条件判定方法。【選択図】図２
2013073600.tif 000002
【特許請求の範囲】
【請求項１】
ＡＮＤ処理とＯＲ処理とで構成されている複数の詳細判定条件で構成される判定条件を含み外部から入力された入力情報に、特定の情報が含まれるか否かを判定する条件判定方法であって、
前記判定条件内に、同一の詳細判定条件があるか否かを判定する第１のステップと、
前記判定条件内に同一の詳細判定条件がある場合に、前記同一の詳細判定条件を判定結果付き詳細判定条件に包含させて、前記第１のステップに戻り、前記判定条件内に同一の詳細判定条件がなくなると、当該判定条件を最適判定条件として出力する第２のステップと、
前記最適判定条件に基づいて条件判定を行う第３のステップと、
を有することを特徴とする条件判定方法。
【請求項２】
前記第１のステップにおいて、同一の詳細判定条件があるか否かを判定するステップと、
同一の詳細判定条件がない場合に、判定条件最適化部が、前記判定条件を最適判定条件として条件判定部に登録するステップと、
同一の詳細判定条件がある場合に、同一の詳細判定条件を集約するステップと、を有し、
前記同一の詳細判定条件を集約した後に、前記第２のステップを実行することを特徴とする請求項１に記載の条件判定方法。
【請求項３】
前記集約するステップは、
前記判定条件のうち、同一の詳細判定条件の数が最大となる詳細判定条件を求めるステップと、
前記詳細判定条件が論理積条件内にあるか否かを判定するステップであって、前記詳細判定条件が論理積条件内にない場合、同一の詳細判定条件の数が次に最大数となる同一の詳細判定条件があるか否かを判定し、前記詳細判定条件が論理積条件内にある場合、前記詳細判定条件が親条件と直接連結されるように論理積条件内で最上位に移動させるステップと、
前記判定条件の各親条件の子条件の内、同一の子条件があるか否かを判定するステップと、各親条件の子条件の内、同一の子条件がない場合には次に最大数となる同一の詳細判定条件があるか否かを判定し、各親条件の子条件の内、同一の子条件がある場合にはその同一の子条件を一つに集約するステップと、
集約された子条件を親条件とする子条件を、集約された子条件に論理和条件で連結するステップと、
集約される子条件を親条件とする子条件があるか否かを判定し、集約される子条件を親条件とする子条件がある場合、次に最大数となる同一の詳細判定条件があるか否かを判定し、集約される子条件を親条件とする子条件がない場合、集約された子条件を親条件とする子条件をすべて削除するステップと、
次に最大数となる同一の詳細判定条件があるか否かを判定し、次に最大数となる同一の詳細判定条件がある場合、その詳細判定条件を求めて、詳細判定条件が論理積条件内にあるか否かを判定するステップに戻り、次に最大数となる同一の詳細判定条件がない場合、同一の詳細判定条件を集約した判定条件を出力するステップと
を有することを特徴とする請求項２に記載の条件判定方法。
【請求項４】
請求項１から３までのいずれか１項に記載の条件判定方法を、コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、条件判定方法及びプログラムに関する。
【背景技術】
【０００２】
従来、任意の情報が特定の判定条件に一致するか否かを判定する方法に関し、木構造を利用した検索方法が知られている（下記特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０００−５０１８６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された技術では、判定条件内に、ＡＮＤとＯＲからなる同一の詳細判定条件（ＡＮＤとＯＲからなる同じ構造の詳細判定条件）が複数存在する場合、同一の詳細判定条件の条件判定を一度行ったにも関わらず残りの同一の詳細判定条件についても、判定条件内に存在する回数だけ条件判定を行う必要があるため、条件判定性能が劣化するという問題があった。
【０００５】
本発明は、上述した課題を考慮したものであって、同一の詳細判定条件の条件判定回数を少なくする条件判定技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明は、上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、入力装置と、表示装置と、前記入力装置から入力された入力情報が特定の判定条件に一致するか否かを判定し、前記表示装置に出力する条件判定サーバと、を備えた条件判定システムにおける条件判定方法であって、前記条件判定サーバは、プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリと、を備え、前記方法は、前記条件判定サーバが、前記判定条件を最適化する手順と、前記条件判定サーバが、前記最適化する手順によって最適化された最適判定条件と、前記入力情報が一致するか否かを判定する手順と、を含むことを特徴とする。
【０００７】
本発明の一実施の形態によれば、ＡＮＤ処理とＯＲ処理とで構成されている複数の詳細判定条件で構成される判定条件を含み外部から入力された入力情報に、特定の情報が含まれるか否かを判定する条件判定方法であって、前記判定条件内に、同一の詳細判定条件があるか否かを判定する第１のステップと、前記判定条件内に同一の詳細判定条件がある場合に、前記同一の詳細判定条件を判定結果付き詳細判定条件に包含させて、前記第１のステップに戻り、前記判定条件内に同一の詳細判定条件がなくなると、当該判定条件を最適判定条件として出力する第２のステップと、前記最適判定条件に基づいて条件判定を行う第３のステップと、を有することを特徴とする条件判定方法が提供される。
【０００８】
上記の方法では、同一の詳細条件毎に、結果ノードＴ１等を作成し、その結果ノードに詳細条件の判定結果を内包させて判定結果付き詳細判定条件とすることで、２回目以降の判定処理においては、その判定結果のみを参照することで条件を判断することができ、処理が簡単になるため、処理の高速化、装置の負担の低減が可能となる。
【０００９】
また、前記第１のステップにおいて、同一の詳細判定条件があるか否かを判定するステップと、同一の詳細判定条件がない場合に、判定条件最適化部が、前記判定条件を最適判定条件として条件判定部に登録するステップと、同一の詳細判定条件がある場合に、同一の詳細判定条件を集約するステップと、を有し、前記同一の詳細判定条件を集約した後に、前記第２のステップを実行するようにすると良い。
【００１０】
以上に示す処理により、判定条件最適化部は、外部から入力された判定条件を最適化した最適判定条件を条件判定部に登録することができる。
【００１１】
また、前記集約するステップは、前記判定条件のうち、同一の詳細判定条件の数が最大となる詳細判定条件を求めるステップと、前記詳細判定条件が論理積条件内にあるか否かを判定するステップであって、前記詳細判定条件が論理積条件内にない場合、同一の詳細判定条件の数が次に最大数となる同一の詳細判定条件があるか否かを判定し、前記詳細判定条件が論理積条件内にある場合、前記詳細判定条件が親条件と直接連結されるように論理積条件内で最上位に移動させるステップと、前記判定条件の各親条件の子条件の内、同一の子条件があるか否かを判定するステップと、各親条件の子条件の内、同一の子条件がない場合には次に最大数となる同一の詳細判定条件があるか否かを判定し、各親条件の子条件の内、同一の子条件がある場合にはその同一の子条件を一つに集約するステップと、集約された子条件を親条件とする子条件を、集約された子条件に論理和条件で連結するステップと、集約される子条件を親条件とする子条件があるか否かを判定し、集約される子条件を親条件とする子条件がある場合、次に最大数となる同一の詳細判定条件があるか否かを判定し、集約される子条件を親条件とする子条件がない場合、集約された子条件を親条件とする子条件をすべて削除するステップと、次に最大数となる同一の詳細判定条件があるか否かを判定し、次に最大数となる同一の詳細判定条件がある場合、その詳細判定条件を求めて、詳細判定条件が論理積条件内にあるか否かを判定するステップに戻り、次に最大数となる同一の詳細判定条件がない場合、同一の詳細判定条件を集約した判定条件を出力するステップと、を有することが好ましい。
【００１２】
以上に示す処理により、判定条件最適化部が外部から入力された判定条件の内、同一の詳細判定条件がある場合に、その同一の詳細判定条件を集約する。
【００１３】
本発明は、上記のいずれかに記載の条件判定方法を、コンピュータに実行させるためのプログラムであっても良く、当該プログラムを記録するコンピュータ読みとり可能なプログラムであっても良い。
【発明の効果】
【００１４】
本発明によれば、条件判定を少なくすることができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態による条件判定システムの構成を示す図である。
【図２】本発明の実施形態による条件最適判定部の機能ブロック図である。
【図３】判定条件及び最適判定条件の構成を示す図である。
【図４】判定条件及び最適判定条件における詳細判定条件と判定結果付き詳細判定条件との関係の一例を示す図である。
【図５】条件最適判定処理を示すフローチャート図である。
【図６】同一の詳細判定条件を判定結果付き詳細判定条件に包含する第１の判定処理の流れを示すフローチャート図である。
【図７】本発明の実施形態の判定条件３０１の最適化処理のうち第２の判定処理の流れを示すフローチャート図である。
【図８】本発明の実施形態による同一の詳細判定条件を集約する処理を示すフローチャート図である。
【図９】条件判定処理の流れを示すフローチャート図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態による条件判定技術ついて図面を参照しながら詳細に説明する。
図１は、本発明の実施形態の条件判定システム１の一構成例を示す機能ブロック図である。図１において、条件判定システム１は、条件判定サーバ１０１、入力装置１０８、表示装置１１０を備える。本発明の実施形態の条件判定システム１は、任意の情報に、特定の情報が含まれるか否か（特定の条件が満たされるか否か）を判定するアルゴリズムの最適化アルゴリズムを有する。
【００１７】
本実施形態による条件判定サーバ１０１は、入力装置１０８から入力された入力情報が特定の判定条件に一致するか否かを判定し、その結果を表示装置１１０に出力する。
【００１８】
この条件判定サーバ１０１は、例えば、ＣＰＵ（Central Processing Unit）１０２、ＨＤＤ（Hard Disk Drive）１０３、メモリ１０４、入力Ｉ／Ｆ１０７、表示Ｉ／Ｆ１０９を備える一般的なコンピュータによって構成することができる。
【００１９】
ＣＰＵ１０２は、メモリ１０４内に格納された本実施の形態の条件判定プログラム１０５、一般的なＯＳプログラム１０６の命令を処理する演算処理装置である。ＨＤＤ１０３は、条件判定プログラム１０５、ＯＳプログラム１０６等を記憶する記憶装置である。メモリ１０４は、条件判定サーバ１０１の起動時にＨＤＤ１０３に記憶された条件判定プログラム１０５、ＯＳプログラム１０６を読み出して記憶する高速のＲＡＭ（Random Access Memory）等の記憶装置である。このメモリ１０４は、条件判定プログラム１０５、ＯＳプログラム１０６の実行に必要なファイル、データ等も記憶することができる。入力Ｉ／Ｆ１０７は、キーボード、マウス等の入力装置１０８からの入力情報を受け付ける入力インターフェースである。表示Ｉ／Ｆ１０９は、ディスプレイ等の表示装置１１０に表示情報を出力する表示インターフェースである。
【００２０】
なお、条件判定プログラム１０５は、後述する条件最適判定部２０１（図２参照）を動作させることによって、入力装置１０８からの入力情報が特定の判定条件に一致するか否かを判定するプログラムである。ＯＳプログラム１０６は、条件判定プログラム１０５を動作させるプログラムである。
【００２１】
また、入力装置１０８、表示装置１１０は外付けであっても良く、条件判定サーバ１０１内に内蔵されていても良い。また、各機能は、コンピュータ内にインストールされているソフトウェアによって実現されるのが一般的であるが、一部の機能がハードウェアによって実現されるようにしても良い。
【００２２】
図２は、本実施形態の条件最適判定部２０１の一構成例を示す機能ブロック図である。図２に示す条件最適判定部２０１は、図１の条件判定プログラム１０５に対応する。この条件最適判定部２０１は、判定条件最適化部２０２、条件判定部２０３を備える。
【００２３】
判定条件最適化部２０２は、後述する判定条件３０１（図３参照）を条件判定の回数が少なくなるように、好ましくは最小となるように適正化、好ましくは最適化した最適判定条件２０４を生成し、最適判定条件２０４を条件判定部２０３に登録する。
【００２４】
条件判定部２０３は、外部から入力された判定条件を含む入力情報と装置が保持する判定条件、例えば、判定条件最適化部２０２により登録された最適判定条件２０４とを比較し、判定結果を出力する。条件判定部２０３よる条件判定処理については、図９を用いて後述する。
【００２５】
最適判定条件２０４は、後述する判定条件３０１（図３参照）を判定条件最適化部２０２により最適化した判定条件である。判定条件最適化部２０２よる判定条件最適化処理については、図６を用いて後述する。
【００２６】
図３は、外部から判定条件最適化部２０２に入力される判定条件３０１（図３（ａ））及び判定条件最適化部２０２によって最適化され、条件判定部２０３に登録される最適判定条件２０４（図３（ｂ））の構成例を示す図である。
【００２７】
図３（ａ）に示す判定条件３０１は、１以上ｎ個の詳細判定条件３０２を包含する。ここで、ｎは、２以上の整数である。詳細判定条件３０２は、ＡＮＤとＯＲとで構成されている判定条件である。このように、本実施の形態が適用できる前提条件は、複数の詳細条件で構成されていることである。
【００２８】
図３（ｂ）に示す最適判定条件２０４は、０以上ｋ個の判定結果付き詳細判定条件３０３及び０以上ｍ個の詳細判定条件３０２を包含する。但し、最適判定条件２０４に包含される判定結果付き詳細判定条件３０３の数ｋと最適判定条件２０４に包含される詳細判定条件３０２の数ｍは、ｋ＋ｍ≧1の関係である。
【００２９】
判定結果付き詳細判定条件３０３は、一つの詳細判定条件３０２を包含する。
判定条件３０１及び最適判定条件２０４が包含する詳細判定条件３０２の数は、判定条件最適化部２０２によりｎ≧ｋ＋ｍ≧1となる。
【００３０】
図４は、判定条件３０１及び最適判定条件２０４における詳細判定条件３０２と判定結果付き詳細判定条件３０３との関係の一例を示す図である。
【００３１】
本発明の第１の実施形態による判定技術（第１判定技術と称する。）について図４を参照しながら説明する。図４（ａ）に示すように、詳細判定条件Ａ４０１は、詳細判定条件３０２の一例である。詳細判定条件Ｂ４０２は、図３（ａ）の詳細判定条件３０２の一例である。詳細判定条件Ｃ４０３は、図３（ａ）の詳細判定条件３０２の一例である。詳細判定条件Ｄ４０４は、図３（ａ）の詳細判定条件３０２の一例である。詳細判定条件Ｅ４０５は、図３（ａ）の詳細判定条件３０２の一例である。このように、本実施の形態が適用して有効になるためには、条件内に同一の詳細条件で構成されている部分が存在することが必要である。もちろん、条件内に同一の詳細条件で構成されている部分が存在しない場合にも適用できる。
【００３２】
図４（ｂ）に示すように、判定結果付き詳細判定条件Ａ４０６は、図３（ｂ）の判定結果付き詳細判定条件３０３の一例である。
【００３３】
ここで、符号Ｔ１で示す詳細判定条件Ａ４０１と、符号Ｔ２で示す詳細判定条件Ａ４０３とは、共通であるため結果ノードとすることができる。論理積条件軸方向に並ぶ結果ノードＴ１で示す詳細判定条件Ａ４０１は同一であるという判定結果を記憶し、この判定結果付き詳細判定条件４０６を、図４（ｂ）の符号Ｔ３で示すように配置する。
【００３４】
このように、第１判定技術では、同一の詳細条件毎に、結果ノードＴ１等を作成し、その結果ノードに詳細条件の判定結果を内包させて判定結果付き詳細判定条件とする。そして、２回目以降の判定処理においては、その判定結果のみを参照することで条件を判断する。
【００３５】
次いで、第２の判定技術について説明する。
第２の判定技術は、第１の判定技術の結果ノードの作成の前に、同一の詳細条件を統合、最適化する。最適化後、統合できない同一の詳細条件に対して、結果ノードを作成する。これにより、第１の判定技術と比べて、統合した詳細条件に関して、判定結果の参照処理を省略することができる。
【００３６】
図４（ａ）、（ｂ）における縦方向の各判定条件の繋がりは、論理積（ＡＮＤ）条件の関係を表し、横の繋がりは論理和（ＯＲ）条件の関係を表している。
図４（ａ）に示す例では、
判定条件３０１
＝（詳細判定条件Ａ４０１and詳細判定条件Ｂ４０２）
or（詳細判定条件Ｃ４０３and（詳細判定条件Ａ４０１or詳細判定条件Ｄ４０４））
or（詳細判定条件Ｅ４０５and詳細判定条件Ｃ４０３）
である。
【００３７】
従って、図４（ｂ）に示す以下の判定条件と同一である。
最適判定条件２０４
＝（判定結果付き詳細判定条件Ａ４０６and詳細判定条件Ｂ４０２）
or（詳細判定条件Ｃ４０３and（判定結果付き詳細判定条件Ａ４０６or詳細判定条件Ｄ４０４or詳細判定条件Ｅ４０５））
【００３８】
また、論理積条件軸方向に並ぶＴ２で示す詳細判定条件Ｃ４０３は同一であることから、図４（ａ）の詳細判定条件Ｅ４０５と詳細判定条件Ｃ４０３との論理積条件軸方向に並ぶ構造は、図４（ｂ）で詳細判定条件Ｃ４０３と詳細判定条件Ｅ４０５とが論理積軸方向に並ぶ構造に置き換えることができる（記号Ｃを詳細判定条件Ｃ４０３に代えることができる）。
【００３９】
従って、図４（ａ）に示す判定条件構造を、図４（ｂ）に示すより簡単な判定条件構造に作り替えることができる。
【００４０】
尚、図４に示す一例では、判定条件３０１は、詳細判定条件Ａ４０１及び詳細判定条件Ｃ４０３及び詳細判定条件Ｅ４０５の親の条件（以下、「親条件」）、判定条件３０１における詳細判定条件Ａ４０１及び詳細判定条件Ｃ４０３及び詳細判定条件Ｅ４０５は子の条件（以下、「子条件」）と呼ぶ。同様に、詳細判定条件Ａ４０１は、詳細判定条件Ｂ４０２の親条件、詳細判定条件Ｂ４０２は詳細判定条件Ａ４０１の子条件である。
【００４１】
次に、図５〜図９を参照して、条件最適判定部２０１における各種処理について説明する。
図５は、本発明の実施形態の条件最適判定処理を示すフローチャート図である。ここでは、外部から入力された判定条件３０１と外部から入力された入力情報とが一致するか否かを判定し、その判定結果を外部に出力する方法について説明する。
【００４２】
まずステップＳ５０１において、判定条件最適化部２０２は、外部から入力された判定条件３０１を最適化した最適判定条件２０４を条件判定部２０３に登録する（ステップＳ５０１）。
【００４３】
次に、ステップＳ５０２において、条件判定部２０３は、判定条件最適化部２０２によって登録された最適判定条件２０４と外部から入力された入力情報とが一致するか否かを判定し、その判定結果を外部に出力する（ステップＳ５０２）。
【００４４】
以上に示す処理により、条件最適判定部２０１は、外部から入力された判定条件３０１と外部から入力された入力情報とが一致するか否かを判定し、その判定結果を外部に出力することができる。
【００４５】
図６は、本実施形態の同一の詳細判定条件３０２を判定結果付き詳細判定条件３０３に包含する第１の判定処理の流れを示すフローチャート図である。ここでは、判定条件３０１内に同一の詳細判定条件３０２を判定結果付き詳細判定条件３０３に包含する方法について説明する。
【００４６】
まず、ステップＳ６０１において、判定条件３０１内に同一の詳細判定条件３０２があるか否かを判定する。判定条件３０１に同一の詳細判定条件３０２がある場合（ステップＳ６０１でＹＥＳ）、ステップＳ６０２に進み、同一の詳細判定条件３０２を判定結果付き詳細判定条件３０３に包含し、再度、ステップ６０１に戻る。一方、判定条件３０１内に同一の詳細判定条件３０２がない場合（ステップＳ６０１でＮＯ）、その判定条件３０１を最適判定条件２０４として出力する（ＥＮＤ）。
【００４７】
以上に示す処理を実行することにより、同一の詳細判定条件３０２を判定結果付き詳細判定条件３０３に包含する。図４（ｂ）の符号Ｔ３で示す構造の作成までが、この処理に対応する。これにより、上記第１の判定技術を実現することができ、同一の詳細条件毎に、結果ノードＴ１等を作成し、その結果ノードに詳細条件の判定結果を内包させて判定結果付き詳細判定条件とすることで、２回目以降の判定処理においては、その判定結果のみを参照することで条件を判断することができ、処理が簡単になるため、処理の高速化、装置の負担の低減が可能となる。
【００４８】
図７は、本発明の実施形態の判定条件３０１の最適化処理のうち第２の判定処理の流れを示すフローチャート図である。ここでは、外部から入力された判定条件３０１を判定条件最適化部２０２が最適化した最適判定条件２０４を条件判定部２０３に登録する方法を例にして説明する。この処理は、図５のステップＳ５０１に相当する。
【００４９】
まず、ステップＳ７０１において、判定条件最適化部２０２は、外部から入力された判定条件３０１内に、同一の詳細判定条件３０２があるか否かを判定する。同一の詳細判定条件３０２がない場合（ステップＳ７０１でＮＯ）、ステップＳ７０５に進み、判定条件最適化部２０２は、判定条件３０１を最適判定条件２０４として条件判定部２０３に登録する（ステップＳ７０５）。同一の詳細判定条件３０２がある場合（ステップＳ７０１でＹＥＳ）、ステップＳ７０２に進み、同一の詳細判定条件３０２を集約する。同一の詳細判定条件３０２を集約する処理については、図８を用いて後述する。
【００５０】
次に、ステップＳ７０３において、ステップＳ７０２で集約不可能な同一の詳細判定条件３０２があるか否かを判定する。集約不可能な同一の詳細判定条件３０２がない場合（ステップＳ７０３でＮＯ）、ステップＳ７０５に進み、判定条件最適化部２０２は、ステップＳ７０２で集約した結果を最適判定条件２０４として条件判定部２０３に登録する。集約不可能な同一の詳細判定条件３０２がある場合（ステップＳ７０３でＹＥＳ）、ステップＳ７０４に進み、集約不可能な同一の詳細判定条件３０２を、判定結果付き詳細判定条件３０３に包含し、最適判定条件２０４を出力する。集約不可能な同一の詳細判定条件３０２を、判定結果付き詳細判定条件３０３に包含する処理については、図６を参照して説明した通りである。次にステップＳ７０５において、最適判定条件２０４を条件判定部２０３に登録する。
【００５１】
以上に示す処理により、判定条件最適化部２０２は、外部から入力された判定条件３０１を最適化した最適判定条件２０４を条件判定部２０３に登録することができる。
【００５２】
尚、集約可能であるか集約不可能であるかは、ＡＮＤとＯＲとからなる条件判定処理においては、条件式をＡＮＤで括れるか（共通項があるか）否かに依存する。例えば、図４（ａ）のＴ１とＴ２とは、同一の詳細判定条件があることを示しているが、両方ともが集約できるとは限らない。
【００５３】
図４（ａ）のＴ２に該当する構造は、以下の式で表され、ＡＮＤにより括れるため、集約可能であると判定することができる。ここで、Ｘ１、Ｘ３等は、図４に示すような、判断条件と詳細判断条件との一例を示す記号であり、判断条件を簡略化したものである。
【００５４】
【数１】
2013073600.tif 000003
【００５５】
一方、図４（ａ）のＴ１に該当する構造は、以下の式で表され、ＡＮＤにより括れないため、集約はできないと判定することができる。
【００５６】
【数２】
2013073600.tif 000004
【００５７】
すなわち、図４（ａ）のＴ２に該当する構造は、図４（ｂ）の４０３―（４０６−４０４−４０５）に示すように、集約することができる。
【００５８】
図８は、本発明の実施形態による同一の詳細判定条件３０２を集約する処理を示すフローチャート図である。ここでは、判定条件最適化部２０２が外部から入力された判定条件３０１の内、同一の詳細判定条件３０２がある場合に、その同一の詳細判定条件３０２を集約する方法について説明する。この処理は、図７のステップＳ７０２に相当する。
【００５９】
まずステップＳ８０１において、判定条件３０１のうち、同一の詳細判定条件３０２の数が最大となる詳細判定条件３０２を求める。図４（ａ）では、判定条件３０１のうち、同一の詳細判定条件３０２の数が最大となる詳細判定条件３０２は、詳細判定条件Ａ４０１と詳細判定条件Ｃ４０３とであり、それぞれ２つで最大である。ここで、まず、図４（ａ）の符号Ｔ２で示される詳細判定条件Ｃについての処理を行う。
【００６０】
次に、ステップＳ８０２において、ステップＳ８０１で求めた詳細判定条件３０２が論理積条件内にあるか否かを判定する。ステップＳ８０１で求めた詳細判定条件３０２が論理積条件内にない場合（ステップＳ８０２でＮＯ、図４で論理積条件方向に繋がっていない場合）、ステップＳ８０９に進み、同一の詳細判定条件の数が次に最大数となる同一の詳細判定条件３０２があるか否かを判定する（Ｓ８０９）。
【００６１】
ステップＳ８０１で求めた詳細判定条件３０２が論理積条件内にある場合（ステップＳ８０２でＹＥＳ、図４で論理積条件方向に繋がっている場合）、ステップＳ８０３に進み、ステップＳ８０１で求めた詳細判定条件３０２が親条件と直接連結されるように論理積条件内で最上位に移動させる（Ｓ８０３）。
【００６２】
次に、ステップＳ８０４において、判定条件３０１の各親条件の子条件の内、同一の子条件があるか否かを判定する。各親条件の子条件の内、同一の子条件がない場合（ステップＳ８０４でＮＯ）、ステップＳ８０９に進み、次に最大数となる同一の詳細判定条件３０２があるか否かを判定する。各親条件の子条件の内、同一の子条件がある場合（ステップＳ８０４でＹＥＳ）、ステップＳ８０５に進み、その同一の子条件（４０３）を一つに集約する（図４（ｂ）の○で囲まれたＣ参照）。
【００６３】
次に、ステップＳ８０６において、ステップＳ８０５で集約された子条件（４０３：図４（ａ）の詳細判定条件４０３のうち、子条件として４０１、４０４をもつもの）を親条件とする子条件（４０６、４０４）を、集約された子条件（４０５）に論理和条件で連結する。
【００６４】
次に、ステップＳ８０７において、集約される子条件（４０３）を親条件とする子条件があるか否かを判定する。集約される子条件（４０３）を親条件とする子条件がある場合（ステップＳ８０７でＹＥＳ、すなわち、図４（ａ）のように、詳細判定条件４０１、４０４がある場合）には、ステップＳ８０９に進み、次に最大数となる同一の詳細判定条件３０２があるか否かを判定する。集約される子条件を親条件とする子条件がない場合（ステップＳ８０７でＮＯ）、ステップＳ８０８に進み、集約された子条件を親条件とする子条件をすべて削除する。
【００６５】
次に、ステップＳ８０９において、次に最大数となる同一の詳細判定条件３０２があるか否かを判定する。次に最大数となる同一の詳細判定条件３０２がある場合（ステップＳ８０９でＹＥＳ）、ステップＳ８１０に進み、その詳細判定条件３０２を求めてステップＳ８０２に戻る。次に最大数となる同一の詳細判定条件３０２がない場合（ステップＳ８０９でＮＯ）、同一の詳細判定条件３０２を集約した判定条件３０１を出力する。ここでは、図４（ａ）のＴ２の処理以外にＴ１の処理があるため、ＹＥＳとなる。Ｔ１の処理も図８に従って実行するが、Ｔ１は連結することができないため（ステップＳ８０２でＮｏ）、ステップＳ８０９に進み、Ｔ２、Ｔ１の処理が終了したため、図８の処理を終了する。
【００６６】
以上に示す処理により、判定条件最適化部２０２が外部から入力された判定条件３０１の内、同一の詳細判定条件３０２がある場合に、その同一の詳細判定条件３０２を集約する。
【００６７】
すなわち、図４（ａ）で、Ｔ１で示される詳細判定条件Ａ４０１であって詳細判定条件Ｃ４０３と結ばれている詳細判定条件Ａ４０１を移動させて、詳細判定条件Ｂ４０２と繋がっている詳細判定条件Ａ４０１とすると、これと詳細判定条件Ｃ４０３と繋がることになり、判定条件が変わってしまうため、このようなものは移動させない。一方、図４（ａ）で、Ｔ２で示される詳細判定条件Ｃ４０３の場合には、この結果ノードＴ２の作成前に、これを図４（ｂ）に示すような詳細判定条件Ｃ４０３と詳細判定条件Ｅ４０５との関係に置き換えても、判定条件は変更されないため、構造を置き換えることができる。このように置き換えることで、図４（ｂ）で言えば、詳細判定条件Ｃ４０３を判定した後、詳細判定条件Ｅ４０５を判定する構造に変更しており、図４（ａ）の右側における、詳細判定条件Ｃ４０３の判定結果の参照処理を省略することができる。
【００６８】
図９は、本発明の実施形態の条件判定処理の流れを示すフローチャート図であり、図５のステップＳ５０２に相当する処理を示す図である。ここでは、条件判定部２０３が、判定条件最適化部２０２によって登録された最適判定条件２０４と、外部から入力された入力情報が一致するか否かを判定する方法について説明する。
【００６９】
まず、ステップＳ９０１において、判定条件３０１内の各親条件に子条件があるか否かを判定する。判定条件３０１内の各親条件に子条件がない場合（ステップＳ９０１でＮＯ）、ステップＳ９０２に進み、判定条件最適化部２０２によって登録された最適判定条件２０４と、外部から入力された入力条件と、が一致するか否かの判定結果を出力する。判定条件３０１内の各親条件に子条件がある場合（ステップＳ９０１でＹＥＳ）、ステップＳ９０３に進み、その子条件を取得する。
【００７０】
次に、ステップＳ９０４において、ステップＳ９０３で取得した子条件が詳細判定条件３０２か判定結果付き詳細判定条件３０３かを判定する（Ｓ９０４）。ステップＳ９０３で取得した子条件が詳細判定条件３０２の場合（ステップＳ９０１で詳細判定条件の場合）、ステップＳ９０５に進み、外部から入力された入力情報と詳細判定条件３０２とを比較し、両者が一致するか否かを判定し、ステップＳ９０１に戻り、次の子条件についての処理を続ける。ステップＳ９０３で取得した子条件が判定結果付き詳細判定条件３０３の場合（ステップＳ９０１で判定結果付き詳細判定条件の場合）、ステップＳ９０６に進み、判定結果付き詳細判定条件３０３に判定結果が保存されているか否かを判定する（Ｓ９０６）。判定結果付き詳細判定条件３０３に判定結果が保存されている場合（ステップＳ９０６でＹＥＳ）、ステップＳ９０７に進み、保存されている判定結果を参照し、ステップＳ９０１に戻り、次の子条件についての処理を続ける。判定結果付き詳細判定条件３０３に判定結果が保存されていない場合（ステップＳ９０６でＮＯ）、ステップＳ９０８に進み、外部から入力された入力情報と詳細判定条件３０２とを比較し、一致するか否かを判定する。
【００７１】
次に、ステップＳ９０９において、ステップＳ９０８で判定した結果を判定結果付き詳細判定条件３０３に保存し、ステップＳ９０１に戻り、次の子条件についての処理を続ける。
【００７２】
以上に示す処理により、条件判定部２０３は、判定条件最適化部２０２によって登録された最適判定条件２０４と、外部から入力された入力条件とが一致するか否かを判定し、その結果を出力する。
【００７３】
（まとめ）
第１の判定技術では、同一の詳細判定条件ごとに結果ノードを作成し、その結果ノードに詳細条件の判定結果を内包する。２回目以降の判定処理は、結果のみを参照することで判断する。これにより、判定処理回数を少なくして、処理の簡単化が可能となる。
【００７４】
第２の判定技術では、結果ノードの作成前に、同一の詳細条件を結合・最適化した後、統合できない同一の詳細条件に対して、結果ノードを作成する。これにより、第１の判定技術に比べて、統合した詳細条件に関して、判定結果の参照処理を省略することができるため、処理の一層の簡単化が可能となる。
【００７５】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一つを示したものであり、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。本発明の要旨を逸脱しない範囲において種々変更可能である。
【産業上の利用可能性】
【００７６】
本発明は、コンピュータ処理における最適条件判定方法として利用できる。
【符号の説明】
【００７７】
101    ： 条件判定サーバ
105    ： 条件判定プログラム
201    ： 条件最適判定部
202    ： 判定条件最適化部
203    ： 条件判定部
204    ： 最適判定条件
301    ： 判定条件
302    ： 詳細判定条件
303    ： 判定結果付き詳細判定条件
501    ： 判定条件最適化ステップ
502    ： 条件判定ステップ
601    ： 集約不可能な同一詳細判定条件検索ステップ
602    ： 同一詳細判定条件包含ステップ
701    ： 集約可能な同一詳細判定条件検索ステップ
702    ： 同一詳細判定条件集約ステップ
703    ： 集約不可能な同一詳細判定条件検索ステップ
704    ： 判定結果付き詳細判定条件包含ステップ
705    ： 最適判定条件登録ステップ
801    ： 最大同一詳細判定条件取得ステップ
802    ： 論理積条件内詳細判定条件検索ステップ
803    ： 詳細判定条件移動ステップ
804    ： 同一子条件検索ステップ
805    ： 同一子条件集約ステップ
806    ： 子条件の論理和結合ステップ
807    ： 集約子条件検索ステップ
808    ： 子条件削除ステップ
809    ： 最大同一詳細判定条件検索ステップ
810    ： 次最大同一詳細判定条件取得ステップ
901    ： 子条件検索ステップ
902    ： 判定結果出力ステップ
903    ： 子条件取得ステップ
904    ： 子条件種別判定ステップ
905    ： 詳細判定条件における入力情報判定ステップ
906    ： 判定結果検索ステップ
907    ： 判定結果参照ステップ
908    ： 判定結果付き詳細判定条件における入力情報判定ステップ
909    ： 判定結果保存ステップ
【図１】
2013073600.tif 000005
【図２】
2013073600.tif 000006
【図３】
2013073600.tif 000007
【図４】
2013073600.tif 000008
【図５】
2013073600.tif 000009
【図６】
2013073600.tif 000010
【図７】
2013073600.tif 000011
【図８】
2013073600.tif 000012
【図９】
2013073600.tif 000013