プロが教える店舗&オフィスのセキュリティ対策術

下の図の問題で、
出力信号Xを論理和して

X=(not A)・(not B)・(not C)+(not A)・B・(not C)+(not A)・B・C+A・(not B)・(not C)

ここまでは分かったのですが、自分はここから前半の

(not A)・(not B)・(not C)+(not A)・B・(not C)

((not A)・(not C))((not B)+B)=(not A)・(not C)
として
X=(not A)・(not C)+(not A)・B・C+A・(not B)・(not C)
となったために(ここから変形できますでしょうか?)、答えの
X=(not A)・B+(not B)・(not C)
にならなくなってしまったのです・・・
解説では
X=((not A)+A)・((not B)・(not C))+((not A)・B)・((not C)+C)
と括りだしているわけですが、
自分はたまたまというかセンスがないというか(not A)・(not C)の共通項
に注目してしまったがためにこのような結果になったと思うのですが、
こういう問題を解く場合にはどのような意識でというか
考え方でこの括りだしを考えていったら答えをすんなり導きだせるのでしょうか?

「論理式について」の質問画像

A 回答 (5件)

#4です。



A#1の補足やお礼の所での質問について

カルノー図(Karnaugh Map)による論理式の簡単化については、積和形の論理式では論理値1の箇所を出来るだけ大きな少ない数のカルノー・サークルで囲んでやり、論理値1の領域全部を囲います。カルノーサークルは他のサークルと重なっても問題ありません。カルノー・サークル1個について1つの論理積項が出来、合計でカルノー・サークルの個数分の論理積項が出来ますので、それらの論理和をとれば、簡単化された論理式が得られます。
なお、和積形の論理式では論理値0の箇所を出来るだけ大きいな少ないカルノー・サークルで囲んでやり、各カルノー・サークルの論理和項をカルノー・サークル数だけ論理積を取ってやれば、和積系の簡単化された論理式を得ることができます。

なので、質問者さんは、カルノー・サークルの描き方を理解すれば、それが簡単化された論理式を作ることが出来るようになります。
まずカルノー図でカルノー・サークルの作り方を参考URLで学習されることをお勧めします。

参考URL
●論理出力1の領域を全て囲み尽くすのに必要なカルノー・サークル(緑、赤、青のサークル)の作り方と論理式の対応についての具体例
http://www.knowledgerush.com/kr/encyclopedia/Kar …
●カルノー・サークルの作り方の多くの例
http://users.cecs.anu.edu.au/~Matthew.James/engn …
http://web.cecs.pdx.edu/~mcnames/ECE171/Lectures …
●カルノー・サークルの作り方(サークルの重なりと両端に跨るカルノーサークルの合体の例)
http://trensains.com/karnaugh.htm
http://xlinux.nist.gov/dads/HTML/karnaughmap.html
http://www.terra.es/personal2/equipos2/karnaugh. …
●カルノー・サークルの作り方(間違い例と正しい例)
http://www.gitam.edu/eresource/comp/gvr/4.7.htm
など。

ぜひ、カルノー図を熟視してカルノー・サークル(Karnaugh Groups)の作り方をマスターして下さい。最簡化された論理式が効率よく求めることが出来るようになりますよ。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
お蔭様で少し理解できてきました。
ただこれも慣れるまで頭の中が大変そうですね・・^^;
参考になりました。

お礼日時:2011/08/23 20:03

解法1)


各論理式についてXが一致しない入力が1つでもあればその論理式は除外。
これは消去法で、残った論理式(4)が答え

具体的には
(1) (A,B,C)=(0,0,0)でX=1で×

(2)(C,B,C)=(0,1,1) でX=1で×

(3)(A,B,C)=(1,1,0) でX=0で×

(4) X=/AB+/B/C
(A,B,C)=全ての入力で真理値表のXがあられる。
答えはこれ。

(5)(A,B,C)=(0,0,1)でX=1で×

解法2)
積和形ならX=1となる「入力の組合せが最小項になるように集めて加えれば論理式が得られる。X=/A・B+/B・/C (/Aは not(A)を表す)
これに合うXの論理式を選択肢から選ぶ。

正確には#1さんが助言のカルノー図を描く方法です。
カルノー図で、X=1の領域をカルノーサークルで囲んで論理式を求めます。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
なるほど、選択肢の中から消去法で消していくわけですね。
参考になりました。

お礼日時:2011/08/22 23:10

正攻法ではありませんが,


問題文の選択肢からあてはまる式を探す,
という受験テクはあります。

(3) (¬A)B+(¬C)は,C=1のとき1となるはずですが,ABC=110のとき0なので候補外。
(1) AB+BC+CAは,二つずつ1でないと1にならないはずだが,000で1になるので候補外。
(2) (¬A)(¬B)+(¬B)(¬C)+(¬C)(¬A)は00X,X00,0X0のどれかのとき1になるはずだが,
001で0になるので候補外。
(5) (¬A)(¬B)C+A(¬B)(¬C)+(¬A)B(¬C)は,001か100か010のときしか1にならないはずだが,001で0なので候補外。

よって(4)しか残らないので,(受験テクとしては)とりあえず(4)のマークを塗ってしまう。
試験時間に余裕があれば以下を確認。

(4) (¬A)B+(¬B)(¬C)は01XかX00のときだけ1になるはず。表を8個確認して安心。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
なるほど、そうですね、そんな複雑な問題はでないと思いますので
こういうのも参考の1つになりますね。

それにしても、このジャンルの問題は自分の中では一番厄介ですね・・・
この問題もこのジャンルでは相当簡単(基礎的)な方だと思いますが、
やたら時間がかかるというか、頭を使うというか、
非同期式カウンタの問題とかもう無条件で捨てたい気分です・・・^^;

お礼日時:2011/08/22 23:07

目で直観的に見れる形のするのはいかがですか。


たとえば X=000+010+011+100とする。
又は X=/A/B/C+/AB/C+/ABC+A/B/Cの形にする。
/は手で書くときはAの上に横線を書いてバーの形にする。
そうすると、共通項が見えるので、組み合わせが判るようになるでしょう。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
>X=000+010+011+100
何これは自分的には良さげ(楽になりそうな^^)な感じがするのですが、
ここからどう答えを導いていけば良いのでしょうか?
>X=/A/B/C+/AB/C+/ABC+A/B/Cの形にする。
これはでも自分のやったやり方と同じではないのでしょうか?
ここから自分は共通項の選びミスをしてしまったのです・・

お礼日時:2011/08/22 23:01

カルノー図で処理するのがいいと思う.



本気でどうにもセンスがないなら努力と根性のクワイン・マクラスキー法などだけどお勧めはしない.

この回答への補足

すいません、補足で質問させてください。。

http://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%AB% …
真ん中から少し下の方の
AB/C+ABC+AC

ABC
AC
AB/C
である。
「図1」で論理式が真となる部分を、まとめると「図2」のようになる。
AB
AC

という箇所で、
「「図1」で論理式が真となる部分を、まとめると「図2」のようになる。」
というのが具体的に分からないのですが、
これはどういう処理を行っているのでしょうか?

補足日時:2011/08/22 23:29
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
http://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%AB% …
ここでカルノー図を調べてみたのですが、

f=/A/B/C+/AB/C+/B/C/D+/B/CD
=/A/C+/BC

この4変数カルノー図ではたくさん1の箇所があって、
でも選ばれたのは(/A/C+/BC)だけなのですが、
この選び方は何かコツみたいなのはあるのでしょうか?

お礼日時:2011/08/22 22:55

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