Issn 2072-0297 Молодой учёный Международный научный журнал Выходит еженедельно №28 (132) / 2016 р е д а к ц и о н н а я к о л л е г и я : Главный редактор



Yüklə 6,54 Mb.
Pdf görüntüsü
səhifə7/23
tarix18.05.2020
ölçüsü6,54 Mb.
#31235
1   2   3   4   5   6   7   8   9   10   ...   23
moluch 132 ch1



. Результатом работы нейрона является выход-
ной сигнал 
output y
=

1
{ ,..., }
m
y
y
y

, принимающий одно 
из возможных значений
1
{ ,..., }
m
y
y

Работа  всей  совокупности  нейронов  определяется 
множеством  логических  правил  с  оценками,  имеющих 
следующий вид: 
1
( ( ), ( ),...,
( ), ( )
)
m
i P i X i
X i Y i
r


  
(1) 
где 
1,..,
i
n
=
 — переменная по объектам — индексам 
нейронов. 
( )
j
X i 

 — предикаты из заданного множества вход-
ных предикатов 

, описывающих входы 
j
 нейронов 
i
N
 
( 1,.., )
i
n
=
. К примеру, в простейшем случае данные пре-
дикаты могут быть заданы как 
( ) (
( )
)
j
k
r
X i
input i
x
=
=
, где 
r
x
 — некоторые константы из области значении входя-
щих сигналов, которые могут быть заданы, к примеру, пу-
тем квантования диапазона возможных значений соответ-
ствующих входов нейронов. 
( )
j
Y i 

 — предикаты из заданного множества выход-
ных  предикатов 

,  описывающих  выходы  нейронов 
i
N
 
( 1,.., )
i
n
=
  и  имеющих  вид 
( ) (
( )
)
j
r
Y i
output i
y
=
=
,  где 
r
y
 — некоторые константы из набора значений выходных 
сигналов. 
( )
P i 
  — предикаты из набора предикатов 

, задан-
ные  на  множестве  индексов  нейронов.  Смысл  данного 
набора — сужать область применения правил вида (1) до 
конкретных  нейронов  или  групп  нейронов.  К  примеру, 
в простейшем случае данные предикаты могут иметь вид 
(
)
i j
=
,  где 
1,..,
j
n
=
.  Эти  предикаты  будут  принимать 
значение  «истина»  только  для  конкретных  нейронов 
1,..,
j
n
=
. В эксперименте, описанном ниже, использова-
лись предикаты 
(( mod 2) 0)
i
=
 и 
(( mod 2) 1)
i
=
, принима-
ющие значение «истина» соответственно только для чет-
ных либо только для нечетных индексов нейронов. 
r
 — награда, максимизация которой является посто-
янной задачей нейрона. 
Данные  закономерности  предсказывают,  что  если  на 
вход нейрона 
i
N

1,..,
i
n
=
 будут поданы сигналы, удовле-
творяющие  входным  предикатам 
1
( ),...,
( )
m
X i
X i
  из  по-
сылки правила, и нейрон подаст на свой выход сигнал, ука-
занный  в  выходном  предикате  ( )
Y i ,  то  математическое 
ожидание награды будет равно некоторой величине 
r

Поясним важность введения множества предикатов 


В том случае, если правила (1) не содержит предикатов из 

,  то  они  будут  иметь  вид 
1
( ( ),...,
( ), ( )
)
m
i X i
X i Y i
r


 
и  будут  описывать  закономерности,  общие  для  всех 
нейронов 
i
N

1,..,
i
n
=
.  Добавление  в  посылку  правила 
предиката из 

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

, описывают закономерности, специфич-
ные для конкретных нейронов либо групп нейронов. 
 
