<!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>
        <aff id="aff0">
          <label>0</label>
          <institution>Bocharov N.A</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Federal Research Center Computer Science and Control of the Russian Academy of Sciences</institution>
          ,
          <addr-line>Moscow</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>JSC «MCST»</institution>
          ,
          <addr-line>Moscow</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>The institute of electronic control computers</institution>
          ,
          <addr-line>Moscow</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2017</year>
      </pub-date>
      <fpage>234</fpage>
      <lpage>244</lpage>
      <abstract>
        <p>При разработке современных автономных наземных робототехнических комплексов одной из главных задач является создание когнитивной интеллектуальной системы управления. При этом, актуальным является создание роботов, работающих как по одиночке, так и в составе группы. Существенным, но не решенным вопросом является оснащение таких систем управления вычислительной техникой, разработанной на базе отечественных микропроцессоров и программным обеспечением отечественной разработки. Цель работы исследовать применимость вычислительных средств на базе многоядерных микропроцессоров «Эльбрус» для решения задач когнитивного управления в таких интеллектуальных системах. Авторами были исследованы задачи управления группой роботов и задачи работы с внешними датчиками, как наиболее сложные и ресурсоемкие задачи при создании таких систем. Авторами были исследованы алгоритмы поиска пути на графе, распознавания и работы системы стереозрения и разработаны программные средства, моделирующие данные алгоритмы с учетом особенностей микропроцессоров «Эльбрус». Получены временные характеристики для алгоритмов построения карты проходимости, поиска пути на графе, стереореконструкции и калибровки. Показано, что вычислительные комплексы на базе микропроцессоров «Эльбрус» могут удовлетворять требованиям, выдвигаемым к когнитивным системам управления современными робототехническими комплексами. Когнитивное управление; многоядерные вычислительные системы; моделирование алгоритмов группового управления.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Введение
stereovision and have developed software that simulate these algorithms with the features of
microprocessors "Elbrus". The temporal characteristics for building a passability map, pathfinding on
the graph, stereo reconstruction and calibration algorithms were obtained. Obtained results display
possibility of using computer systems of «Elbrus» series as computer for modern cognitive intelligent
control system.</p>
      <p>Motion modelling; search path on the graph; modelling algorithms of group control.</p>
      <p>Современной тенденцией развития наземной робототехники является постепенный переход
дистанционно управляемых к полуавтономным, а в пер–спкектаиввтеономным робототехническим
комплексам (РТК). Пэртиом важным направлением является применение не единичных образцов,
группировок роботов, способных более эффективно выполнять определенные задачи. В связи с
актуальным является создание интеллектуальных систем управления группировками автономных
наземных робототехнических комплексов. Существенным, но не решенным вопросом создания сис
управления РТК является оснащение вычислительной техникой, разработанной на базе отечествен
микропроцессоров и программного обеспечения отечественной разработки.</p>
      <p>Поскольку робототехника является одним из перспективных направлений применения
вычислительных комплексов(ВК) и программного обеспечения семейства «[Э1л],ьбтроус»целью данной
работы было исследовать и показать применимость микропроцессора-8С«»Эл[2ь]брудсля решения
задач когнитивного управления группой роботов.</p>
      <p>Результатом данной работы является программный комплекс, позволяющий моделировать поведен
группы автономных роботов на местности и моделировать работу группы средств наблюден
роботами. аТкже были разработаны вспомогательные программы для моделирования систем
технического зрения роботов и средств резервирования. Данный программный комплекс позво
определить временные и нагрузочные характеристики, которые позволили сделать вывод
применимости микропроцессора «Эльб-р8уСс» для решения задач когнитивного управления группой
роботов, а также помог проводить работы по оптимизации программного обеспечения в ОС «Эль
Постановка задачи</p>
      <p>В работ[е3] авторами было проведено моделированиеитмаолвгорпоиска пути и работы с системой
стереозрения отдельным роботом на прошлом поколении процессоров «Эльбрус». Для тестирования
использован вычислительный комплекс, состоящий из четырех процессоров -4С«»Э,льбрус
объединенных в кластер и используоюбщиуюх NUMA-память.</p>
      <p>Движение робота в модели было сведено к поиску пути на графе, соответственно был прове
