Chat:Ru/2020-04-10
miklla: в C++ для переменных x,y типа uint8_t вызов std::min(x, y +(uint8_t)1) выдаёт ошибку, что шаблон типа min(uint8_t&, int) не найден, а для std::min(x, (uint8_t)(y +1)) всё работает, как так-то
miklla: и со static_cast всё аналогично
miklla: где он там int нашёл
miklla: я так понял, что механизм шаблонов воспринимает выражение uint8_t + uint8_t как int, wtf
StepanSmirnov: я думаю operator+(uint8_t, uint8_t) почему-то возвращает int
amurushkin: может озаботились излишне чтобы переполнения не было?
amurushkin: я в раике помню тоже что то воевал с функцией max в итоге сделал функцию mymax )))
StepanSmirnov: сигнатура у него T operator+(const T &a, const T2 &b); так что однозначно вызывается оператор для инта
miklla: но у меня T = T2
miklla: и тип довольно базовый
StepanSmirnov: T operator+(const T &a, const T2 &b); //false
StepanSmirnov: не то скопировал(
StepanSmirnov: uint8_t a,b;
qDebug()<<"test"; qDebug()<<(sizeof(a+b) == sizeof (a));//false
StepanSmirnov: то есть в приоритете оператор для инта и , если можно привести аргументы к инту, то T=int
StepanSmirnov: вот доки https://en.cppreference.com/w/cpp/language/implicit_conversion#Integral_promotion
StepanSmirnov: "arithmetic operators do not accept types smaller than int as arguments"
NightLuna: когда лега откроется?
metahom: сегодня, часов в 7
NightLuna: спасибо
metahom: похоже правда мины решают
BorisZ: в хорошем контесте не должно что-то одно решать
BorisZ: надо чтоб много разных аспектов было, кто больше учел и лучше запилил тот и победил
metahom: ну да. без торпед тоже никуда ))
metahom: ну и сайленс тоже пригодится
BorisZ: может моего бота сделают боссом, я как раз на границе 10% сейчас - было бы прикольно )
metahom: делай пасхалку
metahom: типа если противник в сообщении пишет какое-то слово ты кидаешь таймаут
BorisZ: страшно сабмитить - можно мест на 20 ниже оказаться легко (
BorisZ: а сейчас может пролезу если звезды сойдутся
metahom: мне кажется человек 10 пройдет
Uljahn: мне тоже
BorisZ: тогда совсем грустно конечно (
metahom: еще 9 дней впереди. если босса слабее сделать в легенде проходной двор будет
Uljahn: угу
Uljahn: 9+ дней - это как обычный контест
BorisZ: я думаю что 10% всеж возмут от голда
BorisZ: брать по количесву голов как-то не эстетично выглядит, а процент - научно )
Uljahn: так это лега, им надо, чтобы к концу около 100 было или меньше
Uljahn: там же доп. матчи будут и всё такое
metahom: скоро узнаем
metahom: похоже прям скоро
inoryy: всегда было топ10-15
inoryy: не по %
inoryy: я думаю нагатвин будет
dabino: только бы не chucknorris
inoryy: апд: думаю бластерпорд будет
metahom: есть лега. 10 чел
dabino: судя по имени босса - назначили chucknorris
wlesavo: хехе, я босс
dabino: а, точно, python3
metahom: а ты сделал пасхалку?
wlesavo: ну он в конце принтит fatality
inoryy: рофл
inoryy: забавно что chuck в имени босса
wlesavo: ну во всяком случае просочился в легу, план минимум выполнен
BorisZ: ну блин и правда 10 человек
inoryy: ага, кто бы мог подумать :smirk:
inoryy: wlesavo давай колись как тебя победить
amurushkin: если реально wlesavo босс то это пиздос конечно. напрягаться прийдется знатно
BorisZ: ладно, хоть теперь есть стимул дальше все пилить, с боссом цель ясна )
inoryy: ну кто еще топ10 с питоном
amurushkin: я пилил фичи как у него. нихера не получилось по прибавке )))
wlesavo: блин я не знаю как меня душить, впринципе у меня нет нулевых винрейтов сейчас в реране, но и положительных тоже
Valdemar: ну у меня против боса не 0 винрейт, шансы есть
amurushkin: реально фаталити принтит :)
Valdemar: надо объезд мин сделать
inoryy: забавно что еще по сути столько же времени как обычное соревнование
wlesavo: я на сабмитах иногда отлетал от рейтингов 100-200
wlesavo: но забавно, увековечился зато
metahom: надеялся за выхи выйти в легу...
735487: немного подпушили. подождать что ли ))
MadKnight: народ
MadKnight: кто тут решил TAN ?
MadKnight: https://www.codingame.com/ide/puzzle/tan-network
MadKnight: 05 работает?)
735487: MadKnight: пили контест
MadKnight: да это не я пазл этот пилю
MadKnight: меня спрашивают
inoryy: а ты контест пили
MadKnight: inoryy протести 05
Alex.swift: уу, все. Не успел до леги(
MadKnight: rip
inoryy: да что не успел у тебя еще неделя есть
735487: wlesavo: в следующий раз перед тем как стать боссом фиксируй сид для рандома ))))))
Alex.swift: а это он? Месседжей нет же
735487: есть в конце фаталити пишет.
wlesavo: amurushkin да я сабмитнул чето без сида, закоменченный остался, ктож знал, но на самом деле там проблема в том что даже так не был бы детерминированным
wlesavo: пути когда оцениваю в случайный момент останавливаюсь
wlesavo: и воспроизводимость страдает
Valdemar: wlesavo это ужасно :.
Valdemar: wlesavo это ужасно :/
Valdemar: почему фиксированного сида не хватит? Если не завязываться на время, то бот всегда будет детерменированный
wlesavo: обрывание по времени стоит
Valdemar: тогда да, мне казалось такие вещи только на плюсах имеют смысл
Valdemar: там где питон упрется в лимит, плюсы могут отработать за пару миллисекунд
metahom: блин, недетерминированный босс (((
Uljahn: я бы не стал называть numpy питоном, там под капотом те же плюсы
BorisZ: в питоне тоже под капотом си
BorisZ: ну и вобще у всех глубоко под капотом команды процессора, так что все в равных условиях )
BorisZ: недетерминированные боссы постоянно были, на последних контестах точно
Uljahn: +
Uljahn: но в этот раз хотя бы питон, так что нечего жаловаться)
BorisZ: боссом же берут бота игрока, а может там все недетерминированные в нужном диапазоне
BorisZ: а заранее не напишешь босса то
NightLuna: кто стал боссом?
wlesavo: я
Uljahn: можно взять более сильного топового босса и поломать ему чуток коэффициенты
NightLuna: удача
wlesavo: ладно, надо чето менять, ато ща придут из золота и будут меня ректить все
Uljahn: наконец-то mail.ru занялось UX своих контестов, редизайнить начали https://cups.mail.ru/
735487: они не только редизайнят они вообще в корне меняют все. хотят конкуренцию CG и каглу
735487: сегодня в телеграмме обещали что даже пользовательские контесты будут
Uljahn: угу, надеюсь ингриш прикрутят тоже
metahom: им бы оставить старые контесты работать на постоянку. и общий рейтинг какой
735487: ну вроде старые контесты уже доступны. правда там почему то была дата окончания
inoryy: симпотичненько
BorisZ: крутишь, крутишь разные рукоятки как бешеная обезьяна в надежде на чудо
BorisZ: четыре часа коту под хвост (
wlesavo: а я чето покрутил и хоть со дна поднялся, ато грустно было с отрицательными винрейтами против вообще всех
Alex.swift: знакомая история. Что-то после открытия леги народ поднажал. За вечер сильно просадили
wlesavo: мотивация
wlesavo: но я кажется придумал почти как организовать контроль территории
wlesavo: мож сработает
Alex.swift: а что вы подразумеваете под контролем? Правильную расстановку мин + уход от враждебных?
dabino: biconnected components?
wlesavo: ну я имею в виду максимизацию территории покрытой твоими минами
wlesavo: в смысле долговременного планирования
YurkovAS: поиск пути или оценка состояния\поля - озвучивали хорошие алгоритмы?
BorisZ: если знаешь куда идти то путь найти не проблема )
wlesavo: я генерирую случайные пути и оцениваю на них урон с дискаунтом
YurkovAS: у меня так: делаю ход(ы) - потом оценка. в ней кол-во ходов на 1 клетку через bfs из тек состояния. примерение урона противником к себе.
Alex.swift: а сколько путей за ход успевает сгенериться?
735487: 3 очка блин аж разница с боссом. дофига
wlesavo: Alex.swift 50-100 за 5 мс
Alex.swift: а пути полностью рандомны или тоже по какому-то принципу?
735487: YurkovAS: а зачем ходы на 1 клетку черзе bfs искать?
wlesavo: ghjcnj hfyljv
wlesavo: просто рандом
YurkovAS: wlesavo генерация случайных путей, будет лучше работать, чем я выше написал? я не понимаю что это такое...
amurushkin: YurkovAS ты немного не ясно описал что конкретно ты делаешь
BorisZ: YurkovAS если у тебя уже построена карта урона, то просто генеришь случайные пути, сколько то раз и ли по времени, выбираешь лучший
Alex.swift: понял, спасибо. Буду, наверное, пробовать через А* по вариантам ходов
wlesavo: YurkovAS я сначала делал почти так же как ты, а когда это сделал сразу вылетел в топ 1, еще в сильвере
BorisZ: а если еще и знаешь куда идти то дейкстра
YurkovAS: amurushkin минимакс 1 глубина + оценочная. в оценочной разницы в ХП, кол-во след возможных ходов на 1клетку и тп.
YurkovAS: BorisZ а что за случайный ход?
BorisZ: генеришь случайный валидный путь - оцениваешь его, повторяешь в цикле, запоминаешь лучший
BorisZ: путь заданной длинны - от фонаря, 10, 15
amurushkin: YurkovAS у меня сейчас тоже на 1 ход только до минимакса не дотягивает
Alex.swift: так этот путь выходит же может сократить количество доступных ходов сильно, пройти через всю карту сразу?
amurushkin: может. поэтому оценка будет играть важную роль
amurushkin: ну и страхует еще то что на следующем ходу ты можешь найти другой
BorisZ: Alex.swift в оценке можно учесть это как-то, можно придумать
YurkovAS: BorisZ это без стрельбы и сайленса? или от 1 до 15 валидных рандомных (композитных) ходов?
BorisZ: чтоб компактнее по возможности
BorisZ: не знаю, про стрельбу и сайленс не думал )
BorisZ: у меня путь отдельно, стрельба отдельно, кроме концовки (
BorisZ: ну и сайленс тоже сам по себе (
YurkovAS: BorisZ спасибо! всеравно не понял, попытаюсь сделать рандомно 1-15 ходов и что-нибудь пооценивать.
amurushkin: сайленс тоже можно рандомить. особенно если на 1
YurkovAS: amurushkin пытался сделать минимакс 2 глубины (за противника одинаково евристикой) - таймаутит сильно, надо ходы лишние удалять, типа как в csb
wlesavo: YurkovAS это просто мув, но сайленс можно делать вдоль того же рассчитанного пути например
BorisZ: а как минимакс если не известна позиция врага? - за каждую возможную позицию считать?
BorisZ: ну и допустим про уровень заряда торпеды можно сделать предположения а про сайленс как?
YurkovAS: была надежда что через 2-3 моих хода будет лучше оценено
YurkovAS: да, противника как минимум заряжаем, стреляем, взрываем
YurkovAS: не получилось и я забил потом
BorisZ: а у кого-нибудь есть ссылка - был чей-то сайт с историей сабмитов, не магуса а кого-то другого
BorisZ: а то чего-то я забыл где стоял до приступа эпилепсии )
BorisZ: в плюс накрутил ручек или в минус )
BorisZ: надо на форуме поискать
wlesavo: тут нет? https://cg.spdns.eu/wiki/Tools
Uljahn: там только для мульти графики вроде
Uljahn: для контестов не нашёл