Основной задачей системы управления является до-
стижение определенной цели. По факту достижения 
этой цели система получает от внешней среды награду. 
Функция награды задается в зависимости от конечной 
цели и служит оценкой качества управления. Таким об-
разом, задачей обучения системы управления является 
обнаружение таких правил функционирования нейронов, 
которые бы обеспечивали получение максимальной на-
грады.
Для нахождения правил вида (1) используется алго-
ритм, основанный на идеях семантического вероятност-
ного вывода, описанного в работах [12,13]. При помощи 
данного алгоритма анализируется множества данных, 
хранящих статистику работы нейронной сети (вход-выход 
нейронов и полученная награда) и извлекаются все стати-
стически значимые закономерности вида (1). В данной ра-
боте мы не будем приводить описание алгоритма семан-
тического вероятностного вывода. Подробное описание 
можно найти в работах [12,13].
Преимущество использования семантического вероят-
ностного вывода и правил вида (1) состоит в организации 

«Молодой учёный»  .  № 28 (132)   .  Декабрь 2016  г.
12
Информатика
поиска правил таким образом, что сначала будут обна-
руживаться правила, общие для всех нейронов, а только 
затем — более сложные, включающие специфичные для 
конкретных нейронов и групп нейронов правила. В ре-
зультате, в задачах управления модульными роботами, 
если хотя бы часть модулей имеет схожие функции, ко-
торые можно описать общими правилами, предложенный 
подход позволяет существенно сократить время поиска 
решения.
Функционирование нейронной сети в целом проис-
ходит следующим образом. На каждом такте работы сети 
на входы нейронов поступают входящие сигналы. После 
чего последовательно для каждого нейрона запускается 
процедура принятия решения, в процессе которой из мно-
жества правил, описывающих работу нейронов, выбира-
ются те, которые применимы к текущему нейрону на те-
кущих входных сигналах. Затем среди отобранных правил 
выбирается одно правило, прогнозирующее максимальное 
значение математического ожидания награды r. Далее на 
выход нейрона подается выходной сигнал output = y, ука-
занный в правиле. В начальной стадии функционирования 
сети, когда множество правил, описывающих работу ней-
ронов, еще пусто, либо когда нет правил, применимых 
к текущему набору входящих сигналов, выход нейрона 
определяется случайным образом. После того, как все 
нейроны сгенерируют свои выходные сигналы, запуска-
ются на выполнения все действия модулей, иницииру-
емые данными сигналами. Если в результате выполнения 
этих действий система достигает поставленную цель, то от 
внешней среды поступает награда и осуществляется обу-
чение, в процессе которого ищутся новые и корректиру-
ются текущие правила работы в соответствии с предло-
женным алгоритмом поиска закономерностей.
3. Симулятор модульного робота
Эксперименты с предложенной моделью системы 
управления осуществлялись при помощи специально 
разработанного трехмерного симулятора с физическим 
движком, позволяющего моделировать сложные меха-
нические системы в виртуальном окружении. Программа 
специально создавалась для проведения экспериментов 
по обучению и управлению различными моделями роботов 
в среде, приближенной к реальному миру. Программа об-
ладает возможностями визуализации виртуальной среды 
и записью экспериментов в видео-файл. В качестве фи-
зического движка в симуляторе используется открытая 
библиотека Open Dynamic Library (ODE) [14], которая 
позволяет моделировать динамику твердых тел с различ-
ными видами сочленений. Преимуществом данной библи-
отеке является скорость, высокая стабильность интегри-
рования, а также встроенное обнаружение столкновений.
Основной задачей эксперимента являлась проверка 
возможностей предложенной модели успешно обнаружи-
вать эффективные управляющие правила для различных 
типов модулей. С этой целью в симуляторе была создана 
модель многоного робота, состоящая из двух повторяю-
щихся типов модулей (рис. 1). Четные модули имеют пару 
Г-образных конечностей с правой и левой стороны, спо-
собные двигаться только в горизонтальной плоскости. 
Нечетные модули имеют пару прямых конечностей, спо-
собных двигаться только в вертикальной плоскости. Мо-
дули поочередно соединены друг с другом посредством 
жестких сочленений. Всего робот имеет шесть модулей: 
три модуля с Г-образными конечностями и три — с пря-
мыми.
Задачей системы управления являлось обучение эф-
фективному способу движения вперед данной модели ро-
бота. Очевидно, что робот может эффективно двинуться 
вперед только за счет продвижения Г-образных конеч-
ностей назад. Однако поскольку Г-образная конечность 
может двигаться только в горизонтальной плоскости, 
то для того, чтобы забросить ее вперед для следующего 
шага и при этом не сдвинуть робота в обратном направ-
лении, необходимо задействовать прямые конечности, 
чтобы приподнять робота над землей. В результате, эф-
фективное движение робота возможно только при согла-
сованной работе модулей разных типов. Таким образом, 
выбранная конструкция робота, несмотря на простоту, 
является хорошей тестовой моделью для проверки воз-
Рис.
 1. Модель робота в 3D-симуляторе

