Комментарии 9
Сразу чувствуется научный подход и опыт подачи материала для коллег, занимающихся наукой. Отличительная черта такого подхода — отсутствие воды в тексте.
3 минуты против 16 часов — круто. Я, вообще, заметил, что чем более базовую технологию используешь, тем быстрее всё работает, так как появляется возможность использования собственных алгоритмов, оптимизированных под конкретные телодвижения.
На всякий случай напишу, что 2 программы - сервер и клиент хранятся в GitHub (AndrewMakarovsky/nn_mathserver и AndrewMakarovsky/nn_mathclient), посмотреть их можно. Но требуется небольшая чистка кода, окончательное тестирование и более подробные комментарии.
Сделано для Linux, компилируются с помощью make.
Сегодня-завтра постараюсь всё доработать.
"для всех i от n − 1 до 1 выполнить"
Здравствуйте! В этой фразе все правильно?
Правильно. Но случайное число мне пришлось получать таким образом:
double d = ((double)rand()) / RAND_MAX;
int r = (int)(d * (i + 1));
r = (r == i + 1) ? i : r;
Иначе случайные числа не будут равновероятны. Можно проще:
int r = rand() % (i + 1);
Но с действительными числами для меня привычнее. В Википедии было написано, что в результате ошибок может получиться алгоритм Сандры Саттоло, в котором диапазон случайных чисел на 1 меньше, это у меня первоначально получился такой алгоритм, поэтому его пришлось дорабатывать. Скорее всего, Сандра Саттоло именно такого рода алгоритм и получила, какой написан выше, а по поводу его ошибочности в Википедии написано неправильно. Но для всех i от n − 1 до 1 - тоже правильно, просто о методах получения случайных чисел в диапазоне от 0 до i ничего не написано. Они должны быть равновероятны.
Версия 1.0 готова, закачана в GitHub (AndrewMakarovsky/nn_mathserver и AndrewMakarovsky/nn_mathclient).
Работа проверялась в Debian на моём компьютере и Ubuntu в firstvds, но в Linux кодировка русских букв другая, добавлено описание функций клиента на английском языке. Теперь буду все комментарии переводить на английский язык и писать новые комментарии.
Ищу работу, резюме https://career.habr.com/a-makarovskiy.
Метод Монте-Карло в алгоритме обратного распространения ошибок с параллельными вычислениями