« [例題]分析する - 3色ボールペン版 | トップページ | 原因結果グラフを解剖 - 制約記号 »

原因結果グラフを解剖 - AND/ORなど

NHKクローズアップ現代でソフトウェア品質のプログラムがこの前やってた。見逃した。

「ソフトウエア危機 ~誤作動相次ぐハイテク製品~」

ブログで少し検索したので、リストアップ。

  • ソフトウェアの欠陥はなぜ無くならないのか

  • NHKクローズアップ現代 ソフトウェア危機
  • ==

    原因結果グラフのテーブル作成をツール化する前に、基礎的なことを復習・まとめてみる。小さなテーブル作成をしているうちに何かいいことが気づけるかなあと。手持ち資料で原因結果グラフを勉強するとなると、マイヤーズ本くらいしかないが、わかりにくい表現が多い。自分なりの言葉でまとめてみる。

  • IDENTITY(同値)
  • 原因が「T」なら、結果も「T」。原因が「F」なら、結果も「F」。原因と結果が同値な状態をさしていて、デシジョンテーブルも非常にシンプル。

    Cegidentity

    これは中間ノードが入ってもデシジョンテーブルは同じ。

    Cegidentity2


  • NOT(否定)
  • 原因が「T」なら、結果は「F」。原因が「F」なら、結果は「T」。原因と結果の関係が逆になるケース。

    Cegnot


  • AND(積)
  • 原因が2ノード以上関係して、さらにその論理積で結果を決定するケース。「身長が高くて、学歴が高くて、高収入なら結婚する」みたいな。下図にあるように原因ノードが3つある場合は、デシジョンテーブルは4列(結果が「T」=1、「F」=3)となる。

    Cegand

    単純に考えてみると、原因(真/偽)が3つあるので、全数では2^3=8列になるはずである。しかし、原因の複数項目が「F」だと、どの原因が結果を決定しているかが判断できない。つまりは、#2、#3、#4の3列は、それぞれノード11、ノード12、ノード13が結果を「F」にする原因となっていることを確認することが目的であるため、下図#5のようなテストケースは適当ではないのだ。これは経路感光(path sensitizing)というそうです。

    Cegpathsensitizing


  • OR(和)
  • 原因が2ノード以上関係して、さらにその論理和で結果を決定するケース。「医者か、弁護士か、あるいはIT長者なら結婚する」みたいな。下図にあるように原因ノードが3つある場合は、デシジョンテーブルは4列(結果が「F」=1、「T」=3)となる。

    Cegor

    ORとANDは表裏の関係なのがポイント。高校のときに習った、ド・モルガンを思い出せ。

    さーて、続きはまた今度。次は制約記号だな>EXC、ONE、INCなどなど

    |

    « [例題]分析する - 3色ボールペン版 | トップページ | 原因結果グラフを解剖 - 制約記号 »

    コメント

    コメントを書く



    (ウェブ上には掲載しません)




    トラックバック

    この記事のトラックバックURL:
    http://app.f.cocolog-nifty.com/t/trackback/155415/10320066

    この記事へのトラックバック一覧です: 原因結果グラフを解剖 - AND/ORなど:

    « [例題]分析する - 3色ボールペン版 | トップページ | 原因結果グラフを解剖 - 制約記号 »