ロジカル‐オペレーション【logical operation】
ろんり‐えんざん【論理演算】
論理演算
【英】logical operation
論理演算とは、真と偽の2つの入力値に対して行う演算のことである。
論理演算は、コンピュータにおける情報の内部表現であるが、リレーショナルデータベースの原理やプログラム上でのビット演算などでも利用される。集合論が基本になっているとされている。
論理演算には、論理積(AND)、論理和(OR)、排他的論理和(XOR)があり、いずれの演算結果も必ず真、または、偽になる。また、演算には、否定(NOT)もあり、それぞれ、否定論理積(NAND)、否定論理和(NOR)、排他的論理和の否定(XNOR)となる。なお、論理演算の入出力の結果を表す真理値表というものもある。
論理演算
論理演算(ろんりえんざん、logical operation)は、論理式において、論理演算子などで表現される論理関数(ブール関数)を評価し(正確には、関数適用を評価し[1])、変数(変項)さらには論理式全体の値を求める演算である。
非古典論理など他にも多くの論理の体系があるが、ここでは古典論理のうちの命題論理、特にそれを形式化したブール論理に話を絞る。従って対象がとる値は真理値の2値のみに限られる。また、その真理値の集合(真理値集合)と演算(演算子)はブール代数を構成する。
コンピュータのプロセッサやプログラミング言語で多用されるものに、ブーリアン型を対象とした通常の論理演算の他に、ワード等のビット毎に論理演算を行なう演算があり、ビット演算という。
なお、証明論的には、公理と推論規則に従って論理式を変形(書き換え)する演算がある(証明論#証明計算の種類)。
演算の種類
ここでは1出力の関数のみを扱う。2出力以上の関数は、(実装はともかく)論理的には1出力の関数を並べるだけであり自明と言ってよいであろう。以下では、真理値の記号は {0, 1} とする。
1入力
1入力1出力のブール関数は以下の4通りのみであり、その中でトリビアルでない、興味があるものはNOTだけであろう。
- 入力がなんであれ、常に 0 を出力する
- 入力がなんであれ、常に 1 を出力する
- 入力がなんであれ、入力と同じ値をそのまま出力する
- 入力が 0 であれば 1 を、入力が 1 であれば 0 を出力する。すなわち入力の反転(「否定」とも言う)を出力する (NOTあるいはinversion、以下では ¬ の記号を使う)
2入力
2つの入力 P、Q に対し、以下の16通りが全てである。
この節、および以降に続く節では、和に ∨、積に ∧ の記号を使う。
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
定理
以上の演算に対して成り立っている定理として、以下のようなものがある。(証明論的には(「命題論理の証明論」)、以下の等式のいくつかに相当する公理 and・or 推論規則が採用される)
この項目は、自然科学に関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めています(Portal:自然科学)。