существующих алгоритмов поиска пути на графе. В качестве используемого алгоритма был
алгоритм А* с некоторыми изменениями в еэскворйистифчункции для учета дополнительных
параметров. Для повышения реалистичности модели в нее был включен учет таких параметров
как: скорость, ускорение, радиус поворота, радиус обнаружения препятстви[4й]. Вбылроабоптреоведено
улучшение алгоритомв для моделирования уже не одного, а группы из нескольких роботов. В
работе были проведены оптимизации алгоритмов и проведено моделирование на новом покол
микропроцессоров «Эльбру-с8С»</p>
      <p>Формально, в рассматриваемой задаче поиска пути гроутпопвой обрроаббатываются три множества:
множество роботов, множество целей и множество внешних факторов. В разработанной программе
реализовано моделирование всех этих множеств.
Задача поиска пути</p>
      <p>
        Задача поиска пути была сведена к задаче поискафепутииз ну-заслтаагрртаа до у-зфлианиша [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ].
Пара (V(G), E(G)) называется графом, ес—линепVу(сGт)ое конечное множество элементов, называемых
узлами, а E(—G)конечное множество неупорядоченных пар различных элементов из V(G), называем
рёбрами. При этом искпо необходимо осуществлять, учитывая проходимость различных опорных
поверхностей и радиус поворота робота.
      </p>
      <p>Для задачи поиска пути роботом также необходимо учитывать длину пути, что можно об
через вес рёбер. При этом, если робот может пеирземетсотчиктиьсяA в точку B, то не обязательно,
он может и переместиться из точки B в точку A. Наприме—р, этеослиточткоачканаA открытой
местности, а точка— Bточка у стены с азимутом, направленным прямо в стену. Таким образом
поставленной задачиподходит использование взвешенного ориентированного графа.
Узел графа по определению представляет собой элемент графа, обозначающий объект любой пр
В данной задаче узел графа обозначает область на местности, в которую робот имеет возможно
Так как необходимо учитывать радиус поворота робота, то необходимо и учитывать азимут ро
построении пути. Таким образом, узел графа задается не только координатами x, y, но и азим
Ребром графа обозначается траектория между узлами, котосореыдеиняоента, по которой может
перемещаться робот. При этом траектория строится с учетом радиуса поворота робота. Так как
пути надо учитывать проходимость различных опорных поверхностей, то вес ребра обозначи
средний коэффициент проходимоснтаи всём протяжении траектории данного ребра.</p>
      <p>Путь робота проходит от узла к узлу. Но эти узлы не могут быть соединены ребрами,
прямыми траекториями, так как робот не имеет возможность мгновенно развернуться в н
направлении. Поэтому междузламуи необходимо находить траекторию с плавными поворотами,
соответствующими радиусу поворота робота. При этом необходимо проверять эти траектории на н
препятствий на пути.</p>
      <p>Учет радиуса поворота происходит при построении траектории от узлоатветкствуезнлнуо., Со
каждый узел, помимо координат, характеризовался еще и азимутом. Итоговая траектория между
узлами состоит из трех сегм–ендтвоувх дуг и отрезка прямой. При этом могут возникнуть два сл
различающиеся подсчетом основных точек: окбоегдаокружности обходятся в одном направлении и
наоборот. Выбирается та, которая имеет наименьшуюПридлинпуо.строении пути есть два случая,
различающихся расчетом траектории: когда обе окружности поворота обходятся в одном направл
(например, обе посовчоай стрелке) и когда две окружности поворота обходятся в противополож
направлениях (одна окружность по часовой стрелке—, пдрроутгиаяв часовой стрелки).</p>
      <p>Рисунок 1. Обход окружностей в одном направлении.
Рисунок 2. Обход окружностей в противоположных направлениях.
Задача расчета проходимости</p>
      <p>Задача поиска наилучшего пути могла бы сводиться к задаче поиска кратчайшего пути
