Об одном подходе повышения точности нечетких алгоритмов управления

-\-

УДК 510

Э.Н. Ахмедов

ОБ ОДНОМ ПОДХОДЕ ПОВЫШЕНИЯ ТОЧНОСТИ НЕЧЕТКИХ АЛГОРИТМОВ УПРАВЛЕНИЯ

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

Ключевые слова: Нечеткое множество, лингвистическая переменная, нечеткий алгоритм управления.

Введение

Нечеткая логика является одним из наиболее перспективных направлений современной теории управления. Математическая теория нечетких множеств позволяет описывать нечеткие понятия и знания экспертов, оперировать этими знаниями и делать нечеткие выводы. Основанные на этой теории методы принятия решений существенно расширяют области применения систем управления.

Основы нечеткой логики были заложены в конце 60-х годов в работах известного американского математика Лотфи Заде. Исследования такого рода было вызвано возрастающим неудовольствием экспертными системами. Системы искусственного интеллекта того времени, которые легко справлялись с задачами управления сложными техническими комплексами, были беспомощными при простейших высказываниях повседневной жизни.

Для создания действительно интеллектуальных систем, способных адекватно взаимодействовать с человеком, был необходим новый математический аппарат, который переводит неоднозначные жизненные утверждения в язык четких и формальных математических формул. Первым серьезным шагом в этом направлении стала теория нечетких множеств, разработанная Лотфи Заде. Его работа "Fuzzy Sets" заложила основы моделирования интеллектуальной деятельности человека и стала начальным толчком к развитию новой математической теории. Он же дал и название для новой области науки -"fuzzy logic".

Дальнейшие работы профессора Заде и его последователей заложили фундамент новой теории и создали предпосылки для внедрения методов нечеткого управления в инженерную практику.

Нечеткое управление оказывается особенно полезным, когда технологические процессы являются слишком сложными для анализа с помощью общепринятых количественных методов, или когда доступные источники информации интерпретируются качественно, неточно или неопределенно. Нечеткая логика, на которой основано нечеткое управление, ближе по содержанию к человеческому мышлению и естественным языкам, чем традиционные логические системы. Нечеткая логика обеспечивает эффективные средства отображения неопределенностей и неточностей реального мира. Наличие математических средств отражения нечеткости исходной информации позволяет построить модель, адекватную реальным условиям функционирования сложного объекта управления.

Основная идея математической теории нечётких множеств заключается в том, что, не смотря на то, что теория вероятностей является хорошим инструментом для измерения случайности информации, она не подходит для измерения смысла информации. В самом деле, неопределённость, носящая субъективный характер, возникает при использовании

-\-

слов и фраз естественного языка и связана скорее с отсутствием ясности, чем со случайностью. Это является критической точкой для анализа языковых структур и играет важную роль для определения меры достоверности продукционных правил. Для измерения неопределенности Заде предлагает теорию возможностей, в то время как теория вероятностей позволяет определить меру случайности. Теория Заде дает количественное выражение неточности. Для этого вводится понятие функции принадлежности, что означает, что каждое число принадлежит множеству с соответствующей мерой достоверности [1 ].

В традиционной логике "четких" множеств достоверность того, что элемент принадлежит множеству, равна либо 1, если условие принадлежности выполняется, либо 0 в противном случае. В теории нечётких множеств функция принадлежности может принимать значения в интервале от 0 до 1. Значения любой величины представляются не числами, а словами естественного языка, которые называются термами. Каждый терм принадлежит к определённой лингвистической переменной. Так, значением лингвистической переменной «дистанция» являются термы «далеко», «близко» и т.д. (рис. 1).

Рис. 1. Лингвистическая переменная «дистанция».

Существует свыше десятка типовых форм кривых для задания функций принадлежности. Наибольшее распространение получили: треугольная, трапецеидальная и гауссова функции принадлежности. На рисунке 1 в качестве функции принадлежности лингвистической переменной «дистанция» использована треугольная функция.

Треугольная функция принадлежности определяется тройкой чисел (а,Ь,с), и ее значение в точке х вычисляется согласно выражению:

К х) =

„ Ь - х

1--, а < х < Ь

Ь - а

, х - с

1--, Ь < х < с

с - Ь

0, а гпдаёйгйб пёд^ауб

где а - левая граница диапазона терма лингвистической переменной, с - правая граница, Ь - точка в которой функция принадлежности принимает максимальное значение.

