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

Я изучаю метод расчески, чтобы уменьшить "комбинаторный взрыв" правил нечеткой логики. Вот пример, взятый из "Программирования игрового AI из примера" (написанный Мэттом Баклендом):

Теория, лежащая в основе метода Расчески, работает по принципу:

IF Target_Far и Ammo_Loads THEN желательно

логически эквивалентно: ЕСЛИ Target_Far THEN желательно или IF Ammo_Loads THEN желательно

Используя этот принцип, можно определить базу правил, которая содержит только одно правило на каждый последующий набор элементов. Например, девять правил желательности ракетной установки приведены ранее:

Правило 1. ЕСЛИ Target_Far И Ammo_Loads THEN желательно

Правило 2. ЕСЛИ Target_Far И Ammo_Okay THEN нежелательны

Правило 3. ЕСЛИ Target_Far И Ammo_Low THEN нежелательны

Правило 4. ЕСЛИ Target_Medium И Ammo_Loads THEN VeryDesiable

Правило 5. ЕСЛИ Target_Medium AND Ammo_Okay THEN VeryDesiable

Правило 6. ЕСЛИ Target_Medium И Ammo_Low THEN желательно

Правило 7. ЕСЛИ Target_Close AND Ammo_Loads THEN нежелательно

Правило 8. ЕСЛИ Target_Close AND Ammo_Okay THEN нежелательно

Правило 9. ЕСЛИ Target_Close AND Ammo_Low THEN нежелательно

можно сократить до шести правил:

Правило 1. ЕСЛИ Target_Close THEN нежелательно

Правило 2. ЕСЛИ Target_Medium THEN Очень желательно

Правило 3. ЕСЛИ Target_Far THEN нежелателен

Правило 4. IF Ammo_Low THEN нежелательно

Правило 5. IF Ammo_Okay THEN Желательно

Правило 6. ЕСЛИ Боеприпасы_Загрузки ТОГДА Очень желательно

Я не понимаю, как он сократил эти правила! Я разбил каждое начальное правило на две части (применение принципа, записанного в начале A и B => C, эквивалентно A => C ИЛИ B => C). Есть ли образец для подражания, или последние 6 правил не зависят от начальных 9?

1 ответ

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

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

Другие вопросы по тегам