Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Нечеткие понятия и расплывчатые алгоритмы.doc
Скачиваний:
3
Добавлен:
11.11.2018
Размер:
80.38 Кб
Скачать

Формализация нечетких предписаний и «человеческий фактор»

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

Связь построения Заде с «человеческим фактором» можно видеть в попытке исключения, в определенном смысле, неконструктивности, свойственной расплывчатым предписаниям. Исключение это начинается с того, что под интуицию «степени принадлежности» объекта данному расплывчатому классу подводится база строгой теории. На «функцию членства» в нечетком множестве можно смотреть как на формализацию распознавания объектов человеком с разной степенью уверенности: функция \лА (ж) — это, в субъективном плане, «мера уверенности» в том, что х^А, оцениваемая субъектом «степень добротности» членства х^А. На место «жесткого» распознавания — различения или отождествления — объектов (как это имеет место в случае конструктивных объектов — предметов, свойств и отношений) ставится распознавание элементов как членов множеств, сущностей, так сказать, частично конструктивных. Аналогично, смысл функции вида цС (ж, у) —т. е. <х, у><=Сраспл (см. пример такой функции на с. 272—273) — можно видеть в оценке «меры уверенности» или «меры надежности» действия по нечеткому предписанию. Эта мера зависит от «меры надежности», с которой х рассматривается в качестве члена Драспл, и от «меры надежности» выбора элемента у таз множества -Враспл: [аС(х, у)—это средство количественной характеристики «степени детермйнистичности» расплывчатого предписания

Как, однако, можно представить себе применение «расплывчатых алгоритмов» в реальных актах поведения? Здесь требуется дальнейшее развитие теории. Ведь само по себе задание количественной характеристики расплывчатого предписания — через указание функции (функций) принадлежности к соответствующему нечеткому множеству (множествам) еше не проливает свет

228

на то, как надлежит выполнять данное предписание (как, тем более, неясным является и, в определенном смысле, крайний частный случай расплывчатого предписания — недетерминистское предписание типа «Выбрать' х из множества Л»), Анализируя эту ситуацию, Заде рассматривает в качестве примера нечеткое предписание (г) «Продвинуться вперед на несколько шагов (и остановиться)». Пусть функция принадлежности для множества В° («несколько шагов») задается следующей таблицей (табл. 1, столбцы 1, 2).

Таблица 1

К какому способу действия, спрашивает Заде, было бы разумно прибегнуть, получив предписание (г) ? Отвечая на этот вопрос, он рассматривает два способа «интуитивно приемлемых» вариантов поведения. Первый способ можно назвать в определенном смысле вероятностным: число шагов выбирается в соответствии с распределением вероятностей, как-то зависящим от функции членства р,2)°(ж). Второй способ—«пороговый», основанный на введении (как-то связанного с функцией ц) порога членства в данном нечетком множестве.

Рассмотрим более подробно первый способ. Самым простым здесь будет случай, когда вероятности выбора субъектом числа тоагов пропорциональны значениям функции (-1.

Обозначим вероятность того, что х шагов получат право именоваться «несколькими шагами», через р(х). Поскольку сумма значений, которые может принимать функция [10°(х);

9

3 [10°(а;г) = 0,8+1+1+1+0,7=4,5 (здесь случаи, когда число г=з

шагов ж^З и ^9, во внимание не принимаются, так как оценка принадлежности их к Д°распл равна 0), мы получаем:

229

^--й-

Прежде чем пояснять применение этих выкладок к анализу возможного поведения субъекта, которому дано расплывчатое предписание (г), заметим, что поведение, определяемое такого рода нечеткими предписаниями, оказывается связанным с принятиями решений в ситуациях выбора. В этом плане — в плане принятия решения — между различными типами алгоритмов, рассматриваемыми в этой статье, пролегает четкая грань.

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

Это и неудивительно. Расплывчатые алгоритмы так и были задуманы, чтобы стать достаточно гибкой схемой, способной охватить многие задачи. В статье Л. Заде [1965] отмечается, что представление об алгоритме как о жестко предписанной схеме действий, построенной из однозначно понимаемых правил, закрывает путь к формализации многих, а возможно и большинства сколько-нибудь сложных задач. Нельзя алгоритмически описать процессы такого рода, как лечение больных или выбор места для стоянки автомобиля, хотя человек в общем справляется с такого рода задачами. Даже тогда, когда задача в принципе имеет алгоритмическое решение (например, игра в шахматы), современных вычислительных средств нередко совершенно не достаточно для разработки и реализации соответствующего алгоритма. С другой стороны, на неформальном уровне для таких задач имеются развитые и работоспособные системы действий, которые обычно оказываются достаточно эффективными.

Такие обобщения (или ослабления) «классического» понятия алгоритма, как недетерминистские и вероятностные алгоритмы, не годятся для того, чтобы охватить многие реальные задачи. Расплывчатые алгоритмы, по-видимому, лучше для этого приспособлены. Это связано с тем, что в данном случае к «типично алгоритмической» схеме действий присоединяются акты принятия решения, для которых имеются определенные правила (здесь «правило» употреблено в самом общем смысле этого термина).

В самом деле, без ограничения общности можно считать, что всякий алгоритм включает в себя команды двух родов: проверку логических условий (т. е. приказания об ответе на альтернативные вопросы, в зависимости от которых определяется следующий шаг алгоритма) и указания о выполнении определенных действий. Часто, правда, эти два элемента настолько слиты в предписании, что требуется специальный анализ для их разделения. Так, в частности, обстоит дело с расплывчатым предписанием (г). В ряде алгоритмических схем, служащих для точного определения понятия абсолютного алгоритма (например, в нормальных алгоритмах А. А. Маркова), акты проверок логических условий явно не фиксируются — не выражаются в записи алгоритма,— хотя, конечно, присутствуют в алгоритме [Смирнов В. А., 1963 ].

Прием анализа алгоритмов в терминах логических условий и указаний о выполнении определенных действий (операторов) может быть применен и в случае расплывчатых алгоритмов. Нечеткое предписание (г) тогда можно представить схемой, показанной на рис. За. Блок-схема этого предписания как нечеткого алгоритма (назовем его А1распл) показывает, что после придания х определенного значения (блок 0 засылки исходных данных) это значение поступает на проверку в блок 1; этот блок проверяет; расплывчатое логическое условие «Составляет ли х несколько шагов?»; блок 2 содержит команду «Продвинуться на ж шагов»; блок 3—блок остановки (выдачи результата) ;• в случае отрицательного ответа на вопрос, хранящийся в блоке 1, поведение не определено (на схеме обозначено знаком вопроса). Очевидно, что эта блок-схема непосредственно не отражает расплывчатости данного алгоритма,— последняя заключена в «содержании» блока 1. Именно с ним связана ситуация (акт) принятия решения. Говоря детальнее, мы имеем здесь следующее.

Зафиксируем «исполнительное устройство» алгоритмов У. Тогда естественно считать, что для него определена функция \л0°(х). Пусть таким определением является табл. 4, столб-

231

цы 1, 2. В соответствии с рассматриваемым нами первым способом поведения мы имеем дело с поведением, определяемым вероятностью отнесения данного числа шагов к категории «несколько шагов». Это означает, что если устройство У осуществит достаточно большую серию актов поведения, предписываемых алгоритмом А!1'""", то: 4 шага оно сделает с частотой 0,8/4,5;

5, 6 и 7 шагов — с частотами по 1/4,5; а 8 шагов — с частотой 0,7/4,5. Поведение такого устройства можно охарактеризовать, сказав, что числа шагов, равные О, 4, 5, 6, 7, 8, ^9, оно делает с вероятностями (частотами), приблизительно равными соответственно: 0; 0,178; 0,222; 0,222; 0,222; 0,156; 0. Вообще, для случая конечного числа положительных значений функции р,, если иА(;г,)=^ (где г=1,...,га; п есть число отличных от нуля значений, которые принимает функция членства, а 1< —• значение этой функции для г-го значения х), то решение

о выборе некоторого ж; принимается с вероятностью "-' где

1-1^- .

1==!

Это можно изобразить схемой, представленной на рис. 36. На ней шагу, ведущему от блока, содержащего логическое условие 1, к «блоку действия» 2, приписан вес—зависящая от х ненулевая вероятность р(,х)=^ осуществления этого шага; можно считать, что в этой вероятности и заключено правило принятия решения. Конечно, подобная ситуация принятия решения может встречаться в расплывчатых алгоритмах не один раз.

Обратим теперь внимание на то, что ситуация принятия решения при применении алгоритма А!1""""1 рассматривалась нами для фиксированного исполнительного устройства У. Существенным моментом этой фиксации является задание функции ц. Ибо естественно считать, что для двух различных исполнительных устройств функция ц, связанная с «одним и тем же» расплывчатым понятием вообще говоря, будет различной''.

Рассмотрим теперь второй — пороговый — способ действия по расплывчатым алгоритмам. Он предполагает, что в исполнительном устройстве для каждой данной функции ц имеется порог членства. Точнее это означает следующее. Пусть Арасил — некоторое нечеткое множество, характеризуемое функцией и,А (х); значение рА (ж) ==а называется порогом членства, если функция и преобразуется в некоторую функцию членства р.'А (х), отличающуюся от ц тем, что она всем значениям функции рА (х), которые меньше, чем а, придает значение 0. Введение порога членства выделяет среди всех значений, которые может принимать цА (а-), такие,

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

что иА (а;) ^а. В результате возникает другое расплывчатое множество—А„ с функцией членства и/Аа(д:).

Так, если для функции членства ц2)°(а') (см. табл. 1, столбцы 1 и 2) ввести порог а=0,8, то расплывчатое понятие, «несколько шагов» приобретет уже отчасти иной—причем более «жесткий»— смысл: перейдет в менее расплывчатое множество Д°<о,8) с функцией членства р/2)°(о,8) (ж), задаваемой следующей таблицей (табл. 1, столбцы 1 и 3).

Введение порога есть, таким образом, прием некоторой кон-структивизации расплывчатого множества (и, значит, расплывчатого алгоритма, в котором используется такое множество). Ясно, что для одной и той же функции ц могут вводиться различные пороги. Если стремиться к максимальной конструктивности, то можно поступить так, как предлагает Заде: выбирать в качестве порога такое максимальное из значений функции и,А(а:), при котором множество Ад не пусто. Для нашего примера это означает переход к функции \и"', задаваемой таблицей 1, столбцы 1 и 4.

Ясно, что такой подход равносилен введению хорошо определенного предиката: «число шагов от 5 до 7» (которому соответствует уже вполне четкое множество «пять или шесть или семь .шагов») и, соответственно, повелительного предложения «Сделать от 5 до 7 шагов!», гораздо более четкого, чем расплывчатый алгоритм (г). Такой прием, собственно говоря, и используется обычно для конструктивизации расплывчатых понятий ".