Ученые научили цифровых «муравьев» определять оптимальные алгоритмы для программного обеспечения
10 минут
СФУ
1

Ученые научили цифровых «муравьев» определять оптимальные алгоритмы для программного обеспечения

Исследователи из СФУ совместно с коллегами предложили оптимизировать состав мультиверсионных программных комплексов, используя для этого алгоритм муравьиной колонии. Разработка будет востребована при создании программного обеспечения, контролирующего работу приборов и систем на атомных электростанциях, в энергетической отрасли и космической промышленности.

Ученые научили цифровых «муравьев» определять оптимальные алгоритмы для программного обеспечения / ©zoolog.guru

Группа ученых из Сибирского федерального университета и Сибирского государственного университета науки и технологий имени академика М. Ф. Решетнева предложила оптимизировать состав мультиверсионных программных комплексов, используя для этого алгоритм муравьиной колонии. Основные результаты исследования опубликованы в издании Lecture Notes in Computer Science.

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

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

Но в мультиверсионном ПО доступных версий может быть от трех и до бесконечности в каждом модуле — их изначально в разы больше, чем мы можем включить в прошивку. Если в луноход мы, к примеру, поместим слишком много алгоритмов — пусть даже очень надежных — они будут «съедать» дикое количество вычислительных мощностей, а нам это совсем не нужно. Необходимо выбрать оптимальные версии для каждого модуля, чтобы программный комплекс в целом был или супернадежный, или максимально дешевый, либо представлял собой что-то среднее при заданных ограничениях. А осуществить этот выбор нам помогут муравьи», — сообщил доцент кафедры информатики СФУ Михаил Сарамуд.

Исследователь уточнил, что нашел новое применение хорошо известному в среде it-специалистов алгоритму муравьиной колонии (Ant Colony Algorithms). Первую версию муравьиного алгоритма предложил ученый Марко Дориго в начале 1990-х годов. Известно, что муравьи выбирают наиболее проходимые и короткие маршруты следования от источника пищи до муравейника. Как крохотные и слепые насекомые это делают? Дело в особых пахучих феромонах, которые они выделяют.

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

«Дориго создал математическую модель поведения муравьев, ищущих оптимальные пути от колонии к источнику пищи. По такой же схеме мы можем воздействовать на граф. Граф — это абстрактный математический объект, его можно представить в качестве множества узлов (вершин), соединенных ребрами. Если первый узел — условный «муравейник», то дальше нас ждет множество переходов к цели (условной «еде»). Какой путь выбрать?

В случае нашего исследования каждый узел — это состав конкретного модуля. Допустим, есть десять версий для каждого модуля. Чтобы мультиверсионное ПО заработало, нужно выбрать из этого множества версий хотя бы три. Необходимо перебрать все возможные составы версий. Между этими составами и бродит наш виртуальный «муравей-выбиратель».

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

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

«В новой статье мы отдельно рассмотрели методику множественных стартов. У алгоритма муравьиной колонии есть существенный недостаток — если первые пущенные нами «муравьи» пройдут по неоптимальной траектории, но при этом удовлетворят заданным условиям по стоимости и надежности, то этот проход будет засчитан как адекватный — следующие агенты пойдут по этому же маршруту. Но есть более оптимальный путь.

Зачем вам идти, скажем, в магазин через все пустыри района, если можно пройти напрямую по освещенной дороге? Что мы предлагаем: есть ресурсы на 500 проходов, например. Запускаем первых 50 «муравьев», а всех последующих отправляем только по лучшему пути, который найдет кто-то из первой партии «разведчиков». Вот так мы оптимизировали алгоритм, сделав его менее случайным и более подходящим для построения оптимального состава мультиверсионного комплекса», — резюмировал исследователь.   

Нашли опечатку? Выделите фрагмент и нажмите Ctrl + Enter.
СФУ
24 статей
Сибирский федеральный университет — высшее учебное заведение, расположенное в Красноярске. Первый в России федеральный университет. Крупный научно-исследовательский и образовательный центр в России. Крупнейший университет восточной части России.
Вчера, 19:59
26 минут
Илья Ведмеденко

Новый БПЛА С-70 «Охотник» может стать главным российским проектом в сфере боевой авиации. Но сначала ему нужно подтвердить свою пользу.

Позавчера, 11:23
2 минуты
Илья Ведмеденко

Пятого июля, в 00:13 (мск), должен состояться запуск ракеты-носителя Electron c семью малыми спутниками. Трансляцию вы сможете посмотреть на нашем сайте.

3 июля
9 минут
Сколтех

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

Вчера, 19:59
26 минут
Илья Ведмеденко

Новый БПЛА С-70 «Охотник» может стать главным российским проектом в сфере боевой авиации. Но сначала ему нужно подтвердить свою пользу.

3 июля
4 минуты
Сергей Васильев

Одна из самых больших черных дыр обладает соответствующим аппетитом: имея массу около 34 миллиардов масс Солнца, она добавляет еще по одной каждый день.

1 июля
5 минут
Сергей Васильев

Точные данные о локализации центра масс Солнечной системы важны для поиска гравитационных волн, поэтому астрономы выяснили его с ошибкой не более 100 метров.

27 июня
8 минут
Sergei Sobol

Уроки астрономии вернулись в российские школы в 2018 году. За то время, пока эта наука была необязательным предметом, в ней произошло много событий, не все из которых нашли отражение в учебниках. Кроме того, в них и раньше не были упомянуты многие интересные факты.

1 июля
5 минут
Мария Кривоченко

Один из детекторов Большого адронного коллайдера обнаружил новую частицу, состоящую из четырех очарованных кварков. Физики полагают, что это первый представитель неописанного класса частиц.

18 июня
9 минут
Sergei Sobol

Россия знала многих правителей. Сможете ли вы распознать их по следу, оставленному в истории?

[miniorange_social_login]

Комментарии

1 Комментарий

itnativa
05.12.2019
-
0
+
Мне кажется, или это близко к нейросетям?
Подтвердить?
Лучшие материалы
Предстоящие мероприятия
Войти
Регистрируясь, вы соглашаетесь с правилами использования сайта и даете согласие на обработку персональных данных.

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: