Многозначная логика — это логика, в которой логические выражения могут принимать значения из множества, содержащего более, чем два элемента. При этом некоторые из этих значений считаются истинными. Такими свойствами многозначная логика отличается от классической логикиАристотеля, в которой логические выражения могут принимать только одно из двух возможных значений — «истина» или «ложь». Однако классическая двухзначная логика может быть дополнена до n-значной с n > 2.
В жизни же наиболее популярной является десятизначная (десятичная) логика на множестве целых десятичных чисел {0,1,2,3,4,5,6,7,8,9}. Например, многие почти каждый день складывают два одноразрядных десятичных целых числа, не зная, что при этом они производят логическую операцию (функцию) десятичного одноразрядного бинарного (двухаргументного) сложения.[источник не указан 198 дней]
Первым известным ученым, который не полностью принимал и полагался на закон исключенного третьего, был Аристотель (который, по иронии судьбы, был признан «отцом классической логики»). Аристотель признавал тот факт, что его законы не всегда могут быть применены к будущим событиям, однако он не стал обобщать двухзначную логику на n-мерный случай, чтобы устранить неточности.
До конца XIX столетия математики следовали законам Аристотелевской логики, в основе которой был закон исключенного третьего. Однако в XX веке интерес к многозначной логике начал расти. Так, например, польский математик и философ Ян Лукасевич начал разрабатывать первую систему многозначной логики, использующей третье значение — «нейтрально», чтобы преодолеть сформулированный Аристотелем парадокс морского сражения[англ.]. Тем временем американский математик Эмиль Пост представил работу, в которой была описана возможность введения дополнительных истинностных значений при . Чуть позже и Лукасевич в соавторстве с Альфредом Тарским смогли повторить успех Поста, сформулировав основные принципы n-значной логики при . В 1932 году Ханс Райхенбах обобщил эти принципы при .
Для описания многозначных пропозициональных логик используются, так называемые логические матрицы[1][2], то есть алгебраические системы вида , где — универсум, — функциональные символы, — одноместный предикатный символ. Элементам универсума соответствуют логические значения, а функциональным символам — логические связки (операции), поэтому термы сигнатуры представляют собой логические формулы. Если логическая формула такова, что , то она называется общезначимой или тавтологией данной логической матрицы, при этом предикат определяет подмножество логических значений, которые трактуются как истинные. Таким образом, строятся матричные представления пропозициональных логик — множеств тавтологий в языке, состоящем из имен переменных и связок.
Любая функция , в том числе выраженная формулой многозначной логики, где , может быть представлена в виде совершенной дизъюнктивной нормальной формы (СДНФ) многозначной логики, следующим образом[2]:
Логика неопределенности Клини(иногда обозначают ) и «логика парадокса» Приста[англ.] вводят третье «неопределенное» или «промежуточное» значение I. Таблицы истинности для отрицания (¬), конъюнкции (˄), дизъюнкции (˅), импликации (→) и эквиваленции (↔), выглядят следующим образом:
¬
T
F
I
I
F
T
∧
T
I
F
T
T
I
F
I
I
I
F
F
F
F
F
∨
T
I
F
T
T
T
T
I
T
I
I
F
T
I
F
→K
T
I
F
T
T
I
F
I
T
I
I
F
T
T
T
↔K
T
I
F
T
T
I
F
I
I
I
I
F
F
I
T
Отличие двух логик состоит в различном определении тавтологии алгебры высказываний (Тавтология — тождественно истинное высказывание, инвариантное относительно значений своих компонентов). В только T определено как истинное значение, в то время как в и T и I определены в качестве истины. В логике Клини I является «неопределенной» величиной, не являющейся «истиной» или «ложью»; в логике Приста I является «переопределенной» величиной, являющейся одновременно и «истиной», и «ложью». не содержит тавтологий, а содержит те же тавтологии, что и классическая двухзначная логика.
Внутренняя трёхзначная логика Бочвара
Другим примером может служить «внутренняя» трёхзначная логика Бочвара , полученная в 1938 году Дмитрием Анатольевичем Бочваром. Её также называют слабой трёхзначной логикой Клини. Таблицы истинности для отрицания и эквивалентности остаются прежними, а для трёх других операций принимают вид:
∧+
T
I
F
T
T
I
F
I
I
I
I
F
F
I
F
∨+
T
I
F
T
T
I
T
I
I
I
I
F
T
I
F
→+
T
I
F
T
T
I
F
I
I
I
I
F
T
I
T
В внутренней логике Бочвара I может быть описана как «независимая», поскольку её значение не зависит от значений T и F.
Логика Бельнапа B4
Логика, предложенная Нуэлем Бельнапом, объединяет в себе и . «Переопределенная» величина обозначается через B, а «недоопределенная» — через N.
f¬
T
F
B
B
N
N
F
T
f∧
T
B
N
F
T
T
B
N
F
B
B
B
F
F
N
N
F
N
F
F
F
F
F
F
f∨
T
B
N
F
T
T
T
T
T
B
T
B
T
B
N
T
T
N
N
F
T
B
N
F
Логика Геделя Gk и G∞
В 1932 году Гедель определил семейство многозначной логики с конечным набором значений:
Например, для значениями будут
Для значения примут вид:
Похожим образом Гедель определил логику с бесконечным количеством значений . Все значения в являются действительными числами, принадлежащими интервалу [0, 1]. Истиной в такой логике является 1.
Логика Геделя полностью аксиоматизируема, поэтому возможно определить логическое исчисление, в котором все тавтологии могут быть доказаны.
Логика Лукасевича Lv и L∞
Импликация (→) и отрицание (¬) были определены Лукасевичем с помощью следующих функций:
Вначале Лукасевич использовал эти определения в 1920 при описании логики со значениями .
В 1922 он описал бесконечнозначную логику , все значения которой лежали в интервале [0, 1] и представляли собой действительные числа. В обоих случаях истиной являлась 1.
Описывая значения подобным Геделю способом, а именно: можно создать конечнозначное семейство логик , а также логику , в которых значения также представлены рациональными числами и лежат в интервале [0, 1]. Множество тавтологий в и идентичны.
Результирующая логика Π
В результирующей логике мы имеем значения, принадлежащие интервалу [0,1], для которых коньюнкция (ʘ) и импликация (→) определяются следующим образом:
Ложным значением в данной логике является 0. Через него возможно определить операции отрицания (¬) и конъюнкции по сложению (˄):
Логика Поста Pm
В 1921 Пост определил семейство логик с значениями:
. (аналогично логикам и ). Отрицание (¬), конъюнкция (˄) и дизъюнкция (˅) определены следующим образом:
Логика Роуза
В 1951 году Алан Роуз описал семейство логик для систем, чьи значения образуют решетки.
Логика — это система с набором правил, предназначенная для сохранения свойств предложений при различных преобразованиях. В классической логике это свойство — «истина».
Многозначная логика предназначена для сохранения свойства обозначения. Поскольку в ней присутствует более двух «истинных» значений, правила вывода могут быть применены для сохранения дополнительных данных, которые могут не соответствовать истине. Например, трёхзначная логика может иметь два значения, соответствующих «истине» разной градации (например, они могут быть положительными целыми числа), и правила вывода сохраняют эти значения.
Например, сохраненное свойство могло быть подтверждением, играющим важную роль в интуиционистской логике. Мы не рассматриваем его истинность или ложность; вместо этого мы работаем с такими понятиями как подверженность и ошибочность.
Ключевое различие между подтверждением и истиной заключается в том, что закон исключенного третьего в данном случае не выполняется: утверждение, не являющееся ошибочным, не обязательно будет подтверждено; вместо этого доказано только, что оно не ошибочно. Ключевым отличием является определённость сохраняемого свойства: можно показать, что P подтверждено, что P некорректно, или не является ни тем, ни другим. Корректный аргумент сохраняет обоснованность при преобразованиях, поэтому утверждение, полученное на основе обоснованных утверждений, остается обоснованным. Тем не менее в классической логике есть доказательства, которые напрямую зависят от закона исключенного третьего; поскольку этот закон неприменим в рамках данной схемы, существуют утверждения, которые нельзя доказать подобным образом.
XX век ознаменовался бурным развитием систем многозначных логик, представленных в настоящее время огромным количеством исследований и статей. Однако по мере увеличения количества различных формальных систем, встал вопрос об интерпретации полученных результатов. Ученые остро осознали необходимость сведения (редукции) многозначных логик к единой основе.
В качестве одного из вариантов подобной основы может служить обычная классическая логика. Наиболее ярким представителем данного подхода является польский логик Роман Сушко, предложивший свой алгоритм сведения любой многозначной логики к классической двузначной и сформулировавший принцип, который впоследствии стали называть «тезисом Сушко». Согласно этому принципу для любой многозначной логики можно получить бивалентную семантику, описывающую данную логику.
Функциональная полнота многозначной логики
Функциональная полнота — это термин, использующийся для описания специальных свойств конечных логик и алгебр.
Логический набор является функционально полным тогда и только тогда, когда множество операций этого набора может быть использовано для описания формулы, соответствующей всевозможным функциям истинности[англ.].
Функционально полная алгебра — алгебра, в которой каждое конечное отображение может быть выражено через композицию введенных на ней операций.
Классическая логика: является функционально полной, в то время как логика Лукасевича[англ.] или бесконечнозначная логика таким свойством не обладает.
Мы можем определить конечнозначную логику следующим образом: , где и n принадлежит множеству натуральных чисел. Эмиль Пост в 1921 доказал, что если логика способна произвести функцию m-ого порядка, то существует комбинация операторов в , которая произведет функцию m+1 порядка.
Бесконечнозначные логики
Бесконечнозначную логику можно ввести следующим образом:
истинностное значение находится в отрезке действительных чисел от 0 до 1;
отрицание определяется как: ¬A = 1−A;
конъюнкция определяется как: A∧B = min(A, B);
дизъюнкция определяется как: A∨B = max(A, B).
К формальным системам бесконечнозначной логики могут быть отнесены системы R-функцийВ. Л. Рвачёва[3].
Может показаться, что теория вероятностей очень похожа на бесконечнозначную логику: вероятность соответствует истинностному значению (1=истина, 0=ложь), вероятность ненаступления какого-либо события соответствует отрицанию, вероятность одновременного наступления двух событий соответствует конъюнкции, а вероятность наступления хотя бы одного из двух событий соответствует дизъюнкции.
Однако между многозначными логиками и теорией вероятностей есть принципиальное различие: в логиках истинностное значение любой функции целиком определяется истинностным значением её аргументов, в то время как в теории вероятностей вероятность составного события зависит не только от вероятностей входящих в него событий-компонентов, но и от их зависимости друг от друга (что выражается через их условные вероятности).
Это проявляется, в частности, в том, что в теории вероятностей выполняется эквивалент «закона исключённого третьего»: вероятность того, что некоторое событие наступит или не наступит, всегда равна единице, в то время как в многозначных логиках закон исключённого третьего не выполняется.
В теории вероятностей выполняется также эквивалент «закона противоречия»: вероятность того, что некоторое событие одновременно наступит и не наступит, всегда равна 0, в то время как в многозначных логиках закон противоречия не выполняется.
В то же время существует некоторая связь между истинностными значениями вышеописанной бесконечнозначной логики и вероятностями теории вероятностей, а именно:
если a — вероятность некоторого события, то вероятность ненаступления этого события составляет 1−a;
если a и b — вероятности некоторых двух событий, то вероятность совместного наступления этих двух событий не превышает min(a, b);
если a и b — вероятности некоторых двух событий, то вероятность наступления хотя бы одного из этих двух событий больше или равна max(a, b).
Приложения
Приложения многозначной логики можно условно разделить на две группы.
Первая группа использует многозначную логику для эффективного решения вопроса о бинарном представлении некоторой сущности. Например, представление булевой функции с несколькими выходами состоит в том, чтобы рассматривать её выходную часть как одну переменную, которая зависит от множества аргументов. Дальнейшие преобразования ведутся с ней: её преобразовывают в характеристическую функцию с одним выходом (в частности, индикаторную функцию).
Другие приложения многозначной логики включают в себя проектирование матриц программируемой логики[англ.] (PLA), оптимизацию конечных автоматов, тестирование и проверку.
Вторая группа нацелена на создание и проектирование электронных схем, использующих более двух дискретных уровней. Сюда можно отнести: многозначную память, арифметико-логические устройства и программируемые пользователем вентильные матрицы (FPGA). Многозначные схемы имеют ряд серьёзных теоретических преимуществ перед стандартными двоичными схемами. Так, например, межсоединение на кристалле и за его пределами может быть меньших размеров, если сигналы в схеме могут имеют дело с четырьмя уровнями, а не только с двумя. В конструкции памяти хранение двух бит информации вместо одного на ячейку памяти удваивает плотность памяти при неизменном размере кристалла.
Программные приложения, использующие арифметико-логические устройства, часто выигрывают от использования альтернатив двоичным системам счисления. Так, например, остаточные и избыточные (англ. redundant binary representation) системы счисления могут уменьшить или исключить сквозные переносы (англ. ripple-carry), которые имеют место в обычном двоичном сложении или вычитании, что приводит к высокоскоростным арифметическим операциям. Такие системы счисления имеют естественную реализацию с использованием многозначных схем.
Однако практичность этих потенциальных теоретических преимуществ сильно зависит от наличия специальных реализаций, которые должны быть совместимы и конкурентоспособны с современными стандартными технологиями. В дополнение к использованию в проектировании электронных схем, многозначная логика широко используется для проверки схем на наличие неисправностей и дефектов. Практически все известные алгоритмы автоматической генерации тестовых последовательностей[англ.] (ATG), используемые для тестирования цифровых схем, требуют имитатора, который может иметь дело с 5-значной логикой (0, 1, x, D, D'). Дополнительные значения — x, D и D'- представляют собой неизвестный / неинициализированный (значение x), 0 вместо 1 (значение D) и 1 вместо 0 (значение D').
Троичная ЭВМ «Сетунь» была создана и введена в эксплуатацию на механико-математическом факультете МГУ в 1958 году.
В отличие от классического подхода, использующегося в современных компьютерах, «Сетунь» использовала троичный код с цифрами −1, 0, 1. Данный подход имеет ряд преимуществ при осуществлении арифметических операций и представлении числа в памяти машины: нет необходимости в несовершенных дополнительном, прямом или обратном кодах чисел, округление осуществляется простым отсечением младших разрядов, операции сдвига единственны, код чисел единообразен.
Исследовательские площадки
Международный симпозиум, посвященный проблемам и вопросам, возникающих при исследовании приложений многозначной логики (ISMVL) проводится ежегодно с 1970 года. Основные направления работы симпозиума — обслуживание различных цифровых приложений и проблемы верификации.
Помимо этого существует журнал, посвященный многозначной логике и её приложениям в цифровой сфере.
Примечания
↑Карпенко А. С. Логики Лукасевича и простые числа. М.: Наука, 2000.