exponenta event banner

Стохастические решатели

Когда использовать стохастические решатели

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

Образцовые предпосылки для симуляции со стохастическим решателем

Образцовые предпосылки включают:

  • Все реакции в модели должны иметь свой набор свойств KineticLaw к MassAction.

  • Если ваша модель содержит события, можно моделировать использование стохастического решателя ssa. Другие стохастические решатели не поддерживают события.

  • Ваша модель не должна содержать дозы. Никакие стохастические решатели не поддерживают дозы.

Кроме того, если вы выполняете человека или генеральную совокупность, соответствующую на модели, configset object которой задает стохастический решатель и опции, иметь в виду, что во время подходящего SimBiology® временно изменяется:

  • Свойство SolverType к решателю по умолчанию ode15s

  • Свойство SolverOptions к опциям в последний раз сконфигурировано для детерминированного решателя

Что происходит во время стохастической симуляции?

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

Совет

При симуляции модели с помощью стохастического решателя можно увеличить свойство LogDecimation configset object записать меньше точек данных и уменьшить время выполнения.

Стохастический алгоритм симуляции (SSA)

Химическое основное уравнение (CME) описывает динамику химической системы с точки зрения эволюции времени распределений вероятностей. Непосредственно решение для этого распределения непрактично для большинства реалистических проблем. Стохастический алгоритм симуляции (SSA) вместо этого эффективно генерирует отдельные симуляции, которые сопоставимы с CME путем симуляции каждой реакции с помощью ее функции склонности. Таким образом анализ нескольких стохастических симуляций, чтобы определить распределение вероятностей более эффективен, чем прямое решение CME.

Преимущество

  • Этот алгоритм точен.

Недостатки

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

  • Если количество молекул каких-либо реагентов огромно, может требоваться много времени, чтобы завершить симуляцию.

Явный Tau-прыгающий алгоритм

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

Преимущества

  • Этот алгоритм может быть порядками величины быстрее, чем SSA.

  • Можно использовать этот алгоритм для больших проблем (если проблема не численно жестка).

Недостатки

  • Этот алгоритм жертвует некоторой точностью за скорость.

  • Этот алгоритм не хорош для жестких моделей.

  • Необходимо задать ошибочный допуск так, чтобы получившиеся временные шаги имели порядок самого быстрого масштаба времени.

Неявный Tau-прыгающий алгоритм

Как явный 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.

Связанные примеры

Больше о