<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Траектория объекта, наиболее удаленная от наблюдателей</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>В.Б. Костоусов vkost@imm.uran.ru</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Copyright c by the paper's authors. Copying permitted for private and academic purposes. In: A.A. Makhnev, S.F. Pravdin (eds.): Proceedings of the International Youth School-conference 3⁄4SoProMat-2017¿</institution>
          ,
          <addr-line>Yekaterinburg, Russia, 06-Feb-2017, published at</addr-line>
        </aff>
      </contrib-group>
      <fpage>129</fpage>
      <lpage>136</lpage>
      <abstract>
        <p>В статье рассматривается задача построения траектории движущегося объекта, которая наиболее удалена от группы наблюдателей. Задача рассматривается на плоскости. Особенность постановки заключается в предположении о том, что объект имеет ненулевую площадь и при движении должен соблюдать геометрические ограничения. Подробно описывается алгоритм построения оптимальной траектории.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>[ Vh(t) \ B = ?;</p>
      <p>Y = [ Vr(t);
t2T0
замыкание множества A.
где r = r(t) = inf kt bk. Из условий построения траектории T0 следует, что r(t) &gt; h 8t 2 T0. Центральная
b2B
точка t объекта движется внутри коридора</p>
      <p>Yh = [ Vr h(t):
Предполагается, что Vr(t ) T Vr(t ) = ?.</p>
      <p>Множество непрерывных траекторий</p>
      <p>
        T = ft( ) : 0 6
6 1; t(0) = t ; t(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) = t g
      </p>
      <p>Yh
обозначим через T.</p>
      <p>Пусть @Y граница коридора Y и = (@Y )n(Vr(t ) S Vr(t )). В силу условий задачи множество
разбивается на две непересекающиеся части: левую l и правую r по отношению к направлению движения
по траектории T0 от точки t к точке t .</p>
      <p>Аналогично, пусть @Yh – граница коридора Yh и E = (@Yh)n(Vr h(t ) S Vr h(t )). Множество E
разбивается на две непересекающиеся части: левую часть El и правую Er по отношению к объекту, движущемуся
от t к t по T0.</p>
      <p>Предполагается, что задан конечный набор наблюдателей S = fSg, S 2= Y (Y обозначает внутренность
множества Y ). Ради простоты будем считать, что S . Каждый наблюдатель S имеет фиксированный
конус обзора K(S) объединение с S выпуклого открытого конуса при вершине S. Пересечение K(S) с Y
может состоять из нескольких связных компонент. В дальнейшем через KY (S) обозначается компонента,
содержащая S. Для любого S конус K(S) таков, что каждая траектория T 2 T пересекается с KY (S).
Ради простоты будем считать, что Vh(t ) T KY (S) = ?, Vh(t ) T KY (S) = ? для любого S. Множество
наблюдателей, принадлежащих l или r, будем обозначать через Sl, Sr, соответственно.</p>
      <p>Определим ¾расстояние¿ h(t; S) от точки t 2 Yh до наблюдателя S (с учётом конуса наблюдения)
следующим образом:
Определим ¾расстояние¿ h(S; T ) от траектории T 2 T до наблюдателя S:</p>
      <p>h(t; S) = minf (x; S) : x 2 Vh(t)g;
где (x; S) =
(kx Sk при x 2 KY (S),</p>
      <p>+1 при x 2= KY (S).</p>
      <p>h(S; T ) d=ef minf h(t; S) : t 2 T g:
Задача объекта th состоит в выборе траектории Tb из класса T непрерывных траекторий
для которой</p>
      <p>
        T = ft( ) : 0 6
6 1; t(0) = t ; t(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) = t g
      </p>
      <p>Yh;
M = M(S) d=ef max minf h(S; T ) : S 2 Sg = minf h(S; Tb) : S 2 Sg:</p>
      <p>T 2T
Рисунок 1 иллюстрирует описываемую постановку задачи.</p>
      <p>
        Как правило, задача (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) имеет неединственное решение. В этом случае представляет интерес задача
поиска среди гладких траекторий T решений задачи (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) траектории с минимальной длиной:
где t0( ) – производная функции t( ).
      </p>
      <p>min
T 2T
Рис. 1: Задача о наиболее удаленном от наблюдателей траектории объекта th. Наблюдатели S (показаны
черными точками)
3</p>
      <p>
        Характеризация наилучшей траектории
Введём следующие обозначения для множеств (рис. 2):
Рис. 2: К определению множества G
G (S) d=ef ft : h(t; S) &lt; g, где
&gt; 0:
Рассмотрим частные случаи задачи (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ).
      </p>
      <p>I. Введём величины
Определим множества:</p>
      <p>A(S) d=ef (minf : G (S) T El 6= ?g; если S 2 Sr;
minf : G (S) T Er 6= ?g; если S 2 Sl;</p>
      <p>M = min A(S):</p>
      <p>S2S
Q (S) d=ef (G (S) T El; если S 2 Sr;</p>
      <p>G (S) T Er; если S 2 Sl;</p>
      <p>S2S
Так же как для случая точечного объекта, рассмотренного в [1], для случая объекта th справедливо
следующее утверждение (рис. 3).
Рис. 3: Пример задачи о наиболее удалённой от наблюдателей траектории в условиях предложения 1
Предложение 1 Пусть набор наблюдателей S таков, что KY (Sl) T KY (Sr) T Yh = ? для любых
Sl 2 Sl и Sr 2 Sr.
Оптимальная траектория Tb 2 T характеризуется свойствами:
Q(S) Tb,</p>
      <p>h(S; Tb) &gt; M для всех S 2 S.</p>
      <p>Любая траектория T 2 T, удовлетворяющая условию 8S h(S; T ) &gt; M , является оптимальной.
II. Пусть S = fSl; Srg – пара наблюдателей такая, что KY (Sl) T KY (Sr) T Yh 6= ? (рис. 4).
Рассмотрим множество точек, удалённых от двух наблюдателей не более, чем на величину :</p>
      <p>Q (Sl; Sr) = G (Sl) \ G (Sr) \ Yh:
Введём величину:</p>
      <p>A(Sl; Sr) d=ef
(+1;
minf : Q (Sl; Sr) 6= ?g; иначе.</p>
      <p>если 8 : Q (Sl; Sr) = ?,
Можно показать, что в этом случае справедливо следующее утверждение, характеризующее
оптимальную траекторию.
Предложение 2 В случае II имеет место равенство</p>
      <p>
        M(S) = minfA(Sl; Sr); A(Sl); A(Sr)g:
Искомая оптимальная траектория в задаче (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) составлена из части границы множества G (S) :
      </p>
      <p>
        = M(S), и дополнена частью границ El или Er
соответСтрогая характеризация оптимальной траектории задачи (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) в случае произвольного расположения
наблюдателей будет рассмотрена в дальнейших исследованиях. Однако, в следующем разделе представлен
численный алгоритм, приближенно решающий задачи (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ), (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ), когда граница задана в виде простой
ломаной линии без самопересечений.
4
      </p>
      <p>
        Алгоритм построения наилучшей траектории
Для решения задачи (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) воспользуемся алгоритмом Дейкстры [2] построения кратчайшего пути в графе.
Для этого следует определить неориентированный граф (т.е. множества вершин и рёбер), в котором данный
алгоритм будет искать кратчайший путь.
      </p>
      <p>В качестве множества вершин примем объединение множества вершин описываемой ниже двумерной
прямоугольной сетки с постоянным шагом и пары точек начального и конечного положения объекта.
Пусть задан шаг сетки &gt; 0, h.</p>
      <p>Пусть граница задана в виде простой ломаной линии без самопересечений, fpi( ) = (xi( ); yi( )) : i =
0; :::; N 1g последовательность концевых точек отрезков этой линии.</p>
      <p>Тогда размеры сетки вычисляются следующим образом:</p>
      <p>Nx = 1 +
Ny = 1 +
maxfxi( )g
maxfyi( )g
minfxi( )g ;
minfyi( )g :
Множество вершин графа определим так:</p>
      <p>C = (Cx</p>
      <p>Cy) [ft ; t g;
Cx = fxk : xk = k
Cy = fyk : yk = k
+ minfxi( )g; k = 0; :::; Nx
+ minfyi( )g; k = 0; :::; Ny
1g;
1g:
В качестве множества рёбер U возьмём все пары вершин fci; cjg из множества C, удовлетворяющие
условию отрезок fci; cjg не должен пересекать ¾запретную¿ область, которую образуют h-окрестность
границы и множества GM (S); S 2 S: В качестве веса ребра возьмём его длину: w = jjci
Величина M вычисляется так:
cjjj.</p>
      <p>M = minfA(Sl; Sr); A(Sl); A(Sr) : Sl; Sr 2 Sg:
Для определения того факта, что отрезок ребра не пересекает ¾запретную¿ область, строится множество
¾запретных¿ вершин Cb Cx Cy и применяется алгоритм Брезенхэма для растеризации отрезка [3].</p>
      <p>Пусть Bresenham(fci; cjg) подмножество вершин на сетке Cx Cy, отмечаемых при растеризации
отрезка fci; cjg алгоритмом Брезенхэма (рис. 5).</p>
      <p>Тогда множество рёбер графа определим так:</p>
      <p>U = ffci; cj; wg : ci; cj 2 C; ci 6= cj;</p>
      <p>Bresenham(fci; cjg) \ Cb = ?; w = jjci</p>
      <p>cjjjg:
Рис. 5: Пример того, как с помощью алгоритма Брезенхэма определяется факт пересечения ребра fci; cjg
с множеством ¾запретных¿ вершин Cb
Далее построим множество ¾запретных¿ вершин Cb.
Обозначим Li( ) множество точек, принадлежащих отрезку ломаной линии :</p>
      <p>Li( ) =</p>
      <p>ft : t = pi 1( ) k + pi( ) (1
(ft : t = pN 1( ) k + p0( ) (1 k); k 2 [0; 1]g; если i = 0,</p>
      <p>иначе.
k); k 2 [0; 1]g;
Пусть r(t; X)
минимальное евклидово расстояние от точки t 2 R2 до точек множества X
R2:
r(t; X) = xi2nXf jjt xjj:
Обозначим Cb(Li( )) множество точек сетки, лежащих в окрестности радиуса h
Li( ):
" отрезка ломаной</p>
      <p>
        Cb(Li( )) = ft : t 2 Cx Cy; r(t; Li( )) &lt; h "g; (
        <xref ref-type="bibr" rid="ref3">3</xref>
        )
где величина " 2 ( ; 2 ) должна обеспечить прохождение траектории между ¾запретными¿ областями
(рис. 6).
      </p>
      <p>Обозначим H (S) множество точек, принадлежащих конусу наблюдения K(S) наблюдателя S и
лежащих на расстоянии меньше от вершины конуса:</p>
      <p>H (S) = ft : t 2 K(S); r(t; S) &lt; g:
Обозначим через Cb(S) множество точек сетки, лежащих в окрестности радиуса h " границы множества
HM (S):</p>
      <p>Cb(S) = ft : t 2 Cx Cy; r(t; @HM (S)) &lt; h "g:
Множество ¾запретных¿ вершин определим как объединение введёных выше множеств (см. рис. 6):
(4)
Cb = [ Cb(Li( )) [ Cb(S):</p>
      <p>
        i S2S
Предложенный алгоритм решает задачу об оптимальном пути, и его асимптотическая сложность есть
O(jCj2) [2]. На рис. 7 представлен пример построения предложенным алгоритмом оптимальной траектории
в задаче (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) для случая большого количества наблюдателей.
Благодарности
      </p>
      <p>
        Работа выполнена при частичной поддержке комплексной программы ФНИ УрО РАН (проект
15-16-114).
Рис. 6: Пример множества ¾запретных¿ вершин Cb, показанных чёрным цветом. Можно видеть полученный
в результате выбора " (см. (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ), (4)) зазор между множествами Cb(S), который обеспечивает возможность
решения задачи
      </p>
      <p>Рис. 7: Пример построения маршрута предложенным алгоритмом
Список литературы
The farthest from observers tra jectory
Alexander A. Popov, Victor B. Kostousov, Vitalii I. Berdyshev
Krasovskii Institute of Mathematics and Mechanics (Yekaterinburg, Russia)
Keywords: planning the route, optimal route, geometrical observability, Dijkstra’s algorithm.</p>
      <p>The article considers the problem of constructing a moving object trajectory which is the farthest from the
group of observers. The problem is considered on the plane. The peculiarity of the problem statement lies in
the assumption that the area of object not equal to zero and, when moving, it must comply with geometric
constraints. The algorithm for optimal trajectory constructing is described.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>V.I.</given-names>
            <surname>Berdyshev</surname>
          </string-name>
          .
          <article-title>A moving object in R2 and a group of observers</article-title>
          .
          <source>Tr. Inst. Mat. Mekh. (Ekaterinburg)</source>
          ,
          <volume>22</volume>
          (
          <issue>4</issue>
          ):
          <fpage>87</fpage>
          -
          <lpage>93</lpage>
          ,
          <year>2016</year>
          (in Russian).
          <source>= В.И. Бердышев</source>
          .
          <article-title>Движущийся в R2 объект и группа наблюдателей</article-title>
          .
          <source>Труды Института математики и механики УрО РАН</source>
          ,
          <volume>22</volume>
          (
          <issue>4</issue>
          ):
          <fpage>87</fpage>
          -
          <lpage>93</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>T.H.</given-names>
            <surname>Cormen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.E.</given-names>
            <surname>Leiserson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.L.</given-names>
            <surname>Rivest</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Stein</surname>
          </string-name>
          . Introduction to Algorithms. 3rd ed. MIT Press and
          <string-name>
            <surname>McGraw-Hill</surname>
          </string-name>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>D.F.</given-names>
            <surname>Rogers</surname>
          </string-name>
          .
          <article-title>Procedural Elements for Computer Graphics</article-title>
          .
          <string-name>
            <surname>McGraw-Hill</surname>
          </string-name>
          ,
          <year>1985</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>