“Young Scientist”   #28 (132)   December 2016
13
Computer Science
можностей системы обнаруживать согласованные управ-
ляющие правила для различных типов модулей.
4. Система управления движением робота
Рис.
 2. Схема нейронного контура управления роботом
Схема  нейронного контура, выбранного для управле-
ния роботом, состояла из шести нейронов — по одному 
нейрону  на  каждый  модуль  робота.  Каждый  нейрон 
i
N

1,...,6
=
 контролировал движения левой и правой конеч-
ности своего модуля, подавая активирующие сигналы на 
соответствующие угловые двигатели, вращающие конеч-
ности в суставе. Для упрощения  задачи движения левой 
и правой конечностей каждого модуля были синхронизи-
рованы таким образом, что одна конечность зеркально по-
вторяла  движения  другой.  Таким  образом,  каждому 
нейрону достаточно было выдавать только один активиру-
ющий сигнал, чтобы привести в движение сразу обе ко-
нечности. 
Первый нейрон 
1
N
 получает на свой вход информацию 
о положении конечностей первого модуля. Эта же инфор-
мация поступает на входы  всех остальных нейронов 
i
N

2,...,6
=
. Таким образом, в данной схеме состояние пер-
вого  модуля, по сути, можно рассматривать как своеоб-
разный счетчик тактов для всех остальных модулей. 
Награда  для  системы  управления  рассчитывалась  по 
факту завершения цикла выполнения шага и возврата ко-
нечностей первого модуля в исходную точку. Под шагом 
подразумевается вся последовательность действий, кото-
рая была выполнена в промежуток времени между теку-
щим  и  предыдущим  фактами  нахождения  конечностей 
в  исходном  состоянии.  В  качестве  исходной  точки  было 
выбрано  максимальное  вертикальное  положение  конеч-
ностей первого модуля. 
Вычисление награды осуществлялось следующим обра-
зом. Пусть в текущий момент времени 
1
t
 положение конеч-
ностей  первого  модуля  соответствуют  исходной  точке 
начала шага. Пусть 
0
t
 — предыдущий момент времени, ко-
гда эти конечности находились в исходной точке. Тогда все 
действия в промежутке времени от 
0
(
1)
+
 до 
1
t
 будут вхо-
дить в цикл выполнения шага, а награда для этих моментов 
времени 
t
,  где 
0
1
(
1)
t
t t
+ ≤ ≤
  и 
0
1
(
1)
t
t
+ <
,  будет  равна 
1
0
1
(
(
)
/
)
r
t
S t 
+
=
. Где 
S
 — расстояние, которое преодо-
леет робот по направлению вперед за этот же промежуток 
времени (от 
0
(
1)
+
 до 
1
t
). В случае «пустого» шага, т. е. 
когда 
1
0
(
1)
t
t
=
+
 и конечности первого модуля просто оста-
ются в исходной точке  два такта  подряд, награда для  мо-
мента времени 
1
t
 устанавливается равной 0. Данная функ-
