Задача о парковке

Введение


Нечёткая логика (англ. fuzzy logic) - раздел математики, являющийся обобщением классической логики и теории множеств, базирующее на понятии нечёткого множества, впервые введённого Лотфи Заде в 1965 году как объекта с функцией принадлежности элемента к множеству, принимающей любые значения в интервале, а не только 0 или 1. На основе этого понятия вводятся различные логические операции над нечёткими множествами и формулируется понятие лингвистической переменной, в качестве значений которой выступают нечёткие множества.

Предметом нечёткой логики считается исследование рассуждений в условиях нечёткости, размытости, сходных с рассуждениями в обычном смысле, и их применение в вычислительных системах

Началом практического применения теории нечетких множеств можно считать 1975 г., когда Мамдани и Ассилиан построили первый нечеткий контролер для управления простым паровым двигателем.

В 1982 Холмблад и Остергад (Holmblad and Osregaad) разработали первый промышленный нечеткий контроллер, который был внедрен в управление процессом обжига цемента на заводе в Дании. Успех первого промышленного контролера, основанного на нечетких лингвистических правилах «Если-то» привел к всплеску интереса к теории нечетких множеств среди математиков и инженеров. Несколько позже Бартоломеем Коско (Bart Kosko) была доказана теорема о нечеткой аппроксимации (Fuzzy Approximation Theorem), согласно которой любая математическая система может быть аппроксимирована системой, основанной на нечеткой логике. Другими словами, с помощью естественно-языковых высказываний-правил «Если-то», с последующей их формализацией средствами теории нечетких множеств, можно сколько угодно точно отразить произвольную взаимосвязь «входы-выход» без использования сложного аппарата дифференциального и интегрального исчислений, традиционно применяемого в управлении и идентификации.

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


1. Теоретические сведенья


.1 Нечеткая логика


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

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


1.2 Нечеткие множества


Пусть E - универсальное множество, x - элемент E, а R - определенное свойство. Обычное (четкое) подмножество A универсального множества E, элементы которого удовлетворяют свойство R, определяется как множество упорядоченной пары A = {mA (х)/х}, где mA(х) - характеристическая функция, принимающая значение 1, когда x удовлетворяет свойство R, и 0 - в другом случае.

Нечеткое подмножество отличается от обычного тем, что для элементов x из E нет однозначного ответа «нет» относительно свойства R. В связи с этим, нечеткое подмножество A универсального множества E определяется как множество упорядоченной пари A = {mA(х)/х}, где mA(х) - характеристическая функция принадлежности (или просто функция принадлежности), принимающая значение в некотором упорядоченном множестве M (например, M = [0,1]).

Функция принадлежности указывает степень (или уровень) принадлежности элемента x к подмножеству A. Множество M называют множеством принадлежностей. Если M = {0,1}, тогда нечеткое подмножество A может рассматриваться как обычное или четкое множество.


1.3 Системы нечеткого вывода


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

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

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

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

Таким образом, основными этапами нечеткого вывода являются:

Формирование базы правил систем нечеткого вывода.

Фаззификация входных переменных.

Агрегирование подусловий в нечетких правилах продукций.

Активизация или композиция подзаключений в нечетких правилах продукций.

Аккумулирование заключений нечетких правил продукций.

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

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

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

Аккумуляция или аккумулирование в системах нечеткого вывода представляет собой процедуру или процесс нахождения функции принадлежности для каждой из выходных лингвистических переменных множества W = {w1, w2,…, ws}.

Цель аккумуляции заключается в том, чтобы объединить или аккумулировать все степени истинности заключений (подзаключений) для получения функции принадлежности каждой из выходных переменных. Причина необходимости выполнения этого этапа состоит в том, что подзаключения, относящиеся к одной и той же выходной лингвистической переменной, принадлежат различным правилам системы нечеткого вывода. Дефаззификация в системах нечеткого вывода представляет собой процедуру или процесс нахождения обычного (не нечеткого) значения для каждой из выходных лингвистических переменных множества W = {w1, w2,…, ws}.

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


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


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

Таким образом, всюду далее под правилом нечеткой продукции или просто - нечеткой продукцией будем понимать выражение следующего вида: (i): Q; Р; А В; S, F, N, в котором все компоненты определены согласно (7.17), за исключением того, что условие ядра (антецедент) и заключение ядра (консеквент) представляют собой нечеткие лингвистические высказывания.

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

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

ПРАВИЛО <#>: ЕСЛИ «в1 есть б», ТО «в2 есть б». (8.1)

Здесь нечеткое высказывание «в1 есть б» представляет собой условие данного правила нечеткой продукции, а нечеткое высказывание «в2 есть б» - нечеткое заключение данного правила. При этом считается, что в1?в2.


