JPH06314198A - 制約型問題解決システム - Google Patents
制約型問題解決システムInfo
- Publication number
- JPH06314198A JPH06314198A JP5102949A JP10294993A JPH06314198A JP H06314198 A JPH06314198 A JP H06314198A JP 5102949 A JP5102949 A JP 5102949A JP 10294993 A JP10294993 A JP 10294993A JP H06314198 A JPH06314198 A JP H06314198A
- Authority
- JP
- Japan
- Prior art keywords
- constraint
- value
- slot
- rule
- employee
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Document Processing Apparatus (AREA)
Abstract
(57)【要約】
【目的】 本発明の目的は、各制約ルールが参照する全
てのスロットの値をユーザから入手できない場合に対し
ても、処理を正常に終了し、かつ冗長な操作をユーザに
要求しない制約型問題解決システムを提供することであ
る。 【構成】 本発明は、記憶手段12が保持する確定情
報、該外部入力情報に基づいて、外部からの値の決定が
可能なスロットの値のみを外部から獲得することによ
り、記憶手段12が保持するオブジェクトの確定値とな
っているスロットから未確定となっているスロット、及
び外部入力不可能なスロットへ値を伝播させて、制約保
持手段11が保持する制約ルールを充足するスロット値
の割り付けを行う制約充足手段13を含む。
てのスロットの値をユーザから入手できない場合に対し
ても、処理を正常に終了し、かつ冗長な操作をユーザに
要求しない制約型問題解決システムを提供することであ
る。 【構成】 本発明は、記憶手段12が保持する確定情
報、該外部入力情報に基づいて、外部からの値の決定が
可能なスロットの値のみを外部から獲得することによ
り、記憶手段12が保持するオブジェクトの確定値とな
っているスロットから未確定となっているスロット、及
び外部入力不可能なスロットへ値を伝播させて、制約保
持手段11が保持する制約ルールを充足するスロット値
の割り付けを行う制約充足手段13を含む。
Description
【0001】
【産業上の利用分野】本発明は、制約型問題解決システ
ムに係り、特に、情報処理システムにおけるオフィスシ
ステムの作成/保守を容易化するプログラミングパラダ
イムを実現するための制約型問題解決システムに関す
る。
ムに係り、特に、情報処理システムにおけるオフィスシ
ステムの作成/保守を容易化するプログラミングパラダ
イムを実現するための制約型問題解決システムに関す
る。
【0002】
【従来の技術】オフィスシステムを始めとして、各種の
情報処理システムは、背後に存在する現実社会の規約を
反映したアルゴリズムにより実現されている。
情報処理システムは、背後に存在する現実社会の規約を
反映したアルゴリズムにより実現されている。
【0003】例として、扶養申請書を作成する事務処理
を考えていみる。例えば、扶養申請書の作成に関わる規
定の1つとして以下の様な形で文書化されている。
を考えていみる。例えば、扶養申請書の作成に関わる規
定の1つとして以下の様な形で文書化されている。
【0004】〔扶養規定〕 ・収入が110万円以下の家族は、扶養家族である。
【0005】・収入が110万円より多い家族は、扶養
家族ではない。
家族ではない。
【0006】この種の文書化した知識を用いると、家族
の収入から家族の扶養状態を決めることもできるし、逆
に、家族が扶養家族となっていれば、少なくとも家族の
収入が110万円以下であることも推定できる。即ち、
上記のような知識は本来、双方向性の情報を有してい
る。しかし、現在、この記述と同等のものをプログラム
として記述することはしていない。
の収入から家族の扶養状態を決めることもできるし、逆
に、家族が扶養家族となっていれば、少なくとも家族の
収入が110万円以下であることも推定できる。即ち、
上記のような知識は本来、双方向性の情報を有してい
る。しかし、現在、この記述と同等のものをプログラム
として記述することはしていない。
【0007】例えば、手続き的なプログラムでは、上記
規定は以下の様に表現される。ここで、A,Bは記憶領
域である。
規定は以下の様に表現される。ここで、A,Bは記憶領
域である。
【0008】 [手続き1]: 家族の収入を取得 → A if A ≦ 1100000 then “扶養” → B else “非扶養” → B このようなアルゴリズムは、我々が日常接している「総
務の手続き」と一致しており、妥当であるように思われ
る。しかし、ユーザは、常に、社員の家族の収入から申
告してくるとは限らない。初めに、「家族を扶養にした
いのですが?」と言って総務窓口にやってくる社員もい
る。
務の手続き」と一致しており、妥当であるように思われ
る。しかし、ユーザは、常に、社員の家族の収入から申
告してくるとは限らない。初めに、「家族を扶養にした
いのですが?」と言って総務窓口にやってくる社員もい
る。
【0009】このような、現実の人間社会の柔軟な処理
要求には、上記の[手続き1]は、処理の順序が固定で
あるため好ましくない。
要求には、上記の[手続き1]は、処理の順序が固定で
あるため好ましくない。
【0010】従来のプログラミング技法が上記のような
処理要求に対する柔軟な処理を実現することが困難であ
った根本的な問題点は、上記の規定1が持っている双方
向的な情報の一部しか[手続き1]が有していない点に
あると考える。プロダクションシステムや、トリガな
ど、いわゆる、「宣言」的なプログラミングパラダイム
を用いたとしても、上記の一方向性の性質は、そのまま
である。また、上記の[手続き1]は、〔扶養規定〕そ
のものと、その規定に基づいて、ある状況(ここでは、
家族の収入、または、家族の収入が変化した状況)に対
して生じさせるデータ伝播を混合させて記述したものと
理解される。この従来表現法の持つ記述レベルの不明確
さこそ、今までのプグラミングシステムを作成/保守を
困難にしてきた原因である。
処理要求に対する柔軟な処理を実現することが困難であ
った根本的な問題点は、上記の規定1が持っている双方
向的な情報の一部しか[手続き1]が有していない点に
あると考える。プロダクションシステムや、トリガな
ど、いわゆる、「宣言」的なプログラミングパラダイム
を用いたとしても、上記の一方向性の性質は、そのまま
である。また、上記の[手続き1]は、〔扶養規定〕そ
のものと、その規定に基づいて、ある状況(ここでは、
家族の収入、または、家族の収入が変化した状況)に対
して生じさせるデータ伝播を混合させて記述したものと
理解される。この従来表現法の持つ記述レベルの不明確
さこそ、今までのプグラミングシステムを作成/保守を
困難にしてきた原因である。
【0011】上記のような、従来のプログラミングパラ
ダイムの持つ問題点を回避するため、発明者は「制約型
問題解決システム」(特願平4−317063)におい
て、背景に存在する宣言的な知識のみで応用システムを
実現する技術を開示している。
ダイムの持つ問題点を回避するため、発明者は「制約型
問題解決システム」(特願平4−317063)におい
て、背景に存在する宣言的な知識のみで応用システムを
実現する技術を開示している。
【0012】この制約型問題解決システムは、情報を格
納するためのスロットと、スロット値が確定値であるか
否かを示す確定情報を有する複数のオブジェクトを保持
するワーキングメモリ、ワーキングメモリに保持されて
いるオブジェクトの有無及びオブジェクト・スロット値
の間の制約関係を表現した制約ルールを保持し、スロッ
ト値及び確定情報に基づいて制約ルールの充足を行うも
のである。以下のこのシステムについて説明する。
納するためのスロットと、スロット値が確定値であるか
否かを示す確定情報を有する複数のオブジェクトを保持
するワーキングメモリ、ワーキングメモリに保持されて
いるオブジェクトの有無及びオブジェクト・スロット値
の間の制約関係を表現した制約ルールを保持し、スロッ
ト値及び確定情報に基づいて制約ルールの充足を行うも
のである。以下のこのシステムについて説明する。
【0013】図12は従来のワーキングメモリの例を示
す。
す。
【0014】ワーキングメモリ1200は記憶領域「ス
ロット値情報」1210と、記憶領域「オブジェクト有
無情報」1220から構成される。スロット値情報12
10には、社員オブジェクト1211と扶養申請書オブ
ジェクト1212の2つのオブジェクトが格納され、オ
ブジェクト有無情報1220にはスロット値情報に格納
されるオブジェクトの有無を管理する有無オブジェクト
1221が格納されている。各オブジェクトのスロット
には、「確定」属性が付与されている。スロット値情報
の状態と、オブジェクト有無情報の状態を合わせて、オ
ブジェクト状態と呼ぶ。
ロット値情報」1210と、記憶領域「オブジェクト有
無情報」1220から構成される。スロット値情報12
10には、社員オブジェクト1211と扶養申請書オブ
ジェクト1212の2つのオブジェクトが格納され、オ
ブジェクト有無情報1220にはスロット値情報に格納
されるオブジェクトの有無を管理する有無オブジェクト
1221が格納されている。各オブジェクトのスロット
には、「確定」属性が付与されている。スロット値情報
の状態と、オブジェクト有無情報の状態を合わせて、オ
ブジェクト状態と呼ぶ。
【0015】図12の例では、社員データが存在しない
状態を示し、社員一人分の基本情報である社員オブジェ
クト、及び社員の扶養申請書に相当する扶養申請書オブ
ジェクトは何れも生成されていない。しかし、それらの
構造は予め定義されているので、破線で示してある。図
12の社員オブジェクトは、「名前」、「家族名」、
「続柄」、「収入」、「扶養」の5個のスロットを持
ち、「NULL」は値が未取得(アンバインド)である
事を意味している。「名前」は処理の対象となる社員の
名前、「家族名」は社員の家族の名前、「続柄」は家族
の続柄、「収入」は家族の収入、「扶養」は家族の扶養
状況を表すスロットである。また、「確定」属性の値
は、制約ルールが非充足状態にあるとき、各スロット値
の修正を行う必要があるかどうかを表したものである。
状態を示し、社員一人分の基本情報である社員オブジェ
クト、及び社員の扶養申請書に相当する扶養申請書オブ
ジェクトは何れも生成されていない。しかし、それらの
構造は予め定義されているので、破線で示してある。図
12の社員オブジェクトは、「名前」、「家族名」、
「続柄」、「収入」、「扶養」の5個のスロットを持
ち、「NULL」は値が未取得(アンバインド)である
事を意味している。「名前」は処理の対象となる社員の
名前、「家族名」は社員の家族の名前、「続柄」は家族
の続柄、「収入」は家族の収入、「扶養」は家族の扶養
状況を表すスロットである。また、「確定」属性の値
は、制約ルールが非充足状態にあるとき、各スロット値
の修正を行う必要があるかどうかを表したものである。
【0016】図13は制約ルールの例を示すものであ
り、図12に示すワーキングメモリ1200が記憶する
オブジェクト間に存在する意味的な関係を表す制約ルー
ルを表の形式で記述したものである。各表の第1行を除
く各行(例えば、a1,a2,…)は、1つの制約を表
す。「?+アルファベット」(例?X等)は、制約変数
を表し、各制約毎に独立した値を持つ。但し、同一制約
内の同一制約変数同士は、値が等しくなければならな
い。また、各オブジェクトの各スロットの「NULL」
値は、任意の定数及び変数の値に等しいものとして扱わ
れ、定数と一致した「NULL」は、一致した定数の値
をもつ。
り、図12に示すワーキングメモリ1200が記憶する
オブジェクト間に存在する意味的な関係を表す制約ルー
ルを表の形式で記述したものである。各表の第1行を除
く各行(例えば、a1,a2,…)は、1つの制約を表
す。「?+アルファベット」(例?X等)は、制約変数
を表し、各制約毎に独立した値を持つ。但し、同一制約
内の同一制約変数同士は、値が等しくなければならな
い。また、各オブジェクトの各スロットの「NULL」
値は、任意の定数及び変数の値に等しいものとして扱わ
れ、定数と一致した「NULL」は、一致した定数の値
をもつ。
【0017】図12の「社員・家族名」は、「社員」オ
ブジェクトの「家族名」スロットの値を意味する。以
後、スロット値を指定する場合、「オブジェクト名・ス
ロット名」の形で表記する。ここで、例えば、図13の
(B)「扶養制約ルール」は、 〔扶養制約ルール〕 (b1)「社員」オブジェクト、「扶養申請書」オブジ
ェクトが存在し、「社員」オブジェクトの「収入」が?
Xに等しく、「社員」オブジェクトの「扶養」が扶養で
あり、?Xが*(空白を表す)でなく1,100,000 以下で
ある。
ブジェクトの「家族名」スロットの値を意味する。以
後、スロット値を指定する場合、「オブジェクト名・ス
ロット名」の形で表記する。ここで、例えば、図13の
(B)「扶養制約ルール」は、 〔扶養制約ルール〕 (b1)「社員」オブジェクト、「扶養申請書」オブジ
ェクトが存在し、「社員」オブジェクトの「収入」が?
Xに等しく、「社員」オブジェクトの「扶養」が扶養で
あり、?Xが*(空白を表す)でなく1,100,000 以下で
ある。
【0018】(b2)「社員」オブジェクト、「扶養申
請書」オブジェクトが存在し、「社員」オブジェクトの
「収入」が?Xに等しく、「社員」オブジェクトの「扶
養」が非扶養であり、?Xが*(空白を表す)でなく、
1,100,000 より大きい。
請書」オブジェクトが存在し、「社員」オブジェクトの
「収入」が?Xに等しく、「社員」オブジェクトの「扶
養」が非扶養であり、?Xが*(空白を表す)でなく、
1,100,000 より大きい。
【0019】(b3)「社員」オブジェクトが存在し、
「扶養申請書」オブジェクトは存在せず、「社員」オブ
ジェクトの「収入」が*であり、「社員」オブジェクト
の「扶養」が*である。
「扶養申請書」オブジェクトは存在せず、「社員」オブ
ジェクトの「収入」が*であり、「社員」オブジェクト
の「扶養」が*である。
【0020】(b4)「社員」オブジェクト、「扶養申
請書」オブジェクトが存在しない。の4個の制約のう
ち、唯一の制約が充足されているとき、制約ルールの真
偽値が「真」であるとし、この場合のみ、意味的に正常
であることを表している。制約充足状態及び、各制約ル
ール、各制約の真偽値は以下の条件で決定される。
請書」オブジェクトが存在しない。の4個の制約のう
ち、唯一の制約が充足されているとき、制約ルールの真
偽値が「真」であるとし、この場合のみ、意味的に正常
であることを表している。制約充足状態及び、各制約ル
ール、各制約の真偽値は以下の条件で決定される。
【0021】〔制約充足状態〕全ての制約ルールの真偽
値が「真」の時。
値が「真」の時。
【0022】〔制約ルールの真偽値〕 真……制約ルール中の唯一の制約が「真」で、他が
「偽」の時。 偽……制約ルール中の全ての制約が「偽」の時。 未確定……制約ルール中の制約の真偽値が上記以外の
時。
「偽」の時。 偽……制約ルール中の全ての制約が「偽」の時。 未確定……制約ルール中の制約の真偽値が上記以外の
時。
【0023】〔制約の真偽値〕 真……制約が参照するスロットの値が全て「NULL」
ではなく、制約で宣言されている値と一致する時。 偽……制約が参照するスロットの値が、制約で宣言され
ている値と1つでも一致しないとき。 未確定……制約が参照するスロットの値が1つでも「N
ULL」となっていて、制約が参照する「NULL」と
なっていないスロットが全て制約で宣言されている値と
一致する時。
ではなく、制約で宣言されている値と一致する時。 偽……制約が参照するスロットの値が、制約で宣言され
ている値と1つでも一致しないとき。 未確定……制約が参照するスロットの値が1つでも「N
ULL」となっていて、制約が参照する「NULL」と
なっていないスロットが全て制約で宣言されている値と
一致する時。
【0024】上記の真偽値に基づき、「確定」属性は
“確”又は“未”のどちらかの値をとり、以下の条件、
〈確定1〉または、〈確定2〉に該当する場合、値
“確”をとり、それ以外の場合、“未”をとる。
“確”又は“未”のどちらかの値をとり、以下の条件、
〈確定1〉または、〈確定2〉に該当する場合、値
“確”をとり、それ以外の場合、“未”をとる。
【0025】〈確定1〉上記の「制約型問題解決システ
ム」(特願平4−317063)を起動してから、ユー
ザが値を入力したスロットの「確定」属性 〈条件2〉「確定」属性“確”であるスロット値と図1
2に示す制約ルールから一意に値が決定されたスロット
の「確定」属性 図14は制約充足状態にある家族を持たない社員を意味
したオブジェクト状態の例であり、図13の制約a1,
制約b3,制約c2が充足されている。また、全てのス
ロットの「確定」属性は、“未”となっている。
ム」(特願平4−317063)を起動してから、ユー
ザが値を入力したスロットの「確定」属性 〈条件2〉「確定」属性“確”であるスロット値と図1
2に示す制約ルールから一意に値が決定されたスロット
の「確定」属性 図14は制約充足状態にある家族を持たない社員を意味
したオブジェクト状態の例であり、図13の制約a1,
制約b3,制約c2が充足されている。また、全てのス
ロットの「確定」属性は、“未”となっている。
【0026】図15は、従来のデータ変更により非充足
状態となったオブジェクト状態を示す。同図は、社員に
家族ができ、「社員・家族名」の値変更後のオブジェク
ト状態を示す。この時、図13の(A)の「家族データ
制約ルール」は、セット中の全ての制約が「偽」である
ため、「偽」となっている。その結果、オブジェクト状
態は非制約充足状態である。外部から値が入力された
「社員・家族名」の「確定」属性のみが“確”である。
状態となったオブジェクト状態を示す。同図は、社員に
家族ができ、「社員・家族名」の値変更後のオブジェク
ト状態を示す。この時、図13の(A)の「家族データ
制約ルール」は、セット中の全ての制約が「偽」である
ため、「偽」となっている。その結果、オブジェクト状
態は非制約充足状態である。外部から値が入力された
「社員・家族名」の「確定」属性のみが“確”である。
【0027】また、図16は、制約充足処理終了後の制
約充足状態にある従来のオブジェクト状態を示す。同図
は、全てのデータ変更後のオブジェクト状態を示し、扶
養家族をもつ社員を意味しており、図13の制約a2,
制約b1,制約c1が充足されて、オブジェクト状態
は、制約充足状態となっている。図14のオブジェクト
状態から図16のオブジェクト状態まで変化すれば、社
員扶養家族ができた場合の処理が実現される。
約充足状態にある従来のオブジェクト状態を示す。同図
は、全てのデータ変更後のオブジェクト状態を示し、扶
養家族をもつ社員を意味しており、図13の制約a2,
制約b1,制約c1が充足されて、オブジェクト状態
は、制約充足状態となっている。図14のオブジェクト
状態から図16のオブジェクト状態まで変化すれば、社
員扶養家族ができた場合の処理が実現される。
【0028】上記「制約型問題解決システム」(特願平
4−317063)においては、オブジェクト状態が制
約充足状態であるか否かが検証される。また、オブジェ
クト状態が非充足状態である場合、「真」となっていな
い制約ルールを一つ選択し、選択した制約ルールに対し
て「確定」属性が“未”であるスロット値に「NUL
L」を割り付ける機能と、選択された制約ルールの真偽
値が「真」となれば、ワーキングメモリ1200のオブ
ジェクト状態を、「真」となっている制約で宣言された
オブジェクト状態に変更する機能、オブジェクト状態の
変更に伴い、選択された制約セット中の「真」となって
いる制約が参照するスロット、及び外部入力されたスロ
ットの「確定」属性の値を“確”に変更する機能をも
つ。
4−317063)においては、オブジェクト状態が制
約充足状態であるか否かが検証される。また、オブジェ
クト状態が非充足状態である場合、「真」となっていな
い制約ルールを一つ選択し、選択した制約ルールに対し
て「確定」属性が“未”であるスロット値に「NUL
L」を割り付ける機能と、選択された制約ルールの真偽
値が「真」となれば、ワーキングメモリ1200のオブ
ジェクト状態を、「真」となっている制約で宣言された
オブジェクト状態に変更する機能、オブジェクト状態の
変更に伴い、選択された制約セット中の「真」となって
いる制約が参照するスロット、及び外部入力されたスロ
ットの「確定」属性の値を“確”に変更する機能をも
つ。
【0029】さらに、選択された制約ルールの真偽値が
「未確定」の場合、選択されている制約ルールの充足の
ために値が必要なスロットを提示し、外部から値を入手
する機能、選択された制約ルールの真偽値が「偽」の場
合、制約ルールの真偽値を「偽」とする原因となるスロ
ットの値を「NULL」にし、また、「確定」属性を
“未”とし、選択された制約ルールの充足処理を続行す
る機能がある。
「未確定」の場合、選択されている制約ルールの充足の
ために値が必要なスロットを提示し、外部から値を入手
する機能、選択された制約ルールの真偽値が「偽」の場
合、制約ルールの真偽値を「偽」とする原因となるスロ
ットの値を「NULL」にし、また、「確定」属性を
“未”とし、選択された制約ルールの充足処理を続行す
る機能がある。
【0030】図13の(A)の「家族データ制約ルー
ル」の例では、図15に示す「社員・続柄」、「社員・
収入」、「社員・扶養」の値の中から、制約ルールを
「偽」とする原因となっているスロットを選択し、その
値の代わりに制約ルールを充足する値を割り付けなけれ
ばならない。
ル」の例では、図15に示す「社員・続柄」、「社員・
収入」、「社員・扶養」の値の中から、制約ルールを
「偽」とする原因となっているスロットを選択し、その
値の代わりに制約ルールを充足する値を割り付けなけれ
ばならない。
【0031】従来の「制約型問題解決システム」(特願
平4−317063)では、これら値割り付け候補から
修正スロットを1つ選択し、ユーザに値を要求すること
により、選択された制約ルールを充足する。この際、
「確定」属性が“確”となっているスロットを値割り付
け候補から除き、また、オブジェクト状態の変更に伴
い、選択された制約セット中の「真」となっている制約
が参照するスロットの「確定」属性の値を“確”に変更
することにより、制約充足過程におけるユーザによる充
足操作の削減が行われる。
平4−317063)では、これら値割り付け候補から
修正スロットを1つ選択し、ユーザに値を要求すること
により、選択された制約ルールを充足する。この際、
「確定」属性が“確”となっているスロットを値割り付
け候補から除き、また、オブジェクト状態の変更に伴
い、選択された制約セット中の「真」となっている制約
が参照するスロットの「確定」属性の値を“確”に変更
することにより、制約充足過程におけるユーザによる充
足操作の削減が行われる。
【0032】
【発明が解決しようとする課題】しかしながら、「制約
型問題解決システム」(特願平4−317063)で
は、各制約ルールが参照するスロットの値が全てシステ
ムのユーザから入手できることを前提としているため、
制約ルールが参照するスロットの値をユーザが決定でき
ない問題に対しては、対処できない。以下に従来の方法
(特願平4−317063)による制約充足処理の課題
について説明する。
型問題解決システム」(特願平4−317063)で
は、各制約ルールが参照するスロットの値が全てシステ
ムのユーザから入手できることを前提としているため、
制約ルールが参照するスロットの値をユーザが決定でき
ない問題に対しては、対処できない。以下に従来の方法
(特願平4−317063)による制約充足処理の課題
について説明する。
【0033】図15のオブジェクト状態において、非充
足状態の図13の(A)「家族データ制約ルール」が選
択された場合、この制約ルールを充足させるために、
「確定」属性が“確”となっている「社員・家族名」を
除く、「有無・社員」、「社員・続柄」、「社員・収
入」、「社員・扶養」を値割り付け候補とし、値割り付
け候補の値の中から、修正すべきスロットを任意に選択
し、ユーザに値の入力を指示する。しかし、値割り付け
候補の「社員・扶養」が選択された場合、その値は、扶
養制約ルールで規定されているため、扶養制約ルールを
知らないユーザによる値の割り付けはできない。
足状態の図13の(A)「家族データ制約ルール」が選
択された場合、この制約ルールを充足させるために、
「確定」属性が“確”となっている「社員・家族名」を
除く、「有無・社員」、「社員・続柄」、「社員・収
入」、「社員・扶養」を値割り付け候補とし、値割り付
け候補の値の中から、修正すべきスロットを任意に選択
し、ユーザに値の入力を指示する。しかし、値割り付け
候補の「社員・扶養」が選択された場合、その値は、扶
養制約ルールで規定されているため、扶養制約ルールを
知らないユーザによる値の割り付けはできない。
【0034】そのようなユーザが、充足処理を継続する
ためには、“有”または“無”のどちらかを任意に選
び、選択された制約ルールを一時的に充足させる。その
結果、残りの制約ルール充足過程で「社員・扶養」の値
により制約ルールが「偽」となるようなことがあれば、
その都度異なる値の割り付けを行うことになるので、制
約充足過程において、ユーザに冗長な操作が要求され
る。
ためには、“有”または“無”のどちらかを任意に選
び、選択された制約ルールを一時的に充足させる。その
結果、残りの制約ルール充足過程で「社員・扶養」の値
により制約ルールが「偽」となるようなことがあれば、
その都度異なる値の割り付けを行うことになるので、制
約充足過程において、ユーザに冗長な操作が要求され
る。
【0035】また、ユーザが全てのスロットの値を知ら
ない場合、適切な値の割り付けが行われない可能性があ
るので、制約充足状態に遷移できない可能性もある。
ない場合、適切な値の割り付けが行われない可能性があ
るので、制約充足状態に遷移できない可能性もある。
【0036】本発明は、上記の点に鑑みなされたもの
で、上記従来の問題点を解決し、各制約ルールが参照す
る全てのスロットの値をユーザから入手できない場合に
対しても、処理を正常に終了し、かつ冗長な操作をユー
ザに要求しない制約型問題解決システムを提供すること
を目的とする。
で、上記従来の問題点を解決し、各制約ルールが参照す
る全てのスロットの値をユーザから入手できない場合に
対しても、処理を正常に終了し、かつ冗長な操作をユー
ザに要求しない制約型問題解決システムを提供すること
を目的とする。
【0037】
【課題を解決するための手段】図1は本発明の原理構成
図である。
図である。
【0038】本発明の制約型問題解決システム1は、情
報を格納するためのスロットと、スロットの値が確定値
であるか否かを示す確定情報と、スロットが外部から値
の決定が可能であるか否かを示す外部入力情報を有する
オブジェクトを保持する記憶手段12と、記憶手段12
に保持されているオブジェクトの有無及び、オブジェク
ト/スロット値の間の制約関係を表現した制約ルールを
保持する制約保持手段11と、記憶手段12が保持する
確定情報、外部入力情報に基づいて、外部からの値の決
定が可能なスロットの値のみを外部から獲得することに
より、記憶手段12が保持するオブジェクトの確定値と
なっているスロットから未確定となっているスロット、
及び外部入力不可能なスロットへ値を伝播させて、制約
保持手段11が保持する制約ルールを充足するスロット
値の割り付けを行う制約充足手段13を含む。
報を格納するためのスロットと、スロットの値が確定値
であるか否かを示す確定情報と、スロットが外部から値
の決定が可能であるか否かを示す外部入力情報を有する
オブジェクトを保持する記憶手段12と、記憶手段12
に保持されているオブジェクトの有無及び、オブジェク
ト/スロット値の間の制約関係を表現した制約ルールを
保持する制約保持手段11と、記憶手段12が保持する
確定情報、外部入力情報に基づいて、外部からの値の決
定が可能なスロットの値のみを外部から獲得することに
より、記憶手段12が保持するオブジェクトの確定値と
なっているスロットから未確定となっているスロット、
及び外部入力不可能なスロットへ値を伝播させて、制約
保持手段11が保持する制約ルールを充足するスロット
値の割り付けを行う制約充足手段13を含む。
【0039】
【作用】本発明の制約型問題解決システムは、従来の方
法(特願平4−317063)が扱った情報を格納する
ためのスロットと、スロット値が確定値であるか否かを
示す確定情報の他に、スロットがユーザによって決定で
きるか否か、即ち、外部から値の決定が可能か否かを示
す外部入力情報を有する複数のオブジェクトを保持する
ワーキングメモリと、確定情報・外部入力情報に基づい
て、外部からの値の決定が可能なスロットの値のみを外
部から獲得することにより、ワーキングメモリが保持す
るオブジェクトの確定値となっているスロットから未確
定となっているスロット、及び外部入力可能でないスロ
ットへ値を伝播させて、制約ルールを充足する制約ルー
ルを充足するスロット値の割り付けを行うことにより、
ユーザが決定できないスロットの値及び、オブジェクト
の有無が他の制約ルールから自動的に決定されるため、
ユーザの冗長な充足操作の発生を防ぎ、また、ユーザに
よる不適切な値の割り付けによる充足状態への変移不能
という自体の発生も防ぐ。
法(特願平4−317063)が扱った情報を格納する
ためのスロットと、スロット値が確定値であるか否かを
示す確定情報の他に、スロットがユーザによって決定で
きるか否か、即ち、外部から値の決定が可能か否かを示
す外部入力情報を有する複数のオブジェクトを保持する
ワーキングメモリと、確定情報・外部入力情報に基づい
て、外部からの値の決定が可能なスロットの値のみを外
部から獲得することにより、ワーキングメモリが保持す
るオブジェクトの確定値となっているスロットから未確
定となっているスロット、及び外部入力可能でないスロ
ットへ値を伝播させて、制約ルールを充足する制約ルー
ルを充足するスロット値の割り付けを行うことにより、
ユーザが決定できないスロットの値及び、オブジェクト
の有無が他の制約ルールから自動的に決定されるため、
ユーザの冗長な充足操作の発生を防ぎ、また、ユーザに
よる不適切な値の割り付けによる充足状態への変移不能
という自体の発生も防ぐ。
【0040】
【実施例】以下、本発明の実施例を図面を用いて詳細に
説明する。
説明する。
【0041】図2は本発明の一実施例の制約型問題解決
システムの構成を示す。同図に示す制約型問題解決シス
テム200は、制約保持部210、ワーキングメモリ2
20、制約充足部230より構成される。
システムの構成を示す。同図に示す制約型問題解決シス
テム200は、制約保持部210、ワーキングメモリ2
20、制約充足部230より構成される。
【0042】制約保持部210が保持する制約ルール
(家族データ制約ルール(A),扶養制約ルール
(B),扶養申請書制約ルール(C))は、従来と同様
に、図13のような形式で表現され、制約ルール
(A),(B),(C)として区切られて制約保持部2
10に格納されている。また、制約充足状態、及び各制
約ルールの真偽値も従来と同様に、以下のように決定さ
れる。
(家族データ制約ルール(A),扶養制約ルール
(B),扶養申請書制約ルール(C))は、従来と同様
に、図13のような形式で表現され、制約ルール
(A),(B),(C)として区切られて制約保持部2
10に格納されている。また、制約充足状態、及び各制
約ルールの真偽値も従来と同様に、以下のように決定さ
れる。
【0043】〔制約充足状態〕全ての制約ルールの真偽
値が「真」の時。
値が「真」の時。
【0044】〔制約ルールの真偽値〕 真……制約ルール中の唯一の制約が「真」で、他が
「偽」の時。 偽……制約ルール中のすべての制約が「偽」の時。 未確定……制約ルール中の制約の真偽値が上記以外の
時。
「偽」の時。 偽……制約ルール中のすべての制約が「偽」の時。 未確定……制約ルール中の制約の真偽値が上記以外の
時。
【0045】〔制約の真偽値〕 真……制約が参照するスロットの値が全て「NULL」
ではなく、制約で宣言されている値と一致する時。 偽……制約が参照するスロットの値が、制約で宣言され
ている値と1つでも一致しない時。 未確定……制約が参照するスロットの値が1つでも「N
ULL」となっていて、制約が参照する「NULL」と
なっていないスロットが、全て制約で宣言されている値
と一致する時。
ではなく、制約で宣言されている値と一致する時。 偽……制約が参照するスロットの値が、制約で宣言され
ている値と1つでも一致しない時。 未確定……制約が参照するスロットの値が1つでも「N
ULL」となっていて、制約が参照する「NULL」と
なっていないスロットが、全て制約で宣言されている値
と一致する時。
【0046】図3は本発明の一実施例の制約充足状態に
あるオブジェクト状態を示す。同図は、ワーキングメモ
リ220が保持するオブジェクトの例である。ワーキン
グメモリ220は、スロット値情報221、オブジェク
ト有無情報222に格納されるオブジェクトのスロット
に付与されている従来の「確定」属性の他に、「外部入
力」属性を有する点が従来の技術と異なる。
あるオブジェクト状態を示す。同図は、ワーキングメモ
リ220が保持するオブジェクトの例である。ワーキン
グメモリ220は、スロット値情報221、オブジェク
ト有無情報222に格納されるオブジェクトのスロット
に付与されている従来の「確定」属性の他に、「外部入
力」属性を有する点が従来の技術と異なる。
【0047】「外部入力」属性は、制約ルールの充足過
程で、外部から入手が可能な値であるか否か、つまり、
スロットの値をユーザによって決定できるか否かを示す
ものである。「外部入力」属性は、“外”、“内”の2
値をとり、ユーザに決定可能なスロットに対しては、
“外”、決定できないものに対しては、“内”が予め割
り付けられている。また「確定」の属性は従来と同様、
“確”又は“未”のどちらかの値をとり、以下の条件、
〈確定1〉または、〈確定2〉に該当する場合、値
“確”をとり、それ以外の場合“未”をとる。
程で、外部から入手が可能な値であるか否か、つまり、
スロットの値をユーザによって決定できるか否かを示す
ものである。「外部入力」属性は、“外”、“内”の2
値をとり、ユーザに決定可能なスロットに対しては、
“外”、決定できないものに対しては、“内”が予め割
り付けられている。また「確定」の属性は従来と同様、
“確”又は“未”のどちらかの値をとり、以下の条件、
〈確定1〉または、〈確定2〉に該当する場合、値
“確”をとり、それ以外の場合“未”をとる。
【0048】〈確定1〉「制約型問題解決システム」
(特願平4−317063)を起動してから、ユーザが
値を入力したスロットの「確定」属性 〈条件2〉「確定」属性が“確”であるスロット値と図
13に示す制約ルールから一意に値が決定されたスロッ
トの「確定」属性 図3は制約充足状態にある家族を持たない社員を意味し
たオブジェクト状態であり、図13の制約ルールの制約
a1,制約b3,制約c2が充足されている。また、全
てのスロットの「確定」属性は、“未”となっており、
「社員・扶養」、「有無・扶養申請書」、の「外部入
力」属性に“内”が、それ以外のスロットの「外部入
力」属性に対しては“外”が割り付けられている。
(特願平4−317063)を起動してから、ユーザが
値を入力したスロットの「確定」属性 〈条件2〉「確定」属性が“確”であるスロット値と図
13に示す制約ルールから一意に値が決定されたスロッ
トの「確定」属性 図3は制約充足状態にある家族を持たない社員を意味し
たオブジェクト状態であり、図13の制約ルールの制約
a1,制約b3,制約c2が充足されている。また、全
てのスロットの「確定」属性は、“未”となっており、
「社員・扶養」、「有無・扶養申請書」、の「外部入
力」属性に“内”が、それ以外のスロットの「外部入
力」属性に対しては“外”が割り付けられている。
【0049】また、図2の制約充足部230は、制約検
査部231、充足処理中断判定部232、値伝播判定部
233、矛盾値削除部234、質問生成部235、値伝
播部236、外部入出力部237から構成される。
査部231、充足処理中断判定部232、値伝播判定部
233、矛盾値削除部234、質問生成部235、値伝
播部236、外部入出力部237から構成される。
【0050】図4は本発明の一実施例の動作を示すフロ
ーチャートを示す。
ーチャートを示す。
【0051】ステップ0)制約充足状態において、ユー
ザから外部入出力部237を介してデータ入力(変更)
によりワーキングメモリ220のオブジェクト情報が値
伝播部236により変更される。
ザから外部入出力部237を介してデータ入力(変更)
によりワーキングメモリ220のオブジェクト情報が値
伝播部236により変更される。
【0052】ステップ1)制約検査部231は、制約ル
ールの真偽値計算を行い、制約充足状態であるならば、
充足動作を終了する。
ールの真偽値計算を行い、制約充足状態であるならば、
充足動作を終了する。
【0053】ステップ2)制約検査部231は、非充足
状態となっている制約ルールを1つ選択する。
状態となっている制約ルールを1つ選択する。
【0054】ステップ3)選択された制約ルールにより
制約充足状態が一意に決定できるか判定し、決定できな
い場合にはステップ5に移行する。
制約充足状態が一意に決定できるか判定し、決定できな
い場合にはステップ5に移行する。
【0055】ステップ4)「確定」属性が“確”となっ
ているオブジェクト情報とステップ2で選択された制約
ルールから決定された値を、ワーキングメモリ220の
オブジェクト情報に反映させ、ステップ1に移行する。
ているオブジェクト情報とステップ2で選択された制約
ルールから決定された値を、ワーキングメモリ220の
オブジェクト情報に反映させ、ステップ1に移行する。
【0056】ステップ5)充足状態が一意に決定できな
い原因がオブジェクト情報の矛盾によるものか否かを判
定し、原因が矛盾によるものでなければ、ステップ7に
移行する。
い原因がオブジェクト情報の矛盾によるものか否かを判
定し、原因が矛盾によるものでなければ、ステップ7に
移行する。
【0057】ステップ6)矛盾の原因となっているオブ
ジェクト情報の値を「NULL」にし、ステップ3に移
行する。
ジェクト情報の値を「NULL」にし、ステップ3に移
行する。
【0058】ステップ7)外部入力よりステップ2で選
択されたルールの充足が可能であるか否かを判定する。
可能でない場合は、ステップ1に移行する。
択されたルールの充足が可能であるか否かを判定する。
可能でない場合は、ステップ1に移行する。
【0059】ステップ8)充足のために必要なオブジェ
クト情報をユーザより獲得し、ワーキングメモリ212
0へ値を反映させ、ステップ3に移行する。
クト情報をユーザより獲得し、ワーキングメモリ212
0へ値を反映させ、ステップ3に移行する。
【0060】以下、図4のフローチャートに対応させて
各動作を詳細に説明する。
各動作を詳細に説明する。
【0061】図3に示すオブジェクトの状態において、
ユーザは任意のオブジェクト情報の変更が可能である。
ここで、社員に家族ができ、「社員・家族名」の値を
“山田花子”と変更した場合について述べる。
ユーザは任意のオブジェクト情報の変更が可能である。
ここで、社員に家族ができ、「社員・家族名」の値を
“山田花子”と変更した場合について述べる。
【0062】値の変更は外部入出力部237から獲得す
るものとする。
るものとする。
【0063】(ステップ0)値伝播部236は、ワーキ
ングメモリ220内のオブジェクト情報を「社員・家族
名」=“山田花子”、「確定」属性を“確”と変更す
る。
ングメモリ220内のオブジェクト情報を「社員・家族
名」=“山田花子”、「確定」属性を“確”と変更す
る。
【0064】(ステップ1)このとき、オブジェクト状
態を図5に示す。
態を図5に示す。
【0065】図5は本発明の一実施例のデータ変更によ
り非充足状態となったオブジェクト状態を示す。同図で
は、図13の(A)の「家族データ制約ルール」(制約
ルール(A))はセット中の全ての制約が「偽」である
ため、「偽」となり、オブジェクト状態は、非制約充足
状態であることが制約検査部231により検出される。
り非充足状態となったオブジェクト状態を示す。同図で
は、図13の(A)の「家族データ制約ルール」(制約
ルール(A))はセット中の全ての制約が「偽」である
ため、「偽」となり、オブジェクト状態は、非制約充足
状態であることが制約検査部231により検出される。
【0066】(ステップ2)制約検査部231は、非制
約充足状態を検出した際、非充足となっている(制約ル
ールの真偽値が「真」となっていない)制約ルールを以
下の順序で1つ選択する。
約充足状態を検出した際、非充足となっている(制約ル
ールの真偽値が「真」となっていない)制約ルールを以
下の順序で1つ選択する。
【0067】〈選択1〉制約ルールの真偽値が「偽」で
ある制約ルール 〈選択2〉制約ルールの真偽値が「未確定」であり、外
部から値を獲得しなくても、充足状態が一意に決定でき
る制約ルール 〈選択3〉制約ルールの真偽値が「未確定」であり、外
部から値を獲得することにより、充足状態が一意に決定
できる可能性がある制約ルール 〈選択4〉上記条件を満足しない、制約真偽値が「未確
定」である制約ルール。
ある制約ルール 〈選択2〉制約ルールの真偽値が「未確定」であり、外
部から値を獲得しなくても、充足状態が一意に決定でき
る制約ルール 〈選択3〉制約ルールの真偽値が「未確定」であり、外
部から値を獲得することにより、充足状態が一意に決定
できる可能性がある制約ルール 〈選択4〉上記条件を満足しない、制約真偽値が「未確
定」である制約ルール。
【0068】図5のオブジェクト状態において、制約検
査部231は、真偽値が「偽」となっている図13の制
約ルール(A)を選択する。
査部231は、真偽値が「偽」となっている図13の制
約ルール(A)を選択する。
【0069】(ステップ3)値伝播判定部233により
制約ルール(A)がワーキングメモリ220が保持する
オブジェクトの「確定」属性が“確”となっているスロ
ットから、「確定」属性が“未”となっているスロッ
ト、または、外部入力項目以外の(「外部入力」属性が
“内”となっている)スロットへの値の伝播により充足
状態を一意に決定可能であるか否かを判定する。
制約ルール(A)がワーキングメモリ220が保持する
オブジェクトの「確定」属性が“確”となっているスロ
ットから、「確定」属性が“未”となっているスロッ
ト、または、外部入力項目以外の(「外部入力」属性が
“内”となっている)スロットへの値の伝播により充足
状態を一意に決定可能であるか否かを判定する。
【0070】(ステップ5)また、出来ない場合は、オ
ブジェクト情報の矛盾によるものか、値が未取得のため
であるかを判定する。値伝播判定部233は、図5のオ
ブジェクト状態を制約ルール(A)の全ての制約が
「偽」となっているため、矛盾による非充足と判断し、
矛盾値削除部234に対して矛盾値の削除処理を要求す
る。
ブジェクト情報の矛盾によるものか、値が未取得のため
であるかを判定する。値伝播判定部233は、図5のオ
ブジェクト状態を制約ルール(A)の全ての制約が
「偽」となっているため、矛盾による非充足と判断し、
矛盾値削除部234に対して矛盾値の削除処理を要求す
る。
【0071】矛盾値削除部234は、矛盾の原因となる
オブジェクト情報を決定し、矛盾オブジェクト情報に対
して値を「NULL」とすることにより、矛盾値の削除
を行う。矛盾の原因となるスロットは、以下の条件、
〈矛盾1〉または〈矛盾2〉に当てはまるものである。
オブジェクト情報を決定し、矛盾オブジェクト情報に対
して値を「NULL」とすることにより、矛盾値の削除
を行う。矛盾の原因となるスロットは、以下の条件、
〈矛盾1〉または〈矛盾2〉に当てはまるものである。
【0072】〈矛盾1〉制約検査部231に選択された
制約ルール中の制約で、「確定」属性が“確”となって
いるオブジェクト情報の値のみを使って制約の真偽値計
算をした結果、「真」、又は「未確定」となっている制
約中のTESTで参照する「確定」属性が“未”となっ
ているスロット。
制約ルール中の制約で、「確定」属性が“確”となって
いるオブジェクト情報の値のみを使って制約の真偽値計
算をした結果、「真」、又は「未確定」となっている制
約中のTESTで参照する「確定」属性が“未”となっ
ているスロット。
【0073】〈矛盾2〉制約検査部231に選択された
制約ルールの制約で、「確定」属性が“確”となってい
るオブジェクト情報の値のみを使って制約の真偽値計算
をした結果、「真」、又は、「未確定」となっている制
約から異なる値が割り付けられる「確定」属性が“未”
となっているスロット。
制約ルールの制約で、「確定」属性が“確”となってい
るオブジェクト情報の値のみを使って制約の真偽値計算
をした結果、「真」、又は、「未確定」となっている制
約から異なる値が割り付けられる「確定」属性が“未”
となっているスロット。
【0074】矛盾値削除部234は、図5のオブジェク
ト状態と図13の制約ルール(A)に対して、上記の基
準を適用し、矛盾の原因となっているスロットを決定す
る。「確定」属性が“確”である「社員・家族名」の値
“山田花子”を用いて制約真偽値計算を行うと、制約a
1のみ「偽」となる。制約a2,制約a3,制約a4が
参照するオブジェクト情報で、〈矛盾1〉を満たすもの
は、「社員・続柄」、「社員・収入」である。
ト状態と図13の制約ルール(A)に対して、上記の基
準を適用し、矛盾の原因となっているスロットを決定す
る。「確定」属性が“確”である「社員・家族名」の値
“山田花子”を用いて制約真偽値計算を行うと、制約a
1のみ「偽」となる。制約a2,制約a3,制約a4が
参照するオブジェクト情報で、〈矛盾1〉を満たすもの
は、「社員・続柄」、「社員・収入」である。
【0075】(ステップ6)また、〈矛盾2〉を満たす
ものは、「有無・社員」、「社員・扶養」である。よっ
て、矛盾値削除部234は矛盾オブジェクト情報とし
て、上記「社員・続柄」、「社員・収入」、「有無・扶
養」を選択し、各々の値に対して「NULL」を割り付
ける。また、〈矛盾1〉、〈矛盾2〉を満足するものが
ない場合、選択された制約ルールの制約中のTESTで
参照、または、選択制約中の複数で異なるが宣言されて
いる「確定」属性が“確”となっているオブジェクト情
報に対して、「NULL」の割り付け、及び「確定」属
性を“未”とする。
ものは、「有無・社員」、「社員・扶養」である。よっ
て、矛盾値削除部234は矛盾オブジェクト情報とし
て、上記「社員・続柄」、「社員・収入」、「有無・扶
養」を選択し、各々の値に対して「NULL」を割り付
ける。また、〈矛盾1〉、〈矛盾2〉を満足するものが
ない場合、選択された制約ルールの制約中のTESTで
参照、または、選択制約中の複数で異なるが宣言されて
いる「確定」属性が“確”となっているオブジェクト情
報に対して、「NULL」の割り付け、及び「確定」属
性を“未”とする。
【0076】図6は本発明の一実施例の「NULL」値
が割り付けられたオブジェクト状態を示す。同図は、矛
盾値削除部234により「NULL」値が割り付けられ
たオブジェクト状態である。
が割り付けられたオブジェクト状態を示す。同図は、矛
盾値削除部234により「NULL」値が割り付けられ
たオブジェクト状態である。
【0077】(ステップ7)ここで再度、値伝播判定部
233によって制約ルール(A)の充足状態が一意に決
定できるか判定される。今度は、制約a2,制約a3,
制約a4の制約真偽値は各々「未確定」、「未確定」、
「真」となり、制約ルールの真偽値は「未確定」であ
る。ここで、値伝播判定部233は、処理中断判定部2
32に制約ルール(A)の充足処理を中止するのかを問
い合わせる。充足処理中断判定部232は、以下の条件
で充足処理を中断するか否かを決定する。
233によって制約ルール(A)の充足状態が一意に決
定できるか判定される。今度は、制約a2,制約a3,
制約a4の制約真偽値は各々「未確定」、「未確定」、
「真」となり、制約ルールの真偽値は「未確定」であ
る。ここで、値伝播判定部233は、処理中断判定部2
32に制約ルール(A)の充足処理を中止するのかを問
い合わせる。充足処理中断判定部232は、以下の条件
で充足処理を中断するか否かを決定する。
【0078】〈中断1〉制約検査部231に選択された
制約ルール中の制約で、「確定」属性が“確”となって
いるオブジェクト情報の値のみを使って制約の真偽値計
算をした結果、「未確定」となる制約中のTESTで参
照する、「確定」属性が“未”となっているスロット。
制約ルール中の制約で、「確定」属性が“確”となって
いるオブジェクト情報の値のみを使って制約の真偽値計
算をした結果、「未確定」となる制約中のTESTで参
照する、「確定」属性が“未”となっているスロット。
【0079】〈中断2〉制約検査部231により選択さ
れた制約ルール中の制約で、「確定」属性が“確”とな
っているオブジェクト情報の値のみを使って制約の真偽
値計算をした結果、「未確定」となる制約から異なる値
が割り付けられる「確定」属性が“未”となっているス
ロット。
れた制約ルール中の制約で、「確定」属性が“確”とな
っているオブジェクト情報の値のみを使って制約の真偽
値計算をした結果、「未確定」となる制約から異なる値
が割り付けられる「確定」属性が“未”となっているス
ロット。
【0080】充足処理中断判定部232は、〈中断1〉
又は〈中断2〉を満足するスロットの中に、「外部入
力」属性が“外”となっているものが存在しなければ、
充足処理を中断し、制約検査部231により、再度、制
約ルールの選択が行われる。図6のオブジェクト状態に
対して、上記の判定を行うと、上記の条件を満足するも
のは、「社員・扶養」を除き、「外部入力」属性が
“外”であるので、充足処理中断部232による充足処
理の中断は行われない。
又は〈中断2〉を満足するスロットの中に、「外部入
力」属性が“外”となっているものが存在しなければ、
充足処理を中断し、制約検査部231により、再度、制
約ルールの選択が行われる。図6のオブジェクト状態に
対して、上記の判定を行うと、上記の条件を満足するも
のは、「社員・扶養」を除き、「外部入力」属性が
“外”であるので、充足処理中断部232による充足処
理の中断は行われない。
【0081】充足処理中断判定部232より充足処理の
中断がないことが伝えられると、値伝播判定部233は
充足状態を一意に決定するため、質問生成部235に対
して、どのオブジェクト情報を入力するか決定させる。
中断がないことが伝えられると、値伝播判定部233は
充足状態を一意に決定するため、質問生成部235に対
して、どのオブジェクト情報を入力するか決定させる。
【0082】質問生成部235は、以下の条件を満足す
るオブジェクト情報の中から、1つ外部に要求するオブ
ジェクト情報を決定する。
るオブジェクト情報の中から、1つ外部に要求するオブ
ジェクト情報を決定する。
【0083】〈質問1〉選択制約ルール中の制約に真偽
値計算を行った結果、「未確定」となっている制約のT
ESTで参照されるスロット及び、「オブジェクト有
無」のうち、値が「NULL」となっているもの。
値計算を行った結果、「未確定」となっている制約のT
ESTで参照されるスロット及び、「オブジェクト有
無」のうち、値が「NULL」となっているもの。
【0084】〈質問2〉選択制約ルール中の制約に真偽
値計算を行った結果、「未確定」となっている制約から
異なる値が割り付けられるスロット、及び「オブジェク
ト有無」のうち、値が「NULL」となっているもの。
値計算を行った結果、「未確定」となっている制約から
異なる値が割り付けられるスロット、及び「オブジェク
ト有無」のうち、値が「NULL」となっているもの。
【0085】〈質問3〉選択制約ルールの中の制約に真
偽値計算を行った結果、「未確定」となっている制約で
参照されるスロット、及び「オブジェクト有無」のう
ち、値が「NULL」となっているもの。
偽値計算を行った結果、「未確定」となっている制約で
参照されるスロット、及び「オブジェクト有無」のう
ち、値が「NULL」となっているもの。
【0086】上記条件は、優先順位〈質問1〉>〈質問
2〉>〈質問3〉をもつ。〈質問1〉又は〈質問2〉を
満足するスロットの値を獲得することにより、充足され
る制約が決定される。〈質問2〉を満足するものは、制
約から値が決定される場合がある。また、〈質問3〉を
満足するものの値により充足される制約が変わることは
ない。よって上記の優先順位は、充足すべき制約を絞り
込み、選択された制約ルールの充足を、できるだけ少な
いユーザによる充足操作、即ち、ユーザへの質問回数で
実現するためのものである。
2〉>〈質問3〉をもつ。〈質問1〉又は〈質問2〉を
満足するスロットの値を獲得することにより、充足され
る制約が決定される。〈質問2〉を満足するものは、制
約から値が決定される場合がある。また、〈質問3〉を
満足するものの値により充足される制約が変わることは
ない。よって上記の優先順位は、充足すべき制約を絞り
込み、選択された制約ルールの充足を、できるだけ少な
いユーザによる充足操作、即ち、ユーザへの質問回数で
実現するためのものである。
【0087】質問生成部235は図6のオブジェクト状
態に対して、〈質問1〉を満足する「社員・続柄」、
「社員・収入」、〈質問2〉を満足する「社員オブジェ
クト有無」、「社員・扶養」をユーザに対する質問候補
として選択し、その中から、上記の優先順位に基づき
〈質問1〉を満足するものの中から任意に1つの〈質問
1〉項目を決定する。
態に対して、〈質問1〉を満足する「社員・続柄」、
「社員・収入」、〈質問2〉を満足する「社員オブジェ
クト有無」、「社員・扶養」をユーザに対する質問候補
として選択し、その中から、上記の優先順位に基づき
〈質問1〉を満足するものの中から任意に1つの〈質問
1〉項目を決定する。
【0088】(ステップ8)図7は、本発明の一実施例
の外部からオブジェクト情報を獲得した後のオブジェク
ト状態を示す。同図は、質問生成部235が「社員・続
柄」を選択し、外部入力部237により、値“妻”が獲
得され、値伝播部236によりオブジェクト情報が書換
えられた状態である。
の外部からオブジェクト情報を獲得した後のオブジェク
ト状態を示す。同図は、質問生成部235が「社員・続
柄」を選択し、外部入力部237により、値“妻”が獲
得され、値伝播部236によりオブジェクト情報が書換
えられた状態である。
【0089】以後、値伝播判定部233により充足状態
が一意に決定できると判定されるか、充足処理中断判定
部232により、制約ルールの充足処理の中断が必要で
あると判定されるまで、矛盾値削除部234、質問生成
部235により、矛盾値削除処理、及びオブジェクト情
報の獲得処理が行われる。
が一意に決定できると判定されるか、充足処理中断判定
部232により、制約ルールの充足処理の中断が必要で
あると判定されるまで、矛盾値削除部234、質問生成
部235により、矛盾値削除処理、及びオブジェクト情
報の獲得処理が行われる。
【0090】(ステップ4)充足処理中断判定部232
により充足処理が中断された場合について説明する。図
8は、本発明の一実施例の充足処理が中断された時のオ
ブジェクト状態を示す。同図は、オブジェクト情報、
「社員・収入」=“300,000 ”、「有無・社員」=
“有”が獲得された後のオブジェクト情報を示してい
る。ここで、充足処理中断部232が処理中断判定を行
うと、〈中断1〉又は〈中断2〉を満足するものとして
「社員・扶養」があり、「社員・扶養」の「外部入力」
属性は、“内”であるため、「外部入力」属性が“外”
となっているスロットが存在しない。よって、選択され
ていた図13の制約ルール(A)の充足処理は中断さ
れ、制約検査部231により、再度、各制約ルールの真
偽値計算が行われる。
により充足処理が中断された場合について説明する。図
8は、本発明の一実施例の充足処理が中断された時のオ
ブジェクト状態を示す。同図は、オブジェクト情報、
「社員・収入」=“300,000 ”、「有無・社員」=
“有”が獲得された後のオブジェクト情報を示してい
る。ここで、充足処理中断部232が処理中断判定を行
うと、〈中断1〉又は〈中断2〉を満足するものとして
「社員・扶養」があり、「社員・扶養」の「外部入力」
属性は、“内”であるため、「外部入力」属性が“外”
となっているスロットが存在しない。よって、選択され
ていた図13の制約ルール(A)の充足処理は中断さ
れ、制約検査部231により、再度、各制約ルールの真
偽値計算が行われる。
【0091】図8のオブジェクト情報に対して、各制約
ルールの真偽値計算を行うと、制約ルール(A)=“未
確定”、制約ルール(B)=“偽”、制約ルール(C)
=“真”となる。制約検査部231は、前述の制約ルー
ルの選択条件(〈選択1〉〜〈選択4〉)に基づき、
〈選択1〉を満足する制約ルール(B)を選択する。値
伝播判定部233は、オブジェクト情報の矛盾により、
制約充足状態を一意に決定できないことを検出し、矛盾
値削除部234が、「扶養オブジェクト有無」と「社員
・扶養」の値を「NULL」にする。このとき、オブジ
ェクト状態は図9のようになる。
ルールの真偽値計算を行うと、制約ルール(A)=“未
確定”、制約ルール(B)=“偽”、制約ルール(C)
=“真”となる。制約検査部231は、前述の制約ルー
ルの選択条件(〈選択1〉〜〈選択4〉)に基づき、
〈選択1〉を満足する制約ルール(B)を選択する。値
伝播判定部233は、オブジェクト情報の矛盾により、
制約充足状態を一意に決定できないことを検出し、矛盾
値削除部234が、「扶養オブジェクト有無」と「社員
・扶養」の値を「NULL」にする。このとき、オブジ
ェクト状態は図9のようになる。
【0092】図9は、本発明の一実施例の「NULL」
値が割り付けられたオブジェクト情報を示す。ここで、
制約ルール(B)は、「確定」属性が“確”となってい
る「社員・収入」の値“300,000 ”から、値が「NUL
L」となっている「有無・扶養申請書」に“有”、「社
員・扶養」に“扶養”を割り付けることにより、充足状
態が一意に決定できることが、値伝播判定部233によ
り検出される。その結果、値伝播部236により、ワー
キングメモリ220上のオブジェクト情報は、「有無・
扶養申請書」の値を“有”、「社員・扶養」の値を“扶
養”、両者の「確定」属性の値を“確”に変更される。
値が割り付けられたオブジェクト情報を示す。ここで、
制約ルール(B)は、「確定」属性が“確”となってい
る「社員・収入」の値“300,000 ”から、値が「NUL
L」となっている「有無・扶養申請書」に“有”、「社
員・扶養」に“扶養”を割り付けることにより、充足状
態が一意に決定できることが、値伝播判定部233によ
り検出される。その結果、値伝播部236により、ワー
キングメモリ220上のオブジェクト情報は、「有無・
扶養申請書」の値を“有”、「社員・扶養」の値を“扶
養”、両者の「確定」属性の値を“確”に変更される。
【0093】図10は、本発明の一実施例の「確定」属
性が“確”となっているオブジェクト情報が、「確定」
属性が“未”となっているオブジェクト情報の値が割り
付けられた時のオブジェクト情報を示す。同図は、値伝
播部236によって変更されたオブジェクト状態であ
る。ここで、再度、制約検査部231により、各制約ル
ールの制約真偽値計算が行われ、〈選択2〉を満足する
図13(C)の「扶養申請書制約ルール」が選択され
る。選択された図13の制約ルール(C)は、「確定」
属性が“確”となっている「有無・扶養申請書」の値
“有”、「社員・名前」の値“山田太郎”、「社員・家
族名」の値“山田花子”、「扶養申請書・続柄」に
“妻”を割り付けることにより、充足状態が一意に決定
できることが値伝播判定部233によって検出される。
その結果、値伝播部236により、ワーキングメモリ2
20上のオブジェクト情報は、「扶養申請書・名前」の
値を“山田太郎”、「扶養申請書・家族名」の値を“山
田花子”、「扶養申請書・続柄」の値を“妻”に変更さ
れる。
性が“確”となっているオブジェクト情報が、「確定」
属性が“未”となっているオブジェクト情報の値が割り
付けられた時のオブジェクト情報を示す。同図は、値伝
播部236によって変更されたオブジェクト状態であ
る。ここで、再度、制約検査部231により、各制約ル
ールの制約真偽値計算が行われ、〈選択2〉を満足する
図13(C)の「扶養申請書制約ルール」が選択され
る。選択された図13の制約ルール(C)は、「確定」
属性が“確”となっている「有無・扶養申請書」の値
“有”、「社員・名前」の値“山田太郎”、「社員・家
族名」の値“山田花子”、「扶養申請書・続柄」に
“妻”を割り付けることにより、充足状態が一意に決定
できることが値伝播判定部233によって検出される。
その結果、値伝播部236により、ワーキングメモリ2
20上のオブジェクト情報は、「扶養申請書・名前」の
値を“山田太郎”、「扶養申請書・家族名」の値を“山
田花子”、「扶養申請書・続柄」の値を“妻”に変更さ
れる。
【0094】次に、オブジェクト状態の変更が行われた
場合について説明する。図11は本発明の一実施例の制
約充足処理終了後の制約充足状態にあるオブジェクト状
態を示す。同図は、上記の変更が行われたオブジェクト
状態である。再度、制約検査部231によって各制約ル
ールの真偽値の計算が行われると、全ての制約ルールの
真偽値が「真」となっていることが検出され、制約充足
処理は、終了する。
場合について説明する。図11は本発明の一実施例の制
約充足処理終了後の制約充足状態にあるオブジェクト状
態を示す。同図は、上記の変更が行われたオブジェクト
状態である。再度、制約検査部231によって各制約ル
ールの真偽値の計算が行われると、全ての制約ルールの
真偽値が「真」となっていることが検出され、制約充足
処理は、終了する。
【0095】このように前述の実施例において、最初に
ユーザが処理要求として入力したデータ変更が、制約充
足過程でユーザにより入力された値と矛盾するような場
合においても、矛盾値は、矛盾値削除部234により除
去され、ユーザは、システムから要求された値を入力す
るだけで、正しい処理結果が生成できる。
ユーザが処理要求として入力したデータ変更が、制約充
足過程でユーザにより入力された値と矛盾するような場
合においても、矛盾値は、矛盾値削除部234により除
去され、ユーザは、システムから要求された値を入力す
るだけで、正しい処理結果が生成できる。
【0096】
【発明の効果】上述のように本発明の制約型問題解決シ
ステムによれば、ユーザが決定できないスロットの値及
び、オブジェクトの有無が他の制約ルールから自動的に
決定されるため、ユーザによるオブジェクト情報の決定
ができない問題の処理過程において、ユーザの冗長な充
足操作の発生を防ぎ、また、ユーザによる不適切な値の
割り付けによる充足状態への遷移不能という事態の発生
も防ぐことが可能となる。
ステムによれば、ユーザが決定できないスロットの値及
び、オブジェクトの有無が他の制約ルールから自動的に
決定されるため、ユーザによるオブジェクト情報の決定
ができない問題の処理過程において、ユーザの冗長な充
足操作の発生を防ぎ、また、ユーザによる不適切な値の
割り付けによる充足状態への遷移不能という事態の発生
も防ぐことが可能となる。
【図1】本発明の原理構成図である。
【図2】本発明の一実施例の制約型問題解決システムの
構成図である。
構成図である。
【図3】本発明の一実施例の制約充足状態にあるオブジ
ェクト情報を示す図である。
ェクト情報を示す図である。
【図4】本発明の一実施例の動作を示すフローチャート
である。
である。
【図5】本発明の一実施例のデータ変更により非充足状
態となったオブジェクト状態を示す図である。
態となったオブジェクト状態を示す図である。
【図6】本発明の一実施例の「NULL」値が割り付け
られたオブジェクト状態を示す図である。
られたオブジェクト状態を示す図である。
【図7】本発明の一実施例の外部からオブジェクト情報
を獲得した後のオブジェクト状態を示す図である。
を獲得した後のオブジェクト状態を示す図である。
【図8】本発明の一実施例の充足処理が中断された時の
オブジェクト状態を示す図である。
オブジェクト状態を示す図である。
【図9】本発明の一実施例の「NULL」値が割り付け
られたオブジェクト状態を示す図である。
られたオブジェクト状態を示す図である。
【図10】本発明の一実施例の「確定」属性が“確”と
なっているオブジェクト情報から、「確定」属性が
“未”となっているオブジェクト情報の値が割り付けら
れた時のオブジェクト状態を示す図である。
なっているオブジェクト情報から、「確定」属性が
“未”となっているオブジェクト情報の値が割り付けら
れた時のオブジェクト状態を示す図である。
【図11】本発明の一実施例の制約充足処理終了後の制
約充足状態にあるオブジェクト情報を示す図である。
約充足状態にあるオブジェクト情報を示す図である。
【図12】従来のワーキングメモリの例を示す図であ
る。
る。
【図13】制約ルールの例を示す図である。
【図14】従来の制約充足状態にあるオブジェクト状態
を示す図である。
を示す図である。
【図15】従来のデータ変更により非充足状態となった
オブジェクト状態を示す図である。
オブジェクト状態を示す図である。
【図16】制約充足処理終了後の制約充足状態にある従
来のオブジェクト状態を示す図である。
来のオブジェクト状態を示す図である。
1 制約型問題解決システム 11 ワーキングメモリ手段 12 制約保持手段 13 制約充足手段 200 制約型問題解決システム 210 制約保持部 220 ワーキングメモリ 221 スロット値情報 222 オブジェクト有無情報 230 制約充足部 231 制約検査部 232 充足処理中断判定部 233 値伝播判定部 234 矛盾値削除部 235 質問生成部 236 値伝播部 237 外部入出力部 1200 ワーキングメモリ 1210 スロット値情報 1211 社員オブジェクト 1212 扶養申請書オブジェクト 1221 有無オブジェクト
Claims (1)
- 【請求項1】 情報を格納するためのスロットと、該ス
ロットの値が確定値であるか否かを示す確定情報と、該
スロットが外部から値の決定が可能であるか否かを示す
外部入力情報を有するオブジェクトを保持する記憶手段
と、 該記憶手段に保持されているオブジェクトの有無及び、
オブジェクト/スロット値の間の制約関係を表現した制
約ルールを保持する制約保持手段と、 該記憶手段が保持する該確定情報、該外部入力情報に基
づいて、外部からの値の決定が可能なスロットの値のみ
を外部から獲得することにより、該記憶手段が保持する
オブジェクトの確定値となっているスロットから未確定
となっているスロット、及び外部入力不可能なスロット
へ値を伝播させて、該制約保持手段が保持する制約ルー
ルを充足するスロット値の割り付けを行う制約充足手段
を含むことを特徴とする制約型問題解決システム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5102949A JPH06314198A (ja) | 1993-04-28 | 1993-04-28 | 制約型問題解決システム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5102949A JPH06314198A (ja) | 1993-04-28 | 1993-04-28 | 制約型問題解決システム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06314198A true JPH06314198A (ja) | 1994-11-08 |
Family
ID=14341072
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5102949A Pending JPH06314198A (ja) | 1993-04-28 | 1993-04-28 | 制約型問題解決システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH06314198A (ja) |
-
1993
- 1993-04-28 JP JP5102949A patent/JPH06314198A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Burke et al. | A distributed asynchronous system for predictive and reactive scheduling | |
| US6154736A (en) | Belief networks with decision graphs | |
| US6510457B1 (en) | Data analysis method and apparatus for data mining | |
| US6236976B1 (en) | System and process for job scheduling using limited discrepancy search | |
| US5488722A (en) | System and method for automating implementation and execution of constraint most likely to be violated in a database | |
| Hoogeveen | Single-machine scheduling to minimize a function of two or three maximum cost criteria | |
| WO2001067291A2 (en) | Method, process and system for optimized outcome driven workflow synthesis and reduction | |
| JPH0746345B2 (ja) | 順次的判定プロセスの最適化方法 | |
| US7433854B2 (en) | Backward chaining with extended knowledge base network | |
| Polo‐Mejía et al. | Heuristic and metaheuristic methods for the multi‐skill project scheduling problem with partial preemption | |
| CN101201918A (zh) | 用于自动配置信息系统的方法和系统 | |
| Haeupler et al. | Bidirectional Dijkstra’s algorithm is instance-optimal | |
| US6104869A (en) | Method of controlling a work flow system | |
| JPH06314198A (ja) | 制約型問題解決システム | |
| Białek et al. | A paraconsistent approach to actions in informationally complex environments | |
| JP5096464B2 (ja) | 関係データベースシステムを制御するための方法 | |
| Raghunathan | A planning aid: an intelligent modeling system for planning problems based on constraint satisfaction | |
| Petronijevic et al. | Operational framework for managing risk interactions in product development projects | |
| JPH08153002A (ja) | あいまい推論装置及びあいまい推論方法 | |
| JPS63237165A (ja) | 工程計画支援装置 | |
| JPH08305574A (ja) | 制約型問題解決方法及びシステム | |
| US5032988A (en) | Method of and device for verifying a mathmatical proof | |
| JP2989991B2 (ja) | 組合せ最適化初期割付け作成方法 | |
| US20250291545A1 (en) | Sorting method, storage medium and electronic device | |
| JP2785319B2 (ja) | エキスパートシステムの知識ベース管理装置 |