問題23
問題 #23
Section titled “問題 #23”以下の最小化済みデシジョンテーブルを考えます。
| ID | 条件 / アクション | R1 | R2 | R3 | R4 | R5 |
|---|---|---|---|---|---|---|
| C1 | 登録顧客 | T | T | T | T | F |
| C2 | 長期顧客 | T | - | - | T | - |
| C3 | クレジットカード有効期限切れ | F | T | F | F | - |
| C4 | 購入金額 <= 500€ | T | T | T | F | - |
| A1 | クレジットカードオプション提供 | X | X | X | ||
| A2 | 即時振込オプション提供 | X | X | X | X | |
| A3 | 口座引落オプション提供 | X | X |
ルール(1〜4)とその特性(A〜D)を正しく対応付けてください。
ルール:
- ルール R2
- ルール R3
- ルール R4
- ルール R5
特性:
- A. チェックサムは 1 である
- B. チェックサムは 2 であり、他のルールと整合している
- C. チェックサムは 8 である
- D. ルール R1 と不整合である
- a) 1D, 2A, 3C, 4B
- b) 1B, 2D, 3A, 4C
- c) 1B, 2C, 3A, 4D
- d) 1D, 2B, 3C, 4A
チェックサムとは
Section titled “チェックサムとは”チェックサム(Checksum)は、1つのルールが何件の基本的な条件の組み合わせを代表しているかを示す値です。
チェックサム = 2^(ルール内のドントケアエントリ数)
ドントケア(-)が1つあれば、そのルールはTとFの両方の場合をまとめているため、2倍の組み合わせを表します。
各ルールのドントケア数とチェックサム
Section titled “各ルールのドントケア数とチェックサム”| ルール | C1 | C2 | C3 | C4 | ドントケア数 | チェックサム |
|---|---|---|---|---|---|---|
| R1 | T | T | F | T | 0 | 2^0 = 1 |
| R2 | T | - | T | T | 1 | 2^1 = 2 |
| R3 | T | - | F | T | 1 | 2^1 = 2 |
| R4 | T | T | F | F | 0 | 2^0 = 1 |
| R5 | F | - | - | - | 3 | 2^3 = 8 |
整合性の確認
Section titled “整合性の確認”整合性(Consistency)とは、同じ条件の組み合わせに対して異なるアクションが定義されていないことです。ドントケアを含むルールは、複数の具体的な組み合わせを内包するため、他のルールと重複する可能性があります。
R3 と R1 の比較:
R3 は C2 がドントケアのため、以下の2つの具体的な組み合わせを内包しています。
| 展開 | C1 | C2 | C3 | C4 | R3のアクション |
|---|---|---|---|---|---|
| C2=T のとき | T | T | F | T | A1, A2 |
| C2=F のとき | T | F | F | T | A1, A2 |
R1 の条件は (T, T, F, T) で、アクションは A1, A2, A3 です。
R3 が C2=T を展開した場合の条件 (T, T, F, T) は R1 と完全に一致しますが、アクションが異なります(R1はA3も含む、R3はA3なし)。
→ R3 は R1 と不整合(同じ条件組み合わせに対して異なる結果)
R2 と R1 の比較:
R2 は C2 がドントケアのため、以下の2つの具体的な組み合わせを内包しています。
| 展開 | C1 | C2 | C3 | C4 | R2のアクション |
|---|---|---|---|---|---|
| C2=T のとき | T | T | T | T | A2, A3 |
| C2=F のとき | T | F | T | T | A2, A3 |
R1 の条件 (T, T, F, T) は C3=F ですが、R2 が内包する組み合わせはすべて C3=T です。条件が一致しないため重複なし。
→ R2 は他のすべてのルールと 整合(重複なし)
ルールと特性の対応
Section titled “ルールと特性の対応”| ルール | チェックサム | 整合性 | 特性 |
|---|---|---|---|
| R2 | 2 | 整合 | B(チェックサム2 かつ整合) |
| R3 | 2 | R1 と不整合 | D(R1 と不整合) |
| R4 | 1 | 整合 | A(チェックサム1) |
| R5 | 8 | 整合 | C(チェックサム8) |
b) 1B, 2D, 3A, 4C
チェックサムの計算
Section titled “チェックサムの計算”チェックサムは 2^(ドントケア数) で求めます。ドントケアが多いほど、1つのルールが多くの組み合わせをカバーしているため、チェックサムも大きくなります。テーブル全体のチェックサムの合計が 2^(条件数)と等しければ、テーブルが完全(すべての組み合わせを網羅)であることを示します。
不整合の見つけ方
Section titled “不整合の見つけ方”ドントケアを含むルールの不整合は、展開して具体的な組み合わせと照合することで発見できます。手順は以下のとおりです。
- ドントケアを含むルールを T/F に展開する
- 展開した各組み合わせを、他のすべてのルールと比較する
- 同じ条件の組み合わせが異なるアクションを持つ場合→不整合
R2 と R3 はチェックサムが同じでも性質が異なる
Section titled “R2 と R3 はチェックサムが同じでも性質が異なる”R2 と R3 はどちらもドントケアが1つでチェックサム = 2 ですが、R3 のみ R1 と不整合です。このように、チェックサムが同じでも整合性が異なることがあります。テーブルの「どのルールと重複するか」を確認することが、整合性判定の本質です。