📄自然言語による曖昧性の排除
以下の箇所は自然言語によって曖昧になりやすいので明確にする。
- すべて(∀)/ ある(∃)
- 特に否定はより曖昧
- 「まだ全員来ていない」は全体否定(誰も来ていない)なのか部分否定(来ている人もいる)なのか曖昧
- そもそも否定をなるべく避ける、どうしても必要であれば否定のかかる範囲を明確にする
- 特に否定はより曖昧
- 全体で/それぞれ
- 「AとBに100バイトを割り当てる」はAとBを合わせて100バイトなのかそれぞれ100バイトなのか曖昧
- 拘束力を持つ (shall) / 持たない(shouldまたはmay)
- 「または」が排他的(どれか1つ)か包含的(少なくとも1つ)か
- 自然言語では一般的に排他的だが、数式やプログラムでは一般的に包含的
- ただし自然言語では曖昧
- 英語で and/or と書かれている場合は包含的であることを明示している
- 自然言語では一般的に排他的だが、数式やプログラムでは一般的に包含的
- 主語
- 「〇〇が実行される」だけだと誰が実行するのか曖昧
- 助詞と語順
- 「〇〇は××にも存在する」と「××には〇〇も存在する」は意味が変わる
- 前者は××が〇〇以外にも存在し、後者は××に〇〇以外も存在することを表す
- 「〇〇は××にも存在する」と「××には〇〇も存在する」は意味が変わる
- 多義語
- 「ため」(目的/理由)
- 「AのためにBした」はAをするためにBが必要だったのか、Aが原因でBしたのか曖昧
- 「に」(送り手/受け手/基準/割合/目的)
- 「〇〇に借りる」は送り手、「〇〇に貸す」は受け手で真逆の意味
- 送り手の用法は「から」、受け手の用法は「へ」で置き換えられる
- 「〇〇に似ている」は基準、「3日に1回」は割合、「食べに行く」は目的
- 「〇〇に借りる」は送り手、「〇〇に貸す」は受け手で真逆の意味
- 「どうして」(方法 “How”/理由 “Why”)
- 「どうしてわかったか」はHowだが「どうしてわかろうとしたか」はWhy
- 「から」(起点/経由点/要素)
- 「Xから始める」は起点、「AがXから入る」は経由点、「AはXから作る」は要素
- 「大丈夫」(肯定/否定)
- 「ため」(目的/理由)
- 時相
- 「スーツを着ている」は動作の継続(着ている最中)なのか結果の継続(着ている状態)なのか曖昧
- 「Aして、Bして、Cする」はABCが同時に起きるのか順番に起きるのか曖昧
- し始める、し続ける、し終わる、まで、〇〇前、〇〇中、〇〇後、〇〇する時、〇〇の間などで明確にする
- 時制
- 「課長はかつてプログラマーだった」は課長がプログラマーだったころも課長だったのか曖昧
- 修飾
- 「刑事は血まみれになって逃げだした賊を追いかけた」は血まみれになっているのが刑事なのか賊なのか曖昧
- 修飾語と被修飾語を近くに置いたり、読点を入れたりして明確にする
- 入れ物と中身
- 「変数を初期化する」は変数に初期値を代入するのか変数の領域を確保するのか曖昧
- 設定と定義の違い
- 「変数をコピーする」は「変数の値をコピーする」が正しい
- 入れ物である変数自体はコピーされず、中身の値がコピーされる
- 対象が入れ物なのかその中身なのか注意
- 特に再帰構造を対象にするときはその範囲にも注意
- 「速度」は速さのみを指していないか注意
- 「変数を初期化する」は変数に初期値を代入するのか変数の領域を確保するのか曖昧
- 命題同士の関係
- 矛盾関係
- 同時に真になることも偽になることもない関係
- 「AをBする」と「AをBしない」
- Xと¬X(P∧Qと¬P∨¬Q、P∨Qと¬P∧¬Q)
- 反対関係
- 同時に真になることはないが、同時に偽になることはある関係
- 「すべてのAをBする」と「どのAもBしない」
- 一部のAだけBすると両方偽になる
- P∧Qと¬P∧¬Q
- 小反対関係
- 同時に真になることはあるが、同時に偽になることはない関係
- 「一部のAをBする」と「一部のAをBしない」
- P∨Qと¬P∨¬Q
- 含意関係、大小関係、帰属関係
- 片方が真になるときもう片方も必ず真になる関係
- 「一部のAをBする」と「すべてのAをBする」
- X→Y(P∧QとP∨Q、¬P∧¬Qと¬P∨¬Q)
- 頻出するのは「以上・以下・未満・超過」「以後・以前・後・前」「全部肯定、全部否定、一部肯定、一部否定」
- 矛盾関係
- 裏の関係
- 「AのときBする」はAでないときが曖昧
- 一般的にはBしないのが正しいことが多いが、明確でない
- 「AのときのみBする」と書くと明確になる
- 「AのときBしない」はいつBするのかが曖昧
- Aによらず常にBしなければ仕様を満たすことになる
- 「AのときBする」はAでないときが曖昧
- 必要条件と十分条件
- 「XのときYする」を「YするにはXが必要」と書くと間違い
- Xは十分条件のため「YするにはXで十分」が正しい
- 「AするにはBが必要」と書いた場合、Aが十分条件でBが必要条件
- 「AするにはBで十分」と書いた場合、Aが必要条件でBが十分条件
- 「XのときYする」を「YするにはXが必要」と書くと間違い
- 前提
- 前提が間違っていると結論が間違っていることに気づけない
以下の対策がある。
- 文章を以下のように変換したときに意味の変化が妥当か判定する
- 否定形にする、もしくは肯定形にする
- 助詞を除く、もしくは挿入する
- 「ならば」を「なのに」や「だけど」に換える
- 単数を複数にする
- 目的と理由を逆にする
- 語順を換える
- 「または」を「一方のみ」に換える、もしくはその逆をする
- 「および」を「または」に換える、もしくはその逆をする
- 「明らかに」や「確かに」などをその根拠と置き換える
- 「など」や「その他」をその例と置き換える
- 「一部の」を「全部の」に換える、もしくはその逆をする
- 「常に」を「時々」に換える、もしくはその逆をする
- 時制を変える
- 図を描く
- 要素間の関係がわかりやすい
- 相関図
- 考慮の漏れている要素・関係がないか
- 関係の向きが正しいか
- 階層図
- 考慮の漏れている要素・階層がないか
- プロセス図
- 考慮の漏れている要素・分岐がないか
- ベン図
- 文章に対応する集合がどれか
- 考慮の漏れている集合がないか
- シーケンス図
- 順序におかしいところがないか
- ある時点での状態におかしいところがないか
- 状態遷移図
- 遷移におかしいところがないか
- 考慮の漏れている状態・遷移がないか
- 象限図
- 要素の分類におかしいところがないか
- 表を描く
- 要素間の組み合わせを網羅しやすい
- 表一般
- 考慮の漏れている組み合わせがないか
- 状態遷移表
- 遷移におかしいところがないか
- 考慮の漏れている状態・遷移がないか
- グラフを描く
- 要素間の大小や割合を比較しやすい
- 折れ線グラフ
- 要素の変化におかしいところがないか
- 棒グラフ、レーダーチャート
- 要素の大きさにおかしいところがないか
- 円グラフ、帯グラフ
- 要素の割合におかしいところがないか
- 散布図
- 要素間の傾向におかしいところがないか
- 外れ値におかしいところがないか
- MECEに分類する
- 考慮の漏れている条件を見つけやすい
- 5W1H
- 各ビジネスフレームワーク
- 参考: ビジネス・フレームワーク
誤謬・詭弁 も参照。