ция награды стимулирует систему управления находить та-
кие последовательности действий, которые бы позволяли 
преодолевать  как  можно  большее  расстояние  при  совер-
шении как можно меньшего числа действий. 
 
Схема  нейронного контура, выбранного для управле-
ния роботом, состояла из шести нейронов — по одному 
нейрону  на  каждый  модуль  робота.  Каждый  нейрон 
i
N

1,...,6
=
 контролировал движения левой и правой конеч-
ности своего модуля, подавая активирующие сигналы на 
соответствующие угловые двигатели, вращающие конеч-
ности в суставе. Для упрощения  задачи движения левой 
и правой конечностей каждого модуля были синхронизи-
рованы таким образом, что одна конечность зеркально по-
вторяла  движения  другой.  Таким  образом,  каждому 
нейрону достаточно было выдавать только один активиру-
ющий сигнал, чтобы привести в движение сразу обе ко-
нечности. 
Первый нейрон 
1
N
 получает на свой вход информацию 
о положении конечностей первого модуля. Эта же инфор-
мация поступает на входы  всех остальных нейронов 
i
N

2,...,6
=
. Таким образом, в данной схеме состояние пер-
вого  модуля, по сути, можно рассматривать как своеоб-
разный счетчик тактов для всех остальных модулей. 
Награда  для  системы  управления  рассчитывалась  по 
факту завершения цикла выполнения шага и возврата ко-
нечностей первого модуля в исходную точку. Под шагом 
подразумевается вся последовательность действий, кото-
рая была выполнена в промежуток времени между теку-
щим  и  предыдущим  фактами  нахождения  конечностей 
в  исходном  состоянии.  В  качестве  исходной  точки  было 
выбрано  максимальное  вертикальное  положение  конеч-
ностей первого модуля. 
Вычисление награды осуществлялось следующим обра-
зом. Пусть в текущий момент времени 
1
t
 положение конеч-
ностей  первого  модуля  соответствуют  исходной  точке 
начала шага. Пусть 
0
t
 — предыдущий момент времени, ко-
гда эти конечности находились в исходной точке. Тогда все 
действия в промежутке времени от 
0
(
1)
+
 до 
1
t
 будут вхо-
дить в цикл выполнения шага, а награда для этих моментов 
времени 
t
,  где 
0
1
(
1)
t
t t
+ ≤ ≤
  и 
0
1
(
1)
t
t
+ <
,  будет  равна 
1
0
1
(
(
)
/
)
r
t
S t 
+
=
. Где 
S
 — расстояние, которое преодо-
леет робот по направлению вперед за этот же промежуток 
времени (от 
0
(
1)
+
 до 
1
t
). В случае «пустого» шага, т. е. 
когда 
1
0
(
1)
t
t
=
+
 и конечности первого модуля просто оста-
ются в исходной точке  два такта  подряд, награда для  мо-
мента времени 
1
t
 устанавливается равной 0. Данная функ-
ция награды стимулирует систему управления находить та-
кие последовательности действий, которые бы позволяли 
преодолевать  как  можно  большее  расстояние  при  совер-
шении как можно меньшего числа действий. 
 
Используя симулятор 3D-симулятор, был проведен ряд 
успешных экспериментов по обучению рассмотренной си-
стемы управления способам передвижения. В серии экс-
периментов системе управления удавалось стабильно 
обнаруживать правила управления, обеспечивающие со-
гласованные движения конечностей модулей разных типов, 
приводящие к эффективному перемещению робота вперед. 
На рисунке 3 приведен пример оптимальной последова-
тельности движений, найденной в процессе обучения.

«Молодой учёный»  .  № 28 (132)   .  Декабрь 2016  г.
14
Информатика
Рис.
 3. Последовательность движений робота при перемещении вперед
