プロが教えるわが家の防犯対策術!

F(w,x,y,z)=w'*(x'*z+x*z'+y)+y*((x'+z')*(x+z)*w)'

これを整理していけばいいですか?

ちなみに答えは

w x y z F
0 0 0 0 0
0 0 0 1 1
0 0 1 0 1
0 0 1 1 1
0 1 0 0 1
0 1 0 1 0
0 1 1 0 1
0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 1
1 0 1 1 0
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
1 1 1 1 1

です。

またこれをICを2つまでしか通らないでANDとORの2つ、NANDだけ、NORだけを使ってそれぞれ作るとしたらどのように処理すればいいですか?

質問者からの補足コメント

  • うーん・・・

    否定がある時点でANDとORの2つだけで書けるものなのでしょうか?

      補足日時:2022/04/10 12:55

A 回答 (1件)

ANDとORだけで構成するなら、否定形の形をすべて消すように変換する。


 
 w'*(x'*z+x*z'+y)+y*((x'+z')*(x+z)*w)'
この理論式を ”括弧を取った形” に展開し、ORとANDだけの指揮に変形するのです。

まず前半部分。
 w'*(x'*z+x*z'+y)     + y*((x'+z')*(x+z)*w)'
 ↓
 w'*x'*z + w'*x*z' + w'*y + y*((x'+z')*(x+z)*w)'

そして後半部分
 w'*x'*z + w'*x*z' + w'*y + y*((x'+z')*(x+z)*w)'
 ↓
 w'*x'*z + w'*x*z' + w'*y + y*((x'+z')'+(x+z)' +w')
 w'*x'*z + w'*x*z' + w'*y + y*(( x*z ) +(x+z)' +w')
 w'*x'*z + w'*x*z' + w'*y + y*(x*z)  +y*(x+z)'+y*w'
 w'*x'*z + w'*x*z' + w'*y + y*(x*z)  +y*(x’*z')+y*w'
 w'*x'*z + w'*x*z' + w'*y + y*x*z  +y*x’*z' +y*w'
 w'*x'*z + w'*x*z' + w'*y + x*y*z  +x’*y*z' +w'*y
 w'*x'*z + w'*x*z' + w'*y + x*y*z  +x’*y*z'

で、ORになった部分を並べ替える
 w'*x'  *z ……①
+ w'*x  *z'……②
+ w'  *y  ……③
+  x’*y*z'……④
+  x *y*z ……⑤

これ、それぞれの項が1になるときに成立するという意味になります。
 w'*x'  *z ……①
なら
 0'*0'  *1
 ↓
 1 *1  *1
でyの値に関わらず。
 1
となり、
 w x y z F
 0 0 x 1 1
という関係になります。

【真理値表】と照らし合わせてみる。
 w x y z F
 0 0 0 0 0
 0 0 0 1 1 ……①
 0 0 1 0 1 ……    ③ ④
 0 0 1 1 1 ……①   ③
 0 1 0 0 1 ……  ②
 0 1 0 1 0
 0 1 1 0 1 ……  ② ③
 0 1 1 1 1 ……    ③   ⑤
 1 0 0 0 0
 1 0 0 1 0
 1 0 1 0 1 ……      ④
 1 0 1 1 0
 1 1 0 0 0
 1 1 0 1 0
 1 1 1 0 0 
 1 1 1 1 1 ……        ⑤
合ってますね。
で、よく見てみると、③は他の条件と重複していることが分かる。
てことで、論理式を整理すると
 w'*x'  *z ……①
+ w'*x  *z'……②
+  x’*y*z'……④
+  x *y*z ……⑤
 ↓
 w'*x'*z + w'*x*z' + x’*y*z' + x*y*z
さらにもう一回まとめてみる
 w'*x'*z + w'*x*z' + x’*y*z' + x*y*z
 ↓
 w'*(x'*z + x*z') + y*(x’*z' + x*z)
はい。論理式がビックリするほど簡単になりました。

 w'*(x'*z + x*z') + y*(x’*z' + x*z)
wが0のとき、yの値に関わらず、xとzが違う値の時、
そして
yが1のとき、wの値に関わらず、xとzが同じ値の時、
に1が出力される。
という事になります。

こんだけ簡素化すれば、もうちょっと考えれば答えを出せるのではないでしょうか。
……ごめんね。眠くて力尽きました。


・・・余談・・・

ブール代数の説明をしながらの回答を一瞬試みたのですが、
冗長になりすぎるので、分かっているものとして式を変形しています。
式の変形の過程が分かるよう省略せず気を配って書いたつもりですが、意味が分からないという事であれば自身で検索したり教科書を読み直すなどして確認をしてください。

ブール代数を使ってガリガリに式を変形しても良いのですが冗長になるので、その代わりの真理値表との照らし合わせです。
このほうが視覚的にも理解しやすいと思うし、実際にはこの真理値表から論理式を作って、その式をまとめたうえで回路設計をする。
その際はブール代数を使ってガリガリに式を変形させます。
    • good
    • 1
この回答へのお礼

ANDとORの2つ、NANDだけ、NORだけを使って論理回路を書くとしたらどういう計算になりますか?自分で調べても知能のなさに理解できません、教えていただけると幸いです。

お礼日時:2022/04/10 12:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!