Анализ эффективности принятия решений в мультиверсионном программировании - А. А. Торгашин; Д. И. Ковалев (Информатика. Экономика. Управление)
В статье рассмотрен анализ эффективности алгоритмов принятия решений в мультиверсионном (N-версионном) программировании, обеспечивающем повышение надежности программных систем за счёт параллельного выполнения нескольких функционально эквивалентных, но независимо разработанных версий программного обеспечения. Особое внимание уделено сравнению традиционных алгоритмов голосования: мажоритарного, согласованного большинства, взвешенного и медианного голосования, а также нечетких и биоинспирированных методов, включая алгоритм муравьиной колонии. Эффективность каждого алгоритма оценена с учётом вероятности ошибок в модулях и межверсионных ошибок с помощью математического моделирования и экспериментального имитационного анализа с использованием специально разработанной программной платформы. Полученные результаты выявляют зависимость надежности мультиверсионной системы от выбранного алгоритма и условий его применения. Показано, что оптимальным для высоконадежных модулей является голосование абсолютным большинством, тогда как в условиях большого количества ошибок, включая межверсионные, предпочтительны взвешенное и медианное голосование. Обсуждаются проблемные аспекты принятия решений, в частности, ложный консенсус и сходство ошибок, а также перспективные направления развития на базе интеграции методов машинного обучения для адаптивного принятия решений, генерация версий с помощью языковых моделей и применение технологии блокчейн. В заключение подчёркивается необходимость балансирования надёжности, затрат и сложности реализации мультиверсионных систем, что определяет актуальность дальнейших исследований в этой области.