Хроника событий Названа возможная причина авиакатастрофы «Боинга» FlyDubai в Ростове-на-Дону Источник назвал причину крушения рейса Flydubai под Ростовом Минтранс наградило ликвидатором крушения "Боинга" в Ростове-на-Дону Родственникам жертв крушения "Боинга" Flydubai начали передавать тела погибших МАК завершил расшифровку «черного ящика» разбившегося в Ростове-на-Дону «Боинга»

Ученые раскрыли "заговор компьютеров": автопилоты сходят с ума

"Чем сложнее становятся системы управления, тем больше вероятность, что они не сработают"

07.04.2016 в 19:03, просмотров: 8330

Страшная авиакатастрофа в небе над Ростовом-на-Дону, унесшая жизни шести десятков человек, на фоне новых событий уходит в прошлое. О расследовании причин этой трагедии почти уже и не говорят.

А между тем, как считают специалисты, установить истину невероятно важно, чтобы предотвратить новые смерти.

Человеческий фактор, на который обычно и сваливают абсолютное большинство авиакатастроф, на самом деле, как считают ученые из МГТУ имени Баумана, не всегда является их причиной...

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

Ученые раскрыли
Трагедия над Ростовом-на-Дону. Март 2016 года. Фото: пресс-служба губернатора Ростовской области.

«В последней авиакатастрофе над Ростовом-на-Дону, вероятнее всего, тоже обвинят пресловутый человеческий фактор. Когда не знают, что произошло, всегда пишут о нем, потому что иначе очень сложно объяснить, что проблема не в людях или их поведении, а в скрытой неустойчивости любых систем автоматического управления, которые положены сегодня в основу всей техники», — говорит Дмитрий Жук из Московского государственного технического университета имени Н.Э.Баумана.

Математика катастроф

Их трое. Владимир Маничев. Дмитрий Жук. Денис Кожевников. Первый отвечает за математический аспект исследований, второй — за применение их результатов, третий — программист и координатор работ.

Преподаватели МГТУ имени Н.Э.Баумана и в свободное время — «спасатели человечества». Как сделать так, чтобы самолеты не падали, не тонули подводные лодки, не взрывались атомные станции, не рушились спутники ГЛОНАСС?

фото: Из личного архива
Денис Кожевников.

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

Человеческий мозг совершенен, но, увы, уже не в состоянии единолично решить поставленные перед ним задачи. Для этого люди придумывают технологии и программы. Компьютеры работают по этим программам, но при этом машины гораздо более несовершенны, чем люди. Поэтому ошибки неизбежны. Я с трудом понимаю, о чем они со мной говорят. Маничев, Жук и Кожевников. О высшей математике. О решении алгебро-дифференциальных уравнений высшей сложности с гарантированной достоверностью и заданной точностью, таких, которые определяют поведение того же автопилота во время полета.

фото: Из личного архива
Владимир Маничев.

И о том, как все это должно в итоге работать. Чтобы оно не падало и не ломалось.

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

— Двадцать с лишним лет назад, 22 марта 1994 года, над городом Междуреченском разбился Аэробус-310, летевший по маршруту Москва—Гонконг, погибли 75 человек, — рассказывает математик Дмитрий Жук. — Это была печально знаменитая катастрофа. Межгосударственная комиссия переложила всю вину на экипаж, так как расшифровка «черных ящиков» показала, что командир пустил в кабину своих детей и дал им «порулить». Хотя было установлено, что разбившийся самолет вел автопилот, — значит, от поведения сына летчика, даже если тот и сидел в кресле отца, ничего не зависело, но экипаж так и не реабилитировали. О настоящих же причинах этой трагедии узнали только много лет спустя… На самом деле они заключались в недостатках работы системы управления аэробусом, когда автопилот сам по себе вдруг стал подавать неправильные команды, начали нарастать опасные отклонения крена и тангажа… Тогда, в 94-м, комиссия все-таки настояла на своем решении: виноваты дети. Вопрос был закрыт.