1.5 Алгоритм Мамдани


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


П1: если x есть A1, тогда z есть B1,

П2: если x есть A2, тогда z есть B2,

……….

Пn: если x есть An, тогда z есть Bn,


где x - входная переменная (имя для известных значений данных), z - переменная вывода (имя для значения данных, которое будет вычислено); Аi и Вi - нечеткие множества, определенные соответственно на X и Z с помощью функций принадлежности и (z).

Пример подобного правила:

если x - низко, то z - высоко.

Механизм нечеткого вывода при аппроксимации функции z(x) можно представить в виде:

Предпосылка:


П1: если x есть A1, тогда z есть B1,

П2: если x есть A2, тогда z есть B2,

……….

Пn: если x есть An, тогда z есть Bn.

Факт: x есть A


Следствие: z есть B


В рассматриваемой ситуации данный вывод в форме алгоритма Мамдани математически может быть описан следующим образом:

. Введение нечеткости (fuzzification): для заданного (четкого) значения аргумента x = x0 находятся степени истинности для предпосылок каждого правила

i = (x0).


. Нечеткий вывод по каждому правилу: находятся «усеченные» функции принадлежности для переменной вывода:


= (ai,).


. Композиция: с использование операции МАКСИМУМ (max) производится объединение найденных усеченных функций, что приводит к получению итогового нечеткого подмножества для переменной вывода с функцией принадлежности


(z) = = [].


. Наконец, приведение к четкости (defuzzification) - для нахождения z0 = F(x0) - обычно проводится центроидным методом: четкое значение выходной переменной определяется как центр тяжести для кривой, т.е.


,


где W - область определения.


1.6 Задача о парковке автомобиля


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

Проблема парковки грузовика. Грузовик и зона его «паркинга» показаны на рис. 3.40 Пунктирной линией обозначена ось. Рампа, к которой должен подъехать грузовик, помечена словом «док». Грузовик представлен вектором, направленным от задней части грузовика к передней. Положение грузовика точно определяется значениями трех переменных: - координатой по горизонтальной оси, - координатой по вертикальной оси, и углом, под которым грузовик (точнее, вектор его перемещения) находится относительно оси; координаты определяют центр задней части грузовика (паркование в док осуществляется задним ходом).


Грузовик и зона паркинга


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


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

Для создаваемой системы нечеткого управления объектом будет легковой автомобиль

При управлении сложными техническими системами, как правило, приходится сталкиваться с различной степенью неопределенности исходных данных, параметров системы, нечеткостью целей и задач управления.

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

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

Методы управления, основанные на теории нечетких множеств, разработанной американским математиком Л.А. Заде, являются наиболее перспективными для решения данного класса задач.

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

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

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

Нечеткий контроллер представляет собой систему нечеткого логического вывода типа Мамдани. Нечеткая модель реализует некоторую вещественную функцию которая определяется процедурой выполнения нечетких правил. Для заданных вещественных значений аргументов х1, х2,…, хn, вещественное значение функции z* =f (x1, x2,…, xn) вычисляется следующим образом:

. В каждом правиле Ri определяются степени принадлежности мAij (x*) величин х* нечетким множествам Аij.

. Вычисляются степени срабатывания правил wi=T (мA1i(x*j)), мA2i (x*2),…, мAni (x*n), где Т (a, b) - операция нечеткой конъюнкции.

. Заключения правил вычисляются как нечеткие множества Zi, со следующими степенями принадлежности мZi(z)=F (wi, мCi(z)), где F - некоторая вещественная функция от двух аргументов (обычно операция нечеткой конъюнкции).

. Заключения правил Zi агрегируются в нечеткое множество Z* по формуле мZ(z)=S (мZ1 (z), мZ2 (z),…, мZm(z)), где в качестве функции S обычно выбирается некоторая операция нечеткой дизъюнкции S (a, b).

. На основе нечеткого множества Z* определяется, например, в результате вычисления его центра тяжести, вещественное число z* которое и принимается за значение вещественной функции z* =f (x1, x2,…, xn), определяемой нечеткой моделью.

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

Разработка таких сетей эффективно выполняется в системе Fuzzy Logic Toolbox. В рассматриваемой задаче были определены входные и выходные лингвистические переменные.

Входные параметры:

. SL - скорость грузовика.

. DPP - расстояние до цели парковки.

Выходные параметры:

. SL - скорость грузовика.

. DML - направление движения грузовика.



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

ЕСЛИ «SL1 есть NLS» И «DPP есть BD1» ТО «DML есть CB» И «SL2 есть NVHS»

