名古屋工業大学
先進セラミックス研究センター
井田 隆
名古屋工業大学 環境材料工学科 3 年次授業「マテリアルデザイン」の講義ノートです。
記号論理あるいは論理代数には,「論理を数学的に表現するための方法」という面もあるのですが,普通の代数学で「いろいろな値をとりうる数のようなもの」を x という文字で表すのと同じように,「0 か 1 の論理値をとりうる変数」を x や A などの文字(論理変数)を使って表すだけのことです。
ディジタル回路では,回路上の特定の場所の電圧や,特定の導線を流れる電流,特定のキャパシタに蓄えられる電荷などが「0 とみなせる場合」と「0 以外とみなせる場合」の 2 種類あり,この二つの状態が頻繁に入れ替わります。ディジタル回路を使って論理演算をする場合に,論理変数は抽象的な概念というより,むしろ回路上の接点や導線,キャパシタなど「目に見えて実在するもの」に対応します。
ブール代数で使われる演算は NOT 演算,AND 演算,OR 演算の3種類だけです。そして,それぞれ以下の規則に従います。
X, A ∧ B, A ∨ B という演算は,上の規則以外は +, −, ×, ÷ などの演算とまったく同じように扱えます。これらの演算を「論理演算」といいます。
「NOT 演算」X は「否定」あるいは「反転 inversion」とも呼ばれます。
「AND 演算」A ∧ B は,0 と 1 の値にしか使わないことを除けば「かけ算」A × B とまったく同じことです。AND 演算の規則が,「0 ×0 = 0」,「0 ×1 = 0」,「1 ×0 = 0」,「1 × 1 = 1」という関係にそのまま対応していることを確認してください。AND 演算のこと,あるいは AND 演算の結果のことを,論理的なかけ算という意味で「論理積」という言葉で表します。
「OR 演算」 は,「たし算」A + B と似ています。1 + 1 = 2 に対して 1 ∨ 1 = 1 というところが違っていますが,論理的な足し算という意味で「論理和」という言葉が使われます。
任意の論理値(つまり 0 か 1 の値)を取る変数を論理変数と呼びます。たとえば,「今日が休講だということが正しいか」を A という記号で表して,「正しい」ということを「A は 1 という値を取る」と言い換えて,「正しくない」ということを 「A は 0 という値を取る」言い換えることにします。
つまり,今日が休講なら A = 1,休講でなければ A = 0 と書くことができます。また,「今日は休講だ」という記述を否定すれば「今日は休講でない」ということになりますから,「今日は休講でないということが正しいか」が A と表されます。
今度は,「来週は試験だということが正しいか」を B という記号で表せば,「今日は休講でなおかつ来週は試験だということが正しいか」が A ∧ B と表され,また,「今日が休講であるか来週が試験であるかのどちらかだということが正しいか」が A ∨ B と表されることになります。
簡単なことをわざと難しくしているように思えるかもしれませんが,実際に使う論理演算は,(論理と言う名前はついていますが)必ずしも普通の意味での「論理」と対応づけられなければいけないという必然性はありません。
現実的な問題として,電気回路を使って情報を伝える場合に,電圧や電流を微妙にコントロールして行うような回路(アナログ回路)を作るのは難しいけれど,スイッチの on/off あるいはトランジスタの on/off (低抵抗状態と高抵抗状態)で行う回路(ディジタル回路)を作るのは簡単で確実だという面があります。
必要なことは,普通の計算( +, −, ×, ÷ などの)の規則ではなく,「論理演算の規則」に従うということです。もし頭が混乱してきたら,論理演算の規則に戻って考えるようにしてください。
表 1.1 と 表1.2 に論理演算の規則を表にまとめたもの(論理値表)を示します。
X | X |
---|---|
0 | 1 |
1 | 0 |
A | B | A ∧ B | A ∨ B |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 |
1 | 0 | 0 | 1 |
1 | 1 | 1 | 1 |
2011年4月17日公開
2013年4月4日更新