Автор работы: Пользователь скрыл имя, 17 Апреля 2014 в 13:01, доклад
Проблемы принятия решений в сложных условиях занимают в настоящее время особое место в информационных технологиях. Математические методы широко применяются для описания и анализа сложных экономических, социальных и других систем. Теория оптимизации создала совокупность методов, помогающих при использовании ЭВМ эффективно принимать решения при известных и фиксированных параметрах или когда параметры - случайные величины с известными законами распределения.
Рассмотрим лингвистическую переменную ДИСТАНЦИЯ. Значениями ее можно определить термы ДАЛЕКО, СРЕДНЯЯ, БЛИЗКО и ОЧЕНЬ БЛИЗКО. Для физической реализации лингвистической переменной необходимо определить точные физические значения термов этой переменной. Пусть переменная ДИСТАНЦИЯ может принимать любое значение из диапазона от нуля до бесконечности. Согласно положениям теории нечетких множеств, в таком случае каждому значению расстояния из указанного диапазона может быть поставлено в соответствие некоторое число от нуля до единицы, которое определяет степень принадлежности данного физического расстояния (допустим 40 см) к тому или иному терму лингвистической переменной ДИСТАНЦИЯ. Степень принадлежности определяется так называемой функцией принадлежности М(d), где d-расстояние до помехи. В нашем случае расстоянию 40 см. можно задать степень принадлежности к терму ОЧЕНЬ БЛИЗКО равную 0,7 , а к терму БЛИЗКО– 0,3 (см. рис. 2.). Конкретное определение степени принадлежности может проходить только при работе с экспертами.
Рис. 2. Лингвистическая переменная и функция принадлежности.
Переменной НАПРАВЛЕНИЕ, которая может принимать значения в диапазоне от 0 до 360 градусов, зададим термы ЛЕВОЕ, ПРЯМО И ПРАВОЕ.
Теперь необходимо задать выходные переменные. В рассматриваемом примере достаточно одной, которая будет называться РУЛЕВОЙ УГОЛ. Она может содержать термы: РЕЗКО ВЛЕВО, ВЛЕВО, ПРЯМО, ВПРАВО, РЕЗКО ВПРАВО. Связь между входом и выходом запоминается в таблице нечетких правил (рис. 3.).
Рис. 3. Таблица нечетких правил.
Каждая запись в данной таблице соответствует своему нечеткому правилу, например: «Если ДИСТАНЦИЯБЛИЗКО и НАПРАВЛЕНИЕПРАВОЕ, тогда РУЛЕВОЙ УГОЛРЕЗКО ВЛЕВО».
Таким образом, мобильный робот с нечеткой логикой будет работать по следующему принципу: данные с сенсоров о расстоянии до помехи и направлении на нее будут фаззифицированы, обработаны согласно табличным правилам, дефаззифицированы и полученные данные в виде управляющих сигналов поступят на привода робота.
Применение традиционной нечеткой логики в современных системах крайне ограниченно следующими факторами:
- как правило, сложная система управления имеет большее количество входов, чем самое заурядное нечеткое приложение;
- добавление входных переменных увеличивает сложность вычислений экспоненциально;
- как следствие предыдущего пункта, увеличивается база правил, что приводит к трудному ее восприятию (напомню, база правил набирается вручную);
- операции в рельном масштабе требуют специальных комплектующих.
Исходя из этих причин, Steven Goodridge предлагает использовать систему, обрабатывающую большие данные с помощью нескольких нечетких микроконтроллеров, объединенных вместе. Этот подход позволяет качественно управлять трудно описываемыми нечеткими процессами. Каждый элемент, получившейся нечеткой сети обозначается как нечеткий узел. Теперь, если связать выход одного узла со входом другого, все вычисления заметно упрощаются. Этот подход назван нечетким предвычислением (рис. 4.).
Рис. 4. Нечеткие предвычисления.
Кроме того, выходы нечетких узлов можно объединять с помощью мультиплексора - таким образом достигается более гладкий переход между множеством получающихся после обработки базы правил рекомендаций (рис. 5.).
Рис. 5. Нечеткий мультиплексор
Микроконтроллер нечеткой логики
Общая структура микроконтроллера, использующего нечеткую логику, показана на рис. 6. Она содержит в своем составе следующие составные части:
- блок фаззификации;
- базу знаний;
- блок решений;
- блок дефаззификации.
Блок фаззификации преобразует четкие (сrisp) величины, измеренные на выходе объекта управления, в нечеткие величины, описываемые лингвистическими переменными в базе знаний.
Блок решений использует нечеткие условные (if – then) правила, заложенные в базе знаний, для преобразования нечетких входных данных в требуемые управляющие воздействия, которые носят также нечеткий характер.
Рис. 6. Общая структура нечеткого микроконтроллера.
Блок дефаззификации преобразует нечеткие данные с выхода блока решений в четкую величину, которая используется для управления объектом.
В качестве реальных микроконтроллеров, поддерживающих нечеткую логику выступают 68HC11, 68HC12 фирмы Motorola, MCS-96 фирмы Intel, а также некоторые другие.
Процессор нечеткой логики
Не так давно (в начале 90-х) компания Adaptive Logic из США выпустила кристалл, сделанный по аналогово-цифровой технологии. Он позволит сократить сроки конструирования многих встроенных систем управления реального времени, заменив собой традиционные схемы нечетких микроконтроллеров. Аппаратный процессор нечеткой логики второго поколения принимает аналоговые сигналы, переводит их в нечеткий формат, затем, применяя соответствующие правила, преобразует результаты в формат обычной логики и далее – в аналоговый сигнал. Все это осуществляется без внешних запоминающих устройств, преобразователей и какого бы ни было программного обеспечения нечеткой логики.
Этот микропроцессор относительно прост по сравнению с громоздкими программными обеспечениями. Но так как его основу составляет комбинированный цифровой/ аналоговый кристалл, он функционирует на очень высоких скоростях (частота отсчетов входного сигнала – 10 кГц, а скорость расчета – 500 тыс. правил/с), что во многих случаях приводит к лучшим результатам в системах управления по сравнению с более сложными, но медлительными программами.
Таким образом, этот процессор можно и нужно применять в устройствах, работающих в реальном масштабе времени, где необходима высокая производительность системы (применительно к роботам - это объезд помех типа "сарай" и "яма" и т.п.).
Идея построения процессоров с нечеткой логикой (fuzzy logic) основывается на нечеткой математике. Математическая теория нечетких множеств, описанная выше, открывает все более широкие возможности перед системными аналитиками. Основанные на этой теории различные компьютерные системы, в свою очередь, существенно расширяют область применения нечеткой логики.
Функция принадлежности элементов к заданному множеству также представляет собой не жесткий порог «принадлежит – не принадлежит», а плавную сигмоиду, проходящую все значения от нуля до единицы. Теория нечеткой логики позволяет выполнять над такими величинами весь спектр логических операций – объединение, пересечение, отрицание и др.
Рис. 7. Операции включения (А), объединения (В), пересечения (С) и дополнения (D) НМ
Согласно знаменитой теореме FAT (Fuzzy Approximation Theorem), доказанной Коско, любая математическая система может быть аппроксимирована системой, основанной на нечеткой логике. Свое второе рождение теория нечеткой логики пережила в начале восьмидесятых годов, когда сразу несколько групп исследователей (в основном в США и Японии) занялись созданием электронных систем различного применения, использующих нечеткие управляющие алгоритмы. Используя преимущества нечеткой логики, заключающиеся в простоте содержательного представления, можно упростить проблему, представить ее в более доступном виде и повысить производительность системы.
Оказалось возможным создание нечеткого процессора, позволяющего выполнять различные нечеткие операции и приближенные рассуждения (нечеткий вывод) в соответствии с правилами логического вывода. В 1986 году в AT and T Bell Labs создавались процессоры с «прошитой» нечеткой логикой обработки информации.
Рис. 8. Архитектура нечеткого компьютера (МНВ-механизм нечеткого ввода)
В Европе и США ведутся интенсивные работы по интеграции fuzzy-команд в ассемблеры промышленных контроллеров встроенных устройств (чипы Motorola 68HC11.12.21). Такие аппаратные средства позволяют в несколько раз увеличить скорость выполнения приложений и компактность кода по сравнению с реализацией на обычном ядре. Кроме того, разрабатываются различные варианты fuzzy-сопроцессоров, которые контактируют с центральным процессором через общую шину данных, концентрируют свои усилия на размывании/уплотнении информации и оптимизации использования правил (продукты Siemens Nixdorf).
В заключение, отметим, подходы нечеткой математики позволяют оперировать входными данными, непрерывно меняющимися во времени, и значениями, которые невозможно задать однозначно, такими, например, как результаты статистических опросов. В отличие от традиционной формальной логики, известной со времен Аристотеля и оперирующей точными и четкими понятиями типа истина и ложь, да и нет, ноль и единица, нечеткая логика имеет дело со значениями, лежащими в некотором (непрерывном или дискретном) диапазоне.
Нечеткая логика дает возможность строить базы знаний и экспертные системы нового поколения, способные хранить и обрабатывать неточную информацию. Однако, идеи нечеткой логики не являются панацеей и не смогут совершить переворот в компьютерном мире. Нечеткая логика не решит тех задач, которые не решаются на основе логики двоичной, но во многих случаях она удобнее, производительнее и дешевле. Разработанные на ее основе специализированные аппаратные решения (fuzzy-вычислители) позволят получить реальные преимущества в быстродействии. Если каскадировать fuzzy-вычислители, мы получим один из вариантов нейропроцессора илинейронной сети. Во многих случаях эти понятия просто объединяют, называя общим термином «neuro-fuzzy logic».
В настоящее время перспективой использовать процессоры, основанные на нечеткой логике, всерьез заинтересовались военные. Известно, что NASA рассматривает возможность применения (если еще не применяет) нечетких систем для управления процессами стыковки космических аппаратов.
Информация о работе Высокопроизводительные процессоры нечеткой логики