Метод Комбса

Метод Комбса — это метод редукции набора правил при построении системы нечеткой логики, предложенный Уильямом Э. Комбсом в 1997 году. Метод предназначен для предотвращения комбинаторного взрыва при формулировке правил в нечетких логических системах[1][2].

Метод Комбса использует логическое равенство из пропозициональной логики: .

Доказательство равенства

Наиболее простой способ доказать приведённое равенство заключается в использовании таблицы истинности:

T T T T T T T
T T F F F F F
T F T T T T T
T F F T F Т T
F T T T T T T
F T F T T F T
F F T T T T T
F F F T T T T

Комбинаторный взрыв

Предположим, имеется нечеткая система, которая одновременно учитывает N переменных, каждая из которых может принадлежать хотя бы одному из S множеств. Для охвата всех возможных случаев в традиционной нечеткой системе потребуется правил, тогда как при использовании метода Комбса достаточно лишь правил. Например, если имеется пять множеств и пять переменных для формирования одного выхода, то традиционный подход требует 3125 правил для покрытия всех случаев, а метод Комбса — только 25 правил, что позволяет избежать комбинаторного взрыва при увеличении числа входов или наборов в системе.

В данной статье рассматривается непосредственно метод Комбса. Подробнее о традиционной формулировке правил см. статьи нечеткая логика и нечёткая ассоциативная матрица.

Пример

Предположим, разрабатывается система искусственная личность, определяющая степень дружелюбности персонажа к другому игроку в стратегической видеоигре. Персонаж будет учитывать собственный страх, доверие и симпатию (любовь) к другому персонажу. Множество правил в системе метода Комбса может выглядеть так:

Страх Не боится, ТОГДА Враги Умеренный страх, ТОГДА Нейтральный Боится, ТОГДА Хорошие друзья
Доверие Недоверчивый, ТОГДА Враги Умеренное доверие, ТОГДА Нейтральный Доверчивый, ТОГДА Хорошие друзья
Любовь Не любит, ТОГДА Враги Умеренная любовь, ТОГДА Нейтральный Любит, ТОГДА Хорошие друзья

Эта таблица равнозначна следующим правилам:

[ЕСЛИ Страх РАВЕН Не боится, ТОГДА Дружба РАВНА Враги ИЛИ
 ЕСЛИ Страх РАВЕН Умеренный страх, ТОГДА Дружба РАВНА Нейтральный ИЛИ
 ЕСЛИ Страх РАВЕН Боится, ТОГДА Дружба РАВНА Хорошие друзья]
ИЛИ
[ЕСЛИ Доверие РАВНО Недоверчивый, ТОГДА Дружба РАВНА Враги ИЛИ
 ЕСЛИ Доверие РАВНО Умеренное доверие, ТОГДА Дружба РАВНА Нейтральный ИЛИ
 ЕСЛИ Доверие РАВНО Доверчивый, ТОГДА Дружба РАВНА Хорошие друзья]
ИЛИ
[ЕСЛИ Любовь РАВНА Не любит, ТОГДА Дружба РАВНА Враги ИЛИ
 ЕСЛИ Любовь РАВНА Умеренная любовь, ТОГДА Дружба РАВНА Нейтральный ИЛИ
 ЕСЛИ Любовь РАВНА Любит, ТОГДА Дружба РАВНА Хорошие друзья]

В данном случае, поскольку таблица следует простой схеме вывода, её можно переписать так:

Страх Не боится Умеренный страх Боится
Доверие Недоверчивый Умеренное доверие Доверчивый
Любовь Не любит Умеренная любовь Любит
Дружба Враги Нейтральный Хорошие друзья

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

Примечания

Литература