基本情報技術者試験の離散数学:真理値表と論理演算をやさしく読み解く

基本情報技術者試験 離散数学 真理値表と論理演算のアイキャッチ画像

基本情報技術者試験のテクノロジ系では、離散数学の分野から論理演算に関する問題が出題されます。

一見すると、X□Y のような見慣れない記号が出てきて戸惑うかもしれません。しかし、このタイプの問題で大切なのは、記号の名前を知っていることではありません。表に書かれている結果から、未知の演算の中身を読み取ることです。

この記事では、問題文や選択肢をそのまま転載せず、真理値表の見方、各項目の意味、そして解き方の流れを一つずつ整理します。

この記事でわかること

  • 真理値表とは何か
  • 01 が何を表しているのか
  • XYX□Y の意味
  • ANDOR の基本
  • 未知の論理演算を表から読み取る考え方
  • 基本情報技術者試験での解き方のコツ

まず「0」と「1」の意味を押さえる

論理演算では、01 は単なる数字というより、条件の成り立ち方を表します。

意味 イメージ
0 条件が成り立たない
1 条件が成り立つ

たとえば、「スイッチが入っている」という条件を考えると、入っていれば 1、入っていなければ 0 と考えることができます。

基本情報技術者試験では、論理演算、集合、ビット演算などでこの 01 の考え方がよく使われます。

真理値表とは?

真理値表とは、入力の組み合わせごとに、演算結果がどうなるかを整理した表です。

XY の2つの変数があり、それぞれが 0 または 1 を取る場合、組み合わせは次の4通りです。

X Y
0 0
0 1
1 0
1 1

この4通りを順番に見れば、論理演算の結果を漏れなく確認できます。

XとYは「入力」と考える

XY は、論理演算に入れる2つの値です。

問題の中では、XY がそれぞれ 0 または 1 を取ります。つまり、先ほどの4通りの組み合わせについて、何らかの計算結果を調べることになります。

ここで難しく感じやすいのが、X□Y という表現です。

□は「まだ正体がわからない演算」

X□Y は、まだ名前が分からない論理演算を表しています。

普通の計算でいえば、+- の代わりに、何の計算か分からない記号が置かれているようなものです。

ただし、何も手がかりがないわけではありません。問題では、X□Y を使った別の式の結果が与えられています。その結果から、X□Y がそれぞれの行で 0 なのか 1 なのかを逆算していきます。

このとき、X□Y をいったん Z と置くと考えやすくなります。

X□Y = Z

こう置くと、複雑に見える式も次のように見やすくなります。

  • X AND (X□Y)X AND Z
  • X OR (X□Y)X OR Z

ANDは「両方が1なら1」

AND は「かつ」という意味の論理演算です。

A AND B は、AB の両方が 1 のときだけ 1 になります。どちらか一方でも 0 なら、結果は 0 です。

A B A AND B
0 0 0
0 1 0
1 0 0
1 1 1

特に大切なのは、次の2つです。

  • 0 AND Z は、Z が何であっても 0
  • 1 AND Z は、Z と同じ値になる

この性質を使うと、表から X□Y の値を読み取れます。

ORは「どちらかが1なら1」

OR は「または」という意味の論理演算です。

A OR B は、AB のどちらか一方でも 1 なら 1 になります。両方とも 0 のときだけ、結果は 0 です。

A B A OR B
0 0 0
0 1 1
1 0 1
1 1 1

ここで大切なのは、次の2つです。

  • 0 OR Z は、Z と同じ値になる
  • 1 OR Z は、Z が何であっても 1

ANDとORは、0 と組み合わせたとき、1 と組み合わせたときの動きが違います。ここが今回の問題を解くポイントです。

Xが0の行では、OR側を見る

X□YZ と置いて考えます。

まず、X0 の行を見ます。

このとき、X OR Z は次のようになります。

0 OR Z = Z

つまり、X0 の行では、X OR (X□Y) の結果がそのまま X□Y の値になります。

一方で、X AND Z は次のようになります。

0 AND Z = 0

これは、Z0 でも 1 でも結果が 0 になります。つまり、X0 の行では、AND側を見ても X□Y の値は分かりません。

そのため、X=0 の行では OR側の結果を見る のが効率的です。

Xが1の行では、AND側を見る

次に、X1 の行を見ます。

このとき、X AND Z は次のようになります。

1 AND Z = Z

つまり、X1 の行では、X AND (X□Y) の結果がそのまま X□Y の値になります。

一方で、X OR Z は次のようになります。

1 OR Z = 1

これは、Z0 でも 1 でも結果が 1 になります。つまり、X1 の行では、OR側を見ても X□Y の値は分かりません。

そのため、X=1 の行では AND側の結果を見る のが効率的です。

X□Yの真理値表を整理する

ここまでの考え方を使うと、X□Y の値は次のように整理できます。

X Y X□Y
0 0 1
0 1 1
1 0 0
1 1 1

ポイントは、すべての列を難しく計算しようとしないことです。

X=0 のときはOR側を見る。X=1 のときはAND側を見る。このように、どの列を見れば必要な値が分かるかを考えると、落ち着いて解けます。

この演算は「XならばY」に近い

上の表を見ると、X□Y0 になるのは、X=1 かつ Y=0 のときだけです。

これは論理の世界では、X → Y、つまり「XならばY」という形に対応します。

「XならばY」が成り立たないのは、Xが成り立っているのにYが成り立っていない場合だけです。

X Y XならばY
0 0 1
0 1 1
1 0 0
1 1 1

ただし、試験でこの名前を知らなくても解けます。大切なのは、表から必要な値を読み取れることです。

試験での解き方のコツ

このタイプの問題では、次の順番で考えると整理しやすくなります。

  1. 分からない演算を一時的に Z と置く
  2. ANDOR の基本性質を確認する
  3. X=0 の行では、0 OR Z = Z を使う
  4. X=1 の行では、1 AND Z = Z を使う
  5. 求めた X□Y の値と選択肢を照合する

特に、0 AND Z1 OR Z のように、Z が何であっても結果が決まる式は、逆算には向いていません。

逆に、0 OR Z1 AND Z のように、結果が Z と同じになる式は、未知の値を読み取る手がかりになります。

まとめ

離散数学の真理値表の問題は、見慣れない記号が出てくると難しく見えます。

しかし、X□Y をいったん Z と置き、ANDとORの基本に戻って考えると、落ち着いて解けます。

今回のポイントは次の通りです。

  • 0 は偽、1 は真を表す
  • 真理値表は、入力の組み合わせごとの結果を整理した表
  • AND は両方が 1 のときだけ 1
  • OR はどちらかが 1 なら 1
  • X=0 の行では、OR側を見ると X□Y が分かる
  • X=1 の行では、AND側を見ると X□Y が分かる
  • 求める表は、X=1 かつ Y=0 のときだけ 0 になる

基本情報技術者試験では、公式を丸暗記するよりも、表の意味を読み取る力が大切です。ひとつひとつの項目の意味を確認しながら解けば、未知の記号が出てきても対応しやすくなります。

参考