Fault Tree Analysis (FTA, анализ дерева отказов) — метод анализа причин сложного нежелательного события: его строят «сверху вниз» в виде логической схемы. На вершине — само событие (например, «срыв поставки клиенту»), ниже — промежуточные события и базовые причины, связанные логическими операторами «И» (нужны все причины одновременно) и «ИЛИ» (достаточно любой одной). В отличие от линейной цепочки «пяти почему», дерево показывает, что событие может произойти через разные комбинации причин, а при наличии вероятностей позволяет рассчитать, насколько оно вероятно и какие комбинации вносят наибольший вклад. Метод разработан в 1962 году в Bell Laboratories и стал стандартом в надёжности и безопасности: от ракетных систем и авиации до атомной энергетики. В этой статье — как устроено дерево, как строить его и считать вероятности по справочным источникам, где метод ошибается и как использовать фрейм OrgDevTools.
Что такое FTA и когда он нужен
Мы используем сложные алгоритмы, чтобы рекомендовать фильмы, но при разборе серьёзных бизнес-сбоев часто ограничиваемся вопросом «кто виноват» вместо системной карты того, что могло привести к сбою. FTA заменяет поиск виноватого картой: какие события и в каких комбинациях приводят к отказу. Метод полезен, когда отказ сложный и имеет несколько независимых путей, когда цена ошибки высока (безопасность, юридическая ответственность, крупные потери), и для проектирования защитных мер: дерево показывает, какие барьеры поставить, чтобы перекрыть пути.
FTA нужен при анализе аварий и инцидентов, проектировании критических систем и процессов, оценке рисков и подготовке планов резервирования. Он менее полезен для простых проблем с единственной причиной и для событий, у которых трудно определить чёткие первопричины. Смежные методы: FMEA, диаграмма Исикавы, COSO ERM, ключевые индикаторы риска (KRI), система раннего предупреждения и анализ операционных рисков.
Происхождение и исследовательская база
Анализ дерева отказов был разработан в 1962 году в Bell Laboratories Х. А. Уотсоном по контракту Отдела баллистических систем ВВС США для оценки системы управления пуском межконтинентальной баллистической ракеты Minuteman I. После первого опубликованного использования FTA в исследовании безопасности пуска Minuteman I в 1962 году компании Boeing и AVCO распространили метод на всю систему Minuteman II в 1963–1964 годах; метод получил широкое освещение на симпозиуме по безопасности систем в Сиэтле в 1965 году, а около 1966 года Boeing начала применять FTA при проектировании гражданских самолётов.
Показательна история метода в NASA: в начале программы «Аполлон» задали вопрос о вероятности успешной отправки астронавтов на Луну и безопасного возвращения; расчёт риска дал неприемлемо низкую вероятность успеха, и это отбило у NASA желание заниматься дальнейшим количественным анализом риска и надёжности вплоть до аварии «Челленджера» в 1986 году: вместо этого агентство полагалось на анализ видов и последствий отказов (FMEA) и другие качественные методы. После аварии осознали значение вероятностной оценки риска и FTA, и метод теперь считается одним из самых важных методов анализа надёжности и безопасности систем. Методика FTA описана в отраслевых и государственных стандартах: NUREG-0492 для атомной энергетики (с версией для NASA), SAE ARP4761 для гражданской авиации, MIL-HDBK-338 для военных систем и международный стандарт IEC 61025 (принят как европейский EN 61025). Ниже — рерайт справочных материалов. Оговорка: тексты стандартов в работе не использовались.
Расчёт риска дал неприемлемо низкую вероятность успеха миссии — и это отбило у NASA охоту к количественному анализу риска до аварии «Челленджера».
Академическая теория: как строится и считается дерево отказов
Вершинное событие
Анализ начинается с точной формулировки вершинного события — конкретного нежелательного отказа, например «срыв поставки клиенту в срок», а не абстрактной проблемы «низкое качество». Чем чётче формулировка и границы (что входит в систему, какой период и какие условия), тем полезнее дерево. Для каждого критичного события можно построить отдельное дерево.
Логические вентили: И, ИЛИ
Дерево записывают условными обозначениями логических вентилей. Вентиль «ИЛИ» означает, что выходное событие происходит, если произошло любое из входных; вентиль «И» — что нужны все входные события одновременно. Именно эти вентили принципиально отличают FTA от линейной цепочки причин: событие может иметь несколько независимых путей (ИЛИ), а барьеры-«защиты» реализуются через вентили «И» (для отказа должны отказать и основная система, и резерв).
Базовые события и остановка декомпозиции
Декомпозицию продолжают до базовых событий — первопричин, которые дальше не раскладывают: отказ компонента, ошибка оператора, отсутствие резерва, событие внешней среды. Базовые события должны быть такими, для которых можно оценить вероятность или частоту и определить корректирующее действие. Останавливаться нужно на уровне, где данные и меры возможны; чрезмерная детализация превращает дерево в неуправляемое.
Минимальные наборы отказов
Набор отказов (cut set) — комбинация событий, обычно отказов компонентов, вызывающая вершинное событие. Если из набора нельзя убрать ни одного события без потери причинности вершинного события, его называют минимальным. Минимальные наборы показывают все кратчайшие пути к отказу: наборы из одного события — единичные точки отказа, самые опасные; наборы из двух и более событий — пути, защищённые избыточностью. Это главный практический результат качественного анализа.
Количественный расчёт
Если в дереве проставлены вероятности отказов, программы рассчитывают вероятность вершинного события. В отличие от обычных логических схем, где входы и выходы — «истина» или «ложь», вентили дерева выдают вероятности, связанные с операциями булевой логики над множествами. Вентиль «И» для независимых событий даёт вероятность, равную произведению вероятностей входов (пересечение множеств). Вентиль «ИЛИ» для независимых событий даёт вероятность, равную единице минус произведение вероятностей «не наступления» (объединение). Так как вероятности отказов обычно малы (меньше 0,01), поправка на пересечение мала, и результат «ИЛИ» консервативно приближают суммой вероятностей входов. Часто вместо вероятностей используют интенсивности отказов (пуассоновские процессы), которые считаются постоянными во времени, тогда как вероятность зависит от времени.
Общие причины
Если одно событие влияет на несколько подсистем — это общая причина (common cause, common mode): на схеме оно встречается в нескольких местах дерева и вносит зависимость между событиями. Расчёт вероятностей для деревьев с общими причинами значительно сложнее, чем для деревьев независимых событий, и не все программы это умеют. Игнорирование общих причин — одна из главных ошибок количественного FTA: две «независимые» резервные системы, питающиеся от одного источника, отказывают вместе.
FTA и деревья событий
Некоторые отрасли используют и деревья отказов, и деревья событий (вероятностная оценка риска, PRA). Дерево отказов идёт от нежелательного события к причинам (сверху вниз, «что могло привести»), а дерево событий — от исходного события к возможным последствиям («что будет дальше»); совместно они описывают риск от причин до последствий. Для качественного анализа видов отказов отдельных компонентов используют FMEA, который работает снизу вверх.
Учебный расчёт
Условное вершинное событие: «Клиент не получил заказ в срок». Пути: задержка поставщика (вероятность 0,05), сбой поставки перевозчиком (0,03) или отказ производства, который происходит при одновременном выходе из строя станка (0,10) и отсутствии запасной части (0,20): вентиль «И» даёт 0,10 × 0,20 = 0,02. Все три пути соединены вентилем «ИЛИ»: P = 1 − (1 − 0,05)(1 − 0,02)(1 − 0,03) = 1 − 0,95 × 0,98 × 0,97 ≈ 0,097, то есть около 9,7 %. Минимальные наборы отказов: {задержка поставщика}, {сбой перевозчика}, {станок и отсутствие запчасти}. Первые два — единичные точки отказа: с них и стоит начинать. Числа условные и иллюстрируют расчёт.
Ключевые идеи и принципы FTA
Принцип: одно чётко сформулированное событие
Вершинное событие — конкретный отказ с границами, а не «общая проблема». Чем точнее формулировка, тем полезнее дерево.
Принцип: логика, а не список
Причины связывают операторами «И» и «ИЛИ». Так видно, какие причины достаточны сами по себе, а какие действуют только вместе, и где стоят барьеры.
Принцип: доводите до базовых причин
Дерево должно доходить до причин, которые можно оценить и устранить. Остановка на «человеческий фактор» или «сбой процесса» ничего не даёт.
Принцип: ищите единичные точки отказа
Минимальные наборы из одного события — самые опасные пути. Их перекрывают в первую очередь.
Принцип: учитывайте общие причины
Один источник питания, один поставщик или один процесс могут вызвать отказ «независимых» резервов. Общие причины показывают на дереве и учитывают при расчёте.
Принцип: от причин — к действиям
Анализ заканчивается не деревом, а корректирующими действиями для базовых причин: барьеры, резервирование, контроли, изменения процесса.
Как построить дерево отказов: пошаговая инструкция
Практическая последовательность такая. Определите вершинное событие и границы системы: что входит, в какой период, при каких условиях. Соберите команду, знающую систему (операции, ИТ, безопасность, качество), и данные об инцидентах. Разложите событие на непосредственные причины и определите вентиль: достаточно ли любой причины (ИЛИ) или нужны все (И). Для каждой причины повторите разложение, пока не дойдёте до базовых событий, которые нельзя или не нужно раскладывать. Проверьте логику: события на одном уровне должны быть непосредственными причинами вышестоящего, без пропусков. Определите минимальные наборы отказов и единичные точки отказа. Оцените вероятности или частоты базовых событий по данным, экспертным оценкам или справочникам и рассчитайте вероятность вершинного события. Проверьте общие причины и зависимость событий. Определите корректирующие действия для наиболее вносящих вклад наборов: резервирование, барьеры, контроли, изменение процесса. Пересчитайте дерево после мер и убедитесь, что вероятность снизилась. Обновляйте дерево при изменении системы.
Пример из практики: NASA и «Аполлон»
Документированный эпизод: в начале программы «Аполлон» расчёт риска дал неприемлемо низкую вероятность успеха миссии; NASA отказалось от дальнейшего количественного анализа риска и надёжности и полагалось на FMEA и качественные методы, пока авария «Челленджера» в 1986 году не показала значение вероятностной оценки риска и деревьев отказов; после этого использование FTA в NASA начало расти. Урок для бизнеса: неприятный результат количественной оценки — повод улучшать систему и уточнять допущения, а не отказываться от оценки. Оговорка: описание дано по справочному обзору; подробности решений NASA сложнее и в источнике не раскрыты.
Ограничения, слепые зоны и критика FTA
Первое ограничение — полнота: дерево отражает только те события, которые команда догадалась учесть; не найденные пути отказа в анализе отсутствуют. Второе — данные: для количественного расчёта нужны вероятности базовых событий, которых часто нет, а экспертные оценки субъективны. Третье — общие причины и зависимости: их легко упустить, а расчёт с ними сложнее; не все программы это поддерживают.
Четвёртое — размер: дерево для сложной системы разрастается, и без дисциплины становится нечитаемым. Пятое — статичность: дерево описывает систему на момент построения и не учитывает динамику, последовательность событий и восстановление; для этого используют другие методы. Шестое — фокус на отказах: FTA хорошо работает для отказов оборудования и процессов, хуже — для организационных и поведенческих причин. Седьмое — иллюзия точности: вероятность вершинного события вычисляется с высокой численной точностью, но опирается на приблизительные данные. Поэтому качественный результат — минимальные наборы отказов — часто ценнее числа.
Типовые ошибки при работе с FTA
Ошибка 1: расплывчатое вершинное событие.
Событие сформулировано как «проблемы с качеством»; дерево расползается и не даёт вывода.
Как избежать
сформулировать конкретный отказ с границами системы, периодом и условиями.
Ошибка 2: линейная цепочка вместо дерева.
Причины выстроены одна за другой без вентилей; не видны параллельные пути и комбинации.
Как избежать
использовать вентили «И» и «ИЛИ» и показывать альтернативные пути.
Ошибка 3: остановились не на базовых причинах.
Дерево заканчивается на «ошибка сотрудника» или «сбой системы»; корректирующие действия не определить.
Как избежать
продолжать до причин, которые можно оценить и устранить.
Ошибка 4: путают «И» и «ИЛИ».
Вентиль подобран неверно; вероятность вершинного события завышена или занижена, защиты оценены неправильно.
Как избежать
проверять каждый вентиль вопросом: достаточно ли одного входа или нужны все.
Ошибка 5: игнорируют общие причины.
Считают резервы независимыми, хотя у них общий источник питания, поставщик или процесс; риск занижен.
Как избежать
искать общие причины, показывать их в нескольких местах дерева и учитывать зависимость.
Ошибка 6: анализ без действий.
Дерево построено, минимальные наборы найдены, но корректирующих мер нет.
Как избежать
для наиболее значимых наборов определять барьеры, резервирование и контроли и пересчитывать дерево.
Ошибка 7: дерево строят один раз.
После изменений в системе дерево не обновляют; анализ устаревает.
Как избежать
обновлять дерево при изменении процессов, оборудования и поставщиков.
Метрики: как оценивать анализ
Универсальных нормативов нет; фиксируйте по своим данным:
Вероятность вершинного события: до и после корректирующих мер.
Единичные точки отказа: число минимальных наборов из одного события.
Вклад наборов: доля вероятности вершинного события по минимальным наборам.
Общие причины: число событий, встречающихся в нескольких местах дерева.
Покрытие действиями: доля базовых причин с назначенными корректирующими действиями.
Актуальность: дата последнего обновления дерева и число изменений системы после него.
Дерево отказов ценно не схемой, а тем, что перекрывает единичные точки отказа.
План внедрения FTA по неделям
Неделя 1: событие и границы
Сформулируйте вершинное событие и границы системы, соберите команду и данные об инцидентах.
Неделя 2: построение дерева
Разложите событие до базовых причин с вентилями «И» и «ИЛИ» и проверьте логику.
Неделя 3: наборы и вероятности
Определите минимальные наборы отказов, оцените вероятности и общие причины.
Неделя 4: действия и пересчёт
Определите корректирующие действия для значимых наборов, назначьте ответственных и пересчитайте дерево.
Далее: обновляйте дерево при изменении системы и после инцидентов.
Как реализовать план FTA с помощью фрейма «Fault Tree Analysis» в OrgDevTools
Фрейм — бесплатный тренажёр. Дерево в нём строится как логическая схема с вентилями «И» и «ИЛИ», а вероятность вершины, минимальные сечения и единичные точки отказа фрейм считает сам. Вкладки идут по шагам плана внедрения.
Вкладка «1. Дерево» — недели 1–2: событие, границы и построение дерева
В пустом фрейме есть только кнопка «+ вершинное событие», готовых примеров нет. Каждый узел — строка с названием и тремя кнопками-переключателями: «ИЛИ», «И», «базовое». Вершина создаётся как «ИЛИ». Кнопка «+ вход» у вентиля добавляет дочерний узел, по умолчанию это базовое событие. Дочерние узлы сдвигаются вправо, а крестик удаляет узел вместе со всей его ветвью.
У базового события два числовых поля: вероятность за период p и «после меры». Оба принимают значения от 0 до 1, всё, что выходит за диапазон, обрезается. Под ними — строка «Мера: что устраняет или снижает это событие». Ниже дерева — поле «Допустимая вероятность вершинного события» и список «Вершинное событие: границы анализа»: что считаем отказом, за какой период, в какой системе.
Вкладка «2. Сечения и риск» — неделя 3: наборы и вероятности
Вверху три плашки: вероятность вершины, она же после мер и число единичных точек отказа. Последнее число красное, если оно больше нуля.
Расчёт исходит из того, что базовые события независимы. «И» — произведение вероятностей входов, «ИЛИ» — 1 − произведение (1 − p), без приближения суммой. Если у события нет p или у вентиля нет входов, вместо вероятности стоит «—». Для расчёта «после мер» берётся значение «после меры», а где его нет — исходная p.
Ниже — минимальные сечения, до 20 штук по убыванию вероятности. Для каждого показаны порядок, вероятность (произведение p входящих событий) и значение после мер. Сечения порядка 1 выделены красным. Перебор ограничен 300 сечениями — это рабочая настройка фрейма, о срабатывании ограничения он предупреждает. Последний блок — вклад базовых событий в риск, до 10 штук: доля суммы вероятностей сечений, в которые входит событие.
Вкладка «3. Заметки» — недели 3–4: обоснования и план мер
Три свободных списка: «Промежуточные события» (почему вентиль «И» или «ИЛИ»), «Базовые причины» (откуда оценка вероятности) и «Корректирующие действия» (мера — срок — владелец). На расчёт и итог они не влияют.
Вкладка «Визуализация» — неделя 2: проверка логики
Схема дерева: овал — «ИЛИ», прямоугольник — «И», круг — базовое событие с вероятностью или «?», если её нет. Красный круг — единичная точка отказа. Рисуется до семи уровней, длинные названия обрезаются.
Вкладка «Итоги» — неделя 4 и далее: действия и пересчёт
Итог проверяет условия по порядку и показывает первое сработавшее:
Нет вершинного события или у него нет названия — предложение его задать.
Узлов без родителя больше одного — предупреждение, что вершина у дерева одна.
Названных базовых событий меньше двух — совет разложить дерево до первопричин. Порог — рабочая настройка фрейма.
Есть вентиль без входов — предупреждение с его названием.
У базовых событий нет p — перечень до трёх таких событий.
Есть единичная точка отказа без меры — красный сигнал: добавить резервирование через «И» или снизить вероятность.
Задана допустимая вероятность, а вероятность после мер выше неё — предупреждение с событием наибольшего вклада и его процентом.
Иначе — подтверждение: сколько базовых событий и сечений и какова вероятность вершины до и после мер.
Под итогом — сводка: вершина, вентили, базовые события, сечения, единичные точки отказа, p вершины. Кнопка «Создать задачу» называет задачу в том же порядке, что и проверки итога: «Задать вершинное событие дерева отказов», «Связать узлы дерева отказов с одной вершиной», «Разложить вершинное событие до базовых событий», «Добавить входы вентилю: …», «Оценить вероятность базовых событий», «Устранить единичную точку отказа: …» (если у неё нет меры), «Снизить риск: …» по событию с наибольшим вкладом; если дерева ещё нет — «Построить дерево отказов». В описание задачи попадает текст итога.
Предел глубины дерева — 30 уровней: защита от зацикливания, рабочая настройка фрейма.
Чего фрейм не делает
Не учитывает общие причины. У узла один родитель, одноимённые узлы считаются разными событиями, а расчёт всегда предполагает независимость, поэтому при общем источнике отказа риск будет занижен. Не работает с интенсивностями отказов и временем — только с вероятностью за период. Вклад событий считает по вероятностям до мер. Меру засчитывает по наличию текста: единичная точка отказа с записанной мерой перестаёт давать красный сигнал, даже если вероятность «после меры» не снизилась. Списки заметок с деревом не связаны. Безымянные узлы не попадают в счётчики и проверки, но участвуют в расчёте. Если переключить вентиль с входами в «базовое», его ветвь останется на экране, но выпадет из расчёта.
Заполнили фрейм? Сохраните, чтобы не потерять
Книги и материалы по теме FTA
NUREG-0492 — «Fault Tree Handbook» (Комиссия по ядерному регулированию США, 1981) и версия для NASA — «Fault Tree Handbook with Aerospace Applications». Руководства по построению и расчёту деревьев отказов.
IEC 61025 — «Fault tree analysis (FTA)». Международный стандарт анализа дерева отказов.
SAE ARP4761 — «Guidelines and Methods for Conducting the Safety Assessment Process on Civil Airborne Systems and Equipment». Применение FTA в гражданской авиации.
Справочная статья «Fault tree analysis» (Wikipedia). История, вентили, наборы отказов, расчёты.