Я изучаю метод гребней для уменьшения «комбинаторного взрыва» правил нечеткой логики. Вот пример, взятый из «Programming Game AI from example» (написанный Мэтом Баклендом):
Теория, лежащая в основе метода Комбса, основана на том принципе, что такое правило, как:
ЕСЛИ Target_Far AND Ammo_Loads THEN желательно
логически эквивалентен следующему: ЕСЛИ цель_далеко, ТО желательно, ИЛИ ЕСЛИ боеприпасы, ТО желательно
Используя этот принцип, можно определить базу правил, содержащую только одно правило для каждого последующего набора элементов. Например, приведенные ранее девять правил желательности ракетной установки:
Правило 1. ЕСЛИ Target_Far AND Ammo_Loads THEN желательно
Правило 2. ЕСЛИ Цель_Далеко И Боеприпасы_Хорошие, ТО НЕЖЕЛАТЕЛЬНО
Правило 3. ЕСЛИ Цель_Далеко И Боеприпасов_Мало, ТО НЕЖЕЛАТЕЛЬНО
Правило 4. ЕСЛИ Target_Medium И Ammo_Loads THEN VeryDesirable
Правило 5. ЕСЛИ Цель_Средняя И Боеприпасы_Хорошие, ТО Очень Желаемые
Правило 6. ЕСЛИ Цель_Средняя И Боеприпасы_Мало, ТО Желаемый
Правило 7. ЕСЛИ Target_Close AND Ammo_Loads THEN нежелательно
Правило 8. ЕСЛИ Цель_Близко И Боеприпасы_В порядке, ТО НЕЖЕЛАТЕЛЬНО
Правило 9. ЕСЛИ Цель_Близко И Боеприпасов_Мало, ТО НЕЖЕЛАТЕЛЬНО
можно сократить до шести правил:
Правило 1. ЕСЛИ Target_Close, ТО НЕЖЕЛАТЕЛЬНО
Правило 2. ЕСЛИ Target_Medium, THEN VeryDesirable
Правило 3. IF Target_Far THEN нежелательно
Правило 4. IF Ammo_Low THEN нежелательно
Правило 5. ЕСЛИ Боеприпасы_хорошие, ТО желательные
Правило 6. ЕСЛИ Боеприпасы, ТО Очень Желаемые
Я не понимаю, как он сократил эти правила! Я разделил каждое начальное правило на две части (применение принципа, написанного в начале A и B => C, эквивалентно A => C ИЛИ B => C). Есть ли шаблон, которому нужно следовать, или последние 6 правил не зависят от начальных 9?