デジタル回路やプログラミングの学習を進めていくと、必ずと言っていいほど直面するのが真理値表から論理式への変換という作業です。
入力と出力の組み合わせを一覧化した表を見ただけでは、どのような論理式にすればよいのか分からず、手が止まってしまう方も多いのではないでしょうか。
真理値表から論理式への変換方法は?ツールや手順も解説!(カルノー図・最小項・論理関数・導出方法など)というテーマは、情報系の授業だけでなく資格試験やハードウェア設計の現場でも頻繁に登場します。
結論から言うと、変換の基本は最小項を使った主加法標準形の作成と、カルノー図による簡略化の二本柱です。
この記事では、真理値表の読み方から論理式の導出手順、さらに作業を効率化してくれる便利なツールまで、順を追って丁寧に解説していきます。
論理回路の設計や試験対策で迷っている方は、ぜひ最後まで読み進めてみてください。
真理値表から論理式を導く結論と全体の流れ
それではまず真理値表から論理式を導くための結論と、全体の作業の流れについて解説していきます。
先に結論をお伝えすると、真理値表から論理式を作る際は出力が1になる行だけに注目し、その組み合わせをAND(論理積)でつなぎ、最後に全体をOR(論理和)でまとめるという手順が基本です。
この方法は主加法標準形、あるいは加法標準形と呼ばれ、どんな真理値表であっても機械的に論理式へ変換できる汎用性の高さが特徴です。
導かれた式はそのままでも正しい論理関数ですが、項数が多く冗長になりやすいという弱点があります。
そこで登場するのがカルノー図で、隣接するセルをグループ化することで論理式を最小限の項数まで簡略化できます。
真理値表から論理式を導くポイントは大きく二つです。
一つ目は出力が1になる行から最小項を拾い上げること。
二つ目はカルノー図やブール代数を使って式を簡略化すること。
この二段階を意識するだけで、どんな真理値表にも対応できる考え方が身につきます。
結論 最小項の抽出が変換の第一歩
真理値表を見たとき、まず行うべきは出力が1になっている行を洗い出す作業です。
それぞれの行における入力の組み合わせは、変数が0のときは否定形、1のときはそのままの形で表現し、AND記号で結び付けます。
この一つひとつの積の形が最小項と呼ばれるもので、真理値表から論理式を作るうえでの最小単位になります。
結論 OR結合で主加法標準形を完成させる
抽出したすべての最小項をOR(論理和)でつなげば、それだけで真理値表と完全に一致する論理式が完成します。
この時点の式は正しいものの、変数の数が増えるほど項数が膨大になりがちです。
そのため実務や試験の解答としては、次のステップである簡略化まで行うのが一般的な流れといえるでしょう。
結論 簡略化まで含めてワンセットで考える
真理値表から論理式への変換は、単に式を作るだけでなく最小の形に整理するところまでがワンセットです。
簡略化を怠ると回路設計では余分なゲートが増え、コストや消費電力の面で不利になってしまいます。
結論として、最小項の抽出とカルノー図による簡略化、この二つをセットで覚えておくことが遠回りに見えて最短ルートです。
真理値表の基本構造と論理式との対応関係
続いては真理値表の基本構造と、論理式との対応関係について確認していきます。
真理値表とは、入力変数のすべての組み合わせに対して出力がどうなるかを一覧にした表のことです。
入力変数がn個ある場合、組み合わせは2のn乗通りになるため、行数は変数の数に応じて指数的に増えていきます。
この表を正しく読み取れるかどうかが、後の論理式変換の精度を大きく左右します。
| 入力A | 入力B | 出力Y | 対応する最小項 |
|---|---|---|---|
| 0 | 0 | 0 | 該当なし |
| 0 | 1 | 1 | A'B |
| 1 | 0 | 1 | AB' |
| 1 | 1 | 0 | 該当なし |
上の表のように、出力Yが1になっている行だけを拾い、それぞれの入力の組み合わせを積の形にして書き出します。
この例であれば論理式はY等しいA'B足すAB'という排他的論理和(XOR)の形になります。
入力変数の並び順を統一する重要性
真理値表を作成する際、入力変数の並び順がバラバラだと後々の照合作業でミスが起きやすくなります。
一般的にはA、B、Cのようにアルファベット順で固定し、2進数のカウントアップと同じ順序で行を並べるのが基本です。
この規則性を守ることで、カルノー図への転記もスムーズに行えるようになるでしょう。
出力が複数ある場合の考え方
出力が一つとは限らず、複数の出力を持つ論理回路も少なくありません。
その場合は出力ごとに独立した真理値表とみなし、それぞれ個別に論理式を導出する必要があります。
共通する入力変数があっても、出力Aと出力Bの論理式は基本的に別物として扱う点に注意してください。
ドントケア(無関係項)の扱い方
実際の設計現場では、特定の入力の組み合わせが絶対に発生しないケースが存在します。
このような場合は出力を0にも1にも決めない「ドントケア」として真理値表にXやハイフンで記載することが可能です。
ドントケアはカルノー図での簡略化の自由度を高めてくれるため、うまく活用すればより短い論理式を導けます。
カルノー図を使った論理式の簡略化手順
続いてはカルノー図を使った論理式の簡略化手順について確認していきます。
カルノー図とは、真理値表の内容を格子状のマスに配置し、隣り合うマスが1ビットだけ異なるように並べた図のことです。
この特殊な並び方のおかげで、視覚的に共通項をグループ化しやすくなり、論理式の簡略化が格段にやりやすくなります。
カルノー図の作成例(変数A、Bの場合)
横軸をBの0と1、縦軸をAの0と1として2行2列のマスを用意します。
各マスに真理値表の出力値を書き込み、1が入っているマス同士をグループ化します。
手順1 マスに出力値を転記する
まず真理値表の各行に対応するマスへ、出力の値をそのまま書き写していきます。
変数が2つなら2行2列、3つなら2行4列、4つなら4行4列というように、変数の数に応じてマスのサイズが変わります。
転記ミスがあると簡略化の結果も誤ってしまうため、一行ずつ丁寧に確認しながら進めることが大切です。
手順2 隣接する1のマスをグループ化する
次に、値が1になっているマスのうち隣接しているもの同士をグループとして囲みます。
グループの大きさは1、2、4、8というように必ず2のべき乗の数でまとめる必要があります。
できるだけ大きなグループを作るほど、その分だけ論理式に含まれる項がシンプルになる仕組みです。
手順3 グループごとに論理式を読み取る
最後に、それぞれのグループの中で値が変化していない変数だけを抜き出し、積の形にまとめます。
グループ内で0と1の両方が混在している変数は、その項からは消去して構いません。
すべてのグループから得られた項をORで結合すれば、簡略化された論理式の完成です。
最小項と主加法標準形による導出方法
続いては最小項と主加法標準形による導出方法について確認していきます。
最小項とは、すべての入力変数を過不足なく使った積の形のことで、真理値表の一行一行に対応する最も基本的な単位です。
この最小項をΣ(シグマ)記号を使ってΣm(0、2、5)のように表記する方法も、教科書や資格試験ではよく見かける表現でしょう。
最小項の表記例
変数がA、B、Cの3つで、行番号2(A等しい0、B等しい1、C等しい0)が出力1のとき
対応する最小項はA'BC'となります。
主加法標準形(SOP)の作り方
主加法標準形とは、すべての最小項をOR結合した論理式のことで、Sum of Products、略してSOPとも呼ばれます。
作り方は非常にシンプルで、出力が1になる行の最小項をすべて拾い上げてORでつなげるだけです。
機械的に処理できる反面、変数の数が増えると項数も増えていくため、後の簡略化とセットで扱うのが基本になります。
主加積標準形(POS)という別のアプローチ
SOPとは逆に、出力が0になる行に注目して式を作る方法もあり、これは主加積標準形、Product of Sums、略してPOSと呼ばれます。
POSでは出力が0になる行の入力を和(OR)の形でまとめ、それらをAND結合していきます。
出力が0になる行の数が少ない真理値表では、SOPよりもPOSの方が式がシンプルになるケースもあるでしょう。
クワイン・マクラスキー法による代数的な簡略化
変数の数が5つ以上になると、カルノー図では視覚的な把握が難しくなってきます。
そのような場合に役立つのがクワイン・マクラスキー法という代数的な簡略化アルゴリズムです。
最小項同士を1ビットだけ異なるものでペアにしていき、統合できなくなるまで繰り返すことで最簡形を求められます。
変換作業を効率化するツールの紹介
続いては変換作業を効率化してくれる便利なツールについて確認していきます。
手作業でのカルノー図作成は変数が増えるほど大変になるため、オンラインツールやソフトウェアの活用がおすすめです。
| ツール名の種類 | 特徴 | おすすめの使い方 |
|---|---|---|
| オンライン型カルノー図生成サービス | 真理値表を入力するだけで自動でグループ化まで表示 | 授業や試験対策の答え合わせに最適 |
| 数式処理系のWebサービス | 論理式を入力すると簡略化した式を即座に返してくれる | 複雑な式の検算に便利 |
| 表計算ソフトのマクロ機能 | 大量の真理値表を一括処理できる | 回路設計の実務での自動化に活用 |
オンライン型カルノー図ツールの活用法
ブラウザ上で入力変数の数を指定し、各マスに0や1を入力するだけで自動的にグループ化まで行ってくれるサービスが多数公開されています。
こうしたツールは学習段階での答え合わせに向いており、自分の手作業による結果と照らし合わせることで理解が深まります。
ただし、途中の考え方まで身につけるには、最初は必ず自力で解いてからツールで検算する順序を守ることが望ましいでしょう。
数式処理系サービスでの検算方法
導き出した論理式が正しいかどうかを確認したいときは、ブール代数に対応した数式処理系のWebサービスが役立ちます。
論理式をそのまま入力欄に打ち込めば、真理値表の形に展開して表示してくれる機能を備えたサービスも存在します。
自分で作った真理値表と照合することで、変換ミスがないかを客観的にチェックできるのが大きなメリットです。
表計算ソフトを使った大規模データの処理
入力変数が多く行数が膨大になる場合は、表計算ソフトの論理関数(IF関数やAND関数、OR関数など)を組み合わせて処理する方法も有効です。
マクロやスクリプトを組めば、最小項の抽出から式の出力まで自動化することも十分可能でしょう。
実務でセンサーの組み合わせ制御などを扱う場面では、こうした自動化の仕組みが作業時間の大幅な短縮につながります。
変換時に起こりやすいミスと対策
続いては変換作業の中で起こりやすいミスと、その対策について確認していきます。
真理値表から論理式への変換は手順自体はシンプルですが、細かいところでつまずく方が非常に多い分野です。
否定記号の付け忘れによる符号ミス
最小項を作る際、入力が0のときに否定記号を付け忘れてしまうミスは初学者に非常に多く見られます。
対策としては、行ごとに「0なら否定、1ならそのまま」というルールを機械的に適用し、迷いを挟まないようにすることが有効です。
作業の最後に、作った論理式へもとの入力値を代入して出力が一致するか検算する習慣をつけましょう。
カルノー図のグループ化のやり直し忘れ
カルノー図では、できるだけ大きなグループを優先して作る必要がありますが、先に小さなグループを作ってしまい修正を怠るケースが目立ちます。
すべてのマスを囲み終えたあとに、もっと大きくまとめられるグループが残っていないか、必ず見直す工程を挟んでください。
この確認を省略すると、簡略化しきれていない冗長な式のまま提出してしまう恐れがあるでしょう。
端と端がつながっていることを忘れる
カルノー図は表の右端と左端、上端と下端がそれぞれつながっているという特殊な構造を持っています。
この性質を知らないと、本来グループ化できるはずのマスを見逃してしまい、簡略化が不十分な式になってしまいます。
変数が4つ以上のカルノー図を扱うときほど、この端同士のつながりを意識することが重要になってきます。
まとめ
今回は真理値表から論理式への変換方法について、結論から具体的な手順、便利なツール、注意点まで幅広く解説してきました。
基本の流れは、出力が1になる行から最小項を抽出して主加法標準形を作り、その後カルノー図やクワイン・マクラスキー法で簡略化するという二段階です。
変数の数が少ないうちは手作業で十分対応できますが、数が増えてきたらオンラインツールや表計算ソフトを積極的に活用することをおすすめします。
否定記号の付け忘れやグループ化の見直し不足といった細かいミスにも気を配りながら、繰り返し練習することで確実に身につく技術です。
この記事を参考に、真理値表から論理式への変換をスムーズにこなせるようになっていただければ幸いです。