А можно пример сложного варианта, где js не вывозил уже? И не могли ли каким-то образом помочь округления и менее точные методы расчета, а то кажется, что 13% вероятность для большинства людей не сильно отличается от, скажем, 9 или 17%)
Я упёрся в этот потолок на мешке из 10 bless + 10 curse. Там уже если закинуть сценарные жетоны с доктором и, в теории морозы из Края, окончания процесса можно не ждать
Это был тупой перебор без DFS (поиск в глубину) и оптимизация бы и на JS, уверен, что-то бы дала
Ещё одна задачей была поддержка фанатских кампаний. Есть как граничный случай сценарий Strange Moons из фанатского Dark Matter, там скрижаль приводит к добру двух жетонов вместо одного. И в этот момент даже DFS без оптимизации взрывался
В общем, я решил не мелочить, учитывая что у приложения есть пользователи древнего Android 7 и сделать максимально возможные улучшения :)
Я пробовал также вариант неточных вычислений через метод Монте-Карло
Но он давал сильный разброс в результатах (около разницы в 10-20%). Для примерной точности ему желательно 10к выборок Я попробовал и получилось медленнее по работе, чем полный обход :(
Пробовал также BFS (поиск в ширину), но он был медленнее. В общем, у меня с этими вероятности получится полноценный НИОКР ради 5 чисел)
попробуйте в алгоритме просто обрезать пути с вероятностью < 0.0001 или < 0.001 и т.д. на всякий случай посчитайть кол-во таких обрезок. Мне кажется резульат будет билзок к тому что вы делаете с полным деревом, но расчеты в разы бытсрее.
Привет, спасибо за статью!
А можно пример сложного варианта, где js не вывозил уже? И не могли ли каким-то образом помочь округления и менее точные методы расчета, а то кажется, что 13% вероятность для большинства людей не сильно отличается от, скажем, 9 или 17%)
Я упёрся в этот потолок на мешке из 10 bless + 10 curse. Там уже если закинуть сценарные жетоны с доктором и, в теории морозы из Края, окончания процесса можно не ждать
Это был тупой перебор без DFS (поиск в глубину) и оптимизация бы и на JS, уверен, что-то бы дала
Ещё одна задачей была поддержка фанатских кампаний. Есть как граничный случай сценарий Strange Moons из фанатского Dark Matter, там скрижаль приводит к добру двух жетонов вместо одного. И в этот момент даже DFS без оптимизации взрывался
В общем, я решил не мелочить, учитывая что у приложения есть пользователи древнего Android 7 и сделать максимально возможные улучшения :)
Не с доктором, а с добором:)
Я пробовал также вариант неточных вычислений через метод Монте-Карло
Но он давал сильный разброс в результатах (около разницы в 10-20%). Для примерной точности ему желательно 10к выборок
Я попробовал и получилось медленнее по работе, чем полный обход :(
Пробовал также BFS (поиск в ширину), но он был медленнее. В общем, у меня с этими вероятности получится полноценный НИОКР ради 5 чисел)
попробуйте в алгоритме просто обрезать пути с вероятностью < 0.0001 или < 0.001 и т.д. на всякий случай посчитайть кол-во таких обрезок. Мне кажется резульат будет билзок к тому что вы делаете с полным деревом, но расчеты в разы бытсрее.