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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Земная атмосфера 2,7 миллиарда лет назад состояла в основном из углекислого газа — и было его там до тысячи раз больше, чем сегодня. При этом азота почти не было, хотя сегодня его в воздухе 78%. Выходит, наша газовая оболочка по составу была близка к марсианской. Как ни странно, эти дела давно минувших дней актуальны для ответа на вопрос о будущем выживании человечества. Похоже, предсказание Стивена Хокинга о гибели всего живого из-за превращения Земли в Венеру не сбудется. Разбираемся, почему так и как одно связано с другим.

Вчера, 13:56
4 минуты
Илья Ведмеденко

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

5 часов назад
24 минуты
Александр Березин

Недавняя научная работа предрекла серьезную эпидемию коронавируса 2019-nCoV. Согласно ей, 95% зараженных еще не зарегистрированы властями, а значит, через пару недель в одной Ухани будут сотни тысяч заболевших. При наблюдаемой смертности от вируса в 2,36% — это многие тысячи погибших. На самом деле, новая работа скорее «ловит хайп» или, если угодно, пытается держать мир настороже, чем описывает реальную эпидемию. Последние данные по заразности коронавируса показывают: он действительно неблестяще передается от человека к человеку. Для эпидемии в Китае этого достаточно, но большое число жертв за пределами этой страны маловероятно. Выясняем почему.

25 января
3 минуты
Денис Гордеев

Вирус, который уже унес жизни 41 человека, породил новую волну популярности игры 2012 года.

24 января
35 минут
Александр Березин

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

Позавчера, 14:48
26 минут
Александр Березин

Земная атмосфера 2,7 миллиарда лет назад состояла в основном из углекислого газа — и было его там до тысячи раз больше, чем сегодня. При этом азота почти не было, хотя сегодня его в воздухе 78%. Выходит, наша газовая оболочка по составу была близка к марсианской. Как ни странно, эти дела давно минувших дней актуальны для ответа на вопрос о будущем выживании человечества. Похоже, предсказание Стивена Хокинга о гибели всего живого из-за превращения Земли в Венеру не сбудется. Разбираемся, почему так и как одно связано с другим.

16 января
5 минут
Илья Ведмеденко

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

25 января
3 минуты
Денис Гордеев

Вирус, который уже унес жизни 41 человека, породил новую волну популярности игры 2012 года.

18 января
26 минут
Александр Березин

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

[miniorange_social_login]

Комментарии

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

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

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

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