5. Заключение
В данной работе описан новый подход к созданию обуча-
ющихся систем управления для модульных роботов, осно-
ванный на использовании свойств функциональной схожести 
модулей и логико-вероятностного алгоритма направленного 
поиска правил. Важной особенность подхода является то, 
что при обучении системы появляется возможность исполь-
зовать не только статистические данные о ее взаимодействии 
со средой, но и дополнительную информацию о конструк-
тивных особенностях самой системы, а именно: функцио-
нальную симметрию модулей. Данная возможность позво-
ляет существенно сократить пространство поиска решений 
и увеличить скорость обучения. Результаты проведен-
ного эксперимента подтвердили, что предложенный подход 
может быть с успехом использован для управления модуль-
ными роботами, состоящими из разных типов модулей.
6. Благодарности
Работа выполнена при финансовой поддержке гранта 
РФФИ №  14–07–00386.
Литература:
1.  Yim M. H., Duff D. G., Roufas K. D. Modular reconfigurable robots, an approach to urban search and rescue // 1st 
International Workshop on Human Welfare Robotics Systems (HWRS2000). — 2000. — pp. 19–20.
2.  Stoy K., Brandt D., Christensen D. J. Self-Reconfigurable robots: an introduction // Intellegent robotics and auton-
omous agents series. — MIT Press, 2010. — 216 p.
3.  Bongard J. C. Evolutionary Robotics // Communications of the ACM. — 2013. — Vol. 56. — No. 8. — pp. 74–83.
4.  Kamimura A., Kurokawa H., Yoshida E., Tomita K., Murata S., Kokaji S. Automatic locomotion pattern generation 
for modular robots // Proceedings of 2003 IEEE International Conference on Robotics and Automation. — 2003. — 
pp. 714–720.
5.  Ito K., Matsuno F. Control of hyper-redundant robot using QDSEGA // Proceedings of the 41st SICE Annual Con-
ference (2002). — 2002. — V. 3. — pp. 1499–1504.
6.  Marbach D., Ijspeert A. J. Co-evolution of configuration and control for homogenous modular robots // Proceedings 
of the eighth conference on Intelligent Autonomous Systems (IAS8). — IOS Press, 2004. — pp. 712–719.
7.  Valsalam V. K. Miikkulainen R. Modular neuroevolution for multilegged locomotion // In Proceedings of GECCO. — 
2008. — pp. 265–272.
8.  Демин А. В. Адаптивное управление модульным хоботовидным манипулятором // Молодой ученый. — 2016. — 
№   3. — С. 47–52.
9.  Демин А. В. Обучающаяся система управления движением для 3D модели многоногого робота // Молодой 
ученый. — 2015. — №  19 (99). — С. 74–78.
10.  Демин А. В. Обучение способам передвижения виртуальной модели змеевидного робота // Молодой ученый. — 
2014. — №  19 (78) — С. 147–150.
11.  Demin A. V. Adaptive Locomotion Control System for Modular Robots // International Journal of Automation, Con-
trol and Intelligent Systems. — 2015. — Vol. 1. — No. 4. — pp. 92–96.

