Рассмотрим силлогизм, который содержит следующие посылки:
1. Среди тех, кто носит цилиндр, почти все ходят с тросточкой.
2. Среди тех, кто ходит с тросточкой, почти все пьют мартини.
Возможно два варианта вывода в этом силлогизме:
1. Среди тех, кто носит цилиндр, многие пьют мартини.
2. Среди тех, кто носит цилиндр, почти все пьют мартини.
Силлогизм содержит нечеткие квантификаторы «почти все» и «многие». Возникает вопрос, какой из двух возможных выводов верный? Для ответа на этот вопрос рассмотрим население городка, относительно жителей которого сделаны утверждения, и введем следующие понятия.
Пусть а – количество тех людей, которые ходят в цилиндре;
b – количество тех людей, которые ходят с тросточкой;
с – количество тех людей, которые пьют только мартини;
Р(b/a) – доля тех, кто ходит с тросточкой, среди тех, кто носит цилиндр;
P(c/b) – доля тех, кто пьет только мартини, среди тех, кто ходит с тросточкой;
P(c/a) – доля тех, кто пьет только мартини, среди тех, кто носит цилиндр;
P(a) – доля тех, кто ходит в цилиндре, среди всех жителей городка;
P(b) – доля тех, кто ходит с тросточкой, среди всех жителей городка;
P(c) – доля тех, кто пьет мартини, среди всех жителей городка.
Построим таблицу сопряжений между а, b, с в долях от единицы.
bc | Øb Øc | b Øc | Øbc | |
а | z1 | z2 | z3 | z4 |
Øа | z5 | z6 | z7 | z8 |
Отобразим эти доли на диаграмме:
Введем величину ω = min{|a|, |b|, |c|}>0. Теперь можем ввести дополнительные ограничения на zi:
для множества а: z1 + z3 + z2 + z4 ≥ ω;
для множества b: z1 + z3 + z5 + z7 ≥ ω;
для множества с: z1 + z4 + z5 + z8 ≥ ω.
Запишем, чему равны доли P(b/a), P(с/b), P(c/a):
P(b/a) = (z1 + z3) / (z1 + z2 + z3 + z4);
P(с/b) = (z1 + z5) / (z1 + z3 + z7 + z5);
P(c/a) = (z1 + z4) / (z1 + z2 + z3 + z4).
Введем величину g = min {P(b/a), P(c/b), P(c/a)} ³ 0 и сформулируем еще одно ограничение: Адоли ³ g ³ 0.
Введем нечеткие квантификаторы К1 – «почти все»; К2 – «многие», тогда К1 соответствует P(b/a), и g < P(b/a) < 1.
«Почти все» ~ Р(с/а), «многие» по смыслу меньше, чем почти все, следовательно, Р(с/а) Î{b, g}, где b – число, меньшее g, которое соответствует квантификатору «многие».
Для того, чтобы узнать, какой из двух возможных выводов верен, нужно определить параметры ω, g, b (статистическая информация о жителях городка). Затем определить, в какой интервал попадает Р(с/а). В результате для определения Р(с/а) получается следующая задача нелинейного программирования:
max (P(c/a) = (z1 + z4) / (z1 + z2 + z3 + z4) ®min), где min берется по тем zi, которые используются в формуле, а max – по всем zi. Решением этой задачи является некоторая величина a, от значения которой и зависит ответ.
Если g £ a £ 1, то верен вывод, содержащий квантификатор «почти все», если b £ a £ g, то верен вывод, содержащий квантификатор «многие», если a < b, то не верен ни один из выводов.