фото: Из личного архива
Дмитрий Жук.

Но череда аварий на этом не прекратилась. Всего через несколько месяцев после трагедии над Междуреченском такой же аэробус летел над Бухарестом, и у него точно так же начали очень быстро нарастать отклонения крена. Командир корабля все же сумел вовремя отключить автопилот и выровнял машину как надо, в ручном режиме. После благополучной посадки инженеры проверили все системы управления лайнера, чтобы выяснить, что в них не так. Но… никаких отклонений обнаружено не было. То есть неустойчивость самолета при определенном стечении обстоятельств возникла как бы сама по себе, вот только предугадать эти обстоятельства заранее было невозможно. И таких неразгаданных катастроф, которые произошли непонятно из-за чего, когда странным образом не сработала техника и даже «черные ящики» не могут установить истинную причину произошедшего, на самом деле не единицы. Теперь же всему придумали оправдание: виноват человеческий фактор.

— А на самом деле нет?

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

нужно… Но это уже другая наша беда, не касающаяся непосредственно авиапроисшествий. Мы ее затрагивать не будем. Авиационные же катастрофы, как мне кажется, наиболее наглядно показывают несовершенство существующей сегодня техники и ее электронных систем управления. Начну издалека: деятельность любого прибора можно описать математическими формулами. Когда надо задать электронике, в частности автопилоту, работу, то для того, чтобы спроектировать ее корректность, используются определенные математические модели. Раньше, когда техника была простая, эти уравнения мог написать и сам человек. Теперь с уравнениями, в которых могут быть и сотни тысяч переменных, и даже миллионы, способен справиться лишь мощнейший компьютер. Но дальнейшее усовершенствование систем управления может привести к тому, что однажды они могут вообще может выйти из-под контроля.

— Восстание машин?

— Мы зависим от компьютеров. От их работы. Эта проблема затрагивает весь мир. Построить самолет, атомную подводную лодку или космический спутник, используя мышление, знания, умения одного человека, сегодня невозможно физически. Чтобы грамотно проектировать сложнейшие механизмы, надо иметь высокую точность решения очень сложных систем уравнений. Если до недавнего времени та математика, которой пользовались конструкторы, всех устраивала, то за последние десятилетия произошел гигантский скачок в сложности поставленных задач. Поэтому во многих вопросах приходится полагаться на компьютер, который один способен их решить. Правильно ли? Этого мы не знаем. Но деваться некуда. Мы загнаны в угол. Возникающие технические задачи настолько сложны, что, даже получив на них ответ, никто в мире не может сказать, верный ли ответ дала машина.

— Если нет?

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

— Да, бывает.

— И вы ничего не можете с ним сделать, только что выдернуть вилку из розетки и полностью перезагрузить? И никто не может сказать, что в этот момент происходит, в чем причина этого сбоя. А если компьютер военный? Поэтому везде стоят резервные системы управления, если не справится одна, чтобы мгновенно подключилась другая. И все равно отказы в работе техники идут постоянно. Просто не все они освещаются в СМИ и не обо всех становится известно. Справляются своими силами. В нашей стране ситуация может усугубляться еще бардаком. Вспомните, к примеру, ту же аварию на Саяно-Шушенской ГЭС. Ее причиной ведь стали не только инженерные просчеты, но и безалаберность общего управления гидростанцией.

2 + 2 = 5?

— А откуда берутся ошибки в расчетах? Почему мы не можем объяснить компьютеру, как надо правильно считать? Что 2+2=4?

— Потому что разница между гибким человеческим мышлением и работой машины огромна. Смотрите, к примеру, есть два числа — 1 и 2. Человеку легко объяснить, что между ними может быть расположено еще и бесконечное множество других чисел: 1,001; 1,01; 1,02 и так далее. Этот ряд бесконечен. Но для компьютера подобное объяснение невозможно. Иначе он запутается в этом великом множестве и вообще перестанет что-либо понимать и работать. Для компьютера есть только числа 1 и 2, между которыми ничего нет.

