Главная > Теория возможностей. Приложения к представлению знаний в информатике
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

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

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

5.2. ПРИМЕР НЕЧЕТКОГО ПРОГРАММИРОВАНИЯ: ПРОХОЖДЕНИЕ МАРШРУТОВ, ЗАДАННЫХ В НЕЧЕТКИХ ТЕРМИНАХ

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

Во многих случаях без большего или меньшего произвола невозможно заменить точные определения расплывчатыми указаниями: расплывчатый характер и неточность присущи некоторым типам информации, перерабатываемой человеком. Поэтому представляется более естественным и эффективным принять неточные данные как они есть. С полным основанием еще в 1973 г. Заде [22] подчеркивал, что человек в своих рассуждениях часто

пользуется нечеткими метками. «Таким образом, способность работать с нечеткими множествами и вытекающая из нее способность синтезировать информацию представляет собой одну из важнейших характеристик человеческого разума, а также основную черту, отличающую интеллект человека от искусственного интеллекта в той его форме, которая может реализовываться в современных ЭВМ” Неточно определенные процедуры (иногда называемые нечеткими алгоритмами [21, 22]) ввиду их большей целостности обладают преимуществом перед традиционными четкими алгоритмами, которое заключается в их лучшей приспособленности к ситуациям, подверженным небольшим возмущениям. Нечеткие инструкции различного рода рассмотрены в работе [7].

Инструкция может быть нечеткой потому, что в ней используются нечеткие аргументы (например, она определяет некоторую операцию над нечеткими числами), или нечеткие функции (например, функция СЛЕГКА УВЕЛИЧИТЬ, которая некоторому значению х ставит в соответствие нечеткую величину , где М — нечеткое число, возможные значения которого «малы”) , или, наконец, нечеткие предикаты (т. предикаты, которые кроме значений «истинно” и «ложно” принимать и другие, промежуточные значения истинности, если речь идет об инструкции условного ветвящегося типа. Простым примером программы, содержащей такие инструкции, служит программа определения общего уровня знаний ученика как среднего арифметического уровней его подготовки по естественным наукам и по литературе (причем каждый из этих уровней представлен в виде функции распределения возможностей на множестве оценок), в случае, когда нужно, например, слегка увеличить показатель уровня подготовки по естественным наукам, используемый в среднем арифметическом, если ученик молод. Проблемы, возникающие при выполнении таких условных инструкций, будут вкратце затронуты в разд. 5.2 3. Подобная программа выдает конечный результат, здесь — общий уровень знаний ученика, в виде функции распределения возможностей

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

ПЕРЕСЧИТАТЬ ПОЛНОСТЬЮ (ТЯЖЕЛЫЕ ПРЕДМЕТЫ)

ПРИБАВИТЬ (БОЛЬШОЙ ПО ВЕСУ ЯЩИК) (МАЛЫЙ ПО ВЕСУ ЯШИК)

В первом случае программа организует поиск в базе данных всех известных более или менее тяжелых предметов. Во втором случае программа осуществляет поиск некоторого ЯЩИКА, который с достаточной правдоподобностью может охарактеризовать как БОЛЬШОЙ, потом — поиск некоторого ЯЩИКА, который столь же правдоподобно можно охарактеризовать как МАЛЫЙ, а затем производит сложение их весов (которые, возможно, известны нечетко) При наличии двусмысленности, проявляющейся в описании ящиков, программа может ее обнаружить, и произойдет останов программы с выдачей соответствующего сообщения. Из обоих примеров видна необходимость

в системе фильтрации, позволяющей оценить совместимость предложенной интерпретации с рассматриваемым понятием

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

(X - точный идентификатор неточной величины, оцениваемой в другом месте)

ПОЙТИ ИСКАТЬ БОЛЬШОЙ ЗЕЛЕНОВАТЫЙ ПРЕДМЕТ КУБИЧЕСКОЙ ФОРМЫ

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

Хорошим примером последовательностей нечетких инструкций, которые должны четко выполняться, служат указания по управлению перемещением человека (или робота) к определенной цели. Так, следующий маршрут ляется весьма типичным отображением плана действий, который передается и часто используется людьми

«Пройти расстояние примерно до перекрестка”.

«Повернуть направо”.

«Дойти до азиатского ресторана, расположенного примерно в «Повернуть налево”

«Добраться до почтового ящика, расположенного в 20 или слева” Такой план действий имеет некоторую аналогию с программой вычислительной машины. Однако обычный язык программирования допускает использование лишь точных операторов, обеспечивающих обработку точной информации. К тому же каждая инструкция из некоторой последовательности имеет единственную интерпретацию, а выполнение этой последовательности инструкций непреложно и обязательно Зато при использовании последовательности инструкций, задаваемых неточными терминами, те инструкции, которые уже встречались ранее, могут пересматриваться (возврат назад) если выполнение последующих инструкций оказывается невозможным Тогда инструкции, подлежащие пересмотру, интерпретируются некоторым способом, отличным от прежнего но всегда совместимым с заданием

В дальнейшем проблемы, возникающие при выполнении таких «нечетких программ”, будут обсуждаться и иллюстрироваться на конкретном примере Они стали предметом исследований многих авторов [9, 11, 16, 17, 19, 1д, ]

Categories

1
Оглавление
email@scask.ru