Тестирование софта - статьи

       

Неопределенность и трехзначная логика Клини


Для не полностью определенных состояний целевой системы, не исключены ситуации, когда из-за недостатка информации некоторые логические условия нельзя отнести ни к истинным, ни к ложным. В таких случаях использование двузначной логики для описания свойств целевой системы представляется не совсем адекватным. Для того чтобы описать логическое условие P, которое может быть неопределенным, с помощью двух значений истинности нужно использовать специальные модальные функции возможности и необходимости: ◊P и ?P и описать условие парой (◊P, ?P). Тогда истинное условие описывается парой (true, true) (необходимо), ложное - парой (false, false) (невозможно), неопределенное - парой (true, false) (возможно, но не необходимо).

Описывать логические условия парой модальностей не очень удобно. Естественней положить, что функция истинности может принимать три значения: true (истина), false (ложь) и

(неопределенность), а модальные функции возможности и необходимости рассматривать как функции {true, false,
} → {true, false}, определяемые следующими таблицами истинности:

      ?
false false   false false
true true   true true
true  
false

Таблица 1. Определение модальных функций ◊ и ?.

Впервые модальные функции возможности и необходимости подобным образом определил Лукасевич (Lukasiewicz), в трехзначной логике L3 []. В логике L3 неопределенное значение

интерпретируется как промежуточное между ложью и истиной. В нашем случае неопределенное значение следует интерпретировать иначе - как неизвестное значение, которое может быть как истиной, так ложью, но какое оно именно - неизвестно.

Подобным образом неопределенное значение интерпретируется в трехзначной логике Клини (Kleene), называемой K3. При получении дополнительной информации значение логического условия может измениться с неопределенного значения

на false или true, но невозможно, чтобы значение изменилось с true на false или наоборот.

Содержание раздела