Chat:Ru/2021-02-17
Uljahn: самостоятельно, используя гугл
Uljahn: ожидается, что кодить ты уже умеешь, а пришёл практиковаться
Uljahn: https://www.codingame.com/playgrounds/55547/how-to-get-started-on-codingame
tutubalin: вот здесь есть разные статьи, но они обычно или на английском, или на французском https://www.codingame.com/learn
tutubalin: ну и каждая статья просто про какую-то отдельную тему, никак друг с другом не связаны и чёткого порядка не имеют
magaiti: https://www.codingame.com/training/hard/sokoban
magaiti: никто на плюсах не решил?
YurkovAS: задача похожа на оптимизации, решить через га, са за первые 10сек
magaiti: бфсом решается
magaiti: за первые 10 сек, да
TheCrucial: вот решается бфсом, а что с ящиками при бфсе делать? или нода это не только позиция игрока а еще и все позиции ящиков?
magaiti: конечно
TheCrucial: так нод же тогда оочень много, не?
735487: а-старом наверное еще можно. а нод по идее не так много. из каждого стейта насколько я понимаю всего 4 новых максимум
TheCrucial: n = количество клеток k - ящиков количество нод n**(k+1)
735487: TheCrucial: тебе же прямо совсем все не нужны. ты от стейта текущего двигаешься. а там максимум 4 трансформации если я правильно понимаю
TheCrucial: да, вроде так, но наткнешься ли на решение за адекватное количество мувов?
YurkovAS: там еще ограничение в 400 ходов интересная задачка - сразу и не получилось сделать
735487: я не знаю откуда я это взял но есть четкая уверенность что астар ее решит
YurkovAS: как?
YurkovAS: жадный алгоритм? двигаем ближайший ящик на место?
TheCrucial: двигаемся в точку где сумма путей ящиков до клеток минимальные :)
735487: YurkovAS: да какой нибудь жадной эвристики думаю хватит
TheCrucial: а вы планируете получить ответ на первый ход?
Uljahn: а ты предлагаешь ID использовать и PV-ходы выводить (если я правильно понимаю термин)? тогда придётся оценку крафтить же
Uljahn: или бимсёрч вообще
magaiti: :shrug:
magaiti: прикольная игрушка, но в реальной игре карты намного сложнее
magaiti: если 10 секунд не хватает, наверное можно ходить туда-сюда каждые 50 мс, тянуть время
magaiti: но я так не заморачивался
magaiti: https://www.codingame.com/replay/529185249
magaiti: ну как, уже эвристику для астара накидали? :grin:
magaiti: https://www.codingame.com/replay/529186171
Uljahn: я ещё пятнашки не решил :unamused:
magaiti: я пятнашки астаром решал
Uljahn: в чём и соль
Uljahn: https://arxiv.org/abs/2102.08035 This paper describes the design and development of a prototype technique for artificial intelligence based on the fusion of genetic algorithm, neural network and fuzzy logic.
Uljahn: ещё а-стар добавить и можно новую статью запилить
Uljahn: Automaton2000: накидай-ка оценочную
Automaton2000: ну если у тебя не было
Mrflaxe: Ребят, кто может подсказать, можно ли как-то одним методом отрицательное число перевести в положительное? Просто поменять знак
Mrflaxe: Язык Java
Uljahn: Math.abs?
Uljahn: или типа того
eXCoreX: -x
Uljahn: -x переведёт положительное в отрицательное
Uljahn: правда, про это условие сказано не было
eXCoreX: "Просто поменять знак"
Mrflaxe: Благодарю
NirvanaFlame1: за абс или минус? )
eXCoreX: ахах
Mrflaxe: Минус
Mrflaxe: Зачем метод дёргать
eXCoreX: лол, я вообще то как троллинг написал, но ладно
Uljahn: кек
Mrflaxe: Серьёзно?
eXCoreX: А. так это если что разные задачи
eXCoreX: -x даст противоположный знак абс даст всегда >= 0
Uljahn: именно
Mrflaxe: Хорошо
NirvanaFlame1: public static int abs(int a) {
return (a < 0) ? -a : a; }
Mrflaxe: А вы тут уже давно?
eXCoreX: Да, неделю
Mrflaxe: Я только два дня
Mrflaxe: Нравится тут?
eXCoreX: Нормас, кроме лагов сервака
Mrflaxe: Да, я тоже заметил некоторые проблемы
Uljahn: лаги недавно появились, раньше всё было норм
Uljahn: я тут лет 6 уже сижу, нравится очень
Mrflaxe: Может что-нибудь посоветуешь что тебе тут больше всего приглянулось?)
Mrflaxe: Я пока в Кодеров Карибского моря залипаю. Затягивает
eXCoreX: самое полезное тут скорее всего обычные задачи
Mrflaxe: Это которые? Я пока в навигации не до конца разобрался
Uljahn: пазлы, наверное
eXCoreX: Activities -> Practice
tutubalin: обычные задачи можно и на других сайтах порешать. тут основная фишка - это мультиплеер
Uljahn: мне ещё соло-оптимизации нравятся
tutubalin: ну там хардкодинг решает
Imdone: Всем привте
Imdone: может кто подсказать алгоритм:
Imdone: нужно найти число, сумма разниц которого со списком будет минимальна
Imdone: [-3, 2, -4] -> -3
Imdone: [0, 2] -> 1
eXCoreX: алгоритм "среднее арифметическое"
tutubalin: +1
eXCoreX: и там глянуть куда надо округлить
Imdone: если просто среднее взять, то не верно например для [-3, 2, -4]
eXCoreX: -3+2-4=-5/3 = -2.6666 -> -3
eXCoreX: округлять кароче по правилам
tutubalin: ну вообще-то -5/3 более правильный ответ, чем -3
Imdone: число должно быть целое забыл упомянуть условие
tutubalin: тогда округляй
Imdone: -5/3 не будет же -2.6666
Imdone: будет -1.(6)
eXCoreX: ну почти
tutubalin: -2.(6)
tutubalin: кстати, знаете, что 0.(9) == 1?
eXCoreX: а лол, рили -1.666
Imdone: есть кейзы
Imdone: когда для этого числа тебе придется смещаться не на одно или два ближайших значения mean
Imdone: не могу сейчас написать, но они есть
Imdone: )
Imdone: собственно вопрос либо как найти это число по другому
Imdone: либо как оптимально найти это смещение
eXCoreX: Да сорян, тут алго не среднее арифметическое, тут кароче медиана
Uljahn: или RMS
tutubalin: а, ну да. надо чтоб слева и справа от него было одинаковое количество чисел из списка
eXCoreX: если под RMS - root mean square, то как знак?
tutubalin: если нечётное количество элементов, берём медиану если чётное, берём среднее арифметическое двух средних элементов
Uljahn: не RMS, а просто через abs
Imdone: всем спасибо, медиана зашла
Serega1978: Ребята начал изучать python3 мне куда здесь?
eXCoreX: practice
Serega1978: Спасибо!
eXCoreX: опять лаги?
MadKnight: Uljahn
MadKnight: го сюда
MadKnight: у меня интересная тема