Стохастические алгоритмы симуляции предоставляют практический метод для симуляции реакций, которые являются стохастическими по своей природе. Модели с небольшим количеством молекул могут реалистично быть симулированы стохастическим образом, то есть, позволив результатам содержать элемент вероятности, в отличие от детерминированного решения.
Необходимые условия модели включают:
Все реакции в модели должны иметь свой KineticLaw
набор свойств к MassAction
.
Если ваша модель содержит события, можно симулировать использование стохастического ssa
решатель. Другие стохастические решатели не поддерживают события.
Ваша модель не должна содержать дозы. Никакие стохастические решатели не поддерживают дозы.
Кроме того, если вы выполняете индивидуума или население, соответствующее на модели чей Configset object
задает стохастический решатель и опции, иметь в виду это во время подходящего SimBiology® временно изменения:
SolverType
свойство к решателю по умолчанию ode15s
SolverOptions
свойство к опциям в последний раз сконфигурировано для детерминированного решателя
Во время стохастической симуляции модели программное обеспечение игнорирует любой уровень, присвоение или алгебраические правила если существующий в модели. В зависимости от модели стохастические симуляции могут потребовать большего количества времени вычисления, чем детерминированные симуляции.
Совет
При симуляции модели с помощью стохастического решателя можно увеличить LogDecimation
свойство configset object
записать меньше точек данных и уменьшить время выполнения.
Химическое основное уравнение (CME) описывает динамику химической системы в терминах эволюции времени вероятностных распределений. Непосредственно решение для этого распределения непрактично для большинства реалистических проблем. Стохастический алгоритм симуляции (SSA) вместо этого эффективно генерирует отдельные симуляции, которые сопоставимы с CME путем симуляции каждой реакции с помощью ее функции склонности. Таким образом анализ нескольких стохастических симуляций, чтобы определить вероятностное распределение более эффективен, чем прямое решение CME.
Преимущество
Этот алгоритм точен.
Недостатки
Поскольку этот алгоритм оценивает одну реакцию за один раз, это может быть слишком медленно для моделей с большим количеством реакций.
Если количество молекул каких-либо реагентов огромно, может требоваться много времени, чтобы завершить симуляцию.
Поскольку стохастический алгоритм симуляции может быть слишком медленным для многих практических проблем, этот алгоритм был спроектирован, чтобы ускорить симуляцию за счет некоторой точности. Алгоритм обрабатывает каждую реакцию, как являющуюся независимым от других. Это автоматически выбирает временной интервал, таким образом, что относительное изменение в функции склонности для каждой реакции меньше вашего ошибочного допуска. После выбора временного интервала алгоритм вычисляет число раз, каждая реакция происходит во время временного интервала и делает соответствующие изменения в концентрацию различных химических разновидностей включенными.
Преимущества
Этот алгоритм может быть порядками величины быстрее, чем SSA.
Можно использовать этот алгоритм для больших проблем (если проблема не численно жестка).
Недостатки
Этот алгоритм жертвует некоторой точностью за скорость.
Этот алгоритм не хорош для жестких моделей.
Необходимо задать ошибочный допуск так, чтобы получившиеся временные шаги имели порядок самого быстрого масштаба времени.
Как явный tau-прыгающий алгоритм, неявный tau-прыгающий алгоритм является также приближенным методом симуляции, спроектированной, чтобы ускорить симуляцию за счет некоторой точности. Это может решить численно жесткие проблемы лучше, чем явный tau-прыгающий алгоритм. Для детерминированных систем проблема, как говорят, численно жестка, если существуют “быстрые” и “медленные” масштабы времени, существующие в системе. Для таких проблем явный tau-прыгающий метод выполняет хорошо, только если он продолжает брать маленькие временные шаги, которые имеют порядок самого быстрого масштаба времени. Неявный tau-прыгающий метод может потенциально сделать намного большие шаги и все еще быть устойчивым. Алгоритм обрабатывает каждую реакцию, как являющуюся независимым от других. Это автоматически выбирает временной интервал, таким образом, что относительное изменение в функции склонности для каждой реакции меньше заданного пользователями ошибочного допуска. После выбора временного интервала алгоритм вычисляет число раз, каждая реакция происходит во время временного интервала и делает соответствующие изменения в концентрацию различных химических разновидностей включенными.
Преимущества
Этот алгоритм может быть намного быстрее, чем SSA. Это также обычно быстрее, чем явный tau-прыгающий алгоритм.
Можно использовать этот алгоритм для больших проблем и также для численно жестких проблем.
Общее количество делаемых шагов обычно меньше explicit-tau-leaping алгоритма.
Недостатки
Этот алгоритм жертвует некоторой точностью за скорость.
Существует более высокая вычислительная нагрузка для каждого шага по сравнению с явным tau-прыгающим алгоритмом. Это приводит к большему процессорному времени на шаг.
Этот метод часто ослабляет возмущения медленного продвижения коллектора к уменьшаемому отклонению состояния о среднем значении.
[1] Гибсон М.А., Брук J. (2000), “Точная стохастическая симуляция химических систем со многими разновидностями и многими каналами”, журнал физической химии, 105:1876–1899.
[2] Гиллеспи Д. (1977), “Точная стохастическая симуляция двойных химических реакций”, журнал физической химии, 81 (25): 2340–2361.
[3] Гиллеспи Д. (2000), “химическое уравнение Langevin”, журнал химической физики, 113 (1): 297–306.
[4] Гиллеспи Д. (2001), “Аппроксимированная ускоренная стохастическая симуляция химически реагирующих систем”, журнал химической физики, 115 (4):1716–1733.
[5] Гиллеспи Д., Пецолд Л. (2004), “Улучшенный выбор размера прыжка для ускоренной стохастической симуляции”, журнал химической физики, 119:8229–8234
[6] Рэзинэм М., Пецолд Л., Као И., Гиллеспи Д. (2003), “Жесткость в стохастических химически реагирующих системах: неявный Tau-прыгающий метод”, журнал химической физики, 119 (24):12784–12794.
[7] Moler, C. (2003), “Жесткость жестких дифференциальных уравнений является тонкой, трудной, и важной концепцией в числовом решении обыкновенных дифференциальных уравнений”, MATLAB News & Notes.