• ベストアンサー

4変数の論理関数

この4変数の論理回路Fの真理値表である論理関数Fを もっとも簡単な形にしてたいのですが、公式的なものなどあるのでしょうか? ご教授していただければ幸いです。 X Y Z W F 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0  0 1 1 1 0  1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 1  1 1 0 0 1  1 1 0 1 1 1 1 1 0 0  1 1 1 1 0

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

  • ベストアンサー
  • inara1
  • ベストアンサー率78% (652/834)
回答No.1

F の論理式を求める方法は以下の手順になります。  (1)F = 0 となる場合の数とF = 1 となる場合の数を比較する  (2)場合の数が少ないほうの組み合わせだけ選び出す     この場合は F = 1 となる場合の数が少ないので、     その組み合わせを選び出すと      X Y Z W      0 0 1 0      0 0 1 1      1 0 1 0      1 0 1 1      1 1 0 0      1 1 0 1     の6個になります。  (3)選び出したそれぞれの場合について F = 1 となるような論理式を作る( * は論理積で、X_ は X の反転という意味)。      X Y Z W  F = 1 となる論理式      0 0 1 0   F = X_*Y_*Z*W_      0 0 1 1   F = X_*Y_*Z*W      1 0 1 0   F = X*Y_*Z*W_      1 0 1 1   F = X*Y_*Z*W      1 1 0 0   F = X*Y*Z_*W_      1 1 0 1   F = X*Y*Z_*W  (4)それらの論理和をとる        F = X_*Y_*Z*W_ + X_*Y_*Z*W         + X*Y_*Z*W_ + X*Y_*Z*W         + X*Y*Z_*W_ + X*Y*Z_*W     この式は、上の6つの場合に F = 1 となるはずです  (5)式を簡単にする     第1項と第2項、第3項と第4項、第5項と第6項を     共通のパラメータでまとめると        F = ( X_*Y_*Z )*( W_ + W )         + ( X*Y_*Z )*( W_ + W )         + ( X*Y*Z_ )*( W_ + W )     W_ + W = 1 なので( w が 0 でも 1 でも結果は 1 )        F = ( X_*Y_*Z ) + ( X*Y_*Z ) + ( X*Y*Z_ )     第一項と第二項を Y_*Z でまとめると        F = ( X_ + X )*Y_*Z + ( X*Y*Z_ )     X_ + X = 1 なので        F = Y_*Z + X*Y*Z_     つまり、F は W には無関係で       ( Y=0, Z=1 ) または ( X=1, Y=1, Z=0 )     のときに 1 となります(実際そうなっています)。

zrx1100
質問者

お礼

ご解説ありがとうございます。 非常に分かりやすく類似問題が出てもその方法で安心できそうです。 本当に助かりました。 ありがとうございます。