Научная статья на тему 'Алгоритм статической оптимизации передачи данных'

Алгоритм статической оптимизации передачи данных Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
275
40
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВЫЧИСЛИТЕЛЬНЫЕ РЕСУРСЫ / ИНДИВИДУАЛЬНАЯ И КОЛЛЕКТИВНАЯ АДАПТАЦИЯ / ИНТЕЛЛЕКТУАЛЬНЫЕ СИСТЕМЫ / ОПТИМИЗАЦИЯ / COMPUTING RESOURCES / INDIVIDUAL AND COLLECTIVE ADAPTATION / INTELLIGENT SYSTEMS / OPTIMIZATION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Чернышев Юрий Олегович, Венцов Николай Николаевич, Мухтаров Сергей Артурович

Сформулирована задача статической оптимизации доступа к данным. На основе механизмов индивидуальной и коллективной адаптации разработан алгоритм решения задачи. В используемой модификации метода роя частицы образуют социально-сетевую топологию типа “кольцо”. Изменение скорости частицы пропорционально расстоянию между ней и наилучшим решением, найденным её соседями. Определены зависимости времени работы алгоритм от размерностей решаемых задач. Проведено сравнение решений получаемых предлагаемым и жадным алгоритмом. Установлено что на тестовых задачах размерностей 5х3,…15х3 и 5х5,…,5х15 разработанный алгоритм находит решения, экономящие время передачи данных на 10–15 %, по сравнению с жадным алгоритмом.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Чернышев Юрий Олегович, Венцов Николай Николаевич, Мухтаров Сергей Артурович

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

THE ALGORITHM OF STATIC OPTIMIZATION OF DATA TRANSFER

It is formulated the problem of static optimize data access. On the basis of the mechanisms of individual and collective adaptation of the developed algorithm of solving the problem. In the modified method of swarm particles form a social-network topology type “ring”. Change the velocity of the particle is proportional to the distance between it and the best solution found its neighbors. The dependence of the time algorithm from the dimensions of solved tasks. Comparison of the solutions proposed and obtained a greedy algorithm. It is established that the test problems dimensions 5x3,...15 х 3 and 5x5,...,5x15 developed algorithm finds time-saving solutions data on 10–15 %, compared with a greedy algorithm.

Текст научной работы на тему «Алгоритм статической оптимизации передачи данных»

Ромм Яков Евсеевич - ФГБОУ ВПО «Таганрогский государственный педагогический институт имени А.П. Чехова»; e-mail: [email protected]; 347926, г. Таганрог ул. Инициативная, 48; тел.: 88634601753, 88634601812, 88634601899; кафедра информатики; зав. кафедрой; д.т.н.; профессор.

Соколов Иван Николаевич - e-mail: [email protected]; 347932, г. Таганрог, ул. Тихона Руденко, 55; тел.: 89514952411; ведущий программист отдела контроля качества образования и инновационных технологий.

Romm Yakov Evseevich - Taganrog State Pedagogocal Institute named after A.P. Chechov; e-mail: [email protected]; 48, Initsiativnaya street, Taganrog, 347926, Russia; phones: +78634601753, +78634601812, +78634601899; the department of computer science; head the department; dr. of eng. sc.; professor.

Sokolov Ivan Nikolaevich - e-mail: [email protected]; 55, Tixon Rudenko street, Taganrog, 347932, Russia; phone: +79514952411; leading programmer of department quality control of education and innovation technologies.

УДК 681.3

Ю.О. Чернышев, Н.Н. Венцов, С.А. Мухтаров АЛГОРИТМ СТАТИЧЕСКОЙ ОПТИМИЗАЦИИ ПЕРЕДАЧИ ДАННЫХ*

Сформулирована задача статической оптимизации доступа к данным. На основе механизмов индивидуальной и коллективной адаптации разработан алгоритм решения задачи. В используемой модификации метода роя частицы образуют социально-сетевую топологию типа “кольцо ”. Изменение скорости частицы пропорционально расстоянию между ней и наилучшим решением, найденным её соседями. Определены зависимости времени работы алгоритм от размерностей решаемых задач. Проведено сравнение решений получаемых предлагаемым и жадным алгоритмом. Установлено что на тестовых задачах размерностей 5х3,...15х3 и 5х5,...,5х15 разработанный алгоритм находит решения, экономящие время передачи данных на 10-15 %, по сравнению с жадным алгоритмом.

Вычислительные ресурсы; индивидуальная и коллективная адаптация; интеллектуальные системы; оптимизация.

Yu.O. Chernyshev, N.N. Vencov, S.A. Mukhtarov THE ALGORITHM OF STATIC OPTIMIZATION OF DATA TRANSFER

It is formulated the problem of static optimize data access. On the basis of the mechanisms of individual and collective adaptation of the developed algorithm of solving the problem. In the modified method of swarm particles form a social-network topology type “ring”. Change the velocity of the particle is proportional to the distance between it and the best solution found its neighbors. The dependence of the time algorithm from the dimensions of solved tasks. Comparison of the solutions proposed and obtained a greedy algorithm. It is established that the test problems dimensions 5х3,...15х3 and 5x5,...,5x15 developed algorithm finds time-saving solutions data on 10-15 %, compared with a greedy algorithm.

Computing resources; individual and collective adaptation; intelligent systems; optimization.

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

* Работа выполнена при финансовой поддержке РФФИ (проекты 12-01-00474, 13-01-00343). 136

ведутся разработки программируемых сетей. Например, сети класса GENI позволяют выделять в общей сети подсеть, состоящую из активного и пассивного сетевого оборудования [1]. Данная подсеть может конфигурироваться автономно, относительно общей сети. Управление процессом передачи данных также можно организовать на основе протокола Open Flow [2]. Он позволяет разделять трафик на «производственный» и «исследовательский». Управление «производственным» трафиком может осуществляться на основе классических, проверенных подходов, «исследовательский» может быть изолирован от «производственного» с целью апробации новых схем адресации, моделей безопасности, протоколов маршрутизации и т.д. Рассмотрим задачу оптимизации доступа к данным на примере. Пусть необходимо сформировать документ, состоящий из трех разделов (z=3), хранящихся на трех различных БД (БД1, БД2, БД3). Приложение, компонующее запросы в единый документ, расположено удаленно относительно БД. Предположим также, что запросы независимы друг от друга, в том плане, что генерация одного запроса не зависит от результатов другого.

Обозначим через Lj 0=1, 2, ..., z) маршрут передачи результатов выполнения j-го запроса (т.е. запроса к j-ой БД). Сегменты сети пропускной способностью которых можно управлять, обозначим через щ 0=1, 2, ..., r), где r - количество данных сегментов. Пусть L1=<m1,m2>, L2=<u4, u3, u2>, L3=<u5, u3, u2>. Обозначим через ú¡ пропускную способность сегмента u¡. Тогда через új, обозначим ширину полосы пропускания выделенную в сегменте щ для передачи результатов j-го запроса. Предположим, что сегмент сети используется приложением, формирующим заключение монопольно, тогда:

щ = Ц=1 Щ. (1)

Скорость передачи результатов j-го запроса по маршруту Lj обозначим через L¡ тогда:

Lj = min (u'ij) : щЕЦ. ^ (2)

Формула (2) указывает на то, что скорость передачи данных по маршруту Lj,

определяется сегментом u¿ маршрута Lj с наименьшей пропускной способностью.

Пусть Dj объем данных, которые необходимо передать в качестве результата j-го запроса. Тогда критерий оптимальности, выполнения j-го запроса, можно выразить формулой:

-г ^ тт. (3)

Ч ()

В соответствии с (3), критерием оптимальности поставленной оптимизационной задачи будет выражение:

min (jtJ, j = 1,2,.., z. (4)

Решением оптимизационной задачи будет матрица U размерности r*z, на элементы которой накладываются ограничения:

Vi Е {1,2,..., r}u¡ > u[j ; (5)

щ Е Lj о щ j Ф -1. (6)

На рис. 1 изображена структура информационного массива, описывающего распределение пропускных способностей каналов связи, для рассматриваемого примера, которая представляет матрицу U.

Ui,i -1 -1

Ú2,1 <N и23

-1 <N •S' Ú3,3

-1 <n -1

-1 -1 Ú5,3

Рис. 1. Матрица соответствующая ограничениям

Предлагаемый подход. В связи с большой областью поиска (порядка r*z) для решения задачи предлагается использовать подход основанный на коллективной адаптации - модификацию метода пчелиной колонии, называемую локально наилучшей PSO-метода (Ibest PSO) [3-7, 9]. В указанной модификации метода частицы образуют социально-сетевую топологию типа “кольцо”. Для каждой частицы задаётся меньшее количество соседей, положение которых учитывается при расчете траектории движения особей роя в отличии от gbest метода [3]. В соответствии с концепцией Ibest PSO, каждая частица пытается имитировать лучшего из своих соседей, смещаясь в его строну. Социальная составляющая скорости, отражает обмен информацией между соседями частицы. Изменение скорости частицы пропорционально расстоянию между ней и наилучшим решением, найденным её соседями. Так как, при реализации стратегии Ibest PSO-метода каждая частица ориентируется на лучшую позицию своих соседей, а не всего роя, в пространстве поиска ожидаемая скорость сходимости Ibest PSO ниже, чем gbest метода. Применительно к данной задаче, низкая скорость сходимости может обеспечить более равномерное исследование области значений, что, в свою очередь, способствует уменьшению вероятности зацикливания алгоритмов в локальных ямах.

Каждое решение представим как частицу, движущуюся в r^z-мерном пространстве. Координаты частицы можно описать r-мерным вектором (кортежем)

X=<xu, *1,2, •••, X\j,--; Xl,z; *2,1, Х2,2, ..., X2j,..., X2,zl X,;1, x,,2, ..., Хф..., x^ Хг,ъ Xr,2, ...,

xrj,xrz,>. Значение каждого элемента xtj кортежа X соответствует элементу таблицы U.

С помощью кортежаXk(t)=<xk,u(t), xkAa(t), ..., x^/i),..., x^/t); xk,2,1(t), xm(t),

•••, xk,2j(t),* • •, xk,2,z(t); xk,i,1(t), xk,i,2(t), •••, xk,ij(t),* • •, xk,i,z(t); xk,r,1(t), xk,r,2(t), •••, xk,rj(t),* • •,

xkr,z(t)>, обозначим позицию k-ой частицы в пространстве поиска решений в момент времени t., Факт вычисления функционала (4), на основе кортежа

Xk(t)=<xk,1,1(t), xk,1,2(t), •••, xk,l/t),■■■, xk,1,z(t); xk,2,1(t), xk,2,2(t), •••, xk,2j(t),-• •, xk,2,z(t);

xk,n(t), xKiJt), ..., xk,ij(t),..., xki,z(t); xk,r,1(t), xk,r,2(t), ..., xk,rj(t),..., xk,r,z(t)>, соответствующего матрице U, обозначим как:

F[Xk (t)]^min. (7)

Процесс поиска решений, данным методом, начинается с генерации частиц. Начальное состояние частицы k в нулевой момент времени, описывается кортежем Xk(0)=<xk,1,1 (0), xkAa(0), ..., xk'1j(0),..., xk,1,z(0); xkX1(0), xh2,2(0), ..., xk,2j(0),...,

xk,2,z(0); xk,i,1(0), xk,i,2(0), •••, xk,ij(0),* • •, xk,i,z(0)> xk,r,1(0), xk,r,2(0), •••, xk,rj(0),* • •, xk,r,z(0)>,

и определяется, в простейшем случае, следующим образомXk(0)=U( f, A). Функция U(f, A) для каждого измерения создаваемой особи, генерирует случайное число из диапазона [fj, a]

Позиция k-ой частицы, в пространстве поиска решений, изменяется добавлением скорости Vk(t)= Xk(0)=<vKU(0), vk,1,2(0), ..., укл/0),..., vk,h(0); Ук,2Л(0), vk,2a(0),

• ••, vk,2j(0),..., vk,2,z(0); Vk,n(0), vk,ia(0), ..., vk,ij(0),..., vk,iJ0); vk,r,1(0), vk,ra(0), ...,

vkrj(0),..., vkrz(0)>, к текущей позиции:

Xk(t + 1) = Xk(t) + Vk(t + 1). (8)

В разновидности Ibest PSO-метода каждая частица, тяготеет к лучшему решению полученному её соседями, поэтому скорость k-ой частицы, в ij-ом измерении, определяется по формуле:

vk,,j(t+1) = vk,lj(t)+C1r1(t)[yk,lj(t)-xk,lj(t)] +C2r2(t)[y*kj(t)-xklj(t)], (9)

где vkij(t) - скорость k-ой частицы в ij-ом измерении в момент времени t; xkij(t) -координаты частицы k в измерении ij; C1 и C2 - положительные константы ускорения, варьирующие когнитивную и социальную компоненты скорости частицы; rг и r2 - случайные переменные, принимающие значения 0 или 1; ykij(t) - координата наилучшей достигнутой позиции частицы k в j-м измерении. y*kj(t) - координата наилучшей достигнутой соседей частицы k в j-м измерении.

В случае, если (х)^-1) и (х, (/+1)< ^), то х, (/+1):= ^ и, если х, (/ + 1)> а,-, то х^ (/ + 1):=а,-.

Кортеж Ук ==<хи, х!,2, ..., х^,..., х1г; х2,1, х2,2, ..., х^-,..., х^; х,;ь х,-,2, ..., хф..., х,/, хг1, хг2, ..., хг^,..., хг> отображает наилучшую позицию частицы к, которую она посещала, начиная с первой итерации. В момент времени /+1 следующая оптимальная позиция частицы к рассчитывается по формуле:

Ук = Ук, если {Хк (I + 1) ) < ГОЬ),

Ук = Хк(1 + 1) ,если (Хк(t + 1) ) > F (¥к). ( ;

В формуле (10) выражение Р{Хк(Ь + 1) ) - описывает значение целевой функции вычисленной на основе кортежа Хк, полученного на /+1 - ой итерации, а F (Ук) - на основе кортежа 7к.

Алгоритм решения. Работа алгоритма сводится итерационному выполнению следующих шагов:

1. «Генерация особей» - создание особей, образующих пчелиный рой. Для каждой особи, на основе ее координат, вычисляется значение целевой функции. Скорости всех сгенерированных особей равны нулю. После того как особи сгенерированы производится их группировка, т.е. определение для каждой особи роя множества соседних особей.

2. «Расчет статистики» - процесс нахождения для каждой частицы величины у*(/) - координаты наилучшей достигнутой позиции её соседей найденной за / итераций и величины у,-^) - координаты наилучшей достигнутой позиции частицы найденной за / итераций. Под наилучшей позицией понимается такое положение частицы в пространстве, при котором значение целевой функции минимально. Таким образом величина у*(/) определяется для множества соседних по отношению к текущей частиц, а величина у,(/) - для каждой частицы в отдельности.

3. «Расчет скоростей» - процесс поиска для каждой особи роя по формуле, новой скорости в каждом из пространств.

4. «Перемещение особей» описывает процесс расчета для каждой особи роя по формуле новых координат.

5. «Расчет ЦФ» соответствует процессу вычисления целевой функции для каждой особи роя на основе новых координат.

Критерием остановки алгоритма является выполнение заданного числа итераций.

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

I, С

0,003 0,0025 0,002 0,0015

0,001 0,0005 0

5x3 7x3 9x3 11x3 13x3 15x3 £

Рис. 2. Зависимость времени работы предлагаемого алгоритма от размерности, описывающей количество сегментов сети

Из данных, представленных на рис. 2, видно, что время решения линейно зависит от размерности задачи г. Кроме того, из рис. 2 следует, что время поиска решения, предлагаемым алгоритмом, на задачах размерности 5x3, ...15x3, изменяется от 1,2*10-3 до 2,5*10-3 секунд.

На рис. 3 представлена зависимость времени работы предлагаемого алгоритма от количества оптимизируемых запросов г.

На основании данных представленных на рис. 3 можно предположить, что время решения линейно зависит от размерности задачи г. Из рис. 3 следует, что время поиска решения, предлагаемым алгоритмом на задачах размерности 5x5, .5x15, изменяется от 1,5* 10-3 до 3,5*10-3 секунд.

I, с

0.004 0,0035 0,003 0,0025 0,002 0.0015 0,001 0.0005 0

5x5 5x7 5x9 5x11 5x13 5x15 £

Рис. 3. Зависимость времени работы предлагаемого алгоритма от количества

оптимизируемых запросов

Сравнение результатов работы предложенного и жадного алгоритмов позволяет заключить:

♦ при изменении размерностей решаемых задач от 5x3 до 15x3 предлагаемый алгоритм обеспечивает получение решений, экономящих время передачи данных на 10-15 %;

♦ при изменении размерностей решаемых задач от 5x5 до 5x15 предлагаемый алгоритм обеспечивает получение решений, экономящих время передачи данных на 10-15 %.

