Самоорганизация и командно-информационное взаимодействие абонентов в децентрализованных
сетевых системах
Яцкин Д.В.
ОАО «РТИ», Московский физико-технический институт (ГУ)
Аннотация. В работе описаны ключевые идеи, связанные с явлением самоорганизации. Представлены элементы математической формализации, способной описать коллективное децентрализованное взаимодействие и управление. В работе также описан экспериментальный подход для изучения командно-информационного взаимодействия в сети равноправных абонентов при продвижении к заданной цели.
Ключевые слова: самоорганизация, командно-информационное взаимодействие, сетевые системы, алгоритмы самоорганизации.
1 Самоорганизация, ее роль и проявления в окружающем мире
Для многих используемых терминов есть значения, что называется «в широком смысле слова», а есть более узкие, применяемые в конкретной области знаний. Обычно самые общие определения дает философия. Философская энциклопедия пишет, что «Самоорганизация - процесс, в ходе которого создается, воспроизводится или совершенствуется организация сложной динамической системы» [Степин др., 2010]. Это, пожалуй, наиболее всеобъемлющее определение.
Для других областей знаний определения даются более конкретные. В физике, например, принято, что «Самоорганизация - самопроизвольное (не требующее внешних организующих воздействий) установление в равновесных диссипативных системах устойчивых регулярных структур» [Прохоров, 1988].
Это явление широко встречается в природе. Так, например, Температура в улье очень сильно влияет на температуру тела пчелы, поэтому ее семьи и скопления взрослых особей активно регулируют температуру. Для этого они определенным образом рассредоточиваются в пространстве, образуя определенные структуры, позволяющие делать терморегуляцию более эффективной [Тобоев, 2011]. Природные механизмы этого до конца не ясны, но очевидно, что они имеют генетический характер.
Важность явления самоорганизации принята и во многих областях, связанных с деятельностью человека.
Самоорганизация и командно-информационное взаимодействие абонентов _в децентрализованных сетевых системах
Действительно, многие задачи (например, задачи мониторинга или обеспечения связи) решаются гораздо эффективнее, если использовать не одно устройство, а некую систему из разумного числа устройств. Это позволяет расширить площадь действия, а также, возможно, и функциональность системы по сравнению с одиночным исполнителем. Использование нескольких устройств позволяет проводить вычисления на разных устройствах параллельно. Более того, разные элементы системы могут выполнять разные действия, способствуя достижению одной и той же цели. А значит, встает вопрос о взаимодействии этих устройств внутри системы, об их связях друг с другом и координации действий. Соответственно, одной из самых важных задач управления такими системами является подсчет и установление наиболее эффективных для достижения общей цели действий отдельных устройств (особенно взаимодействия с другими) [МШог е1 а1.,1996]
Существенным моментом в техническом понимании этого явления является то, что системы, в которых рассматривается самоорганизация, как правило, децентрализованы. Это означает, что нет какого-то единого центра, который принимал бы решение - для всех участников системы характерно равноправие. Приведем несколько примеров.
Ярким примером можно считать самоорганизацию беспроводных сенсорных сетей (БСС). БСС - самоконфигурируемая беспроводная сеть, состоящая из распределенных в пространстве малогабаритных интеллектуальных приемопередатчиков, оснащенных наборов сенсоров (датчиков) [Юркин & Мохсени, 2012]. В этой сети надо построить какую-то топологию. А значит, надо придумать какой-то алгоритм, какие-то правила, по которым эта топология будет строиться. Таких алгоритмов придумано множество[Эгез81ег, 2008]. У каждого есть свои плюсы и минусы. Самый простой - просто заставлять каждое устройство искать соседей и сообщать эту информацию куда-то на вычислительный узел, который будет прокладывать маршрут между этими устройствами, если ему потребуется что-либо передать. Этот алгоритм описан нами достаточно примитивно, потому что любые уточнения могут кардинально изменить свойства алгоритма, отвечающего определенны требованиям. А требования к алгоритмам предъявляются простые и понятные - чтобы в них учитывались, насколько это возможно все проблемы, связанные с той или иной БСС - как, например, возможность удаления какого-то датчика из сети, малое энергопотребление, быстродействие и т.д.
Математической моделью подобных сетей служат клеточные автоматы. Это дискретная модель, представляющая собой регулярную решетку ячеек, каждая из которых может находиться в одном из нескольких заданных состояний. Их связывают даже с нейронными сетями [Е1тепге1сЬ & РеЬёгуап, 2011] С помощью представлений о клеточных
автоматах можно описать процессы, происходящие в сетях и, соответственно, изучить их.
Есть свои принципы самоорганизации и в социальных сетях [Valverde & Sole, 2007] и других экономических, информационных, социально-экономических системах [Кочкаров, 2012; Соловьев, 2010].
Очевидно, что подходя к вопросу с разных сторон, для этого термина, как и для многих других, можно придумать разные определения. Важно, что этот процесс имеет самопроизвольный характер и в результате появляется упорядоченность в какой-либо системе. Системы же при этом могут быть самыми разными.
2 Математическая формализация поведения
децентрализованных сетевых систем
Итак, рассмотрим децентрализованные системы, и действия в системе с точки зрения каждого элемента этой системы (абонента), так как от их конкретных действий зависит поведение и эффективность функционирования всей системы.
Представим математическую формализацию поведения систем с числом абонентов, равным п. Для этого введем следующие аксиомы:
1) Состояние системы полностью описывается матрицей S(t) размерности п * к, где к - число параметров, задание которых полностью определяет состояние одного абонента в рамках данной конкретной задачи. Элементы этой матрицы - соответствующие параметры состояний каждого абонента. При этом некоторые конкретные S(t) полагаются невозможными.
2) Действия абонентов описываются с помощью операторов Л], где -номер абонента, а /-номер действия, изменяющего один или несколько параметров матрицы S(t). Оператор действует только на i-ую строчку матрицы S(t). Действие записывается как {Л] -» S(t)}
3) Для каждого действия существует обратное, то есть
■ —1
{Л] -» Sftj)} = К следует, что существует (л]) такой, что
{(Л))"1 > К] = S(tL)
4) Для каждого оператора А) задано Atj - время выполнения действия j. Если на S(t) действует только Л], то {Л] -» S(t0)} = S(t0 + Atj).
5) Параметры S(t) можно разделить на несколько некорреллирующих групп, на элементы каждой из которых в конкретный момент времени может влиять не больше одного оператора.
6) В каждый момент времени каждый из элементов 5(t), не являющийся дискретной функцией, считается непрерывной по времени функцией.
Самоорганизация и командно-информационное взаимодействие абонентов _в децентрализованных сетевых системах
7) Пусть на временном интервале [tQ,tQ + Atj] на S(t) действует
только оператор Л]. Тогда для любого t из этого интервала верно, что
5(0 = S(t0) + (Mj S(tQ)}-S(t0)) * ^f
8) Действие операторов можно суммировать по L
9) Существует алгоритм определения следующего действия в зависимости от S(t). Цель этого алгоритма - привести матрицу S(t) к заранее заданному виду G.
Рассмотрим конкретную задачу.
Имеется некая система абонентов, соединенных в какую-либо топологию. В качестве среды для их движения мы рассматриваем поле клеток, по которым модно двигаться по вертикали или по горизонтали. Время мы измеряем дискретными промежутками, каждый из которых называем тактом. За один такт можно сместиться на одну клетку по горизонтали или по вертикали. Расстояние между двумя точками полагается равным сумме числа клеток, на которое отличается местоположение этих точек по горизонтали и по вертикали соответственно. Каждый абонент может обнаруживать других и устанавливать с ними связь, если расстоянии между ними не больше заданного R. Для нас важно то, что граф, составленный из этих абонентов, является связным в некоторый момент времени, который мы условно считаем начальным. Теперь представим, что перед системой стоит какая-то задача и, соответственно, определяются задачи для каждого абонента. Нас интересуют задачи, связанные с перемещением абонентов - допустим, задачей является перемещение абонента в какую-либо заданную точку (назовем ее точкой назначения) с сохранением связности графа на каждом шагу (такте) . Поскольку мы используем для описания движения двумерную клеточную модель, описанную ранее, то, соответственно, положение абонента должно измениться и из исходной клетки А он должен переместиться в некую клетку В. На отклонения от изначального маршрута будут влиять в большой мере 2 фактора:
■ Наличие помех для движения. Такими помехами могут быть в реальной жизни какие-то предметы или особенности ландшафта, не позволяющие движение. Для обнаружения препятствий могут применяться самые разные технологии, вплоть до сканирующих лидаров, создание которых многие считают большим шагом в развитии технологий. В нашей модели подобные препятствия обозначаются просто занятой клеткой -наш абонент просто не может попасть в эту клетку. Распределение таких препятствий или помех условно считается случайным - исходя из предположения о том, что один абонент не имеет информации о траектории движения других.
■ Система ненарушения связности. Существует вероятность того, что в ходе такого движения расстояния между какими-либо абонентами могут превысить радиус действия устройств и связь разорвется. Соответственно, эта система корректирует движение таким образом, чтобы граф оставался связным при движении, описанном выше. Этот процесс уже не является случайным и напрямую входит в область наших интересов.
На введенном нами языке эта задача опишется следующим образом:
1) Первые 2 столбца матрицы состояний - описание координат каждого из абонентов. Первый столбец - столбец координат по горизонтали, второй, соответственно, - по вертикали. Остальная часть матрицы представляет из себя матрицу смежности, которая показывает, между какими абонентами установлены связи. Поскольку мы считаем заданным распределение препятствий, невозможные значения Sit) также считаем заданными.
2) Определены 4 действия, соответствующие движению по описанной сетке по вертикали или горизонтали в обе стороны, а также стоп-действие, заключающееся в отсутствии движения.
3) Цель - матрица G. Первые 2 столбца матрицы заданы изначально, а к остальной части предъявляется требование, состоящее в том, чтобы указанная матрица смежности описывала связный граф. Кроме того, матрица смежности, полученная из S(t) на каждом шагу (такте) должна описывать связный граф.
1) Теперь имеет смысл описать алгоритм выбора действия для отдельного абонента, который направлен на достижение цели (п. 3)
• Алгоритм выбирает для выполнения такое действие, которое приведет к уменьшению расстояния до точки назначения. При невозможности такого выбора - к увеличению. Если и этот выбор осуществить невозможно, выбирается стоп-действие. Если в пределах видимости обнаруживается абонент, связь с которым еще не установлена, связь устанавливается.
• Критическая ситуация - ситуация, при возникновении которой требуется внести какие-то ограничения в угоду достижения цели. Анализ на критические ситуации состоит из 2х пунктов:
а) Абонент считает расстояния до каждого из объектов, с которыми у него установлена связь, используя S(t). Если расстояние до какого-либо абонента превышает R - 2, производится анализ, останется ли граф связным при разрыве связи между этими абонентами. Если останется, то ситуация считается некритической и алгоритм работает в нормальном режиме. В противном же случае устанавливается запрет на выбор в последующем шаге действия, приводящего к удалению от этого абонента, и алгоритм работает дальше. На
Самоорганизация и командно-информационное взаимодействие абонентов
_в децентрализованных сетевых системах
следующем шаге ограничения ликвидируются, и анализ происходит заново.
Ь) Если за последние 4Я тактов значение расстояния до цели повторилось не менее 4 раз, происходит опрос соседей. Если среди соседей наблюдается то же самое, создается сообщение об ошибке и абоненты пытаются скорректировать свои передвижения каким-либо образом. В противном случае, алгоритм работает в обычном режиме.
На практике это означает, что каждый абонент должен иметь достаточный запас памяти для того, чтобы хранить значения
расстояния до цели в последних 4Я тактов, уметь сравнивать числа, а также анализировать граф, описанный определенной матрицей смежности, на связность.
3 Компьютерное моделирование продвижение децентрализованной сети абонентов к заданной цели
Было проведено компьютерное моделирование и реализация описанного ранее алгоритма. Был рассматрен случай, когда абоненты имеют некоторый «радиус видимости» - поэтому может возникнуть случай (и, скорее всего, возникнет), когда точка назначения абонента находится вне зоны его видимости (за пределами радиуса видимости). Таким образом, представляется целесообразным задавать расположение точек назначения векторами в данном поле. Это означает, что каждый абонент будет знать, на какое расстояние по горизонтали и по вертикали он должен будет сместиться в конечном итоге, чтобы достигнуть точки назначения. Делая очередной шаг, он изменяет эти значения соответствующим образом, в зависимости от направления, в котором был осуществлен этот шаг.
Также, на этом поле определенным образом, вручную, устанавливается какое-либо распределение препятствий (группы клеток, имеющих другие свойства по отношении к остальным - такие, что размещение абонентов в этих клетках невозможно). Мы также следим за тем, чтобы точки назначения не совпадали с точками, в которых располагаются препятствия.
Итак, смоделировав поле вышеуказанным образом, был проведен ряд экспериментов при количестве абонентов, не превышающем 10.
в SOOJ
■
■
■
\
у / 4 ■
у / ч 1
i ч. 1
Ч, 1
•
- - у
/
I
-- 1 \
- 1 ч
■Í 1 / ф
t
■
■
■
1
1
1 1
Г
-|,-,rl-,--„ii.-.iv | | Obstacle's sel made oil | Delel« all otslsdej p...... step ...... "|_Reset |_Quit_| МшяХ |tS575
MouseY |5325
Рис. 1. Фотокадр реализации алгоритма продвижения абонентов к заданной точке
На рис. 1 изображен внешний вид программы моделирования, черным показаны препятствия, кружками - абоненты, квадратиками - точки их назначения.
Было установлено, что действительно, данный алгоритм позволяет достигать абонентами точек назначения, сохраняя связность, если это возможно (точки назначения могут находиться на недопустимо большом расстоянии друг от друга, делая их достижение невозможным - при сохранении связности, разумеется) при отсутствии препятствий. Абоненты достигают цели в 100% случаев, затрачивая на это оптимальное время. Нет оснований полагать, что при увеличении числа абонентов алгоритм будет работать хуже при отсутствии препятствий.
Однако, при введении препятствий в рассмотрение, наблюдаемая картина становится несколько хуже. Препятствия, размер которых не превышает одну клетку, алгоритм преодолевает всегда. Также успешно преодолеваются препятствия (если преодоление в принципе возможно) в виде группы точек с одинаковыми координатами х (или у). Препятствия, линейные размеры (наибольшая протяженность клеток подряд - по горизонтали или по вертикали) которых не превышают 3 клеток преодолеваются почти всегда (был зафиксирован один случай недостижения из 100 опытов с различными типами препятствий- при особом расположении препятствий). Такую цифру можно объяснить тем, что при расчете пути учитываются 3 шага - предыдущий, текущий и следующий, а значит, алгоритм в состоянии рассчитать обход препятствия с подобными линейными размерами.
При рассмотрении препятствий с большими линейными размерами алгоритм работает плохо. Это связано с особенностями реализации
Самоорганизация и командно-информационное взаимодействие абонентов
_в децентрализованных сетевых системах
обхождения препятствий - алгоритм берет в расчет только 3 шага. Улучшение очевидно - брать в расчет 4 шага. Так можно увеличивать число рассматриваемых шагов до выхода из «радиуса видимости». Однако данное улучшение не представляет интереса с точки зрения рассматриваемой нами проблемы.
Самая главная, на наш взгляд, проблема возникает в том случае, когда препятствие имеет такую геометрию, что прохождение через него без нарушения связности невозможно. Очевидным решением с точки зрения логики кажется «обойти препятствие». Однако с точки зрения моделирования самоорганизованной системы, эта задача не выглядит такой простой. Дело в том, что необходимо выработать какое-то правило, по которому система будет решать, с какой стороны обходить это препятствие (если движение в любую из этих сторон кажется системе одинаково перспективным - в противном случае некоторая группа абонентов может сообщить о перспективности движения в определенном направлении и если в течение некоторого времени не поступит сообщений о том, что, по мнению другой группы, двигаться надо в другую сторону, двигаться туда). В рамках компьютерной модели мы решили эту проблему с помощью генерации чисел (абоненты могут передавать друг другу какую-то информацию (безусловно, обмен информацией может быть осуществлен только между теми абонентами, между которыми установлена связь), а значит, могут обменяться какими-то случайными числами). Для простоты все числа берутся по модулю 2. Затем каждый абонент складывает все полученные числа со своим и полученное число (по модулю 2) дает ему информацию о том, с какой стороны обходить препятствие. Впрочем, числа не обязательно должны быть случайными. Можно организовать этот обмен таким образом, что каждый абонент высказывает свое «мнение» (в виде чисел «1» и «-1», например) в отношении того, в какую сторону надо продолжать движение. Если абонент не может определиться со своим приоритетом (для него не очевидно, что движение в каком-то направлении принесет большие плоды), он высылает сигнал безразличия (например, «О»). Каждый абонент суммирует все полученные числа и по знаку суммы принимается решение, в какую сторону двигаться. При достаточно большом числе абонентов и достаточно большом «радиусе видимости» вероятность того, что сумма равна 0 сильно уменьшается. Однако же, если сумма все же принимает нулевое значение, можно определить направление дальнейшего движения вышеуказанным случайным образом.
Всплывают 2 очевидных проблемы реализации такого метода на практике. Во-первых, для этого каждый абонент должен быть снабжен какой-либо вычислительной системой, что не очень удобно, так как для выполнения некоторых задач очень важны размеры и энергопотребление абонентов. Впрочем, для принятия любого коллективного решения (не
обязательно основанного на сложении чисел), требуется вычислительная система для обработки данных, поступающих от других абонентов. Во-вторых, при внезапном разрыве связи с каким-либо абонентом (что вполне вероятно в реальных условиях), разными абонентами могут быть получены разные наборы чисел и, соответственно, приняты разные решения. С этой проблемой можно бороться только дублированием и перепроверкой информации, на которое порой нет времени. Однако, несмотря на недостатки, этот метод решения проблемы имеет право на жизнь и был реализован в нашей модели.
Другим решение проблемы является кратковременное выделение локального «лидера», который будет указывать остальным, в какую сторону двигаться. Однако такой подход противоречит самой идее самоогранизации и не рассматривается. Впрочем, проблемы у данного метода такие же - необходимость наличия вычислительной системы или какого-либо анализатора для определения «лидера» и возникновение проблем при разрыве связи с «лидером».
4 Заключение
Проведенные эксперименты позволили выявить ряд конфликтных ситуаций, возникающих при продвижении абонентов к заданной цели. Возникновение конфликтных ситуаций неизбежное следствие «равноправия» в сетевых системах. Как показывают эксперименты конфликтные ситуации, возникающие между абонентами, препятствую достижению заданной цели. Одним из подходов для преодоления конфликтных ситуаций, как подтверждают некоторые эксперименты, может стать «выстраивание временной локальной иерархии». При этом подходе между конфликтующими абонентами выбирается лидер (в проведенных экспериментах - случайным образом) на отрезок времени, достаточный для выхода из конфликтной ситуации. К сожалению, такой подход не в полной мере соответствует принципам самоорганизации. Но возникает новая задача о существовании границ применимости принципов самоорганизации сетевых децентрализованных системах.
С другой стороны проведенное исследование свидетельствует об актуальности и практической значимости зарождающейся динамической теории графов [Кочкаров & Рахманов, 2013].
5 Благодарности
Автор выражают искреннюю благодарность свою научному руководителю Кочкарову Азрету Ахматовичу за неоценимую помощь и поддержку при выполнении этой работы.
Самоорганизация и командно-информационное взаимодействие абонентов _в децентрализованных сетевых системах
6 Список литературы
[Кочкаров, 2012] Кочкаров А.А. Структурная динамика: свойства и количественные характеристики предфрактальных графов. - М.: Вега-Инфо, 2012.-120 с.
[Кочкаров и др., 2012] Кочкаров A.M., Кочкаров А.А., Никищенко С.П. Структурная динамика и исследование структурно-временных характеристик дискретных систем// Известия ТРТУ. Тематический выпуск "Перспективные системы и задачи управления". - Таганрог: ТРТУ, 2006.Том 58. - № 3. - С. 235-238.
[Кочкаров & Рахманов, 2013] Кочкаров А.А. Рахманов О.А. Структурная самоорганизация как основа функционирования сетевых систем // Интеллект и технологии. - 2013. - № 1(5). - С. 42-45.
[Прохоров, 1988] Прохоров A.M. Физическая энциклопедия. Москва, 1988, с.
[Степин др., 2010] СтёпинВ.С., Гусейнов А.А., СемигинГ.Ю., Огурцов А.П. Новая философская энциклопедия, Москва, 2010, т.З. 487 с.
[Соловьев, 2010] Соловьев В. И. Стратегия и тактика конкуренции на рынке программного обеспечения: Опыт экономико-математического моделирования: Монография. - М.: Вега-Инфо, 2010. - 200 с.
[Тобоев, 2011] ТобоевВ.А. Экологические механизмы акустического и теплового взаимодействия пчел. Автореферат, Москва, 2011
[Юркин & Мохсени, 2012] Юркин В.Ю, Мохсени Т.И.. Иерархические подходы к самоорганизации в беспроводных сверхширокополосных сенсорных сетях на основе хаотических радиоимпульсов. Долгопрудный, Труды МФТИ, 2012
[Dressier, 2008] Dressier F. A Study of Self-Organization Mechanisms in Ad Hoc and Sensor Networks. Computer Communications, v. 31, issue 13, August, 2008, p. 3018-2029.
[Elmenreich & Fehervari, 2011] Elmenreich W., Fehervari I. Evolving Self-organizing Cellular Automata based on Neural Network Genotypes. Proceedings of the 5th international conference on Self-organizing systems, 2011.
[Millor et al.,1996] Millor J., Pham-Delegue M., Deneubourg J.L., Camazine S.. Self-organized defensive behavior in honeybees. Proceedings of the National Academy of Sciences USA 96: 12611-12615
[Valverde & Sole, 2007] Valverde S., Sole R.V. Self-organization and Hierarchy in Open Source Social Networks. Phys. Rev. E 76, 046118, 2007