Простой пример: (1/3+1-1)*3=1 на бумаге. Для компьютера же при представлении в стандартном для математических пакетов формате двойной точности ответ будет 0,9999999999999997800.

Округление при выполнении арифметических операций производится до чисел, равных степеням числа 2, а не числа 10. При выполнении очень большого количества операций такие погрешности могут суммироваться и приводить к большим ошибкам вычислений. Если это теоретические вычисления, тогда ладно, но если они связаны с работой техники… Жди беды!

— Ага. Понятно. То есть ничего не понятно.

— Хорошо, тогда на конкретных примерах. Однажды при разработке американского зенитно-ракетного комплекса Patriot была тоже допущена программная ошибка, она вызвала накопления погрешности, это привело к сбою в системе, и в результате американцы начали сбивать своих. Они оказались не в состоянии идентифицировать мишени правильно. Это произошло во время операции «Буря в пустыне» в 1991 году. И таких случаев с человеческими жертвами много. Это произошло вследствие того, что реальные современные математические модели, необходимые для проектирования техники и оружия, не всегда удается просчитать на ЭВМ. Для компьютера многое приходится упрощать, чтобы он мог в принципе справляться с вычислениями. Упрощение же ведет к случайностям, к приблизительности. Существенные погрешности компьютерных вычислений попадают в конечную конструкторскую документацию, и все, что сделают потом на ее основании, может быть ненадежно и выйти из строя в любой момент.

Ода механике

— Но может и не выйти?

— А этого вам никто не скажет. Пока вся техника работала на простых законах физики, пока это были железки и обычная механика, а не сложная электроника, все было понятно и просто. К примеру, механическая коробка передач — переключай рычаг туда-сюда, и все

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

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

— Чем сложнее техника, тем проще она ломается…

— В том-то все и дело! А все предугадать заранее невозможно. Поэтому самолет может годами нормально летать, проходить все техосмотры, а затем раз — вдруг системы его управления необъяснимо сходят с ума. И самолет с сотнями людей на борту входит на высоте в плоский штопор или вместо того, чтобы уйти на второй круг, вдруг неожиданно ударяется носом в землю.

— Математическая ошибка может стоить человеческих жизней.

— Это еще называют «ошибка Петрова». В Санкт-Петербурге в университете есть такой профессор-математик Юрий Петров — так вот, он первый еще в середине 90-х годов обнаружил и выявил так называемую скрытую параметрическую неустойчивость, заложенную в работе множества систем управления, как в автопилоте, так и в других, их в самолетах сотни. Да и не только в самолетах. Тогда на базе Санкт-Петербургского университета и Военмеха (Балтийского технического университета) была создана научная группа, которая занялась поиском и обнаружением подобных ошибок.

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

Мы просили дать возможность провести поверочные расчеты бортовых систем управления современных российских самолетов, к примеру, Суперджета-100, с использованием разработанных в МГТУ компьютерных программ. Но никто не понимает, зачем это нужно, как все это будет происходить, не выдадут ли нам случайно военные секреты… В общем, все сложно. Те, от кого зависит принятие решений, вообще не очень понимают, зачем это все нужно, в чем выгода? Хотя тот же профессор Петров доказал, что только в военной авиации потери от математических ошибок и погрешностей составляют как минимум 3 миллиарда рублей в год. Те же ученые из Петербурга, кстати, обращались и в Минтранс, к тогдашнему министру Игорю Лесину, и в Росавианадзор, и в сами авиакомпании. И везде им отказались помогать провести эту проверку на основе уже существующих математических программ, которые покажут наличие ошибок. Хотя это не стоило бы каких-то гигантских средств — уж не больше, чем выплачено компенсаций семьям жертв авиакатастроф. Но самое ужасное, что без этих данных мы до сих пор так точно и не знаем, в скольких подобных расследованиях наказали действительно виновных, а где свалили все на невинных, на погибший экипаж, потому что не смогли, да и не захотели узнать настоящую причину случившегося.

Крушение Boeing в Ростове-на-Дону. Хроника событий