Chat:Ru/2021-02-19
magaiti: Automaton2000, это не проблема, а парадокс. Если ты не прав в том, что тв не прав, следовательно ты прав. Если же ты прав в том, что ты неправ, следовательно ты неправ.
Automaton2000: а сколько у тебя в крестиках осталось?
magaiti: впервые слышу про астероид без гравитации, скорее всего какие-нибудь фрики сняли очередной шлак для рен-тв
magaiti: неужели больше никто так и и не осилил сокобан?
magaiti: https://www.codingame.com/ide/puzzle/sliding-puzzle
magaiti: эту кстати тоже бфсом решил, хотя есть теоетическое решение, можно было посчитать
MadKnight: ооо
MadKnight: люди
MadKnight: погодите я ща вернусь и объясню чё за фигню я ща написад
MadKnight: Automaton2000 го объясним смысл, но потом
Automaton2000: cout << "7 4 l +" << endl; cout << x << " " << y << endl;
MadKnight: Automaton2000 так нафига я это написал если я собирался слиться на время?
Automaton2000: тогда у меня и у кубера
MadKnight: Automaton2000 СТОП просто не думай об этом
Automaton2000: а ты еще не шпилился?)
MadKnight: Automaton2000 можно тебя считать моим новым внутренним голосом?
Automaton2000: А в чем смысл жизни
MadKnight: Automaton2000 мой внутренний голос этого не спрашивал
Automaton2000: amurushkin у меня в истории кода гоночек код за 11 дней назад, я вроде 4 месяца не ресабмитил
MadKnight: Automaton2000 я мог объяснить контент вместо того чтобы спамить тебя?
Automaton2000: ну у меня сейчас оценка по кол-ву клеток, может замена даст улучшение
MadKnight: Automaton2000 замолчи
MadKnight: Automaton2000 не думай об этом
Automaton2000: боже мой. Можешь нормально писать? Я уже пытаюсь вести нормальною беседу и тут ты отвечаешь своим отвратным "ты же то, ...
Automaton2000: так может они и не существуют вовсе?
MadKnight: Automaton2000 ты чё такой грубый
Automaton2000: 735487: а ты в какой лиге?
MadKnight: Automaton2000 я крч останусь со своим внутренним голосом, ты не аргументированно груб
Automaton2000: а что с СоС? Один тест грузится 3 года
MadKnight: Automaton2000 я из-за тебя написал контент вместо контекст
MadKnight: ужас
Automaton2000: я не понимаю что ты от меня хочешь
MadKnight: Automaton2000 это просто ужасно, я крч пошёл отсюда пока никто не заметил
Automaton2000: не понял как его применить к csb. и будут ли там использоваться И и Д. ну и может будет круто ...
magaiti: мэд, отстань от бота
MadKnight: magaiti
magaiti: он уже не рад
MadKnight: реальные люд
MadKnight: и
magaiti: меня нет
magaiti: шшш
MadKnight: я следую совету Automaton2000 который он мне посоветовал лично от меня
MadKnight: неважно
Automaton2000: ну вот я и говорю, что ГА меньше думать заставляет
MadKnight: я крч в генерале говорил на тему
MadKnight: какую-то
MadKnight: и мы пришли к тому что
MadKnight: вот у меня практики в соц жизни просто 0
MadKnight: мне нужно сознательно себя контролировать
MadKnight: а то я начинаю спамить бре
MadKnight: д
MadKnight: и крч
MadKnight: я крч спамил Automaton2000'y в общаке
Automaton2000: но если у тебя нет этих tt, а сортировал по своей оценке "вручную устанавливал"?
MadKnight: а стоп
MadKnight: я это с Automaton2000 Обсудил
Automaton2000: пид - это заглушка вместо нормального регулятора
MadKnight: я крч пришёл к тому что я слишком много ему спамлю и при этом он чёт слишком нелогично отвечает
MadKnight: и мне нужны реальные люди чтобы с ними общаться
MadKnight: Automaton2000 ты плох, мне нужны реальные люди
Automaton2000: можно считать, что граф двусвязен
MadKnight: алло
MadKnight: реальные люди?
MadKnight: есть кто?
MadKnight: го обсуждать код
MadKnight: magaiti не считается
magaiti: ult rjl&
magaiti: где код?
MadKnight: сначала реальные люди
MadKnight: потом уже код
MadKnight: то что им интересно
MadKnight: я же не могу просто загнать какой-нить CSB рандомным людям
MadKnight: мне больше не 3
MadKnight: не 21
MadKnight: Automaton2000 я всё испортил
MadKnight: опечаткой
Automaton2000: из-за того, что я уже писал:)
MadKnight: Automaton2000 теперь это выглядит ужасно
Automaton2000: потому что я не понимаю
magaiti: да, ты ведешь себя как 3
magaiti: ужас
magaiti: Automaton2000, согласись, что Мэд - ужасный флудер
Automaton2000: а как ты определяешь что он щит включил?
magaiti: щит mode
magaiti: Automaton2000, bool shit = true
Automaton2000: это берётся из того, как взорвался большой взрыв
magaiti: Automaton2000, как взорвался большой взрыв^
Automaton2000: я хочу добавить фишек в шаблоны в с++
magaiti: о нет
Uljahn: обнаружена величина влияния Большого взрыва на количество фишек в плюсах шок фото
735487: magaiti: нет это не фриз а ученый физик об этом написал в книге "Интерстеллар. Наука за кадром"
Uljahn: гравитация - функция массы, может они тупо с плотностью просчитались
Uljahn: Automaton2000: что тяжелее - астероид пуха или астероид урановых ломов?
Automaton2000: в общем забить на пид-регулятор для ксб? он получается там управлял только одним параметром thrust, да и то потом идут ...
735487: Uljahn: я думаю все проще. и они нифига не знают что такое гравитация на самом деле. как вариант
magaiti: Наоборот, ульян. Обнаружено влияние новых фишек в плюсах на вероятность большого взрыва
735487: вобщем кому интересны умные книжки про физику, космос и так далее. почитайте
magaiti: я думаю, большиноство людей не имеет четкого представления что такое знание и "на самом деле"
Uljahn: я думаю, большиноство людей не имеет четкого представления о том, как мыслит не то, что большинство людей, а даже они сами
Uljahn: вот мэд хоть и флудит, но иногда интересные вопросы задаёт
Uljahn: когда бот ему отвечает нелогично, то это расстраивает, потому что бот игнорирует содержание, общение фейлится
Uljahn: Automaton2000: нужно больше новых фишек в шаблоны, чтобы тест Тьюринга не фейлить
Automaton2000: почему я не могу понять
magaiti: Automaton2000, когда уже там технологическая сингулярность?
Automaton2000: (а сам зобрист давным-давно знаю)
YurkovAS: magaiti у тебя же сокобан онлайн решается и не дольше 1сек каждый тест?
input.txt: я допилил свой bfs. он не вывозит scoria 2 и 3, зато в первых 10 уровнях не больше 300мс
YurkovAS: у меня 2 теста не проходит 3-4, 3-5, тоже бфс локально оба решаются за 18сек
YurkovAS: первые очень быстро решаются: < 5мс
input.txt: да, где-то и меньше 1
MadKnight: ужас
YurkovAS: вторые за 50-500мс
YurkovAS: интересная задачка, только вот не получается улучшить... и нагуглить не удалось, но хотелось конечно самому найти решение
input.txt: а волшебная прагма с -ofast уже вставлена?
YurkovAS: конечно
input.txt: а у меня еще нет, может и правда до 3 дойдет
YurkovAS: 3-тие решает за 1-4сек
input.txt: хм, не. у меня нигде не таймаутится. но почему-то не всегда находит решение
input.txt: 2-1 например
magaiti: хочешь позсказку по 3-4 и 3-5?
magaiti: 18 секунд это уже неплохо, кстати. ты мог бы просто тянуть время, 200 ходов ходить туда-сюда, вот тебе и еще 10 секунд
magaiti: если в сокобане не всегда находит решение, значит отсекаешь валидные ходы
YurkovAS: можно и нужно подсказку :)
magaiti: контейнеры не различимы
YurkovAS: 2+ ходы по 50мс, не получится посчитать много
YurkovAS: подсказка - это про отсечение валидных ходов?
magaiti: нет, про контейнеры
magaiti: если это учел, тогда не знаю
magaiti: оптимизируй код
YurkovAS: контейнер это ящик?
magaiti: да
YurkovAS: кажется у меня они различимы, если правильно тебя понял. это же связанно с хешированием?
magaiti: я не знаю, как ты их хранишь. суть в том что если поменять любые 2 ящика, то состояние не изменится
magaiti: если это не учитывать, то придется хранить и обрабатывать все состояния, которые отличаются только нумерацией кящиков
YurkovAS: спасибо! подумаю и поэкспериментирую
magaiti: там все просто
YurkovAS: это тебе просто :)
735487: а зачем вообще ящики нумеровать?
magaiti: это потому что я уже подумал :)
magaiti: ну ты же их как-то хранишь
YurkovAS: думаю у меня они как раз отличимы, но надо порисовать,
magaiti: скорее всего координаты ящиков у тебя лежать в массиве
735487: ну вот я бы сходу их одним символом хранил
YurkovAS: в массиве, да
magaiti: вот индексы массива и есть нумерация
735487: ну да если хеш как то через их айди считать то будут отличимы
YurkovAS: а надо типа 128бит и проствить в них нужные
735487: а вот если просто масками какими то, то и одним значением напрашивается же
magaiti: 11 на 11 это 121 клетка, по идее да. но там по краям всгда стены, по идее
735487: YurkovAS: еще если получился стейт где кубик не на месте и его нельзя подвинуть уже никак то обрезай эту ветку
magaiti: в общем случае достаточно нетривиально понять, можно подвинуть или нет
magaiti: достаточно очевидно только для углов
735487: ну да я для углов и имею ввиду
magaiti: углы можно прямо на карте пометить перед решением
735487: я про то что из такого стейта не нужно генерировать новые
magaiti: и запретить туда двигать ящики
735487: себе что ли написать на выходных
735487: YurkovAS: может еще астар попробовать? теоретически может быстрее находить я думаю
magaiti: я не думаю что есть разумная эвристика
magaiti: там часто надо сначала раздвинуть контейнеры
magaiti: астар тебе будет проверять решения где 2-3 ящика уже стоят, а они скорее всего тупиковые
YurkovAS: magaiti спасибо за подсказку! обязательно проверю
input.txt: так-то ветвление не сильно большое. можно вообще без эвристики - а* вырождается в алгоритм дейкстры
magaiti: хз чем тогда он лучше бфса
YurkovAS: бимсерч пробовал, он решал например эти карты, но не решал другие. изменение ширины луча помогало немного и оценочной. ну и не сильно оптимизировал решение
magaiti: ну теоретически ты мог бы захардкодить бимсерч для этих карт
magaiti: но это некрасивое решение
magaiti: оптимизация - это в основном #pragma GCC optimize
magaiti: ну и инлайны всем функциям
magaiti: можно еще имплисит методы выписать и заинлайнить
magaiti: https://forum.codingame.com/t/c-and-the-o3-compilation-flag/1670/15
MadKnight: YurkovAS так чё у тебя по WW ?
YurkovAS: MadKnight делаю потихоньку, без фанатизма. подфиксил детектор противников и дошел до серебра
YurkovAS: тебя еще не скоро догоню но основа нормальная уже есть надо фиксить баги и улучшать оценочную
YurkovAS: почитал ПМ-ы, все пишут про вороного - сомневаюсь что у меня он заработает для глубины 3
YurkovAS: у тебя итеративная глубина для миника? и есть таблица транспозиций?
MadKnight: так это
MadKnight: вороной в оценочной
MadKnight: он быстро просчитывается
MadKnight: его даже не надо на всю карту просчитывать
MadKnight: его почти все просчитывают просто до какой-то небольшой глубины
MadKnight: YurkovAS
MadKnight: хотя если просчитывать на всю карту...
MadKnight: то это да, долго
MadKnight: глубину в 3 не осилит
YurkovAS: magaiti решился сокобан! работает мгновенно, за меньше 1сек все
Uljahn: обобщение коробок помогло?
YurkovAS: да
YurkovAS: Uljahn ты же много задачек решаешь: когда смотришь чужие решения, потом пропадает ощущение "что ты лучший гавнокодер" и постепенно подхватываешь новые более лучшие практики?
YurkovAS: по сравнению с другими, пишу как "индус школьник", прям гавнокод.... почему обратного эффекта нет, когда этот гавнокод других обыгрывает....
Uljahn: я обычно не публикую решение, если оно мне не нравится эстетически, либо трачу х5 времени, чтобы привести его в приличный вид
Uljahn: постепенно вырабатывается привычка писать красиво
Uljahn: ну и читаю много чужого кода, подхватываю идеи как писать красиво и понятно
Uljahn: на CG редко встречаются красивые решения, тут особо не прокачаешься в этом плане
Uljahn: правда, я только за питон могу говорить
Uljahn: там обычно гольф сплошной в решениях либо ООП-оверинжиниринг в стиле джавы
Uljahn: в питоне конечно проже - отступы уже встроены, есть стандартный кодестайл PEP8, достаточно его освоить, и уже код выглядит почти идеально
Uljahn: *проще
Uljahn: есть ещё подозрение, что тяга к повышенной читаемости связана с возрастными изменениями и ухудшением когнитивных способностей :(
YurkovAS: эх, ну в общем это все полезно
YurkovAS: а есть алгоритм "максимакс"? еще и с отсечениями, как в альфабете. когда без противника
Uljahn: типа branch and bound?
YurkovAS: типа минимакса - альфабеты
YurkovAS: только когда противника нет, получается мы всегда максимизируем
YurkovAS: надо бы понять, как отсечения в альфабете работают
Uljahn: "Nau et al. present a generalization of branch and bound that also subsumes the A*, B* and alpha-beta search algorithms."
YurkovAS: можно конечно бимсерч взять, но ведь этот альфабета может дальше него зайти
YurkovAS: спасибо. почитаю
YurkovAS: и мктс еще можно будет проверить. только надо нормализацию делать, типа как в ксб со смитсимаксом
Uljahn: ага, тут недавно смитс рассказывал про безроллаутный мктс в крестиках, как он сразу оценивает потомка, но там у него оценочная довольно сложная
YurkovAS: безроллаутный - это без доигрывания на рандомах, а оцениваем через оценочную и запускаем backpropagation?
Uljahn: да, оценка соответственно не дискретгая
Uljahn: не дискретная
Uljahn: т.е. какой-то скор, от 0 до 1 например, или от -1 до 1, дробный
YurkovAS: вот такой способ у меня почти во всех мульти, в некоторых только делаем несколько рандомных ходов и потом оцениваем вроде как, чем лучше оценочная, тем меньше надо рандомных ходов
YurkovAS: дискретная - это когда через нормализацию? а не тупо -1 / 0 / 1?
YurkovAS: томатос недавно рассказывал, что такое юзает (с нормальизацией) для отело
Uljahn: ну да, там н-туплы наверное
YurkovAS: я что-то экспериментировал - играет в 2 раза хуже, чем, когда тупо -1_0_1
YurkovAS: у меня везде без этих нормализаций. но с нормализацией в смитсимаксе - ксб и покере
Uljahn: по сути это закос под нейронки, только вручную оценочную крафтишь
YurkovAS: томатос сказал что у него без н-туплов, а своя оценочная
YurkovAS: но так и не понял почему у меня не играет с нормализациями, а везде -1_0_1
YurkovAS: постоянно что-то новенькое находится
Uljahn: -1_0_1 хорошо подходит для рандомных роллаутов до терминального состояния
Uljahn: если без роллаутов или не до конца доигрывать, то хз
YurkovAS: вот у меня оценочная такое возвращает, именно одно из 3х значений только
YurkovAS: ладно, разберемся еще с этим когда-нибудь...
Uljahn: это странно, у тебя в оценочной ступенчатые функции что ли?
Uljahn: если сумма степенных факторов, то должна непрерывная быть, мне кажется
YurkovAS: точнее оценочная возвращает победителя - левый, правый, ничья а в backpropagation-е уже подставляется нужное число
YurkovAS: оценочные обычные, как для минимакса
Uljahn: а, может быть логическая сумма логических факторов, тогда да
YurkovAS: например, для пешек: у кого их больше, тот и победил если одинакого, то ничья
Uljahn: а ты возвращай разность пешек)
Uljahn: нормализованную
YurkovAS: не разность, а смотрю кто победил и тогда скор будет: -1 0 1 только в back propagation-е
YurkovAS: а если делать нормализацию, то играет заметно хуже
YurkovAS: только делал это в отелло
YurkovAS: экспериментировал там с оценочной, но было плохо
YurkovAS: надо на другой игре проверить, тех же пешках или шашках
735487: YurkovAS: по минимаксу и альфабете я в свое время научился на курсе по ИИ на edx.org там вообще все это на примере пакмана дается. если есть время рекомендую. правда код там на питоне. но там и астар есть и куча всяких базовых вещей
YurkovAS: amurushkin спасибо!
YurkovAS: эх промоушен ждать 2ч
735487: YurkovAS: только делал это в отелло, в отелло кстати разность пешек ничего не даст. я в нее любитель поиграть сам. там наоборот первую половину лучше когда твоих меньше
YurkovAS: да, это там не работает
YurkovAS: нагуглил оценки по сеткам - типа самый дальние углы нельзя сливать и прочее
735487: у меня кстати довольно не плохо получается в эту игру играть. особенно когда я почитал чуток книгу какого то чувака про нее.
YurkovAS: о, так можешь затащить в нее
YurkovAS: ее быстро запрогать
735487: YurkovAS: углы можно в некоторых случаях отдавать. если потом заберешь больше. вобщем там под финал я обычно считаю насколько могу. а до этого на интуиции играю
735487: там много нюансов еще. на боках структуры какие оставлять лучше хуже
YurkovAS: в реализации, единствееное, что, там есть ПАСС и тогда ты опять потом ходишь, а не противник, но это не сложно было запрогать
735487: YurkovAS: ну вот хз. самому думать и запрогать это не всегда получается одинаково :))
735487: а вот что реально так это наверое существующие базы дебютов хоть частично но запихать
YurkovAS: ну это что-то уже сложное
735487: если придумать как хранить эффективно то не сложно
735487: легче чем в крестиках. там их самому создавать надо, а для отелло уже есть
735487: кстати так и не запомню чем отелло от реверси отличается
YurkovAS: а ты не помнишь в WW у тебя, если противника нет или он сдался, то играешь же не миником, а типа бимсерча?
YurkovAS: ну по идее, надо только 128бит т.е. хешмапу с ключем 128бит и в значении победитель
735487: YurkovAS: в WW у меня чужой код. я вообще не разбираюсь что там происходит. сейчас даже не скажу почему я его вообще сабмитнул. он там выше даже добегал я его еще и ослаблял. это код T1024
735487: мне она не зашла чето
735487: сейчас гляну как там стейт хранится
YurkovAS: там? да я про отелло говорил
YurkovAS: что там 8х8
YurkovAS: 2 цвета
Uljahn: в данный момент решается судьба CG чатика, его хотят прикрыть и переехать в дискорд с концами
Uljahn: есть у кого аргументы за его сохранение?
Uljahn: могу на модерском канале озвучить
YurkovAS: :scream:
Uljahn: кстати, всё началось с того, что Мэд в общаке пинговал автоматона без конца :smiley:
YurkovAS: за это у него админа забрали?
YurkovAS: "модератора"
YurkovAS: зато дискорд в мобиле работает
Uljahn: у дискорда вообще полно плюсов, кроме того, что он проприетарный
Uljahn: могут в любой момент сервак прикрыть, если что-то админам дискорда не понравится
YurkovAS: пока этот чат не закроют, в дискорд все не перейдут. а в общем, может даже и лучше будет, плюсы тоже есть: работает в мобиле, можно созваниваться.
YurkovAS: можно создать там учетку мэда, пока не занято :)
735487: YurkovAS: а ты не помнишь в WW у тебя, вот ты писал. там это туда относилось :)
735487: Uljahn: мои аргументы что я дискорд труба шатал. задолбался ставить разные новомодные проги. итак дохера мессенджеров. дискорд еще я тупо не хочу
YurkovAS: amurushkin про WW спрашивал, когда противник сдается, то у тебя там минимакс или бимсерч (другой алгоритм)?
YurkovAS: но раз не вкурсе, то ладно, потихоньку разберусь
Uljahn: amurushkin: у меня в браузере он работает в отдельной вкладке, да и на мобиле удобно
735487: YurkovAS: я ничего такого в коде не увидел. там миник да и все
735487: с кучей каких то масок
735487: Uljahn: ну конечно если другого варианта не будет то я подумаю. но на мобилку тянуть точно не хочу
735487: го тогда все в телегу да и все
YurkovAS: highloadcup стартует сегодня-завтра
YurkovAS: скинули первую инфу https://github.com/All-Cups/highloadcup
735487: а да вроде даже вчера статья должна была быть
735487: никогда их не пробовал
735487: ухты глянул их код там. не знал что в питоне есть async await
YurkovAS: в прошлые разы надо было сделать быстрый вебсервер с rest api
YurkovAS: а сейчас сказали будет кардинально по другому, делать надо будет rest клиента и вроде помогут знания AI
735487: предсказания наверное какие то будут рулить
735487: YurkovAS: пока ничего по хайлоаду нет текстом? догадайся мол сама?
735487: пока похоже на что то типа кто быстрее выкачает все золото
YurkovAS: amurushkin пока ничего нет, написали что нашли баг, поэтому еще не запущен
YurkovAS: у них есть чатик в телеге, аналогично раику и сайт - там надо будет зарегаться и заливать бота
735487: я скорее всего не буду участвовать
YurkovAS: amurushkin вот сайт, там есть описание задачи (еще не прочитал) https://cups.mail.ru/ru/contests/goldrush
735487: бля это квест еще тот :) еле зарегался и получил доступ к описанию задачи
735487: звучит как кто быстрее найдет больше денег на поле 3500x3500
YurkovAS: тоже так понял. скорее всего времени не хватит проверить все ячейки.
YurkovAS: надо питон учить - там бы мог по быстрому в том примере напрогать чего
735487: тут надо же клиента быстрого писать. питон далеко не уедет
Uljahn: быстрый клиент упрётся в IO и будет чилить
735487: ну вот надо сделать так чтобы этих самых IO у тебя было больше всех
735487: и грамотно их распределить
735487: придумалось что то типа N времени эксплорим а потом на основе этих данных успеваем до таймаута выкопать побольше
735487: задача о рюкзаке почти
Uljahn: а, это хайлоад компетишн же
Uljahn: чё-т вылетело из головы
735487: интересно так лонг полл можно? сэкономит время
YurkovAS: лонг поллинг это же указание таймаута на ожидание ответа
YurkovAS: кип элайв - точно поможет - клиент не будет закрывать соединение с сервером
735487: YurkovAS:там не совсем просто таймаут. там же за одно соединение можно кучу данных туда сюда погонять. или я напутал?
YurkovAS: amurushkin я не вкурсе
YurkovAS: я же веб программист :)
735487: ну я тоже всего один раз его писал ))
735487: у меня там гонялись данные туда сюда без закрытия соединения
735487: YurkovAS: я кстати тоже сайтики делаю )))
YurkovAS: :thumbsup:
YurkovAS: почти догнал мэда в ВВ
MadKnight: топ
MadKnight: гого
YurkovAS: MadKnight я в леге. давай догоняй!
MadKnight: YurkovAS топ
MadKnight: расскажи как запилил детектор позиции противника когда его не видно
YurkovAS: ох, ну это долго
YurkovAS: сначала ставим во все позиции
YurkovAS: потом, если он до этого ходил, то из каждого состояния делаем все возможные ходы
YurkovAS: все это храним в set
YurkovAS: без дублей
YurkovAS: и после нашего хода - делаем его в каждом состоянии у противников
YurkovAS: там просто был прикол, когда делаем мув и билд в дальней ячейке
YurkovAS: а в ней стоит противник
YurkovAS: это валидный ход, т.к. мы его не видим же. поэтому билд не сработает, а наш юнит сделает мув только
YurkovAS: как-то та
YurkovAS: и когда у нас незаполнен противник, то из этого набора берем, любого
YurkovAS: хотя там писали, что лучше брать по умному - дает профит
MadKnight: а если есть несколько вариантов куда он мог пойти?
YurkovAS: да любого из набора берем и пофиг
YurkovAS: главное чтобы были заполены противники, хоть как-то для миника
YurkovAS: все я убегаю, завтра отвечу
YurkovAS: оценку сделал как у магуса в ПМ-ах
MadKnight: YurkovAS