Chat:Ru/2021-03-26
vrabosh: так и не простые на 2 и 3 не делятся многие?
Uljahn: решето Эратосфена пилите?
vrabosh: я это CGFUNGE PRIME
Uljahn: я про алгоритм определения простого числа
magaiti: пилят решето на местном диалекте брейнфака
magaiti: запилил таблицы транспозиций для мктс
magaiti: в клоббере
magaiti: ну правда польза пока неочевидна
magaiti: хотя стал у топа чаще выигрывать
vrabosh: я вообще хз что делать. сам придумал чтото но оно длиное
vrabosh: 60k взял, ну максимум со своим алгоритмом я до 55к дойти смогу.. надо другое решение искать.
vrabosh: либо отложить на потом. когда в математики стану умнее и читать уже конкретно по тематики простых чисел.
vrabosh: а по сути так процессор и работает как в этой задачи программированить этот алгоритм? идет работа со стеком восновном?
MadKnight: vrabosh ты о какой задаче?
vrabosh: CGFunge Prime
magaiti: а зачем она тебе? решай что-нибудь попроще
Uljahn: может быть интересно попробовать свои силы, обломать зубки, потом через годик вернуться и зарешать
Uljahn: человек - дитя препятствий, Automaton2000
Automaton2000: у меня один и тот же код
vrabosh: смотрю сейчас, что есть вообще из задачь.. потом когда изучаю математику и другое, вспоминаю и понимаю, для чего это нужно.
Uljahn: угу, теория без практики мертва
vrabosh: ну стараюсь до максимума своего нарешать сейчас и если есть понятное мне другие решения, которые подскажут. то применю.
vrabosh: а пока я на 8 классе алгебры изучаю)
wlesavo: блин пропустил чет там марчете писал, а логов еще не подвезли
735487: wlesavo: вот держи что я в своих нарыл
735487: http://chat.codingame.com/pastebin/ca893521-7ae2-462d-be6a-f2018990c70c
735487: я правда не вчитывался оно или нет
wlesavo: amurushkin о, спасибо
YurkovAS: задача типа: написать на асм-е детектор простых чисел. интересно
YurkovAS: magaiti что за таблицы транспозиций? это для определения следующих ходов из тек состояния?
magaiti: это когда разные ходы ведут в одну позицию
magaiti: для минимакса можно хранить уже вычисленную оценку, для мктс можно тоже ченить прдумать
YurkovAS: а тут похоже их нет?
magaiti: есть
YurkovAS: для мктс-а же дерево переиспользовать
YurkovAS: + солвер
magaiti: солвер не делал пока
magaiti: потому и не могу выше 9-го запрыгнуть, видимо
YurkovAS: а ты сделал мега быстрое определение кол-во след ходов и быстрое применение любого рандомного?
magaiti: ну через pdep и pext
magaiti: а любого рандомного хз как
magaiti: как ты определяешь что у тебя равноемерное распределение для рандомного хода
735487: в том то и дело что никак. но зато быстро. смит говорит у него лучше если делать честный рандом. у меня наоборот. выигранная скорость с лихвой окупает честность рандома возможных ходов
YurkovAS: без pext, только pdep + сдвигами
magaiti: да, пдеп и сдвиги
YurkovAS: там смитст в чате скидывал эту функцию, примерно 8-11 марта проде дублировал
wlesavo: чето не поню, а рекурс раньше был в топе крестиков?
YurkovAS: а ну вот
YurkovAS: а сколько у тебя роллаутов на 2-ом ходу?
magaiti: 20r
magaiti: к
YurkovAS: рекурс в крестиках запили NN и теперь в топ1-2
wlesavo: офигеть
wlesavo: я пропустил чето это
YurkovAS: а, ну вот, а можно увеличить до 100к
wlesavo: он рассказывал что-то?
wlesavo: пойду в логах поищу
magaiti: и как увеличить до 100к? быстрыми роллаутами?
YurkovAS: это надо при expand запускать рандомное доигрываение сразу для всех новых детей
YurkovAS: а не для одного
YurkovAS: в этой игре оно дает положительный буст. в крестиках например играет хуже
magaiti: хм
YurkovAS: а солвер особо не поможет походу, т.к. первые решения появляются на 25-35 ходу
wlesavo: code jam кстати начинается сегодня вроде
Alex.swift: чеерез 49 минут
magaiti: хз, пока не получается экспанд всех, то есть получается, но не дает прироста
YurkovAS: получается 100-110к роллаутов на 2-м ходу?
magaiti: как ты считаешь роллауты?
magaiti: нет, не получается. у меня нет быстрого рандомного хода
YurkovAS: кол-во рандомных игр
YurkovAS: ну фаст ранд есть?
magaiti: фастранд допустим
YurkovAS: всяких специфичных для игры бонусов и штрафов у меня нет
YurkovAS: остается только скорость или какие-то параметры: константа и рандомный сид
vrabosh: https://escape.codingame.com/?invitation=Uoy-TG8-R8n-gtL
vrabosh: давно это они придумали? заходите по моему инвайту плз)
YurkovAS: удачно ресабмитнулся. хотя до этого было печальнее, раз 5 пытался, т.к. топ6 почти равны
vrabosh: кто нить уже проходил эскэйп этот ? оно будет развиваться, рейтинги итд? или это просто один раз мисси пройти и забыть?
tutubalin: я всё пытаюсь коллег заманить, но пока не выходит
tutubalin: vrabosh могу поделиться ещё идейками по поводу CGFunge
tutubalin: 1. делать вывод через цикл - это медленно. гораздо быстрее поставить CCCCCCC в строчку
tutubalin: 2. топовые решения - это хардкод
vrabosh: вывод я и делаю так "текст"ссссс
vrabosh: у меня решение долгое поиска простых чисел или не простых.
vrabosh: я перебором от 3 и до 97 иду..
vrabosh: если в питон перевести то такой алгоритм next(False for i in range(3, 100, 2) if i%i == 0]
vrabosh: if nums%i == 0 так точнее
YurkovAS: тут еще писали про 6n+1, 6n-1, т.е. можно сначала проверить и только потом делать этот цикл
MadKnight: кто тут с андроид студио работал?
vrabosh: False if num%2 == 0 else next((False for i in range(3,100,3) if num%i == 0 and num//i > i), True)
vrabosh: вот пральная функция.. как я делаю
vrabosh: блин всеравно опечатываюсь. ну суть думаю поняли
vrabosh: YurkovAS а как с 6n+-1 поверять?
YurkovAS: т.е. все простые числа кроме 2 и 3 подходят по маске 6n-1 или 6n+1
YurkovAS: остаток от деления на 6 будет 1 или 5
vrabosh: это как подходят по максе
YurkovAS: ну вот так :)
vrabosh: понял
YurkovAS: если подходит, тогда запускаешь свой тот цикл, т.к. проверки по маске недостаточно
vrabosh: мне кажется она на все цийры выдает 1 и 5
vrabosh: [num for num in range(4, 100) if (6*num+1)%6 == 1 and (6*num-1)%6 == 5]
vrabosh: так? он все числа показывает
YurkovAS: num % 6
vrabosh: реально чтото не понимаю..
vrabosh: [num for num in range(4, 100) if (num%6+1) in (1,5) or (num%6-1) in (1,5)] вот такое пробу. и по разному
YurkovAS: http://chat.codingame.com/pastebin/11438202-87a2-4dc1-b31e-8eccc1869f25
vrabosh: так просто и вроде работает)
vrabosh: хотя мне кажется то на то и выйдет..
tutubalin: num > 4 and num%6 in (1,5)
tutubalin: это не 100% проверка на простые, понятное дело. но это быстрая проверка на делимость на 2 и 3. одном делением проверяешь сразу оба делителя
tutubalin: точнее, вот так правильнее будет: num in (2,3) or num%6 in (1,5)
tutubalin: vrabosh https://www.youtube.com/watch?v=-qH4RlHZAp4
vrabosh: у меня 2 сразу проверяется, там вообще очень коротко, ну и потом с 3 начинается круг, неужел вверхний вариант будет меньше чем круг мой?
tutubalin: ну если честно, не знаю, даст ли на CGFunge такой уж большой выигрыш
tutubalin: но просто интересное свойство простых чисел, которое стоит иметь в виду
tutubalin: но вообще, к сожалению, чтобы выйти в топы, нужно хардкодить. где-то на гитхабе нашёл тесты и затачивал решение под них
vrabosh: я так и понял. без хардкора там наверно гдето 20к получается..
vrabosh: но надо хотябы на 20-30к мне сделать без хардкора.
vrabosh: чтото не помогла эта штука с (n*n-1)%24
tutubalin: да не. я этот видос запостил потому что там про n%6 говорится
tutubalin: ты спрашивал, откуда это взялось, а там хорошо объясняется
tutubalin: а n*n%24 - это уже следствие. просто прикольный факт, от которого мало пользы