Научная статья на тему 'Метод построения отказоустойчивой структуры сенсорной сети, основанный на применении генетического алгоритма'

Метод построения отказоустойчивой структуры сенсорной сети, основанный на применении генетического алгоритма Текст научной статьи по специальности «Математика»

CC BY
211
89
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Метод построения отказоустойчивой структуры сенсорной сети, основанный на применении генетического алгоритма»

Метод построения отказоустойчивой структуры сенсорной сети, основанный на применении генетического алгоритма

Мочалов ВА, Турута Е.Н., МТУСИ

Введение. Предлагается метод, позволяющий осуществлять построение отказоустойчивой структуры сенсорной сети (СС) при учете требований к связности ее узлов и стоимости внедрения. Метод основан на применении адаптированных алгоритмов эволюционного поиска. Основными особенностями метода являются прикладная реализация генетических операторов скрещивания и направленной мутации, а также функции приспособленности структуры СС на основе оценки связности ее узлов с помощью предлагаемого эвристического алгоритма.

Сенсорная сеть (СС) — это распределенная сеть необслуживаемых миниатюрных электронных устройств (узлов сети), обменивающихся информацией по беспроводной связи и способных регистрировать данные о параметрах внешней среды и передавать их на базовую станцию с помощью ретрансляции от узла к узлу (рис.1) [1].

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

Задача построения отказоустойчивой структуры сенсорной сети. Полагаем, что СС должна быть размещена на некотором объекте, распределенном в пространстве, причем заданы точки этого

РИс. 1. Структура сенсорной сети

объекта, в которых обязательно должны быть размещены узлы сети, осуществляющие сбор информации в некоторой окрестности каждой точки и называемые функциональными измеряющими узлами. Информация, полученная этими узлами, должна быть передана с требуемой степенью надежности в центральный узел сети (сервер) с помощью определенным образом размещенных в пределах данного объекта транзитных узлов СС, выполняющих только передачу информации. Полагаем, что с целью обеспечения определенного уровня надежности узлов сети, каждый узел, как функциональный, так и транзитный, может быть построен из нескольких (от 1 до m) элементарных узлов (ЭУ) (сенсоров) [2]. Возможны следующие простейшие отказоустойчивые структуры узлов сенсорной сети — комплексных узлов (КУ) .

1. Функциональный комплексный узел, построенный на основе принципа "голосования", т.е. как избыточная NMR-структура (NMR — N-Modular Redundancy), состоящая из N сенсоров. При этом один из не отказавших сенсоров становится мажоритарным узлом, который выполняет функции сбора, обработки и передачи единого результата в следующий узел сети. Вероятность безотказной работы за время Т для комплексного узла, построенного из невосстанав-ливаемых ЭУ на основе тройной модульной избыточности с голосованием (Triple Modular Redundancy — TMR), т.е. при N =3 определяется, как:

PTMR(T) = Р(Т)з,1 = [р(Т)3 + 3р(Т)2 (1-р(Т)] = (3р(Т)2 — 2 р(Т)3),

где: р(Т) — вероятности безотказной работы элементарного

узла за время T; для экспоненциального закона надежности р( T) = e -X T = 1 - XT .

2.Функциональный/транзитный комплексный узел, построенный на основе резервирования замещением (с ненагруженным резервом). Вместо одного ЭУ используется избыточная структура, в которой имеется один основной или рабочий ЭУ, находящийся в нагруженном режиме, т.е. выполняющий возложенные на него задачи, и некоторое количество резервных ЭУ, находящихся в ненагру-женном режиме (в "спящем" состоянии). При обнаружении отказа рабочего ЭУ он (с помощью "переключателя") исключается из работы и один из "спящих" резервных ЭУ переводится в рабочее состояние. Функции "переключателя" могут быть реализованы на различных уровнях СС (в комплексных узлах, в шлюзе или координаторе). Эта структура сохраняет работоспособность до исчерпания резерва, т.е. во всех случаях, когда в ней есть хотя бы один не отказавший ЭУ Поэтому вероятность безотказной работы такого комплексного узла определяется, как:

P(i,N-i)(T) = 1 — (1- р(тГрД

где: р(Т) — вероятность безотказной работы ЭУ за время T, р5(Т) — вероятность безотказной работы "переключателя" комплексного узла.

Считаем, что известны надежность элементарных узлов и радиоканалов связи, создаваемых ими, радиус передачи радиосигнала каждым ЭУ и стоимость ЭУ. Требуется сформировать отказоустойчивую структуру СС и выбрать компонентный состав ее узлов, которые обеспечивают "наилучшее значение" функции приспособленности СС, характеризующей как степень надежности сети, так и затраты, требуемые для достижения необходимого уровня ее отказоустойчивости. Искомая структура СС представляется графом, вершинам которого соответствуют функциональные и транзитные узлы СС, состоящие из некоторого числа (от 1 до т) ЭУ и размещенные в определенных точках объекта, причем точки размещения функциональных узлов фиксированы, а точки размещения транзитных узлов должны быть найдены. Ребрам графа соответствуют радиоканалы между узлами сети [2].

Метод построения отказоустойчивой структуры сенсорной сети.

Предлагается решение поставленной задачи с помощью генетического алгоритма (рис. 3).

Представим всю сеть в виде двумерной сетки N х М], "покрывающей" объект размещения СС, где N — число рядов (строк), а М — число столбцов. Размер Ь х л ячейки этой сетки, от которого зависят значения N и М (при заданной площади объекта), определяется заданным радиусом Я передачи радиосигнала сенсора. Длина ребра не должна превышать Я

Полагаем, что на пространстве, соответствующем каждой ячейке сетки, может быть размещено не более одного узла СС (функционального или транзитного), состоящего из некоторого числа (от 1 до т) элементарных узлов — сенсоров. Поэтому при выборе структуры СС необходимо с каждой ячейкой сетки сопоставить определенное число к сенсоров, причем для каждой из ячеек, содержащих заданные точки размещения функциональных узлов, к = 1,...,т, а для остальных ячеек, в которых могут быть размещены только транзитные узлы, к = 0,...,т [2].

Применяя для построения структуры СС генетический алгоритм, используем следующие определения.

Популяция (конечное множество хромосом) — множество возможных структур СС.

Хромосома (упорядоченная последовательность генов) — структур СС (рис. 2). Каждая хромосома состоит из N генов.

Ген (атомарный элемент хромосомы) — представляет собой конкретный горизонтальный разрез сенсорной сети (точнее, покрывающей ее сетки), содержащий из М ячеек.

Инициализация — формирование исходного множества возможных структур СС (начальной популяции). Для создания начальной популяции необходимо первоначально сформировать такую базовую структуру (БС) СС, которая обладает ненулевой вероятностью связности всех функциональных узлов с сервером и имеет минимальную стоимость. Структуры, входящие в начальную популяцию, формируются путем случайного добавления к базовой структурой транзитных узлов, образующих с БС связный граф.

Оценка структуры СС на каждой итерации ГА такая оценка осуществляется на основе функции приспособленности [3], которая учитывает оценки надежности СС и стоимости ее внедрения. Один из возможных подходов — определение функции приспособленности путем умножения значений показателя, характеризующего надежность СС, на значения функции Fst, которая характеризует степень (в %) удовлетворения потребности проектировщика в стоимости проекта СС.

Надежность структуры СС при заданном множестве ее функциональных узлов {0(}, {= 1,., к, определяется набором значений

вероятностей связности Р^ каждого из узлов заданного множества {И } с сервером. В качестве показателя надежности структуры СС примем минимальное из этих значений Р^ = тип {Р^ }, {= 1,., к.

Полагаем, что возможны отказы, как элементарных узлов, так и каналов связи.

Под отказом узла понимаем событие, приводящее к невозможности передачи через него информации с входящих каналов на исходящие. Отказ канала рассматривается как его "разрыв", т.е. как полное нарушение его способности передавать сигнал.

Вероятность связности двух узлов Р^ может быть оценена с помощью методов, исключающих полный перебор (методы минимальных путей и сечений, оценки Эзари-Прошана и Литвака-Ушакова) [2, 4]. Вычислительная сложность этих методов полиноминально возрастает с увеличением размерности графа и его связности. Поэтому данные методы могут быть применены только при малой исходной размерности двумерной сетки и небольшой связности сети.

Рассмотрим метод вычисления нижней оценки вероятности связ-

Рис 2. Пример хромосомы (структуры СС)

Рис 3. Алгоритм процедуры построения отказоустойчивой структуры СС

Рис. 4. Пример квадратной двумерной сетки СС

Рис. 5. Пример квадратной двумерной сетки [N/2 x N/2]

ности двух узлов сенсорной сети, обладающий линейной вычислительной сложностью. Для упрощения описания возьмем такую квадратную двумерную сетку (КДС) [N x N], при которой радиус R передачи радиосигнала сенсора равняется расстоянию между двумя диагональными ячейками сетки (рис.Л). Разобьем КДС на квадратные блоки по Л ячейки в каждом (2x2) и определим вероятности связи "входных ячеек" каждого такого блока с соседними блоками (южным, восточным, северным, западным, юго-восточным, юго-западным, северо-восточным и северо-западным), начиная вычисления с блока, содержащего серверную ячейку. Под "входной" понимаются ячейки блока, с которыми удалось связаться напрямую "входным ячейкам" одного из блоков предыдущей итерации алгоритма.

Серверная ячейка на первой итерации является единственной "входной ячейкой". Относительно "входных ячеек" блоков вычисляются вероятности связи с ближайшими узлами соседних блоков, которые не находятся во множестве уже обработанных блоков. После чего формируется новый массив "входных ячеек" для следующей итерации алгоритма. Алгоритм работает до тех пор, пока массив "входных ячеек" не станет пустым. В результате работы алгоритма формируется квадратная двумерная сетка блоков, размерностью [N/2 x N/2] (рис.5).

Данный алгоритм повторяется до тех пор, пока функциональный узел и сервер не окажутся в соседних блоках. После чего уже можно вычислить нижнюю оценку вероятности связности функционального узла с сервером в небольшой окрестности двух блоков методом прямого перебора.

Проверка условия остановки алгоритма заключается в сравнении достигнутого значения функции приспособленности СС с принятым проектировщиком требуемым значением.

Селекция структур СС (выбор структур СС, участвующих в создании потомков для следующей популяции) выполняется на основе "метода рулетки" [3] .

Применение генетических операторов к хромосомам (структурам СС), отобранным с помощью селекции, приводит к формированию новой популяции структур СС. В процедуре применяются два основных генетических оператора: оператор скрещивания (crossover) и направленный оператор мутации (mutation). Вероятности скрещивания и мутации (СМ) выбираются проектировщиком.

Для увеличения скорости работы алгоритма может быть применена функция изменения вероятности СМ Рш, которая устанавливает следующим J поколениям хромосом оптимальные значения вероятностей СМ, определяемые процедурой описанной ниже. Случайным образом генерируется множество Осм, состоящее из n различных пар вероятностей СМ. Для каждой пары запужается L итераций

ГА, после чего выбирается такая пара вероятностей СМ Б, которая соответствует лучшей хромосоме из п финальных популяций. Данная процедура возвращает пару вероятностей Б;, а также новую популяцию, сформированную селекционным методом рулетки из хромосом, входящих в п финальных популяций.

Оператор скрещивания. Хромосомы из родительской популяции случайным образом объединяются в пары с заданной вероятностью скрещивания рс [5]. Далее для каждой такой пары родителей и каждого гена (горизонтального разреза сети) выбираются с вероятностями рд две позиция внутри гена (локусы), определяющие точки скрещивания, после чего формируются потомки. Один из возможных способов скрещивания показан на рис. 4: потомок 1 состоит из генов первого родителя, а на позициях выбранных для скрещивания — гены второго родителя, потомок 2 состоит из генов второго родителя, а на позициях выбранных для скрещивания — гены первого родителя (рис. 6).

Оператор направленной мутации применяется с различными вероятностями ко всем узлам СС. Для каждого комплексного узла, входящего во множество Од, данный оператор с вероятностью рм1 увеличивает количество элементов узла на случайную величину, сумма с которой не превышает области допустимого значения ячейки. Множество Од формируется из прилегающих узлов / кратчайших путей к серверу от каждого несоответствующего требованиям

0 1 0 2 1 0 0

0 0 1 1 0 2 0

1 2 0 0 3 1 1

2 1 2 : 3 1 0

0 0 I 3 0 I 2

0 2 3 2 1 0 0

1 0 1 2 2 1 0

+ =

0 1 0 2 3 0 и

0 0 1 1 0 2 0

1 2 0 0 3 1 1

2 1 0 2 0 1 0

0 0 1 3 0 G 2

0 1' 3 2 1 0 0

1 0 2 2 2 0 0

1 1 1 2 3 0 2

0 0 0 I 0 : 0

2 2 1 0 3 и I

0 1 0 2 0 3 0

1 0 1 3 0 0 2

0 2 0 2 1 2 0

1 2 2 2 2 0 0

1 1 1 2 1 0 2

0 0 и 1 0 2 0

2 2 1 0 3 0 1

0 ' 2 2 3 3 0

1 0 1 3 0 1 2

0 2 0 2 1 2 0

1 2 1 2 2 1 0

_| Позиции для скрещивания

Рис. б. Пример скрещивания хромосом

проектировщика по связности функционального узла. С вероятностью Рм2 < Рмі данный оператор устанавливает значением комплексного узла не входящего во множество Од, в случайную величину из области допустимых значений ячейки.

Формирование новой популяции структур СС Хромосомы, полученные в результате применения генетических операторов, добавляются к родительской популяции, которая становится так называемой текущей популяцией для данной итерации генетического алгоритма^].

Выбор ”наилучшей”структуры СС Если условие остановки алгоритма выполнено, то процедура выбирает лучшее решение, которым считается структура СС с наибольшим значением функции приспособленностей.

Литература

1. Райншке К, Ушаков ИА Оценка надежности систем с использованием графов. — М.: Радио и связь, 1988.

2. Рутковская Д, Пилинський М., Руковская Л. Нейронные сети, генетические алгоритмы и нечеткие системы. — М.: Горячая линия-Телеком, 2004.

3. Мочалов ВА, Турута Е.Н. Интеллектуальная система поддержки принятия инвестиционных решений на финансовых рынках //Труды Международных научно-технических конференций "Интеллектуальные системы" [А^'07| и "Интеллектуальные САПР"(САй-2007). — М.: Физматлит, 2007.

— Том 1. — С. 352-358.

4. Турута Е.Н., Мочалов ВА Проблемы проектирования отказоустойчивых сенсорных сетей//Труды Московского технического университета связи и информатики. — М.: "ИД Медиа Паблишер", 2008. — Т 1. — С. 128-132.

5. Мочалов ВА, Турута Е.Н. Интеллектуальная процедура выбора отказоустойчивой топологии и компонентов сенсорной сети//Труды Международных научно-технических конференций "Интеллектуальные системы" [А^'08| и "Интеллектуальные САПР"(САй-2008). — М.: Физматлит, 2008.

— Том 1. — С. 385-392.

i Надоели баннеры? Вы всегда можете отключить рекламу.