Опубликован: 26.07.2006 | Уровень: специалист | Доступ: платный
Лекция 11:

Нечеткие алгоритмы

< Лекция 10 || Лекция 11: 1234 || Лекция 12 >

Обобщенная нечеткая машина определяется парой (A,\Sigma) , где A — обобщенная машина, \Sigma — конечное множество нечетких инструкций и каждая нечеткая инструкция \sigma из \Sigma есть W -функция из S в K.

Пусть задана некоторая обобщенная нечеткая машина (A,\sigma). Выполнение последовательности \sigma= \sigma_{1}\sigma_{2} \ldots\sigma_{n} на обобщенной машине A есть последовательность

s_{0} k_{1} s_{1} k_{2} \ldots k_{n}s_{n},\  \t{где}\  s_{i}\in S,\ k_{i}\in
K,\ s_{n}\in T.
Весом, соответствующим выполнению, является элемент
w \in W:\quad w = w_1  \otimes w'_1  \otimes w_2  \otimes
w'_2 \,\ldots\,w_n  \otimes w'_n ,
где
w_i  = \sigma _i (k_i |s_{i - 1} ),\quad w'_i  = \psi (s_i
|k_i ,s_{i - 1} ).

Выполнение возможно тогда и только тогда, если \(w \ne 0\). Если \sigma_{i} и W принимают значения из различных множеств W и V, то вес, соответствующий выполнению, будет определяться парой \(
(w,v) = (w_1  \otimes \;\ldots\; \otimes w_n \,,\,v_1  \otimes \,\ldots
\otimes v_n
)\). В этом случае говорят, что программа \sigma выполнима с весом (w,v), если (w,v)>(0,0).

Пример. Пусть имеется последовательность инструкций для водителя автомобиля и карта местности. Водителю предлагается найти место назначения, используя карту и последовательность нечетких инструкций, описывающих маршрут. Для простоты изложения предположим, что все точки на плоскости имеют только целочисленные координаты. Типичные инструкции для водителя: "двигаться прямо около L метров", "повернуть налево", "повернуть направо", "двигаться прямо до тех пор, пока не увидишь ...".

Сконструируем соответствующую W -машину M. W -машина имеет множество состояний памяти M в виде упорядоченных троек \((a,b,\bar v)\), где (a,b) — точка на плоскости, соответствующая местонахождению автомобиля, \(\bar v\)единичный вектор направления движения автомобиля. Множество входов X=M и множество выходов Y состоят из упорядоченных пар (a,b) ; M_{I}функция входов, соответствует тождественной функции; M_{O}функция выходов, соответствует функции, отображающей каждую тройку \((a,b,\bar v)\) в (a,b).

Машина M не имеет ни одной функции условия. Каждой инструкции, приведенной выше, соответствует функция операции. При этом iинструкция в последовательности инструкций может быть преобразована в инструкцию операции вида do F_{i} ; go to L_{i}. Совокупность таких инструкций и инструкций start: go to L_{0} и L_{n}: halt, где nдлина последовательности, составляет программу \pi. Процесс выполнения программы \pi на машине M определяется последовательностью инструкций и картой местности. Краткости ради приведем только функцию операции для инструкции типа "двигаться прямо около L метров":

\begin{gathered}
  M_{F_L }  = \left( {(a_2 ,b_2 ,\bar v_2 )|(a_1 ,b_1 ,\bar v_1 )} \right) = 
\\
  =f_L \left( {\sqrt {(a_2  - a_1 )^2  + (b_2  - b_1 )^2 } } \right) \times
G\left( {(a_2 ,b_2 ,\bar v_2 )|(a_1 ,b_1 ,\bar v_1 )} \right), \\
\end{gathered}
где f_{L}(d) — степень (вес), соответствующая расстоянию d, \(G( (a_2 ,b_2 , \bar v_2 ) | (a_1 ,b_1 ,\bar v_1 ))\)вес, соответствующий утверждению: "точка (a_{2},b_{2}) и направление v_{2} достижимы при движении прямо из точки (a_{1},b_{1}) по направлению v_{1}| ".

Примеры функций f_{L} и G:\colon
f_{L}(d)=[1+((L-d)/c)^{2}]^{-1}, где cпараметр: \(
G\left( {(a_2 ,b_2 ,\bar v_2 )|(a_1 ,b_1 ,\bar v_1 )} \right) = 1
\) тогда и только тогда, если \(\bar v_1  = \bar v_2\) вектор из (a_{1},b_{1}) в (a_{2},b_{2}) параллелен \(\bar v_1\) и каждая точка на отрезке линии, проходящей через (a_{1},b_{1}) и (a_{2},b_{2}), имеющая целые координаты, есть точка на карте. Очевидно, что f_{L} зависит только от L, а G зависит только от карты. Другие функции операций могут быть построены аналогично. Нечеткий алгоритм, описывающий движение автомобиля к месту назначения, определяется конкретной последовательностью инструкций приведенного вида, которая реализуется на рассмотренной W -машине.

Приведем другие примеры применения нечетких алгоритмов.

  • Алгоритмы определения сложного нечеткого понятия A через более простые понятия, которые легко описать нечеткими множествами; результатом применения таких алгоритмов к некоторому элементу u области рассуждений U будет степень принадлежности u понятию A (степень, с которой элемент u может характеризоваться понятием A );
  • Алгоритмы порождения, в результате выполнения которых порождается один из элементов нечеткого множества, которое описывает интересующее нас понятие (например, алгоритм порождения образцов почерка, рецептов приготовления пищи, сочинения музыки, предложений в естественном языке);
  • Алгоритмы описания отношений между нечеткими переменными, например, в виде последовательности нечетких инструкций типа: "если x мало и x увеличить слегка, то y увеличится слабо"; такие алгоритмы позволяют приближенно описывать поведение систем, входные и выходные сигналы которых являются нечеткими подмножествами;
  • Алгоритмы принятия решения, позволяющие приближенно описывать стратегию или важнейшее правило, например, алгоритм проезда перекрестка, содержащий последовательность действий, которые необходимо выполнить, при этом описания этих действий состоят из нечетких понятий типа: нормальная скорость, несколько секунд, медленно приближаться.
< Лекция 10 || Лекция 11: 1234 || Лекция 12 >
Владимир Власов
Владимир Власов

Зачем необходимы треугольные нормы и конормы? Как их использовать? Имеется ввиду, на практике.
 

Mark Parccetti
Mark Parccetti
Россия
Нафиса Абдуллаева
Нафиса Абдуллаева
Узбекистан, Андижон