реальности данное решение не всегда приемлемо. Путь охмодожитеьт пор различным опорным
поверхностям. Например, есть более длинный путь по асфальтированной дороге и более корот
песку. Заранее известно, что робот движется по песку намного медленнее, чем по асфальту
лучший путь был бы более длинным.</p>
      <p>Робот оценивает проходимость двумя методами: посредством анализа загружаемой в него кар
посредством своих датчиков.</p>
      <p>Первый метод формирует карту проходимости на основе загружаемой в робота карты мес
Карта местности отображает виды опорных хнопсотвеейр, а карта проходимости отображает
коэффициенты проходимости этих поверхностей.</p>
      <p>Второй метод анализирует реальную проходимость и меняет карту проходимости, если реал
коэффициент отличен от коэффициента на карте.
Расчет карты проходимости
Вторая проблема решается проверкой всех восьми пикселей вокруг обнаруженного н.епПрооходимого
этим пикселям считается средний коэффициент проходимости, но если обнаружен хотя бы ещ
непроходимый пиксель, то этот коэффициент становится равным 0. Затем рассчитанный по
пикселям коэффициент проходимости присваивается текущему пикселю.</p>
      <p>Третья проблема решается сверкой с легендой, хранящейся в роботе, с некоторой погрешность
Пример формирования карты местности и сформированной карты проходимости приведен
рисунке 3.
Алгоритм поиска пути</p>
      <p>g(n)=g(n2)+d(n1, n2)*w(n1, n2)+r(n1, n2)*w(n1, n2),
где d(n1, n—2)длина пути от узла n1 до узла n—2, веwс(n1р,ебрnа2,) соединяющего узлы n1 и n2, r(n1,
n2) — суммарный угол поворота в радианах ребра, соединяющего узлы n1 и n2.</p>
      <p>Оценка h(n) рассчитывается как длина пути от узла n до узла финиша с уузчлеатомn инаправле
узла финиша, умноженная на средний вес. Средний вес в данном случае рассчитывается как
значение веса в точках узла n и узла финиша.
Алгоритм движения робота от узла к узлу</p>
      <p>На вход данному алгоритму подается связь, по которой робротехатдьолжоетн тпекущего узла к
следующему узлу. При выполнении движения происходит цикл до тех пор, пока связь, котору
должен проехать, не будет пройдена. Цикл также может прерываться замеченными изменениями
В каждой итерации цикла робот птровсеврояие сенсоры. Если при этой проверке было замече
сильное изменение как-олгиобо квадрата, то движение прерывается. Иначе, робот изменяет сво
скорость, следуя одному из следующих вариантов:</p>
      <p>• если сенсорами была замечена плохо проходимая область, ходтиот птрооримсожение до
минимальной скорости;
• если робот достиг момента торможения до финиша, то происходит торможение до нуля;
• если роботу была дана команда остановки, то происходит торможение до нуля;
• если ничего из вышеперечисленного не выполнено, тоодитпроуисксхорение до обычной
скорости.</p>
      <p>После того, как робот проедет некоторое расстояние, он проверяет условие начала торможени
скорость не стала равна нулю вследствие остановки, то робот продолжает движение.
Алгоритм движения робота по всему пути</p>
      <p>Перед началом движения робот создает узел старта и узел финиша. После этого происходит
с помощью алгоритма А*. Если путь не был найден, то происходит плавная остановка с
препятствий. В противном случае происходит движение до каждзогонайудзленаногио пути по
алгоритму движения робота от узла к узлу. При этом, если было замечено изменение карты,
прерывается.
При выходе из цикла проверяется, достиг ли робот финиша. Если нет, то считается, что
прохода по всему пути рвоыбшоетл и-за изменения карты. Тогда под роботом создается узел
пересчитывается путь. Иначе движение алгоритм заканчивает свою работу.</p>
      <p>После движения робота на карте проходимости часто происходят изменения, но изменения
связях графа происходят ктоо,ль когда алгоритм поиска пути их проанализирует. Таким образо
рекомендуется после окончания движения робота пересчитывать веса всех связей в графе,
алгоритм поиска пути не будет находить лучший путь.</p>
      <p>Блок-схема алгоритма движения робота по увтисемпурипведена на рисунке 4.
Поиск пути группой роботов</p>
      <p>Для разрабатываемой модели было принято использовать схему независимого управления
использованием общих ресурсов. Каждый робот движется независимо от других в свою целевую
считая остальных роотбов препятствиями, которые надо объезжать. Общение между роботами
происходит через внешнюю управляющую машину, которая уведомляется обо всех обнаружен
несоответствиях карты местности и карты реальности. Далее, внешняя управляющая машина уведо
всех роботов о необходимости изменении карты проходимости, вследствие чего все роботы и
одинаковую и актуальную карту проходимости, позволяющую более точно планироваБтльок-маршрут.
схема алгоритма поведения робота при обнаружении другого роботай пперриевдедесноабо на рис5ун.ке
На рисунке 6 изображено окно программы с группой из трех роботов.</p>
      <p>Рисунок 4 — Схема алгоритма движения робота по всему пути
Рисунок 5. Блок-схема алгоритма поведения робота при обнаружении другого робота</p>
      <p>Рисунок 6. Окно программы с группой из трех роботов
Наблюдение за группой роботов</p>
      <p>Наблюдение за роботами осуществляется группой камер с такими различными параметрами,
радиус обзора и угол обзора. В данной модели предполагается, что отдельная камера способна
в совей области видимости отдельных роботов и вести их от момента въезда в область вид
момента выезда из области видимости. Если робот выезжает из области видимости на люб
большее минимального кванта, воспринимаемого программой, то сччтиотаектасмя,ера его «потеряла» и
следующий въезд будет восприниматься как въезд другим роботом. Далее алгоритм поиска соотве
ищет точки въезда и выезда и областей видимости, которые могли бы принадлежать одному р
поиске соответствий помимо мпеослтоожения учитываются такие характеристики роботов, как:
скорость, ускорение и азимут. Если области видимости камер перекрываются, и робот проехал ч
перекрытие хотя бы в одной точке, то соответствие между траекториями с камер определяется
и однозначно. На рисунке 7 изображено окно программы с добавленными камерами, обнаруже
траекториями и некоторыми соответствиями.
Система стереозрения</p>
      <p>Система стереоскопического зрения решает задачи обнаружения препятствий роботом на расстоян
свыше 30 метров. Применение данной системы возможно и на меньших расстояниях в
неожиданного выхода из строя датчиков, использовавшихся на небольших расстояниях, напри
сканирующих лазерных дальномерЭотва. система является одной из важнейших ясиснтаевмигадцлии в
автономном РТК. Для ее моделирования был разработан программный стенд с использованием от
библиотеки OpenCV. Программный стенд реализует алгоритмы калибровки стереокамеры и алгорит
стереореконструкции.</p>
      <p>В качестве способа калибровкли вбыыбран путь смешанной калибровки. В основе данного подхо
лежит использование простого плоского калибровочного шаблона в виде «шахматной доски». Ша
снимается каждой камерой в некотором количестве положений, после чего по снимкам оцени
параметры камеры. Данный подход не требует применения высокоточного шаблона и вспомогател
оборудования, при этом обеспечивает достаточную (до 1 мм) точность и пригоден для прим
полевых условиях.</p>
      <p>Рисунок 7. Окно программы наблюдения за группой роботов
В модели была реализована возможность установить параметры стереопары (расстояние ме
камерами, поворот), и провести калибровку с использованием виртуальной шахматной доски
программную модель заложены несколько тестов, которые можно исполляьзобвыасттьройд проверки
работоспособности алгоритмов и оценки времени выполнения. Также в модель можно загру
сторонние изображения, в таком случае калибровка не требуется, на этапе стереореконстру
программа сама подберет подходящие параметры. Нае р8исунпкредставлено окно программы с
полученной картой смещений для одного из встроенных тестов.
Рисунок 8. Результат трехмерной реконструкции для встроенного теста
Тестирование
Рисунок 10. Временные характеристики алгоритма поиска пути
Рисунок 11. Затраты времени на стереореконструкцию по стереопаре
Заключение</p>
      <p>В статье показано, что вычислительные средства на основе микропроцес-с8оСра мЭолгуьтбрус
