НОУ ІНТУІТ, Лекція, Нечіткі алгоритми

Формалізація поняття нечіткого алгоритму

Різні поняття, нечіткі за своєю природою, можуть бути формально описані у вигляді нечітких множин. Нечітка логіка, наприклад, дозволяє формалізувати прості логічні зв'язки нечітких змінних за допомогою нечітких висловлювань. Для опису складних співвідношень між змінними зручно використовувати нечіткі алгоритми .

Під алгоритмом розуміється точно певне правило дій ( програма ), котрій задано вказівку, як й у який послідовності це правило необхідно застосовувати до вихідним даним завдання, щоб одержати її рішення. Характеристиками алгоритму є:

а) детермінованість - однозначність результату процесу при постійних вихідних даних;

б) дискретність визначеного алгоритмом процесу - розчленованість його на окремі елементарні акти, можливість виконання яких людиною чи машиною не викликає сумніву;

в) масовість - вихідні дані для алгоритму можна вибрати з деякої множини даних, тобто. алгоритм має забезпечити розв'язання будь-якого завдання з класу однотипних задач.

Нечіткий же алгоритм, спрощено кажучи, визначається упорядкованим безліччюнечітких інструкцій(нечітких висловлювань), які містять поняття, що формуються нечіткими множинами.

Під нечіткими інструкціями розуміються інструкції, що містять нечітке поняття, наприклад, "пройти близько 100 метрів", а під машинними - інструкції, які не містять жодних нечітких понять: "пройти 100 метрів". Тут і далі чіткі інструкції ми називатимемо машинними, щоб підкреслити можливість моделювання нечітких алгоритмів на ЕОМ, що сприймають лише читання інструкцій.

Наведемо точне визначення нечіткого алгоритму. Для формулювання необхідно ввести ряд початкових визначень та позначень.

По-перше, замість інтервалу , загальноприйнятого безлічі значень функції належності, розглядається непорожня множина зі ставленням часткового порядку та операціями , що задовольняють властивостям комутативності, асоціативності та дистрибутивності, а також містять нульовий (0) та одиничний (1) елементи.

По-друге, розглядаються інструкції такого виду:

де – безліч символів міток інструкцій, – символ оператора чи функції, – символ предикатів чи умов.

Введення поняття інструкції дозволяє визначити поняття програми . Під програмою розуміється кінцева множина інструкцій, що містить єдину інструкцію початку. Ніякі інструкції не мають однакових міток.

По-третє, визначається поняття-машини. -машина є функція, визначена на безлічі символів, для яких існують безліч входів, безліч станів пам'яті та безліч виходів, а також виконані такі умови:

  1. (функція входів);
  2. (функція операції);
  3. , 0" style="display: inline; ">(функція умов);
  4. (функція виходу).

Символи і позначають вхід та вихід. Нарешті, по-четверте, програма разом з машиною, яка допускає (тобто машина визначена на всіх операціях і умовах, що містяться в інструкціях операції та умови програми), називається нечіткою програмою. Отже, послідовністю інструкцій, що становлять нечітку програму, визначається нечіткий алгоритм.

Конкретні типи алгоритмів можуть бути отримані за допомогою вибору множин, функцій (входів, дій, умов, виходів), операцій, відносини.