論理演算の基礎(真偽及びAND/OR/NOT)

本節の目的

曖昧さの無い判断に必要な論理演算の基礎を学びます。これを知ることにより、次節で学ぶ情報検索がより有効にできるようになるとともに、処理(プログラミング)の基本思想が身につきます。

真偽(true or false)

本節では物事を正確に判断するために、「命題」と呼ばれる意味に曖昧さの無い文章についてのみ考えます。

例えば、「私の体重は50kg以上である」という文章は、曖昧なところが無いので「命題」と言えますのでここで扱いますが、「熊本の夏は暑い」という文章は、「夏」や「暑い」という定義が曖昧ですので、ここでは取扱いません。

命題に「具体的な物や事柄を設定する」と、命題は、「正しい」か「正しくない」のどちらかに区別することができます。「正しい」ことを「真(しん)、true」と呼び、「正しくない」ことを「偽(ぎ)、false」と呼びます。

例えば、前述の「私の体重は50kg以上である」という命題で、「私」が「朝青龍」の時は、左記の命題は「真(true)」となりますが、「私」が「昨夜生まれた(人間の)赤ちゃん」のときは、「偽(false)」となります。

これら「命題」や「命題の真偽」を別の見方をすると、「物事を(明確な)グループに分ける行為」と見ることができます。

例えば、「私の体重は50kg以上である」という命題は、「体重が50kg以上であるグループ」を表わしていると言うことができます。下図のA(円形の領域)が「体重が50kg以上であるグループ」を表わしているとすると、A以外(円形の外側)の領域は、「そうで無いグループ」すなわち「体重が50kg未満であるグループ」を表わすことになります。

そして、上図Aに含まれる「朝青龍」を「私」とした「私の体重は50kg以上である」という命題は「真」となり、上図Aに含まれない「昨夜生まれた(人間の)赤ちゃん」を「私」とした上記命題は「偽」となります。

このように、ある事柄を明確に断定する文章というのは、世の中にあるあらゆる事柄を、特定の視点でグループに分ける働きをしていることがわかります。

AND(論理積)とOR(論理和)

命題が同時に複数ある場合は、どのようになるでしょう。

下図のように A と B の2つの命題があったとします。例えば、Aが「私は小学1年生だ」という命題で、Bが「私は小学6年生だ」という命題だと上図のような関係になります。

ただ、2つの命題には下図のように重なりのある場合が一般的です。 例えば、Aが「私の体重は、50kg以上である」という命題で、Bが「私の身長は、160cm以上である」という命題の場合がそうです。

このように重なりのある2つの命題(グループ)の重なりの部分(図中のCの領域)は、「命題Aが真であり、かつ、命題Bが真である」部分(グループ)なので、「命題Aと命題BのAND (論理積)」と呼びます。上の命題の例で考えると、体重が50kg以上でかつ身長が160cm以上の人が、AとBのANDを表わすことになります。

また、2つの命題の全ての領域(2つの命題のどちらかが真である)領域(グループ)は、「命題Aが真であるか、または命題Bが真である」部分(グループ)なので、「命題Aと命題BのOR (論理和)」と呼びます。下の左図の、A'とB'とCを合わせた領域、あるいは、右図の灰色の領域がそれを表わしています。上の命題の例で考えると、体重が50kg以上、または、身長が160cm以上の人が、AとBのORを表わすことになります。

 

NOT(否定)

論理演算には、「...でない」という否定という概念もあります。命題が1つの場合をまず考えてみましょう。下図の黄色の部分は、「A でない」領域を表しています。この領域の事象のことを、「命題Aの否定 (NOT)」と呼びます。

Aが「私の体重は、50kg以上である」という命題であるとすれば、Aの否定(NOT)は、「私の体重は、50kg以上でない」ということであり、すなわち、「私の体重は、50kg未満である」ということになります。

NOTは、ANDORと組み合わせることにより、ANDもしくはORで示す論理関係全体、もしくはその一部を否定することができます。

例えば、2つの命題 Aと Bがある場合を考えてみましょう。「命題A (が真であり)、かつ、命題Bの否定」(つまり、命題Bはである)部分を図で表すと次のようになります。

Aが「私の体重は、50kg以上である」という命題で、Bが「私の身長は、160cm以上である」という命題を例にとると、「体重が 50kg以上であり、身長が160cm未満」の集合を表しています。

練習

Aが「私の体重は、50kg以上である」という命題で、Bが「私の身長は、160cm以上である」という命題である場合に、Aまたは(OR) Bという事象(命題)全体の否定(NOT)は、どのような命題になるでしょう。また、図のどの部分になるでしょう。


atten(正解)「私の体重が50kg未満で、かつ、私の身長が160cm未満」である事象です。図では、5の部分になります。

真偽やAND/OR/NOTの応用

それでは、どのような場面で真偽やAND/ORなどを使うのでしょうか。例えば、以下のような局面で必要になります。

  • 検索Webサイトでキーワードを複数入力し、AND検索とOR検索との使い分けを行なうとき。
  • 表計算ソフトで、条件により、必要な計算結果を選択的に出力するとき。
  • Javascript等のプログラミング言語で、条件により処理の流れを変えるとき。

Copyright Kenichi Sugitani 2009, All Rights Reserved.

Last modified: Wednesday, 16 September 2015, 3:18 PM