Лекция: вопрос. Основы систем с нечеткой логикой.
Вычислительные системы, основанные на формальной (классической) логике имеют ограниченную область применения.
Если для описания объектов, процессов, явлений приходится использовать неопределенную (нечеткую) информацию и знания, то построение и использование математических моделей, с использованием обычных компьютерных алгоритмов практически невозможно.
Если изучаемый процесс или объект является слишком сложным для построения реализуемой на компьютере за приемлемое время модели, то традиционное моделирование, в этом случае, по существу, невозможно.
|
1965 г. – Л. Заде– американский математик опубликовал первую работу, в которой была описана теория нечетких множеств. Fuzzy sets – нечеткие множества. (теория мягких множеств, размытых или пушистых множеств).
Основополагающая идея: при описании и моделировании сложных объектов требования максимальной точности и определенности не является обязательным, поскольку, для получения практически приемлемых решений вполне можно использовать нечеткие знания, нечеткие понятия, нечеткие вычисления.
Основные положения теории нечетких множеств:
Нечеткое множество – совокупность объектов произвольной природы относительно которых нельзя с полной определенностью утверждать, принадлежит ли любой из этих объектов данному множеству или нет.
Здесь можно говорить только о степени вероятности того, что некоторый объект принадлежит данному нечеткому множеству.
Формально, нечеткое множество А – это совокупность упорядоченных пар (картежей) вида: <Xi; Mа(Хi)>
Где Х – элементы нечеткого множества А, входят в некое четкое множество – х э (принадлежит) Xi;
Mа(Хi) — функция принадлежности i-того элемента множеству А. Значение этой функции определяет степень достоверности того, что i-тый элемент принадлежит множеству А.[0;1]
Если М=0, то соответствующий элемент определенно не принадлежит данному множеству, а если М=1, то этот элемент принадлежит данному множеству.
Функция принадлежности может задаваться явно или в виде дискретной последовательности значений.
Множество Х называется универсальным.
Примерами нечетких множеств может быть:
1. «несколько» — несколько предметов;
Х = {1;2;3;…….;n};
A = {1/0 (никто не скажет что 1 – это «несколько»
А = {2/0.1; 3/0.4; …;5/1;…}
С большей вероятностью, что 2 это «несколько» и т.п… 100% скажет, что 5 – это «несколько».
2. Х = {1;2;…;n} – возраст человека в годах.
Нечеткое множество – «молодой»
1, x<=25
МA(Х)={
1/(1+((x-25)/5)^2); х больше 25
|
Лингвистическая переменная – это некоторая переменная величина, значениями которой являются словесные конструкции.
В теории нечетких множеств и нечеткой логики используются понятия «лингвистической неопределенности», т.е. неопределенности, связанной с нечеткостью описания объектов и процессов.
Обычная вероятность = 0,9
90% — выживет 10% — умрет — Лингвистич.вероятность = 0,9
90 чел.- говорят, что можно выжить
10 чел. — сомневаются, пить не стоит
Для нечетких множеств определяются операции (пересечение, сложения) по аналогии с обычными множествами. Это позволяет манипулировать с нечеткими переменными, как с обычными математическими объектами. Это главный результат теории.
На основе этой теории строится нечеткая логика. Она нужна для того, чтобы использовать при построении экспертных систем нечеткие знания.
Нечеткая логика строится на основе нечетких выводов.
Нечеткий вывод – строится по аналогии с обычным выводом формальной логики.
Логический вывод разбивается на 3 этапа:
1. Предпосылка. У = f(Х);
2. Факт (наблюдаемый). Х = Х0
3. Заключение. У0 = f (Х0).
В нечеткой логике вывод строится, например, так:
1. Предпосылка: Х = А1=>Y = B1
X = A2 => Y = B2
А1, В1; А2, В1 – некот.нечеткие множества
2. Факт. X = A
3. Заключение. Y = B.
X и Y – входная и выходная переменные, предпосылку можно назвать «базой нечетких правил».
По аналогии с обычным выводом строится и нечеткий вывод
Нечеткая логика используется при построении систем «нечеткого вывода, а так же нечетких управляющих систем».
Построение такой системы включает следующие этапы:
1. Определяются входные и выходные переменные.
2. Для этих переменных задаются соответствующие нечеткие множества, определяются их функция принадлежности.
3. Создается база нечетких правил. Их количество может быть от 1 до … .
4. Строится алгоритм, по которому выполняется:
— фаззификация входных переменных (приведение к нечетким понятиям);
— собственно логический вывод;
— д-фаззификация выходных переменных.
MATLAB (Fuzzy logic)
Для каждого нечеткого множества можно создавать нечеткие системы.
Сейчас нечеткая логика используется достаточно широко.