質問: e1 + e3 + e4 になります。 ここで質問なのですが、最小項を含む条件が【※a】のようになるのは 何となく納得できました。 しかし、もっとも簡単なモノのひとつが「e1*e2*e4」だから 関数fがe1、e2、e4の論理和になるというのが理解できません。 「e1*e2*e4」は論理積の形なのに、突然「e1+e2+e4」とう論理和の形で 表してしまうというのうが、受け入れられません。 wikipediaにある参考文献の教科書も購入して読んだのですが 理解できない状態です。 全ての最小項を含むための条件【※a】から、最簡形の関数fを導くまでの 考え方を詳しく教えてもらえないでしょうか?
回答: e1~e4の意味を取り違えているかと思います。 e1は、加法形式に項「b*~c*~d」を含めるかどうか(注: ~c は、cの否定を表してます) e2は、加法形式に項「a*~d」を含めるかどうか e3は、加法形式に項「a*~b」を含めるかどうか e4は、加法形式に項「a*c」を含めるかどうか を意味します。 入力0100の時に出力が1になるためには、項「b*~c*~d」を含む必要があります。つまり、e1=1 である必要があります。 入力1100の時に出力が1になるためには、項「b*~c*~d」か項「a*~d」を含む必要があります。つまり、(e1*e2)=1 である必要があります。 (略) 入力1000の時に出力が1になるためには、項「a*~d」か項「a*~b」を含む必要があります。つまり、(e2*e3)=1 である必要があります。 この全ての条件を満たす、すなわち「出力が1になるべき全ての入力の組合せに対して、出力が1になる」ようにするということは、 e1(e1 + e2)e4(e2 + e3 + e4)(e3 + e4)(e2 + e3) = 1 になる必要がある、ということになります。 この式を満たすようなe1~e4の値組合せを選び、それに対応して、1になっている変数に対応する項を加法形式に入れれば、 そうやって出来た関数は、関数fの条件を満たす、ということになります。 この式は、 e1e2e3e4+e1e2e4+e1e3e4=1 と変形できますから、e1~e4の値が、「e1=1, e2=1, e3=1, e4=1」「e1=1, e2=1, e3=0, e4=1」「e1=1, e2=0, e3=1, e4=1」のどれかであればよいということになります。 で、「e1=1, e2=1, e3=0, e4=1」であるとは、 加法形式に項「b*~c*~d」「a*~d」「a*c」を含める、 ということですから、 f'=b*~c*~d + a*~d + a*c とした関数f' は、与えられた関数f と一致する、ということになります。