удовлетворять требованиям, предъявляемым РТК в области планирования маршрута, систе
стереозрения и наблюдения за группой роботов. Показаны временныреистикхаирактделя
соответствующих алгоритмов.</p>
      <p>Использование отечественных вычислительных средств и сертифицированного ОПО «Эльбрус»
позволяет говорить о перспективах решения задач импортозамещения в области робототехники.
Благодарности</p>
      <p>Работа выполнена при епрождкде Российского фонда фундаментальных исследований (прое-кт
29-03297)
№17
1. Парамонов Н.Б., Ржевский Д.А., Перекатов В.И. Доверенная п-рапопграарматмннаоя среда «Эльбрус» бортовых вычислительных
средств робототехнических комплексов // Вопроисыоэлеркатдроники, сер. ЭВТ, 2015, вып. 1.
2. Д.М. Альфонсо, Р.В. Деменко, А.С. Кожин, Е.С. Кожин, Р.Е. Колычев, В.О. Костенко, Н.Ю. Поляков, Е.В. Смирнова, Д.А. Смирнов,
П.А. Смольянов, В.В. Тихорский. Микроархитектура восьмиядерного универсального микропрраоце«сЭслоьбру-с8C» // Вопросы
радиоэлектроники. 2016. Т. 4. №– 133.. С. 6
3. Бочаров Н.А., Сапачев И.Д., Парамонов Н.Б. Макеты задач робототехнических комплексов на языке Java в среде ОС «
Москва: Наноиндустрия . Спецвыпуск 2017(74) Издательствоосфе«рТае»хнС. 1-1227.
4. Бочаров Н.А., Парамонов Н.Б., Сапачев И.Д. Реализация алгоритмов группового управления на языке в среде ОС «Э
Современные информационные технологии -иобрИазТование, 2016, Том 12, № -1,15C. 108
5. В.Е., Таланов В.А. Графы.елиМодвычислений. Структуры данн—ыхН. ижний Новгород: Издательство Нижегородского гос.</p>
      <p>университета, 2005—. 307 с.
6. Берж К. Теория графов и ее применения / Под ред. И.— АМ.осВкваай:ншИтзедйантае.льство иностранной литературы, 1962.</p>
      <p>— 320 с.</p>
      <p>References
Об авторах:
Бочаров Никита Алексеевич, магистр, выпускник кафедры информатики и вычислительной
Московского физик-отехнического института, инжен-перограммист 1 категор, иАиО «МЦСТ»,
bocharov.na@phystech.edu
Парамонов Николай Борисович, доктор технических наук, профессор, главный научный
АО «МЦСТ», paramonov_n_b@mail.ru
Александров Александр Владимирович, кандидат технических наук, начальник лао,тАдОе«МЦСТ»,</p>
      <p>Alexander.V.Alexandrov@mcst.ru
Славин Олег Анатольевич, доктор технических наук, заведующий лабораторнистеийтутИа системного
анализа, Федеральный исследовательский центр Инф«орматика и пруавление»
РАН, oslavin@isa.ru
Note on the authors:
Bocharov Nikita A., Master, Engineer-programmer of the 1st category, JSC "MCST", bocharov.na@phystech.edu
Paramonov Nikolay B., Doctor of Technical Sciences, Professor, Chief Researcher, JSC "MCST",
paramonov_n_b@mail.ru
Alexandrov Alexander V., Candidate of technical sciences, head of the department, JSC "MCST",</p>
      <p>Alexander.V.Alexandrov@mcst.ru