Основой для проведения операции нечеткого логического вывода является база правил, содержащая нечеткие высказывания в форме «Если - то» и функции принадлежности для соответствующих лингвистических термов. При этом должны соблюдаться следующие условия:

1) Существует хотя бы одно правило для каждого лингвистического терма выходной переменной.

2) Для любого терма входной переменной имеется хотя бы одно правило, в котором этот терм используется в качестве предпосылки (левая часть правила).

В противном случае имеет место неполная база нечетких правил.

Результатом нечеткого вывода является четкое значение параметра управления.

В общем случае механизм логического вывода включает четыре этапа: введение нечеткости (фазификация), нечеткий вывод, композиция и приведение к четкости, или дефазификация. Алгоритмы нечеткого вывода различаются главным образом видом используемых правил, логических операций и разновидностью метода дефазификации.

Описание методики

Таким образом, аппарат нечёткой логики позволяет формировать алгоритмы на основе обычных продукционных правил, но в качестве параметров использовать термы лингвистических переменных [2]. Например, такой алгоритм может быть представлен следующим образом: Если состояние объекта 8, а требуемое состояние 81, то выполнить управление и1, в противном случае - и2. При этом для отработки любого управления ип процессором предварительно требуется произвести дефаззификацию, то есть перейти от нечетких значений параметра управления к конкретным численным значениям. Для этого существует несколько подходов, однако, как правило, в качестве численного значения параметра управления выбирается среднее значение диапазона, представляющего терм данной переменной. Например, численным значением терма «средняя» лингвистической переменной «скорость» будет значение в точке А (рис. 2).

Экспериментально показано, что нечеткое управление дает лучшие результаты, по сравнению с результатами, получаемыми при использовании традиционных алгоритмов управления. Однако в ряде практических случаев точность количественного значения результата алгоритма нечёткого управления недостаточно высока. В работе предлагается один из способов устранения, отмеченного выше, недостатка нечётких алгоритмов управления, на основе использования вложенных лингвистических переменных.

Введём понятие вложенной лингвистической переменной, для которой исходная лингвистическая переменная представляет собой базовое множество значений. Количество термов и степень вложенности зависят от конкретной решаемой задачи и определяются требуемой точностью управления. На рисунке 2 представлен пример вложенной лингвистической переменной «скорость».

Рис. 2. Вложенная лингвистическая переменная «скорость».

Здесь переменная «скорость» имеет три терма: «низкая», «средняя» и «высокая». Терм «средняя» также представляет собой лингвистическую переменную и разбит на три терма: «низкая», «средняя» и «высокая».

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

Представим парой < /(х), Д > значение параметра хг, где /и(х1) степень принадлежности значения хг параметра управления терму Яг. Степень близости р(х1, х2) двух значений параметра управления х1 е х2 представленных соответственно парами < /(х1), Д > и < /(х2), Д > можно определить согласно формуле:

Р(.х1, хг2) = {

1, апёе [/(х1) - /(х2)] < /0 е Д = Д;

/(х1) о- /(х2), апёе |/(х1) - /(х2)^ > / е Д = Д;

О, апёе Д Ф Д,

где /(х1), /(х2) степени принадлежности х1 е х2, / - величина допустимого

значения отклонения параметра от заданного значения, определяемая с учётом заданной погрешности решаемой задачи.

Приведенное выражение можно обосновать следующим образом (см. рис. 3):

Терм 1 Терм 2 Терм 3

о ____ О N / \ 1 а а | •

0 \ Д А /А \ 2 А1 / М3 V____ А4

Рис. 3. Пример сравнения фактического и заданного значений параметра регулирования.

Вестник Дагестанского государственного технического университета. Технические науки. № 17, 2010. -\-

1) если фактическое и заданное значение степеней принадлежности параметра регулирования относятся к одному и тому же терму и находятся в окрестности £ одной и той же точки определяемой значением //, то принимается решение, что они приблизительно равны и задача управления считается решенной (точки А2 и А1 рис. 3);

2) если фактическое и заданное значение параметра регулирования попадают в значение одного и того же терма, но не попадает в окрестность, то фактическое и заданное значение параметра регулирования нечетко равны, и если требуется получение более точного решения, то отрабатывается алгоритм повышения точности нечеткого управления (точки А3 и А1 рис. 3);

