Ученые СФУ научили "цифровых муравьев" оптимизировать программные комплексы - Поиск - новости науки и техники
Поиск - новости науки и техники

Ученые СФУ научили “цифровых муравьев” оптимизировать программные комплексы

05.12.2019

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

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

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

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

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

“В новой статье мы отдельно рассмотрели методику множественных стартов. У алгоритма муравьиной колонии есть существенный недостаток – если первые пущенные нами “муравьи” пройдут по неоптимальной траектории, но при этом удовлетворят заданным условиям по стоимости и надежности, то этот проход будет засчитан как адекватный — следующие агенты пойдут по этому же маршруту. Но есть более оптимальный путь! Зачем вам идти, скажем, в магазин через все пустыри района, если можно пройти напрямую по освещенной дороге? Что мы предлагаем: есть ресурсы на 500 проходов, например. Запускаем первых 50 “муравьев, а всех последующих отправляем только по лучшему пути, который найдет кто-то из первой партии “разведчиков”. Вот так мы оптимизировали алгоритм, сделав его менее случайным и более подходящим для построения оптимального состава мультиверсионного комплекса”, — резюмировал Сарамуд.

Нет комментариев

Загрузка...
Новости СМИ2