カルノー図の3変数での解き方は?配置ルールとグループ化を例題で解説!(論理式の簡略化)
論理回路の設計やブール代数の学習では、長い論理式をできるだけ短く整理する場面があります。
そのときに役立つ代表的な手法が、変数の組み合わせを図として並べて考えるカルノー図です。
3変数のカルノー図は、2変数よりも配置ルールが増える一方、4変数ほどマス目が多くないため、グループ化の基本を身に付ける教材として適しています。
本記事では、変数A、B、Cを使った3変数カルノー図について、真理値表からの転記、グレイコードの並べ方、グループ化、論理式の簡略化までを順番に解説します。
カルノー図の3変数における解き方

それではまずカルノー図の3変数における解き方について解説していきます。
真理値表から出力値を転記する手順
3変数のカルノー図では、入力となる変数A、B、Cの組み合わせを8通り扱います。
真理値表で出力が1になる行を確認し、対応するマスへ1を書き込むことが最初の作業です。
出力が0の行には0を書き込んでも構いませんが、実際の簡略化では1の位置を中心に見るため、1だけを記入する方法もよく使われます。
重要なのは、通常の二進数の順番ではなく、隣り合うマス同士が1つの変数だけ異なる順番で配置する点です。
この規則を守ることで、隣接する1をまとめた際に、変化している変数を消去できます。
たとえば真理値表でAが0、Bが1、Cが1のときに出力が1なら、ABの行とCの列の対応を確認して、その位置へ1を置きます。
転記の段階で位置を取り違えると、その後のグループ化が正しくても答えが変わってしまいます。
まずは真理値表の各行を指で追いながら、落ち着いて対応させることが大切でしょう。
3変数の組み合わせは000、001、010、011、100、101、110、111の8通りです。
カルノー図では、この8通りを隣接関係が保たれるように並べ替えて扱います。
隣接する1を二の累乗個でまとめる考え方
カルノー図で論理式を簡略化する際は、1が入ったマスをグループとして囲みます。
グループに含めるマスの数は、1個、2個、4個、8個のように2の累乗でなければなりません。
3個や6個をひとまとまりにすることはできないため、形がきれいに見えても採用しないよう注意が必要です。
2個を囲むと1つの変数を消せます。
4個を囲めば2つの変数を消せるため、より短い論理式につながります。
可能な限り大きなグループを優先することが、簡略化の基本です。
ただし、大きなグループを作ろうとして必要な1を取り残してはいけません。
すべての1が少なくとも1回はグループに含まれるように確認します。
カルノー図では、1つのマスを複数のグループに重ねて含めても問題ありません。
重複を避けることよりも、各グループを大きくして論理式を短くすることを優先します。
共通する変数だけを残す論理式の作り方
グループを作ったら、そのグループ内で値が変わらない変数だけを残して積項を作ります。
グループ内で0と1の両方を取る変数は、結果の項から消えます。
変数の値が1で固定されていれば、そのまま変数を記載します。
値が0で固定されていれば、否定を表すバーを付けた変数として扱います。
たとえばAだけが常に1で、BとCが変化する4マスのグループなら、得られる項はAです。
一方でAが0、Bが1に固定され、Cだけが変化する2マスのグループなら、項はAバーBになります。
複数のグループから作った積項は、論理和でつなげます。
この流れを覚えると、図から最小和積形を読み取れるようになります。
3変数カルノー図の配置ルール
続いては3変数カルノー図の配置ルールを確認していきます。
二行四列で表す基本配置
3変数カルノー図は、一般的に2行4列の表として作成します。
行には変数Aを置き、列には変数BとCの組み合わせを置く形式が分かりやすいでしょう。
行のAは0と1の2通りです。
列のBCは00、01、11、10の順に並べます。
この順番はグレイコードと呼ばれ、隣接する列ではBまたはCのどちらか一方だけが変化します。
| AとBC | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| Aが0 | m0 | m1 | m3 | m2 |
| Aが1 | m4 | m5 | m7 | m6 |
m0からm7は最小項番号を表す記号です。
番号の並びが0、1、3、2となるため、最初は不自然に感じるかもしれません。
しかし、これは隣接するマスの差を1変数に保つための重要な配置です。
数字の昇順で並べないことが、3変数カルノー図を正しく使うための第一歩になります。
グレイコードによる隣接関係
カルノー図では、上下左右に接するマスが隣接マスです。
隣接した2マスでは、A、B、Cのうち変化する変数は必ず1つだけになります。
たとえばBCが00の列と01の列では、Bは0のままでCだけが変化しています。
BCが01の列と11の列では、Cは1のままでBだけが変化します。
このような関係があるため、隣接した1をまとめると、変化する変数を論理式から除外できます。
ブール代数の公式を毎回展開しなくても、図形として共通部分を見付けられる点がカルノー図の魅力です。
配置を暗記するよりも、隣同士で変わる変数は1つだけという意味を理解しておくと応用しやすくなります。
端と端がつながる循環構造
カルノー図で特に見落としやすいのが、表の左右端が隣接しているというルールです。
BCが00の列と10の列は、紙の上では離れています。
それでもBとCの値を比べると、Cは0で共通し、Bだけが変化しているため隣接関係にあります。
同様に、上下2行もAだけが異なるので隣接しています。
この考え方は、カルノー図の端をつなげて筒状や輪のように考えるイメージに近いものです。
左右端の1を2個グループにできる場面を見逃すと、不要な変数が残ってしまいます。
グループ化を始める前に、左右端も接していると意識しておくと、簡略化の精度が上がります。
3変数カルノー図の四隅は、条件によって同じグループに含められます。
表の見た目だけで距離を判断せず、変数が1つだけ異なるかを基準に判定してください。
グループ化の判断基準
続いてはグループ化の判断基準を確認していきます。
大きいグループを優先する理由
カルノー図では、4個のグループを作れる場合、2個ずつに分けるよりも4個で囲むほうが有利です。
グループが大きいほど、変化する変数の数が増え、最終的に残る文字数が少なくなります。
2個のグループでは1変数が消えます。
4個のグループでは2変数が消えます。
8個すべてが1なら、A、B、Cのすべてが変化するため、出力は常に1という結果になります。
最初に4個のかたまりを探し、その後に2個、最後に単独の1を確認すると、作業の順序が安定します。
ただし、必要な1をカバーできない場合は、小さなグループを追加する必要があります。
重複グループを使う場面
グループが重なっていると、同じマスを二度使っているように見えるかもしれません。
しかし、カルノー図では重複グループを積極的に利用することがあります。
たとえば中央の1を使うことで、左右それぞれに4個グループを作れるなら、中央の1を両方へ含めたほうが式を短くできます。
各1を一度しか使えないという制約はありません。
むしろ、重複によって不要な小グループを減らせることが、カルノー図ならではの利点です。
ただし、同じ論理項が重複して生まれるだけの囲み方は意味がありません。
新しいグループを作ることで、別の1をカバーできるか、より大きいまとまりになるかを確認しましょう。
単独マスが残る場合の扱い
どの方向にも隣接する1がない場合、そのマスは1個だけのグループになります。
1個グループではA、B、Cのすべてが固定されているため、3変数すべてを含む積項が残ります。
単独マスは式が長くなる原因ですが、無理に隣接していないマスとまとめることはできません。
ドントケア条件が与えられている問題では、ドントケアを1として扱い、単独マスを大きなグループにできる場合があります。
一方、通常の真理値表で0のマスを勝手に使うことはできません。
グループ化では、1とドントケアだけを対象にするという原則を守ります。
グループの作成順は4個を探す、次に2個を探す、最後に単独マスを確認する流れが基本です。
すべての1が少なくとも1つのグループに入っているか、最後に見直してください。
例題による論理式の簡略化
続いては例題による論理式の簡略化を確認していきます。
例題の真理値表とカルノー図
ここでは、出力Fが最小項m1、m3、m5、m7で1になるケースを考えます。
最小項番号は、ABCを二進数として見たときの値に対応します。
m1は001、m3は011、m5は101、m7は111です。
いずれの組み合わせでも、Cは1になっています。
| AとBC | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| Aが0 | 0 | 1 | 1 | 0 |
| Aが1 | 0 | 1 | 1 | 0 |
表を見ると、BCが01と11の2列に、上下2行を含む4個の1が並んでいます。
この4マスを1つの長方形として囲むことができます。
Aは0と1の両方を取るため消えます。
Bも0と1の両方を取るため消えます。
Cだけが1で共通するので、答えはFはCです。
二個グループを使う計算例
次に、m2、m3、m6、m7が1になるケースを考えます。
これらはABCで010、011、110、111に対応します。
カルノー図では、BCが10と11の列に上下2行の1が並ぶ形です。
4個グループを作ると、Aは上下で変化するため消えます。
Cは10と11の列で変化するため消えます。
Bだけが1で共通するため、簡略化した論理式はFはBになります。
もし2個ずつに分けると、AバーBとABのように複数の項が残ります。
4個でまとめることで、より少ない文字数の論理式にできます。
例題でm2、m3、m6、m7を囲む場合、共通しているのはBが1である点です。
したがってFはBとなり、AとCは式から消えます。
端をまたぐグループ化の計算例
m0、m2、m4、m6が1になるケースでは、BCが00と10の列に1が入ります。
この2列は表の左右端にありますが、カルノー図では隣接しています。
上下2行も含めて4個グループを作ることが可能です。
Aは0と1の両方を取り、Bも0と1の両方を取るため消えます。
BCが00と10で共通しているのはCが0という条件です。
そのため、論理式はCバーになります。
左右端を別々のグループにすると、余分な項が残る可能性があります。
端をまたぐ4個グループを見付けることが、3変数カルノー図の重要な得点ポイントです。
論理式を確認するための注意点
続いては論理式を確認するための注意点を確認していきます。
積項と和項の読み違い
カルノー図で1をグループ化する方法は、主に積和標準形を簡略化するときに使います。
グループごとに作る項は、変数を掛け合わせる論理積です。
そして、複数のグループから得た項を論理和で結びます。
たとえばAバーBとACという2つのグループがあれば、結果はAバーBプラスACの形になります。
記号を使う場合は、否定、論理積、論理和の意味を授業や教材の表記に合わせて統一しましょう。
文章で説明するときは、変数が並んでいる部分を論理積、項同士をつなぐ部分を論理和として区別すると分かりやすくなります。
最小項番号と変数順序の確認
最小項番号を使う問題では、変数の並び順を確認することが欠かせません。
通常はA、B、Cの順に二進数へ対応させますが、問題文によってはX、Y、Zなど別の名称が使われます。
また、変数順がA、C、Bのように指定されている場合もあります。
順序が変われば、同じ番号でもカルノー図へ置く位置が変わります。
問題を解く前に、どの変数が最上位ビットに相当するかを確認してください。
真理値表とカルノー図で変数順をそろえることが、計算ミスの予防につながります。
元の真理値表による検算
簡略化した論理式を作った後は、元の真理値表と一致するか検算します。
8通りすべてを代入して確認すれば、最も確実です。
たとえば答えがCになったなら、Cが1の行で出力が1になり、Cが0の行で出力が0になるかを見ます。
グループの見落としや、否定記号の付け忘れは、検算で発見しやすい間違いです。
試験では時間が限られる場合もありますが、少なくとも1になる行と0になる行を1つずつ確認すると安心です。
カルノー図で得た式は、必ず元の出力条件と照らし合わせてください。
短い式であっても、真理値表と一致しなければ正しい簡略化にはなりません。
3変数カルノー図のまとめ
3変数カルノー図では、Aを行、BCを列に置き、BCを00、01、11、10のグレイコード順に並べることが基本です。
真理値表で出力が1となる位置を転記し、隣接する1を1個、2個、4個、8個の単位でグループ化します。
大きいグループほど多くの変数を消せるため、まず4個のグループを探すと効率的です。
左右端も隣接しているため、表の端にある1を見逃さないことが重要になります。
グループ内で変化する変数は消え、固定された変数だけが簡略化後の論理式に残ります。
配置ルール、端の接続、2の累乗によるグループ化を押さえれば、3変数の論理式は図を使って分かりやすく整理できるでしょう。