ЕСЛИ «SL1 есть NVHS» И «DPP есть AD1» ТО «DML есть B» И «SL2 есть NHS»

ЕСЛИ «SL1 есть NHS» И «DPP есть AD1» ТО «DML есть SB» И «SL2 есть NAS»

ЕСЛИ «SL1 есть NAS» И «DPP есть SD1» ТО «DML есть SB» И «SL2 есть NLS»

ЕСЛИ «SL1 есть NLS» И «DPP есть PP» ТО «DML есть none» И «SL2 есть S»

ЕСЛИ «SL1 есть PLS» И «DPP есть BD2» ТО «DML есть CF» И «SL2=PVHS»

ЕСЛИ «SL1 есть PVHS» И «DPP есть AD2» ТО «DML есть F» И «SL2=PHS»

ЕСЛИ «SL1 есть PHS» И «DPP есть AD2» ТО «DML есть SF» И «SL2 есть PAS»

ЕСЛИ «SL1 есть PAS» И «DPP есть SD2» ТО «DML есть SF» И «SL2 есть PLS»

ЕСЛИ «SL1 есть PLS» И «DPP есть PP» И «DML есть none» И «SL2 есть S»



Функции принадлежности для входных и выходных параметров изображены на рис. 1, 2 и 3 соответственно.


Функции принадлежности скорости грузовика


Данная функция принадлежности имеет следующие параметры:='NSL':'trapmf', [-19.5 -15.5 -11.5 -7.5]='NVHS':'trimf', [-5.5 -2.5 0.5]

MF3='PHS':'trimf', [6.5 9.5 12.5]='NAS':'trimf', [-11.5 -8.5 -5.5]='NHS':'trimf', [-8.5 -5.5 -2.5]='S':'trimf', [-2.5 0.5 3.5]='PLS':'trimf', [0.5 3.5 6.5]='PAS':'trimf', [3.5 6.5 9.5]

MF9='PVHS':'trapmf', [8.5 12.5 15.5 19.5]


Функции принадлежности расстояния до цели парковки


Name='SpeedTruck2'=[-15 15]=9='NLS2':'trapmf', [-19.5 -15.5 -11.5 -7.5]='S2':'trimf', [-2.5 0.5 3.5]='PHS2':'trimf', [6.5 9.5 12.5]

MF4='NAS2':'trimf', [-11.5 -8.5 -5.5]='NHS2':'trimf', [-8.5 -5.5 -2.5]='NVHS2':'trimf', [-5.5 -2.5 0.5]='PLS2':'trimf', [0.5 3.5 6.5]='PAS2':'trimf', [3.5 6.5 9.5]='PVHS2':'trapmf', [8.5 12.5 15.5 19.5]


Функции принадлежности направления движения


Name='MovementDirectionOfTruck'

Range=[-15 15]=7='B':'trimf', [-11.5 -7.5 -3.5]='none':'trimf', [-3.5 0 3.5]='F':'trimf', [3.5 7.5 11.5]='CB':'trapmf', [-19.5 -15.5 -11.5 -7.5]='SB':'trimf', [-7.5 -3.5 0.5]='SF':'trimf', [0 3.5 7.5]='CF':'trapmf', [7.5 11.5 15.5 19.5]


Графический интерфейс программы просмотра правил после выполнения процедуры нечеткого вывода


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

В результате расчетов получен график нечеткого вывода (рис. 5) для разработанной нечеткой модели.

Список использованной литературы

мамдани нечеткий парковка математика

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

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

Леоненков А.В. Нечеткое моделирование в среде MATLAB и fuzzyTECH. - СПб.:

БХВ Петербурr, 2005. - 736 с.: ил.

.1. Финаев В.И. Модели принятия решений: Учебное пособие. - Таганрог: Изд-во ТРТУ, 2005. - 118 с.

4.2. Гайдук А.Р., Беляев В.Е., Пъявченко Т.А. Теория автоматического управления в примерах и задачах с решениями в MATLAB: Учебное пособие. - СПб.: Изд-во «Лань, 2011. - 464 с.

5.3. Cai B., Konik D. Intelligent Vehicle Active Suspension Control Using Fuzzy Logic // IFAC World Congress. - 1993. - Vol. 2. - P. 231-236.

6.4. Аверин А.Н. и др. Нечеткие множества в моделях управления и искусственного интеллекта / Под ред. Д.А. Поспелова. - М.: Наука, 1986. - 312 с.


Теги: Задача о парковке  Курсовая работа (теория)  Математика
Просмотров: 36589
Найти в Wikkipedia статьи с фразой: Задача о парковке
Назад