Chat:Ru/2020-04-10

From CG community
Jump to navigation Jump to search

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: для контестов не нашёл