クワインマクラスキー法(QM法)の使い方と論理式の簡単化

問題

下記の真理値表で与えられる論理関数f(x0,x1,x2,x3)を、クワインマクラスキー法(QM法)を用いて簡単化せよ。

真理値表:

x0x1x2x3f(x0,x1,x2,x3)
00001
00010
00101
00110
01000
01011
01100
01110
10001
10010
10101
10110
11000
11011
11100
11111

クワインマクラスキー法(QM法)とは

論理関数を簡単化する方法の一つです。

出力1を与える論理変数x0,x1,x2,x3の組み合わせのうち、一変数だけ数値が異なる組み合わせをマージを繰り返し、簡単化していきます。

よく、カルノー図を用いた簡単化と比較されることがありますが、下記の利点があります。

クワインマクラスキー法の利点
  1. 任意の入力変数の数の論理変数に対し、簡単化を実施できる
  2. 簡単化の手順が決まっているため、計算機で機械的に簡単化できる
  3. 単純な最小項の総当たりに対し、計算時間を低減できる

1.2.はカルノー図に対して優位な項目になります。(利点)

カルノー図は、ハミング距離が1になるマスを作成し、1または※(ドントケア)が隣接しているマスを丸で囲っていく方法になります。

視覚的で、人間の目からすると分かりやすいですが、計算機からするとこの内容を理解することができません。

また、人間の手で行えるのはせいぜい4変数までです。5変数の場合、5変数目の入力0,1ごとにマスを分けて作成すると、何とか対応することもできますが、試験で行うには時間がかかります。

ところが、QM法にはマスの制約が無いため、5変数以上の場合でも問題なく対応できます。

3.について、何も考えずに簡単化しようとすると、(x0,x1,x2,x3)=(0,0,0,0),(1,1,1,1)の対応まで確認する必要があります。全ての変数が異なっており、両者を満たす項は明らかに生成できそうにありません。

こういった無駄を、クワインマクラスキー法では初めから省くことができます。

クワインマクラスキー法の手順
  1. 出力1の論理変数の組み合わせを表にする。
    ※論理変数に1が含まれる数が少ない順に表にする。
  2. 入力の組み合わせのうち、互いに1文字違いの項目を探し、ドントケアにマージする。
    マージする組み合わせが無くなるまで繰り返す。
  3. マージ後の主項それぞれに対し、取りうる値を行列表示にする。
  4. 行列のうち、一つしか1を持たない列に対応する最小項を必須主項にする。
  5. 必須主項で包含できない出力を持つ最小項を必須項にする。
    全ての出力を包含できるようになるまで繰り返す。

実際に、問題を解きながら説明していきます。

解答例

出力1の論理変数の組み合わせを表にする。

問題文で与えられた真理値表のうち、出力1を取る組み合わせだけピックアップすれば良いです。

1を取る変数の数x0x1x2x3
00000
10010
11000
20101
21010
31101
41111

入力の組み合わせのうち、互いに1文字違いの項目を探し、ドントケアにマージする。

先ほど作成した表のうち、1を取る変数の個数が1つ違いの行同士を比較します。

その結果、変数の取る値が1文字違いの組み合わせをマージしていきます。

これを繰り返すことで、主項は下記になる。(1)x1x2x3,x1x3,x1x2x3,x0x1x3

マージ後の主項それぞれに対し、取りうる値を行列表示にする。

  • x020x0で表されるため、入力0,1に対し、出力0,1の2通り
  • x121x0で表されるため、入力0,1に対し、出力0,2の2通り
  • x222x0で表されるため、入力0,1に対し、出力0,4の2通り
  • x323x0で表されるため、入力0,1に対し、出力0,8の2通り

これらを出力として足し合わせると、下記の表が生成される。

行列のうち、一つしか1を持たない列に対応する最小項を必須主項にする。

前節で得られた表に対し、必須主項を橙色のセルで塗りつぶす。

対応する必須主項は、(2)x1x3,x1x2x3,x0x1x3

ピンク色で塗ったx1x2x3については、x1x3で包含できるため、これで全ての出力を包含できた。

結果

前節で得られた必須主項を足し合わせ、求める論理関数は

(3)f(x0,x1,x2,x3)=x1x3+x1x2x3+x0x1x3

まとめ

大学によっては、カルノー図ではなく、クワインマクラスキー法を用いての簡単化をわざわざ問うてくることがあります。

カルノー図で簡単化できるから問題ない!と慢心することなく、QM法でもできるようになることをオススメします。

タイトルとURLをコピーしました