Таблица истинности

Материал из testwiki
Перейти к навигации Перейти к поиску

Шаблон:Falseredirect Таблица истинности — таблица, описывающая логическую функцию.

Под «логической функцией» в данном случае понимается функция, у которой значения переменных (параметров функции) и значение самой функции выражают логическую истинность. Например, в двузначной логике они могут принимать значения «истина» либо «ложь» (true либо false, 1 либо 0).

Табличное задание функций встречается не только в логике, но и в логических функциях. Таблицы оказались довольно удобными, и с начала XX века за ними закрепилось это специальное название. Особенно часто таблицы истинности применяются в булевой алгебре.

Таблицы истинности для основных двоичных логических функций

Таблица истинности, содержащая в шестнадцати столбцах и четырёх строках битовые значения, и операции над ними
Полная таблица истинности для двух элементов

Область определения аргументов и область значения двоичных логических функций принадлежат множеству {0,1} и принято, что 0<1.

Двоичные логические функции 1 переменной (унарные)

Идентичность

(логическая тождественность)

a id(a)
0 0
1 1
id(a) истинно, если a истинно;

ложно, если a ложно

Отрицание

(НЕ, NOT, логическая инверсия)

a ¬a
0 1
1 0
¬a истинно, если a ложно;

ложно, если a истинно

Двоичные логические функции 2 переменных

Конъюнкция

(И, AND, & логическое умножение)

a b ab
0 0 0
0 1 0
1 0 0
1 1 1
ab истинно, если истинно a и истинно b
Дизъюнкция

(ИЛИ, OR, логическое сложение)

a b ab
0 0 0
0 1 1
1 0 1
1 1 1
ab истинно, если истинно a или истинно b
Исключающее «или»

(XOR, логическая неравнозначность)

a b ab
0 0 0
0 1 1
1 0 1
1 1 0
ab истинно, если ab
Эквиваленция

(EQ, XNOR, логическая равнозначность)

a b ab
0 0 1
0 1 0
1 0 0
1 1 1
ab истинно, если a=b
Импликация

(логическое неравенство «не более»)

a b ab
0 0 1
0 1 1
1 0 0
1 1 1
ab истинно, если ab
Обратная импликация

(логическое неравенство «не менее»)

a b ab
0 0 1
0 1 0
1 0 1
1 1 1
ab истинно, если ab
Штрих Шеффера

(И-НЕ, NAND, инверсия конъюнкции)

a b ab
0 0 1
0 1 1
1 0 1
1 1 0
ab истинно, если ложно a или ложно b
Стрелка Пирса

(ИЛИ-НЕ, NOR, инверсия дизъюнкции)

a b ab
0 0 1
0 1 0
1 0 0
1 1 0
ab истинно, если ложно a и ложно b

Двоичные логические функции 3 переменных (тернарные)

Условная дизъюнкция
a b c [a,b,c]
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1

Истинность функции [a,b,c] определяется по формуле: «если значение a истинно, то результатом функции будет значение b, иначе — значение c», что соответствует тернарной условной операции.

Помимо условной дизъюнкции существуют и другие функционально полные тернарные операции.

Размер двоичной таблицы истинности

Если дано n входных параметров двоичной функции, то можно описать 2n возможных комбинаций входных параметров. Так как функции возвращают значения истина или ложь для каждой комбинации, то количество различных функций (таблиц истинности) от n переменных равны значению двойной экспоненциальной функции 22n.

n 2n 22n
0 1 2
1 2 4
2 4 16
3 8 256
4 16 65 536
5 32 4 294 967 296 ≈ 4.3Шаблон:E
6 64 18 446 744 073 709 551 616 ≈ 1.8Шаблон:E
7 128 Шаблон:Val ≈ 3.4Шаблон:E
8 256 Шаблон:Val ≈ 1.2Шаблон:E

Таблицы истинности для функций 3 и более переменных встречаются редко.

Таблицы истинности для некоторых троичных логических функций

Область определения аргументов и область значения троичных логических функций принадлежат множеству {0,1,2} и принято, что 0<1<2:

x 2 1 0 2 1 0 2 1 0
y 2 2 2 1 1 1 0 0 0
min(x,y) 2 1 0 1 1 0 0 0 0


x 2 1 0 2 1 0 2 1 0
y 2 2 2 1 1 1 0 0 0
max(x,y) 2 2 2 2 1 1 2 1 0


x 2 1 0 2 1 0 2 1 0
y 2 2 2 1 1 1 0 0 0
F2TN22310 0 0 0 0 2 2 0 2 1

Программирование

В программировании обозначение логических операций зависит от синтаксиса конкретного языка программирования, однако, зачастую, применяются следующие обозначения:

  • Эквиваленция: =, ==
  • Отрицание: NOT, НЕ, !
  • Конъюнкция: AND, И, &, &&
  • Дизъюнкция: OR, ИЛИ, |, ||
  • Исключающее «или»: XOR, ^, ~

См. также

Литература

Ссылки

Шаблон:Вс Шаблон:Булева алгебра Шаблон:Rq