“Young Scientist”   #28 (132)   December 2016
15
Computer Science
12.  Демин А. В. Адаптивное управление роботами с модульной конструкцией // Системы управления, связи и без-
опасности. —  2015. —  №   4. — С. 180–197.
13.  Демин А. В., Витяев Е. Е. Логическая модель адаптивной системы управления // Нейроинформатика. — 
2008. — Т. 3. — №  1. — С. 79–107.
14.  Smith R. Open Dynamics Engine. — URL: http://ode.org/.
Роль процесса оптимизации в работе систем баз данных
Иванов Константин Константинович, студент;
Ефремов Анатолий Александрович, студент;
Ващенко Илья Александрович, студент;
Научный руководитель: Сухомлинов Анатолий Иванович, профессор
Дальневосточный федеральный университет (г. Владивосток)
К
ак известно, под оптимизацией в информатике пони-
мается модификация системы для улучшения её эф-
фективности. Однако, казалось бы, этот процесс не имеет 
никакого отношения к таблицам с данными. И это на 
самом деле так. Но, когда речь заходит об обработке этих 
данных, обойтись без оптимизации никак нельзя.
Оптимизация является одной из сильных сторон реля-
ционных баз данных [1], так как производится автомати-
чески на довольно высоком семантическом уровне. Здесь 
оптимизатор (программа, выполняющая оптимизацию) 
представляет собой некий аналог искусственного интел-
лекта, а именно экспертной системы [2]. Это обусловлено 
тем, что в оптимизаторе «реализованы знания и опыт 
лучших из лучших программистов», благодаря чему этими 
знаниями и опытом могут воспользоваться менее ква-
лифицированные специалисты. В противовес вышеска-
занному в нереляционных базах данных возможна лишь 
ручная оптимизация, при которой пользователь сам опре-
деляет, последовательность каких низкоуровневых про-
цедур будет соответствовать определенному запросу. 
Данный подход является большим минусом подобных си-
стем баз данных, так как любое неверно принятое пользо-
вателем решение не может быть исправлено системой [1].
Для того, чтобы наяву убедиться в том, что автомати-
ческая оптимизация жизненно необходима системам баз 
данных, рассмотрим следующий пример. Пусть нам необ-
ходимо выбрать номера групп, в которых обучается хотя 
бы один отличник за все время обучения. Всего есть 100 
групп и 5000 студентов, причем только 50 из них являются 
отличниками. Информация о группах хранится в пере-
менной отношения A, а информация о студентах (для каж-
дого студента проставлен его средний балл по итогам всех 
аттестаций за все время обучения) — в переменной отно-
шения B, причем первичный ключ переменной отношения 
A является внешним по отношению к переменной отно-
шения B. Имеется два возможных варианта выполнения 
поставленной задачи:
1. При использовании первого из них сначала прои-
зойдет соединение переменных отношения A и B по внеш-
нему ключу, для выполнения которого потребуется найти 
для каждой из 5000 записей о студентах одну соответ-
ствующую запись из ста об учебных группах. В резуль-
тате соединения будет получена новая переменная отно-
шения (допустим, C) из 5000 соединенных кортежей, для 
хранения которой, вполне возможно, может даже не хва-
тить места в оперативной памяти, из-за чего придется за-
писать эту переменную отношения C на диск. Затем будет 
проведена выборка тех кортежей, в которых атрибут со 
значением среднего балла студента за все время обу-
чения будет равен 5, но для проведения выборки потре-
буется опять загрузить переменную отношения C в опе-
ративную память. Так как отличников всего 50, то новая 
полученная переменная отношения сможет поместиться 
в оперативной памяти. После этого будет проведена по-
следняя операция, в ходе которого будет сформирован 
список групп, в которой обучаются эти отличники.
2. При использовании второго из них сначала будет 
проведена операция выборки, в результате которой будет 
сформирована переменная отношения, содержащая лишь 
записи о 50 студентах-отличниках. Затем эта переменная 
отношения будет соединена с переменной отношения, 
хранящей сведения об учебных группах, по внешнему 
ключу, причем новая переменная отношения также будет 
содержать 50 кортежей. Последний шаг с формирова-
нием списка групп полностью идентичен последнему шагу 
из первого варианта.
Представленный выше пример ярко демонстрирует 
важность оптимизации. Ведь если по каким-то причинам 
был бы выбран первый вариант и отсутствовала автома-
тическая оптимизация, то подобная операция выполня-
лась бы в разы медленнее, чем она могла бы, при этом ис-
пользуя относительно большой объем памяти.
Тем не менее, варианты выполнения не всегда на-
столько сильно разнятся, что выбор можно сделать прак-
тически моментально. Поэтому для принятия правиль-
ного решения оптимизатор использует большой набор 
статистических показателей базы данных [1]. Обычно, это 
набор представляет собой следующие сведения:

«Молодой учёный»  .  № 28 (132)   .  Декабрь 2016  г.
Yüklə 6,54 Mb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9   10   ...   23




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin