Приносим глубокие извинения за длительную задержку подготовки этого поста.
Сегодня мы публикуем анализ самообучающихся решений, отправленных на соревнование по программированию и вручить два специальных приза.
Английская версия этого поста находится по адресу GitHub .
Итак, 9 из присланных решений оказались самообучающимися.
Идея самообучения заключается в том, что, поскольку все слова выбираются из окончательного словаря, а не-слова генерируются случайным образом, любая строка, которая повторно представляется тестируемой программе, с большей вероятностью будет словом, чем не-словом.
При достаточно длительном тестировании большинство слов из словаря успеют повториться, тогда как для неслов случайные повторы встречаются гораздо реже.
Чтобы наблюдать за поведением самообучающихся решений, мы протестировали их на 1 000 000 блоков .
Проверить все решения на таком количестве блоков было бы нереально, но эти девять оказались достаточно быстрыми.
На графике ниже представлена зависимость процента правильных ответов от количества обработанных блоков.
Обратите внимание, что горизонтальный масштаб является логарифмическим.
Некоторым решениям при тестировании на очень большом количестве блоков не хватало памяти, поэтому их строки прерываются до достижения отметки в миллион блоков.
На следующем графике показан не совокупный процент правильных ответов (среднее за все время работы), а только за последние 10 000 блоков в каждой точке.
Здесь вы можете лучше увидеть, как ведет себя решение после определенного количества тренировок.
Ниже представлены графики частоты ложноотрицательных и ложноположительных результатов соответственно.
Здесь тоже учитывается поведение на последних 10 000 блоков, а не накопительно с начала работы.
Обратите внимание, что результаты некоторых решений начинают несколько ухудшаться при длительной тренировке.
Очевидно, это происходит потому, что некоторые неслова также повторяются случайным образом, и алгоритм принимает их за слова.
Последний график показывает, что ложноположительные результаты растут. На специальной странице на GitHub Подробные результаты исследования 1 000 000 блоков можно найти.
На основе нашего исследования мы решили присудить специальные призы 400 долларов США участники под псевдонимами рд.нвкз И ИСДев .
Их решения получили наивысшие баллы — 93,99% и 93,65% соответственно.
При этом их поведение при длительных тренировках не ухудшается, а у первых из них даже продолжает улучшаться.
Наши поздравления! Следите за блогом Hola! Будут новые соревнования.
Теги: #конкурс #конкурсы #конкурсы разработчиков #конкурс #конкурсы #конкурсы по программированию #JavaScript #Hola #веселая задача #веселые задачи #веселая задача #Веселые задачи #Алгоритмы #ищем таланты #нужны программисты #нужны разработчики #node.js #node .
js #классификация #классификатор #результат #результаты #результаты соревнований #спортивное программирование #Развлекательные задачи #JavaScript #Алгоритмы
-
Как Apple Делает Часы
19 Oct, 24