Новогодняя игрушка для технарей. Enjoy!
Простенький решатель марковских цепей (стационарное решение) для простеньких моделей надежности.
По заданному количеству состояний, матрице интенсивностей переходов и булевому вектору, указываю-
щему на работоспособные состояния) рассчитывает стационарные вероятности всех состояний системы,
стационарный коэффициент готовности, среднее время наработки на отказ, среднее время восстановле-
ния, а также среднее время наработки до первого отказа (причем никаких диффур, ноухау Келлермана).
Особенность: хотя интенсивности, вероятности и наработки вводятся и выводятся в виде вещественных
чисел, но вся внутренняя обработка производится в рациональных числах на базе сверхбольших целых,
это позволяет очень аккуратно решать модели, приводящие к плохообусловленным системам уравнений.
P.S. Сама по себе программа расчета (с использованием обычной вещественной float-80 обработки) была
написана давно, но особые случаи, приводящие к плохообусловленным СЛАУ (их не так много, и все же),
дающие в результате решения неверные или даже отрицательные вероятности дико раздражали, и приш-
лось погрузиться в вычислительную математику и арифметику сверхбольших целых, и победить проблему.
|