Нечеткие множества
Что такое нечеткое множество, нечеткая и лингвистическая переменная?
Нечеткое множество - это множество пар <m(x)/x>, где x принимает некоторое информативное значение, а m(x) отображает x в единичный отрезок, принимая значения от 0 до 1. При этом m(x) представляет собой степень принадлежности x к чему-либо (0 - не принадлежит, 1 - принадлежит на все 100%).
Так, на пример, можно задать для числа 7 множество:
<0/1>,<0.4/3>,<1/7>Это множество говорит о том, что 7 - это на 0% единица, на 40% тройка и на 100% семерка.
Нечеткая переменная определяется как <A,X,Ca>.
A - наименование переменной,
X={x} - область определения переменной, набор возможных значений x,
Ca={<Ma(x)/x>} - нечеткое множество, описывающее ограничения на возможные значения переменной A (семантику).
Пример: <"Семь",{1,3,7},{<0/1>,<0.4/3>,<1/7>}>.Этой записью мы определили соответствия между словом и некоторыми цифрами. Причем, как в названии переменной, так и в значениях x можно было использовать любые записи, несущие какую-либо информацию.
Лингвистическая переменная определяется как <B,T,X,G,M>.
B - наименование переменной.T - множество её значений (базовое терм-множество), состоит из наименований нечетких переменных, областью определения каждой из которых является множество X.
G - синтаксическая процедура (грамматика), позволяющая оперировать элементами терм-множества T, в частности - генерировать новые осмысленные термы. T`=T U G(T) задает расширенное терм-множество (U - знак объединения).
M - семантическая процедура, позволяющая приписать каждому новому значению лингвистической переменной нечеткую семантику, путем формирования нового нечеткого множества.
Нечеткое множество (или нечеткое число), описывает некотоpые понятия в фyнкциональном виде, т. е. такие понятия как "пpимеpно pавно 5", "скоpость чyть больше 300 км/ч" и т. д., как видно эти понятия невозможно пpедставить одним числом, хотя в pеальности люди очень часто пользyются ими.
Hечеткая пеpеменная это тоже самое, что и нечеткое число, только с добавлением имени, котоpым фоpмализyется понятие описуемое этим числом.
Лингвистическая пеpеменная это множество нечетких пеpеменных, она использyется для того чтобы дать словесное описание некотоpомy нечеткомy числy, полyченномy в pезyльтате некотоpых опеpаций. Т. е. пyтем некотоpых опеpаций подбиpается ближайшее по значению из лингвистической пеpеменной.
Хочy дать несколько советов для твоей пpоги. Hечеткие числа лyчше хpанить как отсоpтиpованное множество паp (соpтиpyется по носителям), за счет этого можно yскоpить выполнения всех логических и математических опеpаций. Когда pеализyешь аpифметические опеpации, то нyжно yчитывать погpешность вычислений, т. е. 2/4 <> 1/2 для компьютеpа, когда я с этим столкнyлся, мне пpишлось несколько yсложнить сpавнение паp, а сpавнений пpиходится делать много. Hосители в нечетких числах должны быть кpатными какому-нибуть числy, иначе pезyльтаты аpиф. опеpаций бyдyт "некpасивыми", т. е. pезyльтат бyдет неточным, особенно это видно пpи yмножении.
За счет хpанения нечетких чисел в отсоpтиpованном виде, я добился того что аpифметические опеpации y меня выполняются по почти линейной зависимости (во вpемени), т. е. пpи yвеличении количества паpа, скоpость вычислений падала линейно. Я пpидyмал и pеализовал точные аpиф. опеpации пpи котоpых не имеет значение кол-во и кpатность носителей, pезyльтат всегда бyдет точным и "кpасивым", т. е. если пеpвоначальные числа были похожи на пеpевеpнyтyю параболу, то и pезyльтат бyдет похожим, а пpи обычных опеpациях он полyчается стyпенчатым. Я так же ввел понятие "обpатные нечеткие числа" (хотя не до конца pеализовал), для чего они нyжны? Как ты знаешь пpи вычитании или делении число из котоpого вычитается дpyгое должно быть шиpе, а это большая пpоблема пpи pешении сложных ypавнений, вот "обpатные нечеткие числа" позволяют это делать.
Базовые операции над нечеткими множествами.
ОБЪЕДИНЕНИЕ: создается новое множество из элементов исходных множеств, причем для одинаковых элементов принадлежность берется максимальной.
A U B = {<Maub(x)/x>} Maub(x) = max {Ma(x), Mb(x)}ПЕРЕСЕЧЕНИЕ: создается новое множество из одинаковых элементов исходных множеств, принадлежность которых берется минимальной.
A П B = {<Maпb(x)/x>} Maпb(x) = min {Ma(x), Mb(x)}ДОПОЛНЕНИЕ: инвертируется принадлежность каждого элемента.
C = ~A = {<Mc(x)/x>} Mc(x) = 1-Ma(x)СТЕПЕНЬ: принадлежность каждого элемента возводится в степень.
CON - концентрация, степень=2 (уменьшает степень нечеткости) DIN - растяжение, степень=1/2 (увеличивает степень нечеткости)РАЗНОСТЬ: новое множество состоит из одинаковых элементов исходных множеств.
A - B = {<Ma-b(x)/x>} Ma-b(x) = Ma(x)-Mb(a), если Ma(x)>Mb(x) иначе 0НОСИТЕЛЬ: состоит из элементов исходного множества, принадлежности которых больше нуля.
Supp(A) = {x|x?X /\ Ma(x)>0}УМНОЖЕНИЕ НА ЧИСЛО: принадлежности элементов домножаются на число.
q*A = {<q*Ma(x)/x>}СУПРЕМУМ: Sup - точная верхняя грань (максимальное значение принадлежности, присутствующее в множестве).
НОРМАЛИЗАЦИЯ: нечеткое множество нормально если супремум множества равен единице. Для нормализации перечитывают принадлежности элементов:
M'a(x) = Ma(x)/(Sup Ma(x))АЛЬФА-СРЕЗ: множество альфа уровня - те элементы исходного множества, принадлежность которых выше или равна заданного порога. Порог, равный 1/2, называют точкой перехода.
Aq = {x|x?X /\ Ma(x)>q}НЕЧЕТКОЕ ВКЛЮЧЕНИЕ: степень включения нечеткого множества
V(A1,A2) = (Ma1(x0)->Ma2(x0))&(Ma1(x1)->Ma2(x1))&.. По Лукасевичу: Ma1(x)->Ma2(x) = 1&(1-Ma1(x)+Ma2(x)) По Заде: Ma1(x)->Ma2(x) = (1-Ma1(x)) \/ Ma2(x)НЕЧЕТКОЕ РАВЕНСТВО: степень нечеткого равенства
R(A1,A2) = V(A1,A2) & V(A2,A1)
Словарь
АДАПТАЦИЯ - Любое изменение в структуре или функции организма, которое позволяет ему выживать во внешней среде.
АЛЛЕЛИ - Возможные значения генов.
ГА - Генетический алгоритм. Интеллектуальное исследование произвольного поиска. [Reeves, 1993]. Представлен Holland 1975.
ГА МОДЕЛЬ ОСТРОВА (IMGA) - Популяция ГА разделена в несколько подсовокупностей, каждая из которых беспорядочно инициализирована и выполняет независимый последовательный ГА на собственной подпопуляции. Иногда, пригодные ветви решений мигрируют между подсовокупностями. [Например. Levine 1994].
ГЕНЫ - Переменные в хромосоме.
ГЕНЕТИЧЕСКИЙ ДРЕЙФ - Члены популяции сходятся к некоторой отметке пространства решения вне оптимума из-за накопления стохастических ошибок.
ГЕНОТИП - Фактическая структура. Кодированная хромосома.
ГП - Генетическое программирование. Прикладные программы использующие принципы эволюционной адаптации к конструкции процедурного кода. [Koza 1992]
ДИПЛОИД - В каждом участке хромосомы имеется пара генов. Это позволяет сохраняться долгосрочной памяти.
КГА - Компактный ГА (CGA). В CGA, две или больше совокупности ген постоянно взаимодействуют и взаимно развиваются.
КРОССИНГОВЕР - Обмен отрезками хромосом родителей. В диапазоне от 75 до 95% появляются самые лучшие особи.
ЛОКУС - Позиция гена в хромосоме.
МУТАЦИЯ - Произвольная модификация хромосомы.
СИНАПС - Вход нейрона.
СХЕМА (шемма) - Подмножество подобных хромосом, содержащих модель значений гена.
СХОДИМОСТЬ - Прогрессия к увеличивающейся однородности. Ген, как считают, сходится когда 95% популяции имеет то же самое значение [DeJong 1975].
УНС - Унифицированная нейронная сеть.
ФИТНЕС-ФУНКЦИЯ - Значение являющееся целевым функциональным значением решения. Оно также называется функцией оценки или функцией цели в проблемах оптимизации.
ФЕНОТИП - Физическое выражение структуры. Декодированный набор ген.
ХРОМОСОМА - Составляющий вектор, строка, или решение.
Советуемся литература:
- Д. -Э. Бэстенс, В. .М. Ван Ден Берг, Д. Вуд. .Hейронные сети и финансовые рынки.., Москва, научное издательство .ТВП., 1997.
- Галушкин А. И. .Hейрокомпьютеры и их применение. Книга 1. Теория нейронных сетей.. Москва, Издательское предприятие редакции журнала .Радиотехника.,2000.
- Тейво Кохонен, Гвидо Дебок .Анализ финансовых данных с помощью самоорганизующихся карт., Москва, издательский дом .Альпина., 2001.
- Ф. Уоссерман. .Hейрокомпьютерная техника., Москва, издательство .Мир., 1992.
- Шумский C. A. .Hейрокомпьютинг и его применение в экономике и бизнесе., Москва, издательство МИФИ, 1998.
- А. И. Змитрович Интеллектуальные информационные системы. - Минск.: HТООО "Тетра Системс", 1997. - 368с.
- В. В. Корнеев, А. Ф. Гарев, С. В. Васютин, В. В. Райх Базы данных. Интеллектуальная обработка информации. - М.: "Hолидж", 2000. - 352с.