#2007/03/12 コメントにあるとおり一部デシジョンテーブルに誤りがありますのであとで修正しますー。
#2007/03/16 【改】原因結果グラフ デシジョンテーブル作成で再度チャレンジしてみました!
==
さて、自分で問題を作ってデシジョンテーブルまで作成する、という勉強も架橋に。
(1) 原因と結果の洗い出し
(2) 原因結果グラフ作成
(3) 原因結果グラフ修正
今回はこのグラフからデシジョンテーブルを作成してみる。ただし、2点だけカンニングポイント。
テストケースは6個
一部なぜそうなるのかをまだ解決できていない
では、まずは前回作成したグラフは以下のとおり。

煩雑さをなくすために原因にあたる6つの条件を①~⑥とする。
1つ目の結果「正常に受信される」について。

これを成立させるためには、
①、かつ、not④、かつ、not⑤、かつ、not⑥
となるので、ここの局所的なデシジョンテーブルは、

という5つのテストケースになる。ただし、条件の割り付け方はこちらを参照させてもらいましたが、なぜそうなるのかはいまいち理解不足。もう少し勉強を進めないと。
2つ目の結果は「メールが一時拒否される」について。

これは単純である。

3つ目の結果は「メールが拒否される」についてだが、これは中間ノードaがあるので、まずはそちらに注目する。

ここでの局所的なデシジョンテーブルは
②、または、③、または、④、または、⑤
という満足条件なので、

となる。ここでいくつか考慮する点がある。まずは、制約Oが①と②と③の間に存在すること。②と③が確定しているのなら①も確定する。

また、残り2つのテストケースについては制約上ありえないケース(禁則)になる。したがってデシジョンテーブルは前半3つだけが残る。

では今度は、中間ノードaと⑥について考えてみる。

ここでは、
中間ノードa、かつ、not⑥
なので局所的なデシジョンテーブルはこんな感じ。

このテーブルに先の中間ノードを結果に持つデシジョンテーブルを埋め込むとこうなる。

こうなると、あとは不要なテストケースを削除していけばいい。下記の灰色のテストケースが不要。

すっきりさせれば出来上がり。

==
僕はこれであってると思っているんだが。。。検算の仕方ってあるのかな。
最近のコメント