Вышла
Мурка 1.2.0. Появилась новая фича, по многочисленным просьбам недовольных пользователей
. В отличие от точных методов, некоторые эвристики, прежде всего WPHEUR не дают возможности повторить результат при следующем запуске. А зря так как иногда хочется получить то же самое, изменив некоторые несущественные для логики но важные для оформления параметры. Теперь проблема в значительной степени решена. Для этого правда пришлось потеснить другие параметры так как буквы английского алфавита, большие и маленькие, кончились
Аргумент -S ранее допускал два значения "Y" и "N". Первый включает консольный вывод, второй - отключает его. Теперь тип параметра сменен, это обычная маска. Для консольного вывода (без него трудно, согласитесь) надо указать -S VB. Собственно будет то же что раньше при -S Y. Далее, к этому же значению VB я подселил две новых опции RSR и RSW. RSW приказывает записать используемое значение Random Seed в текстовый файлик murka.rs чтобы им можно было воспользоваться потом, если надо повторить результат. RSR же заставляет прочитать это значение из файла и использовать не генеря нового. То есть рекомендуется постоянно передавать -S VB|RSW а когда надо повторить результат то -S VB|RSW|RSR. Не забудьте плиз потом убрать RSR, так как желательно использовать разнообразные случайные значения.
PS. Фича пока затрагивает только филогенетические построения использующие генератор псевдослучайных значений. Штейнеровских деревьев это не касается, они могут все равно не совпадать, но обязаны иметь одно и то же минимальное значение, на практике не важно какое именно дерево выбрано. В будущем я распространю действие RSR и на все штейнеровские вычисления. Дело в том что сейчас там используются дополнительные эффекты случайности основанные не на явной генерации случайных чисел а на манипуляциях с адресами объектов в памяти (через упорядочение набора итераторов). Когда я перепишу этот код, появится 100%-ая возможность дважды войти в одну и ту же реку