Как применять метод Комбса?

Я изучаю метод гребней для уменьшения «комбинаторного взрыва» правил нечеткой логики. Вот пример, взятый из «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?


person Andrea Tucci    schedule 09.09.2012    source источник


Ответы (1)


первая проблема это оператор. это не просто И это ЕСЛИ ТОГДА... здесь вы можете найти больше об операторе ЕСЛИ/ТО: http://www.math.hawaii.edu/~ramsey/Logic/IfThen.html

но вопрос "как уменьшить" остается открытым

person Vlad Sviatetskyi    schedule 06.01.2015