はじめMath! Javaでコンピュータ数学

第24回 図による論理式の整理 その1[前編]

この記事を読むのに必要な時間:およそ 1.5 分

図面は,ものの構造や作り方を正確に伝えるために不可欠です。更には,図面を作ることで,どこをどう改良すればよいかがわかります。例えば構造物の設計では,構造物の図面の上に力のかかり具合を重ね合わせて描いてみます。そうすると,構造物のどの部分に力が集中しているか,それはなぜか,どこを丈夫にするべきかがわかります。更に,思ったほど力が加わっていないところは高価な材料を使わずに済むといった判断が出来ます。これは数字と数式だけではなかなか得られない,図面の利点です。

論理の数学にも,式の変形や整理に大変役立つ図法があります。今回はその方法,カルノー図を学習しましょう。

図24.1 図面で検討,無駄なくシンプルに

図24.1 図面で検討,無駄なくシンプルに

カルノー図

カルノー図とは,論理式を簡略化する目的で作られた方法で,論理変数が3つか4つの時に特に有効に使えます※1)。論理代数の公式を用いずに,一気に式を簡略化出来るスグレモノです。

2変数の場合のカルノー図

カルノー図がどんなものか理解するために,最も基本的な,論理変数が2 つの場合から見ていきましょう。2 変数の場合のカルノー図は図24.2のように作ります。

図24.2 2変数の場合のカルノー図

図24.2 2変数の場合のカルノー図

先ず,図24.2の(a)に示した枠を書きます。2変数の論理式でしたら,どんな式もこの枠で表現できます。今回は簡単な例として次の式24.1の右辺をカルノー図を利用して整理してみます。

式24.1の右辺は二つの項の和で出来上がっています。それぞれの項に注目し,カルノー図中でその項が表しているマスにチェック(✔)を入れていきます。

右辺の左端の項,A・Bを表しているのは,図24.2の(b)のように右下のマスです。ここにチェックを入れましょう。

次の項,Ā・Bは図24.2の(c)に示したように右上のマスです。ここにチェックを入れましょう。

以上で式24.1の右辺のすべての項に関してチェックが終了しました。式24.1の右辺を表すカルノー図は,図24.2の(b),(c)でチェックの入ったところすべてをあわせたもの(論理和をとったもの)ですから,24.2の(d)になります。

さて,これからがカルノー図の働きの最重要点です。図24.2の(e)に示すように,チェックの入ったマスで,辺の接するもの同士をできるだけ大きな長方形か正方形で囲みます。今回の場合は右端の縦の列がチェックの連続するマスになっていますので,その通りに囲みました。L字型や凸型の囲みはあってはなりません。

ここで,図24.3をご覧ください。

図24.3 2変数のカルノー図の囲み方の例

図24.3 2変数のカルノー図の囲み方の例

図24.3に示した(a)から(e)が典型的な囲み方の例です。あらゆる場合がここに示した場合か,これらを回転した形,または組み合わせになります。図24.3の(f)は組み合わせた場合の例で,3カ所にチェックが入っているため,一カ所囲みが交差しています。(f)のようにチェックが入っているときに,L字型の囲みにしてはなりません。囲み(グループ)の数はなるべく少なくなるようにします。

さて,再び図24.2の(e)に戻りましょう。囲みの入った部分がなにを表しているかというと,式24.1の成り立つ場合です。よく見ると,論理変数Bが真の時について,論理変数Aの真偽に関わらずチェックが入っています。これは式24.1がBに等しいことを表しているのです。式で表すと次のようになります。

おっと,式が大変シンプルになりました。確認のために論理代数の公式を使って式変形してみましょう。

確かにカルノー図で得られた結果と同じですね。ちょっと驚きですね。カルノー図では式の表す通りにチェックを入れ,グループ化し,また式で表すという視覚的で単純な作業しかしていません。それなのに,論理代数の公式を駆使した式変形と同じ結果が得られたのです。数式を操作することの苦手な人には大変うれしいことです。

※1)
論理変数が5つや6つのときは,立体的に考えることでカルノー図を利用できますが,紙の上に描くのが大変ですからあまり実用的ではありません。「立体的に」とは,サイコロ型の3次元の表を作るということです。また,論理変数が2つの時は,真理値表や論理代数の公式を利用した方が早いでしょう。

今回はここまで

今回は,カルノー図の作成手順と利用方法を丁寧に解説しました。次回は練習問題に取り組み,実際に自分の手でカルノー図から論理式を導きましょう。次回の問題4問全てに取り組めば,体が手順を覚えてしまいますよ。お楽しみに。

今回のまとめ

  • カルノー図は論理代数を利用して行う式変形と同じ結果を単純な図操作によって得ることができる便利な方法です。

著者プロフィール

平田敦(ひらたあつし)

地方都市の公立工業高等学校教諭。趣味はプログラミングと日本の端っこ踏破旅行。2010年のLotYはRuby。結城浩氏のような仕事をしたいと妄想する30代後半♂。

コメント

コメントの記入