Feature #1830
open
[lang][core] Задание частоты запуска сценарных функций по отдельности
Added by Igor Melnichenko about 13 years ago.
Updated over 10 years ago.
Description
Возможность указания, насколько часто будет запускаться та или иная сценарная функция.
- Target version set to 1.0
Насколько я понимаю, указанное пожелание актуально только для случайного обходчика (cpptesk::ts::engine::rnd). Пока такой возможности нет.
Простой (но достаточно кривой) способ реализовать желаемое поведение - увеличение числа итераций в сценарных методах, которые нужно запускать чаще.
Как вариант мы можем реализовать задание распределения вероятностей через опции обходчика. Неудобство заключается в том, что обходчик не знает имен сценарных методов и оперирует с их номерами (0, 1 и т.д.), то есть задание вероятностей будет выглядеть примерно так:
--probability "0:90;1:10" // P{method_0}=0.9, P{method_1}=0.1
Такой вариант реализуется просто.
На самом деле, обходчик работает не с номерами сценарных методов, а с номерами итераций, что усложняет реализацию.
- Target version changed from 1.0 to 1.1
Хорошо бы уметь задавать не только статические вероятности, но и вероятности, зависимые от состояния (условия) (марковская цепь).
Самый простой способ, который можно реализовать сейчас, следующий
bool MyScenario::my_scenario_method(...)
{
CPPTESK_WITH_PROBABILITY(0.8)
{
...
}
CPPTESK_ELSE
{
...
}
}
- Subject changed from Задание частоты запуска сценарных функций по отдельности to [lang][core] Задание частоты запуска сценарных функций по отдельности
Also available in: Atom
PDF