3) если фактическое и заданное значение параметра регулирования попадают в различные термы, то они не равны и для нахождения решения используется обычный алгоритм нечеткого управления (точки А4 и А1 рис. 3).

Значение // определяется согласно выражению:

/ = I

Степень различия р_1(х1, х2) двух значений х) в хг2 вычисляется по формуле:

-VI 2ч I1 -Р(х1, аЙёв 0 <Р(х1, х2) ^1 ; ^

Р

[ и - 21, а '101о ваг г г пёо^аа,

где И и 2t - порядковые номера термов Я1 и Я2 к которым принадлежат величины

х) в х].

Алгоритм

Предположим, что при осуществлении нечеткого управления требуемое значение параметра управления А' (рис. 2). Это значение попадает в терм «средняя» лингвистической переменной «скорость». Тогда при обычном подходе результирующее значение параметра управления будет иметь значение А, в результате чего возникает погрешность А X. Однако, если определить на данном терме лингвистическую переменную и повторить алгоритм нахождения значения параметра управления внутри данного терма, нечеткое значение параметра управления будет «средняя; высокая» и результирующая погрешность будет А X'. Очевидно, что А X' меньше А X. При этом, если в результате погрешность А X' будет принимать недопустимое значение, алгоритм нахождения значения параметра управления необходимо рекурсивно продолжать пока не будет достигнута необходимая точность значения регулируемого параметра.

На основании вышеизложенной методики сравнения нечетко заданных параметров, нечёткий алгоритм управления будет выглядеть следующим образом. На первом этапе на основе заданного нечеткого алгоритма управления определяется управляющее воздействие V. После отработки данного управления на основе (2) и (4) полученный результат сравнивается с требуемым значением параметра регулирования. Если степень различия р_1(х1, х2) превышает 1, то поиск управляющего воздействия продолжается без увеличения степени вложенности, в противном случае, находится величина допустимого значения отклонения параметра //. Если значение // устраивает с учётом заданной погрешности - решение найдено, в противном случае - данный терм рассматривается в качестве лингвистической переменной, то есть интервал значений параметров принадлежащих к данному терму разбивается на столько же интервалов, сколько в

Вестник Дагестанского государственного технического университета. Технические науки. № 17, 2010.

-\-

исходной лингвистической переменной. Поиск решения рекурсивно возобновляется

внутри терма в соответствии с продукционными правилами решения данной задачи.

Структурированное описание предложенного алгоритма имеет вид:

1. Начало.

2. Вычислить результат нечёткого управления х1.

3. Вычислить р~г(х), х2) с помощью формул (2) и (4).

4. Проверить условие х1, х2) > 1; если да, то перейти к пункту 2, иначе - к пункту 5.

5. Вычислить //; если необходимая точность достигнута, то перейти к пункту 7, иначе - к пункту 6.

6. Повторить пункты 2 - 5 используя данный терм в качестве лингвистической переменной.

7. Конец.

Заключение

Таким образом, точность данной нечёткой вычислительной системы зависит от степени вложенности лингвистических переменных и может регулироваться динамически в зависимости от требуемой точности решаемой задачи. Главными достоинствами данного алгоритма являются простота реализации и низкие вычислительные затраты. Алгоритм может быть легко реализован на персональной ЭВМ.

Библиографический список:

1. Л.А. Заде Понятие лингвистической переменной и его применение к принятию приближенных решений. - М.: Мир, 1976.-165 с.

2. Д.Ф. Люггер, Искусственный интеллект: стратегии и методы решения сложных проблем, 4-е издание. : Пер. с англ. - М.: Издательский дом «Вильямс», 2003. - 864с.

Вестник Дагестанского государственного технического университета. Технические науки. № 17, 2010.

-\-

E.N. Akhmedov

The method of increasing accuracy in fuzzy controlling algorithms

The method of increasing accuracy in fuzzy controlling algorithms has been described. The conception of the nested linguistic variable has been defined and a high performance algorithm developed on its base is considered.

Keywords: fuzzy set, linguistic variable, fuzzy controlling algorithm.

Ахмедов Энвер Нариманович (р. 1984) аспирант кафедры ВТ Дагестанского государственного технического унверситета, окончил Дагестанский Государственный Технический университет, факультет информатики и управления(2006). Область интересов: искусственный интеллект, нечеткие множества, нечеткие алгоритмы, математическая логика, семантические сети. Автор 3 научных публикаций.