
- •Нечеткое моделирование: основные понятия и принципы
- •Задача нечеткой классификации
- •2.1 Постановка задачи.
- •Алгоритм решения
- •Формирование базы правил для нечеткого классификатора
- •3.1 Классификация нечетких моделей
- •3.1.1 Структура модели
- •3.1.2 Управляемая данными инициализация
- •3.2 Сокращение модели
- •3.2.1 Отбор свойств, основанный на межклассовой отделимости
- •3.2.2 Упрощение базы правил
- •Использование генетических алгоритмов для оптимизации
- •4.1 Основные понятия эволюционного программирования
- •4.1.1. Символьная модель
- •4.1.3. Кроссовер
- •4.1.4. Мутация
- •Постановка задачи
- •Мутация
- •Нечеткие операторы
- •Условие останова
- •Описание программы
- •Функциональные возможности
- •Представление данных
- •Реализация
- •1 Под продукцией понимается кортеж следующего вида:
Мутация
С
помощью операции мутации создаются
копий набора правил, где
– количество потомков в популяции:
некоторая часть хромосом выбирается
случайным образом, и в каждой копии
параметры этой выбранной части меняются
добавлением нормально распределенной
величины. Теперь считается ошибка для
каждого элемента популяции. Лучший
элемент становится родителем на следующем
шаге.
Нечеткие операторы
Важно оптимизировать структуру набора правил. Неэффективные правила должны быть исключены, а похожие – объединены. Следующие операторы позволяют оптимизировать количество правил.
Отмена. Если функция принадлежности становится слишком «узкой», она не должна больше использоваться. Данный критерий записывается следующим образом:
где
и
–
длины медиан функций принадлежности
заданных входных и выходных переменных
в i-м
и j-м
правилах;
– параметр
отмены. Чем он больше, тем критерий более
строгий.
Слияние. Если две функции принадлежности, относящиеся к одной нечеткой переменной, близки друг к другу, и разница длин их медиан достаточно мала, то эти функции объединяются в одну.
Для слияния существует два критерия:
где и – длины медиан функций принадлежности заданных входных и выходных переменных в i-м и j-м правилах;
f – расстояние между центром и .
Для
выполнения слияния оба критерия должны
быть удовлетворены, при этом используется
только один параметр
.
Чем меньше значение
,
тем критерий строже. Параметры объединенной
функции принадлежности будут иметь
вид:
где
Удаление правил. При использовании метода центра тяжести для дефазификации, удаление правила влечет за собой рост ошибки. Чтобы избежать этого, мы будем увеличивать важность правила. Например, если i-е и j-е правила идентичны, то j-е правило убирается, а параметры функции принадлежности i-го правила меняются следующим образом:
где
– исходные параметры трапециевидной
функции принадлежности;
-
новые значения
и
;
параметры
не меняются.
Условие останова
Работа алгоритма представляет собой итерационный процесс, который продолжается до выполнения одного из условий останова:
• выполнение заданного числа поколений;
• прекращение улучшения популяции.
Описание программы
Программа разработана в среде Microsoft Visual Studio 2005, язык программирования – C#. Язык программирования C#, созданный специально для платформы Microsoft .NET Framework, взял всё лучшее из языков C++ и Java и поэтому позволяет эффективно описать и реализовать нечеткую систему и генетический алгоритм с использованием приемов объектно-ориентированного программирования. С другой стороны, платформа .NET Framework дает возможность быстро создать удобный и красивый пользовательский интерфейс, сосредоточив тем самым всё внимание на реализации поставленной задачи.
Для работы программы необходима любая ОС, поддерживающая .NET Framework – это Microsoft Windows 2000 / XP / 2003 / Vista с установленным Microsoft .NET Framework 2.0 или любая UNIX-система с установленным пакетом Mono.