Актуальные проблемы авиации и космонавтики. Информационные технологии
Стоимость перехода из одной позиции в другую может представлять множество вещей: обычное расстояние между позициями; стоимость по времени или топливу на перемещение; штрафы за проезд через нежелательную область (например, точки в пределах вражеской артиллерии); бонусы за проезд через предпочтительные области (например, исследование новой области или захват контроля над неконтролируемыми зонами); и эстетические соображения (например, если диагональные перемещения такие же по стоимости, как и ортогональные, все равно лучше сделать их стоимость больше, для того чтобы пути выглядели более прямыми и естественными).
Приближение обычно равняется минимальному расстоянию между текущим узлом и целью умноженному на минимальную стоимость передвижения между узлами. Это гарантирует допустимость эвристики И(и). (На карте с квадратными клетками, где объекты могут занимать только точки на сетке, минимальным расстоянием будет не геометрическое расстояние, а минимальное число ортогональных и диагональных перемещений между двумя точками.)
Цель не обязательно должна быть единственной позицией, но может состоять из множества позиций. Тогда приближение должно равняться минимуму приближений ко всем возможным целям. Указание пределов по стоимости пути или по расстоянию, или по обоим признакам может быть легко реализовано. Из моего непосредственного опыта я знаю, что А* хорошо работает для большого числа типов путей в военных играх ^а^ашеБ) и стратегиях.
Существуют ситуации, в которых А* не может работать хорошо по различным причинам. Требования работы в реальном масштабе времени для некоторых игр,
плюс ограничения по памяти и процессорному времени в некоторых из них, создают проблемы для хорошей работы даже для А*. Большая карта может требовать тысячи ячеек в списках Open и Closed, для чего может оказаться недостаточно места. Даже если для них окажется достаточно памяти, алгоритмы для работы с этими списками могут оказаться неэффективными.
Качество работы алгоритма сильно зависит от качества эвристического приближения h(n). Если h близко к истинной стоимости оставшегося пути, то эффективность будет очень высокой, с другой стороны, если h будет слишком низким, то это отразится на эффективности в худшую сторону. На самом деле, алгоритм Дийкстры - это A* с h установленной в ноль для всех узлов - это конечно будет допустимым приближением и этот алгоритм найдет путь, но это будет очень медленно
Подводя итоги можно сделать вывод что алгоритм А* не идеален у него существуют проблемы но так же он на много лучше большинства существующих алгоритмов. Он всегда выдаёт наикратчайший путь, если точка не досягаема он сообщит об этом. Ценой этого стали скорость и память, но для этого алгоритма существуют, модификация реализация которых поможет ускорить его работу и уменьшить количество используемой им памяти.
Библиографические ссылки
1. Кормен Т., Штайн К. Алгоритмы. Построение и анализ. М.: Вильямс, 2005. 1296 с.
2. Макконнел Дж. Основы современных алгоритмов. М. : Техносфера, 2006. 368 с.
© Колесников С. В., 2012
УДК 62-506.1
Н. В. Коплярова Научный руководитель - О. В. Шестернева Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Красноярск
О НЕПАРАМЕТРИЧЕСКОМ АЛГОРИТМЕ МОДЕЛИРОВАНИЯ НЕЛИНЕЙНЫХ ДИНАМИЧЕСКИХ СИСТЕМ
Рассматривается задача идентификации нелинейных динамических процессов с использованием модели Винера, линейная динамическая часть объекта находится в условиях непараметрической неопределенности. Вид нелинейности предполагается неизвестным. Приводится алгоритм для создания адекватных в смысле среднеквадратичного критерия моделей систем.
Развитие теории и методов математического моделирования нелинейных динамических систем является актуальной проблемой современной прикладной математики. Наиболее важным с точки зрения приложений классом динамических процессов являются системы, допускающие активный эксперимент при отсутствии полной априорной информации о структуре и параметрах моделируемого объекта.
Пусть исследуемая нелинейная динамическая система представлена в виде двух последовательно включенных звеньев - линейного динамического и нелинейного статического (модель Винера) [2].
Пусть |и ( ) ,х. | , I = 1,5 - выборка измерений реакции объекта на тестовое входное воздействие и (1).
Структура и параметры линейной динамической части, а также вид нелинейного звена системы неизвестны. На основании имеющейся информации требуется построить модель нелинейного динамического процесса, адекватно описывающую его поведение при произвольном входном воздействии.
Известно, что реакция системы линейной динамической системы w(t) на входное воздействие иф описывается интегралом Дюамеля [1]:
Секция ««Математические методы моделирования, управления и анализа данных»
w (t) = k (0)u (t) +
(1)
+Jk'(t - x)u(x)dx = k(0)u(t) + Jh(t - x)u(x)dx 0 0 где h(t), k(t) - весовая и переходная функции системы.
Выход нелинейного объекта может быть описан как некоторая функция от интеграла Дюамеля [2]:
q (' ) = f {w (')}.
(2)
f 1(u) = Z q1H i = 1 i
u -ul. ^
C
V S
u - ul ^
(4)
здесь q(t) - выходной сигнал системы; w(t) - выход линейной части системы (не измеряемый); f{} - нелинейный оператор.
Если подать на вход системы единичное воздействие, выход линейной части системы w(t)=k(t) будет стремиться к некоторой неизвестной константе С1, а выход нелинейного объекта будет стремиться к величине, равной f(C1). При некотором произвольном постоянном входном воздействии u (t) = C :
w (t) = Ck(t), q (t) = f (Ck(t)). Проведя серию экспериментов над системой, в ходе которых будем подавать на ее вход различные константы, можем получить выборку
{U,Q}: U = {ui,u2,..,uc},Q = {qbq2,..,qc}, (3)
где qt - установившееся значение выхода системы при входном воздействии ц. Причем значения qt будут пропорциональны flu,), т. е. qi = C 2 f (ui), С2 = const.
На основании полученной выборки можно построить непараметрическую оценку функции нелинейного звена объекта: q = f 1(u) = f (u) следующим образом:
где И(-) - колоколообразная функция; с3 - параметр размытости, на которые накладываются условия сходимости, которым они должны удовлетворять; q11 -установившееся значение выхода системы при входном воздействии и11 [1].
Далее получаем оценку функции и = /2(д) = / 1 (д). Таким образом, будем полагать, что вид нелинейности системы известен. При этом значения переходной функции линейного звена объекта к(г) могут быть рассчитаны:
к (г) = /-'(д(0) = / 2(д(г))
При произвольном входном воздействии модель нелинейного элемента примет вид:
q(t) = f 1
1
t / At
sc
ZZ f 2(qi ) =
s i=1 j=1
X H'
t-xj -1,
[u(xj)Ax] .
(5)
V я /
где q1 - реакция нелинейной системы на единичное входное воздействие; и - тестовое входное воздействие.
Рассмотрим следующую систему: линейная часть объекта описывается дифференциальным соотношением: 2 • у"(г) + 0.3 • у'(г) + у (г) = и (г)
Нелинейный элемент представляет собой звено насыщения с параметрами: Ь1 = 2 у0 = 0.4.
Тестовое входное воздействие: и(г) = 2соБ(0.4г).
x22(t1;) 1
yyj
10
20 t1j
30
40
х2(1;) - модель нелинейной системы, уу1 - выход системы, объем выборки 8 = 150, шаг дискретизации И = 0.2, помеха 5 %, относительная средняя ошибка моделирования 6,
4 %
2
3
0
Полученная непараметрическая модель адекватно описывает данную систему при различных видах нелинейной части объекта, в условиях зашумленности каналов связи, при различном объеме выборки и входных воздействиях.
Библиографические ссылки
1. Медведев А. В. Непараметрические системы адаптации. Новосибирск: Наука, 1983. 173 с.
2. Чайка С. Н. К идентификации динамических систем при частично параметризованной структуре модели //Динамика систем : Управление и оптимизация. Горький: Изд-во Горьк. гос. ун-та, 1989.
© Коплярова Н. В., 2012