All streams
Search
Write a publication
Pull to refresh
10
0
Send message
Так какой он, базовый алгоритм? Почему никто не делится идеями? Все боятся раскрыть тайну своего алгоритма до предварительных результатов )))
Не надо ))
Я уже устал думать. За лишние две недели все равно ничего не улучшил, зато мозг поизносился.

А еще будут предварительные результаты? Или теперь уже только окончательное тестирование?

Не такая уж и простая. И еще далеко не все кто участвует отправил свое решение. Например, я.
Обучать свой алгоритм можно же на любом языке. Это как было с конкурсом про словарь. Там кода на JS минимум, а основой объем занимали коэффициенты обученной модели. Я вот для этой задачи думаю обучать алгоритм на C#, а потом просто перетащить модель на JS.
У меня почему-то еверноут не зашел. Несколько раз пытался там вести заметки с кодом. В итоге, чтобы найти заметку нужно: 1. открыть эверноут, 2. вспомнить логин\пароль и ввести, 3. вспомнить куда поместил запись и найти ее, 4. понять, что это уже устарело или не совсем подходит под текущую задачу. 5. открыть поисковить, 6. ввести запрос, 7. найти что нужно. Поэтому сейчас пользуюсь только последними 3-мя пунктами.
Для каких-то записей не по работе просто пользуюсь обычной файловой системой: все по файликам и папочкам разложено. В эверноуте какая-то помойка скопилась, не понимаю, как им пользоваться.
Идея хорошая, но не новая.
Вот пример реализации в гриде: swimlane.github.io/ngx-datatable/#client-sorting
Побольше бы таких готовых решений.
Конкурс отличный! Спасибо!
Хотелось бы еще «живой статистики», чтобы отправлять решения и видеть результаты сразу (или в течение часа, например).
Это нормальное бурчание ) Полагаю, что многих тут беспокоят пропуски хода и непредсказуемое время на ход.
Мысль была, что дело еще может быть в сборщике мусора, которому тоже нужно процессорное время.
Я изначально потратил кучу времени на то, чтобы предусмотреть пропуски — холодный старт, проверка времени на ход, проверка времени на каждой ветке при поиске в глубину, расчет хода на случай его пропуска. Если время хода вышло, то возвращаю не лучший ход, а ход с учетом пропуска.
Но в конце решил, что это борьба с ветряными мельницами и все закомментировал. Оставил только сравнение моего мира с реальным для подгонки его к реальному в случае пропусков.
Судя по результатам, успешно прошел только 5 уровней, получив 41 место. Хотя сам тестировал на амазоновском сервере, аналогичном заявленному в условиях, но одноядерном, и результаты должны быть лучше. Посмотрим, что будет после перетестирования.
Имел ввиду прием про посещение каждой клетки не более двух раз. А мир я сделал массивом битовых состояний. Копирование делается почти мгновенно. Выделенные массивы храню в собственном кэше для переиспользования, т.ч. их выделение тоже мгновенно и сборщик мусора лишний раз не напрягать. А откат в прежнее состояние в этом случае вообще не требуется.
Программисту всегда одного дня не хватает ))
«Ничего не происходило» — это лишь догадка. Наверняка многие как и я просто не выкладывали решение до последнего дня. Напишите тут хотя бы сколько всего решений прислано.
Ох! А я даже не задумался о таком приеме. Сейчас попробовал, удалось увеличить глубину с 7 до 11. Печально ((
Окончательное число участников еще не озвучивалось. Сам тянул до последнего дня. И думаю, что не я один такой.
На 9 ходов — это полный перебор? Или с какой-то эвристикой?
У меня полный перебор получался на 6 ходов. Но это уже с риском пропустить ход. Полный перебор — это по 5 вариантов хода на каждом шаге — влево/вправо/вверх/вниз/стоять. Для глубины 6 уже получается 5+5^2+5^3+5^4+5^5+5^6=19530 узлов. Реально же получается меньше, так многие ходы ведут к смерти и эти ветки отсекаются, и много тупиков. Реально где-то до 5000. При охоте за бабочкой сделал глубину 7, но не совсем полный перебор. Перебирает уже до 10000 вариантов. И на каждом мне нужно было сделать копию мира и обновить ее.
Так как там 9 ходов-то получилось? ))
Как! Как вы набираете столько очков? Как убиваете всех бабочек?
Они же написали, что закрывают API «для сторонних структур». То есть, оно есть, они его поддерживают, но пользоваться предоставят только «официальному» приложению.
Точнее заменить while на if. Спасибо, сразу не сообразил.
Бонус так решил:
 static class A
 {
     static Random r = new Random();
     static int c = 0;
     public static int rand3()
     {
         c = (c + 1) % 3;
         while (r.Next(2) == 0)
             c++;
         return c % 3;
     }
 }

Проверка:
> Enumerable.Range(0, 10000).Select(_ => A.rand3()).GroupBy(_ => _).Select(g => g.Count()).ToArray()
int[3] { 3365, 3300, 3335 }
Извините дилетанта за глупый вопрос по первому пункту. Я правильно понимаю, что преобразование поступательного движения поршней во вращательное и потом обратно в поступательное на крылья нужно для того, чтобы была возможность использовать редукторы?

Information

Rating
Does not participate
Location
Россия
Registered
Activity