• ベストアンサー

ド・モルガンの法則が本当に効果を発揮するとき

はあるのでしょうか。 何か教科書や参考書では、法則の証明しかやって無い気がして、この法則の有用性って何かあるのでしょうか。 例えば、等式の一方の要素の個数が分かりにくいから、分かりやすい他方を数えるとか……

質問者が選んだベストアンサー

  • ベストアンサー
  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.6

 ご質問は集合の演算におけるド・モルガンの法則の話をなさっているようですが、集合を、論理式a(x), b(x)を使って A = { x | a(x) }, B = { x | b(x) } のように書いてみると、 A∩B = { x | a(x) ∧ b(x) } (∧ は ANDと読む) のように論理式の演算の話と対応しているんです。あるいは x∈A∩B は (x∈A)∧(x∈B) と同じ、という風に表しても良いでしょう。  というわけで、論理(命題論理、述語論理)におけるド・モルガンの法則の方が本質的に重要だろうと。ですから、何もプログラミングや論理回路にばかり使うだけのものじゃありません。  さて、qa 7150137 の No.4には「ド・モルガン5連発」があります。ご覧になれば分かるように、普通の数式で符号を扱うのと同程度に基礎的かつ重要な操作です。論理式を間違えないように扱うには、このように1ステップずつ書き下していくのが良いですね。  で、どうも、「必要充分条件が~」だの「帰納法で何を証明すればいいんだっけ~」だの「オレは有名な大難問を解決したぞ~」なんてことになる人たちは、大抵ここんとこが出来てないようです。

dormitory
質問者

お礼

あ。 その論理演算子は、最近の教科書ではあまり突っ込んで説明されていませんね。当方は今高校数学をやっている最中です。たまたま化学計算の基礎を綴った本を図書館で見たら、回答者様のおっしゃる数学記号がわんさか出て来て、なにが何だか分からなかったのを覚えています。 数Aで扱う集合論、確率、論理演算はかなりざっくりとした基本的な説明のみですが、かなり普遍性を持った重要な分野であると独学なりにも気付けます。 ご回答者様のアドバイスは核心をついていて、痒いところに手が届くといった感じです。 色々な問題やって、少なくとも論理、集合の使い方くらいはうまく使いこなせるよう取り組んでみようと思います 理屈っぽいお礼ですみませんが、御丁寧な回答ありがとうございました。

その他の回答 (5)

回答No.5

三菱電機の小橋です。 ソースコードを書くときに ______________________________ もし(xかつy)であれば... そうでなければ、つまり(xかつy)でなければ... ______________________________ のとき役立ちます。「xかつyであれば」は簡単ですが、 「(xかつy)でなければ」はドモルガンより 「 xでない、もしくはyでないとき」 と翻訳できます。

dormitory
質問者

お礼

ありがとうございました。基本が揺らがないよう精進します。

  • satuchiko
  • ベストアンサー率41% (17/41)
回答No.4

少なくとも、大学受験数学でド・モルガンの法則を利用して解いた経験はありませんね。。 というか、簡単に証明できますので、問題を解いているうちに知らず知らずに利用していることもあったと思うんですが。(解説にド・モルガンの法則よりとあるが、自分は使わずに解いた経験があったので)

dormitory
質問者

お礼

そうですよね。具体的な要素の指定が無いときに個数をもとめるには、便利っちゃ便利ですね。 いずれにしても、あっさりと通り過ぎてしまい過ぎな感があります。

回答No.3

例えば pならばq の否定を、真理表を使わなくても not(p->q) = not { (not p) or q } = p and (not q) と簡単に変形できます。 ド・モルガンは論理式の基礎のキなので知らないと 大変です。

dormitory
質問者

お礼

数学Aは、要所要所で単元間の深い結び付きがありますね。自分はほぼ独学なので、連結に一苦労です。特に集合論は、法則は少なくむしろ具体的な集合について色々な問題解かないと、法則の価値が分かりづらいというか……

  • DarkMoon
  • ベストアンサー率21% (225/1046)
回答No.2

電子回路の論理設計のときに使います。 NOT回路、AND回路、OR回路の組み合わせを簡略化できることがあります。

dormitory
質問者

お礼

すごい世界にいらっしゃるのですね! でも、ドモルガンが頑張った成果が何処かで実ってるのが分かったのが、何故か嬉しいですね

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

プログラムを書くとき、「もし~ならば、~~~を実行する」という記述の ~ の部分でちょいちょい使います。 数学だと、not( A and B) or C or D とかを、(not A) or (not B) or C or D とか展開して、(not A) と C をよく見比べると、(not A) or C or D に簡略化できるとかありますね。( not A ならばかならず C のとき)

dormitory
質問者

お礼

コンピューターの世界で使われているんですね!少し感動しました。 ご回答ありがとうございました

関連するQ&A