命題と論理演算

情報処理

この記事では数学や情報処理で用いられる命題と論理演算について説明をします。
命題とは何かというところから、実用的な論理演算への変形を扱います。
また論理演算とブール演算という言葉が混在していますので、その解説もします。

【まとめ】命題と論理演算
最初にまとめです。
命題とは

文章や数式など、何らかの手段で表現された主張のうち、その真(truth)、偽(false)の判定が可能なものを命題(proposition)といいます。

例)

① 1円玉は1gである
② 身長175cmの彼はBMI基準で太っている
③ 1トンは100kgである
④ 彼女はかわいい

①は常に真となる、②は彼の体重によって真偽が変わる、③は常に偽となる命題です。
また、④は主観的で真偽がはっきりしないので命題とはいえません。

命題の記号化と関数化

命題は論理学の考え方であり、そのままでは工業分野(デジタル回路、情報処理)では扱いにくいため、記号化と関数化を行います。

  • 命題の記号化

命題の内容は問わずに、p,qといった記号で表すようにします。

また、命題は真偽の2値しかとらないため、この記号で表される変数も2値しかとりません。
このように2値しかとらない変数を論理変数といいます。
論理変数は真/偽に対して1/0の値をとり、この1/0の値のことを真理値といいます。

 

  • 命題の関数化

命題にある変数を含み、その値によって真偽が決まる命題を命題関数(propositional function)といい、p(x)、q(x)と表します。

そして、命題関数p(x)の変数xも論理変数である場合、p(x)は論理関数と呼ばれます。

変数は複数でもよく、その場合p(x,y)のように記載ます。

このように、一つ以上の論理変数とそれらの関係を表す論理演算子からなる論理関数で命題である論理変数の値を求めることを論理演算、またはブール演算と呼びます。

論理演算とブール演算の違い

用語が錯綜していますので、ここで整理をします。

論理演算は論理代数における演算で、ブール演算はブール代数における演算のことです。
また、論理代数はスイッチング代数とも呼ばれます。

なお、代数というのは集合とその集合に対する演算のセットのことです。
ブール代数は1/0の2値の集合とその集合に対する論理和、論理積、論理否定の論理演算を合わせたものになります。

そして、スイッチング代数はブール代数の一部です。
しかし、スイッチング代数以外のブール代数があまり用いられていないことからブール代数ならばスイッチング代数という状態になっています。

また、スイッチング代数とに論理代数の関係ですが、これは同じものです。
英語を日本語に置き換える際、「switching」に「論理」を当てはめています。

以上から、「論理」、「スイッチング」、「ブール」という言葉はほぼ同義でああるため、混在して用いられているという状況になっています。

言葉としてどれを用いるのか、答えが一つでは無い状態であるため、説明を行う相手がどの言葉を用いているのか調べ、それに合わせるのが適切だと考えます。

以下に対応関係をまとめました。

コメント

タイトルとURLをコピーしました