Выводы. В случаях, когда жадный алгоритм способен определять рациональные решения, предлагаемый алгоритм обеспечивает получение решений, экономящих время передачи данных на 10-15 %. Время работы предложенного алгоритма зависит линейно от каждой из двух размерностей задачи оптимизации z и r (z-размерность экземпляров оборудования, задействованного при выполнении запросов, и r-размерность количества оптимизируемых запросов). Линейная ВСА подтверждена экспериментально на задачах размерности 5x3.15x3 по оси z и 5x5, .5x15 по оси r.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Global Environment for Network Innovations. Web site http://geni.net.

2. Nick McKeown, Tom Anderson, Hari Balakrishnan, Guru Parulkar, Larry Peterson, Jennifer Rexford, Scott Shenker, Jonathan Turner. OpenFlow: Enabling Innovation in Campus Networks. March 14, 2008.

3. Kennedy J. The Particle Swarm: Social Adaptation of Knowledge // In Proceedings of the IEEE International Conference on Evolutionary Computation. - 1997. - P. 303-308.

4. Курейчик В.М. Биоинспированный поиск с использованием сценарного подхода // Известия ЮФУ. Технические науки. - 2010. - № 7 (108). - С. 7-12.

5. Cong J., Fang J., Xie M. and Zhang Y. MARS-A multilevel full-chip gridless routing system // IEEE Trans Comput.-Aided Design Integr. Syst. - 2005. - Vol. 24, № 3. - P. 382-394.

6. Лебедев Б.К., Лебедев В.Б. Поисковые процедуры канальной трассировки, базирующиеся на моделировании адаптивного поведения роя частиц в пространстве решений с неупорядоченным лингвистическим шкалированием // Известия ЮФУ. Технические науки. - 2009. - № 12 (101). - С. 15-22.

7. DorigoM. and Stutzle T. Ant Colony Optimization. MIT Press, Cambridge, MA, 2004.

8. Walter Banks, Gordon Hayward. Fuzzy logic in embedded microcomputers and control systems. Published by Byte Craft Limited, Waterloo Ontario Canada, 2001.

9. Курейчик В.М. Особенности построения систем поддержки принятия решений // Известия ЮФУ. Технические науки. - 2012. - № 7 (132). - С. 92-98.

10. Чернышев Ю.О., Венцов Н.Н., Крупенин А.В., Щербаков А.В., Мухтаров С А. Адаптивная оптимизация запросов в современных системах управления базами данных. Монография. Краснодар: ФВАС, 2011.

11. Курейчик В.М., Кажаров А.А. Использование роевого интеллекта в решении NP-трудных задач // Известия ЮФУ. Технические науки. - 2010. - № 7 (120). - С. 30-36.

Статью рекомендовал к опубликованию д.т.н., профессор Б.К. Лебедев.

Чернышев Юрий Олегович - Донской государственный технический университет; e-mail: [email protected]; 344000, г. Ростов-на-Дону, пл. Гагарина, 1; тел.: 88632738582, кафедра автоматизации производственных процессов; профессор.

Венцов Николай Николаевич - e-mail: [email protected]; кафедра информационных технологий; доцент.

Мухтаров Сергей Артурович - Филиал Военной академии связи (г. Краснодар); e-mail: [email protected]; 350035, г. Краснодар, ул. Красина, 4; соискатель.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Chernyshev Yury Olegovich - Don State Technical University; e-mail: [email protected]; 1, Gagarin Square, Rostov-on-Don, 344000, Russia; phone: +78632738582; the department of automation of productions; professor.

Vencov Nikolay Nikolaevich - e-mail: [email protected]; the department of information technologies; associate professor.

Mukhtarov Sergey Arturovich - Branch of Military academy of communication (Krasnodar); e-mail: [email protected]; 4, Krasina street, Krasnodar, 350035, Russia; competitor.

УДК 004.912

Р.Ю. Вишняков, Ю.М. Вишняков

«ВЫЧИСЛИТЕЛЬНОЕ» ПРЕДСТАВЛЕНИЕ СМЫСЛА ТЕКСТОВЫХ ФРАГМЕНТОВ НА ОСНОВЕ ОБРАТНОЙ ПОЛЬСКОЙ ЗАПИСИ

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

Контекст; контекстная связка; операция контекстного уточнения смысла; дерево контекстной связки; обратная польская запись.

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