Slavin Oleg A., Doctor of Technical Sciences, Head of the Laboratory, Institute for Systems Analysis, Federal
Research Center Computer Science and Control of the Russian Academy of Sciences, oslavin@isa.ru</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Paramonov</surname>
            <given-names>N.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rzhevskij</surname>
            <given-names>D.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perekatov</surname>
            <given-names>V.I.</given-names>
          </string-name>
          <article-title>Doverennaja programmno-apparatnaja sreda «Elbrus» bortovyh vychislitel'nyh sredstv robototehnicheskih kompleksov // Voprosy radiojelektroniki, ser</article-title>
          .
          <source>JeVT</source>
          ,
          <year>2015</year>
          , vyp. 1.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>D.M.</given-names>
             Al'fonso, R.V. 
            <surname>Demenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.S.</given-names>
             
            <surname>Kozhin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.S.</given-names>
            <surname>Kozhin</surname>
          </string-name>
          , R.E. 
          <string-name>
            <surname>Kolychev</surname>
            ,
            <given-names>V.O.</given-names>
          </string-name>
           
          <string-name>
            <surname>Ko</surname>
            .sJute. nPkoolj,akovN,
            <given-names>E.V.</given-names>
          </string-name>
           
          <string-name>
            <surname>Smirnova</surname>
            ,
            <given-names>D.A.</given-names>
          </string-name>
           
          <string-name>
            <surname>Smirnov</surname>
            ,
            <given-names>P.A.</given-names>
          </string-name>
           
          <article-title>Smol'janov, V.V. Tihorskij.Mikroarhitektura vos'mijadernogo universal'nogo mikroprocessora «El-b8rCu»s // Voprosy radiojelektroniki</article-title>
          .
          <year>2016</year>
          . T.
          <volume>4</volume>
          . №- 
          <fpage>133</fpage>
          ..
          <source>S. 6</source>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Bocharov</surname>
            <given-names>N.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sapachev</surname>
            <given-names>I.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paramonov N</surname>
          </string-name>
          .B.
          <article-title>Makety zadach robototehnicheskih kompleksov na jazyke Java v srede OS « Elbrus Moskva: Nanoindustrija</article-title>
          .
          <source>Specvypusk</source>
          <year>2017</year>
          (
          <volume>74</volume>
          )
          <string-name>
            <surname>Izdatel</surname>
          </string-name>
          <article-title>'stvo «</article-title>
          <source>Tehnosfe-1ra2»7. S. 122</source>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Bocharov</surname>
            <given-names>N.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paramonov</surname>
            <given-names>N.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sapachev</surname>
            <given-names>I.D.</given-names>
          </string-name>
          <article-title>Realizacija algoritmov gruppovogo upravlenija na jazyke v srede OS « Elbrus» // Sovremennye informacionnye tehnologii i IT-obrazovanie</article-title>
          ,
          <year>2016</year>
          , Tom
          <volume>12</volume>
          , № -
          <volume>1</volume>
          ,
          <year>15C</year>
          .
          <fpage>108</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>V.E.</given-names>
            ,
            <surname>Talanov</surname>
          </string-name>
          <string-name>
            <given-names>V.A.</given-names>
            <surname>Grafy</surname>
          </string-name>
          .
          <article-title>Modeli vychislenij</article-title>
          .
          <source>Struktury dannyh</source>
          . - Nizhnij
          <string-name>
            <surname>Novgorod</surname>
          </string-name>
          :
          <article-title>Izdatel'stvo Nizhegorodskogo gos</article-title>
          . universiteta,
          <year>2005</year>
          . -
          <fpage>307</fpage>
          s.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Berzh</surname>
            <given-names>K.</given-names>
          </string-name>
          <article-title>Teorija grafov i ee primenenija / Pod red. I. A</article-title>
          .
          <string-name>
            <surname>Vajnshtejna</surname>
          </string-name>
          .
          <article-title>- Moskva: Izdatel'stvo inostrannoj literatury</article-title>
          ,
          <year>1962</year>
          . -
          <fpage>320</fpage>
          s.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Bryan</surname>
          </string-name>
          <article-title>Stout (original'naja stat'ja) Maxim Kamensky (perevod). Algoritmy poiska puti</article-title>
          [Jelektronnyj resurs] // Programmirovanie magicheskih igr [Sajt] URL: http://pmg.org.ru/ai/stout.
          <source>htm (data obrashhenija: 25.08</source>
          .
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>