Chat:Ru/2020-08-07

From CG community
Jump to navigation Jump to search

vrabosh: это не размышлять надо, а читать

Default avatar.png jiki: http://chat.codingame.com/pastebin/60337d52-ff88-41b2-88a9-639b7ec43802

Uljahn: матричные методы на графах - это топчик

amurushkin: так задолбался читать. но одно я понял. я вчера сказал одно слово и его всю ночь обсуждали и день.

amurushkin: даю установку на сегодня - паттерн builder )

mykeich: а я все решаю codingame-sponsored-contest. никак не могу что то дельное получить

BorisZ: mykeich а ты в контесте последнем участвовал который пакман?

BorisZ: тут похожая задача то

BorisZ: лабиринты только надо нарисовать

BorisZ: ну и точки кроме тебя никто не есть

BorisZ: подумал может я спойлерами тут кидаюсь, сорь

mykeich: до этого я давно дошел

mykeich: сейчас пытаюсь проверить правильно ли я сделал алгоритм движения призраков

mykeich: а так пару странностей есть. почему в M3L3 призраков на одного больше как будто:)

BorisZ: а ну я смотрю ты высоко уже забрался )

mykeich: карта не вся используется в M2L1. при переходе через левую границу попадаешь не на край а в глубину карты справа

mykeich: 4000 как не странно получилось случайно при каком то кривом алгоритме. причесал скатился до 3000:)

BorisZ: а тесты и валидаторы одинаковые хоть там?

BorisZ: а то с них станется - поменять немного лабиринт

mykeich: по всем признакам - нет. там названия есть и они не совпадают. не изучал на сколько

mykeich: посмотрел. все разные

BorisZ: действительно разные (

BorisZ: а все симметричные?

BorisZ: не проверял?

mykeich: Я assert ом проверял число игроков. В M3L3 их на одного больше.

BorisZ: по одной из осей то всяко должны быть симметричные

mykeich: интересная мысль

mykeich: Яб даже сказал гениальная, а я не додумался:)

BorisZ: я тоже не предполагал даже что враги могут вести себя по разному

BorisZ: да и вообще не факт что тут они ведут себя так же как в той статье на хабре

mykeich: я думаю что у них разный алгоритм. когда паровозик получается то некоторые отбиваются. Вот хочу проверить алгоритм дебагом, но муторно

BorisZ: у меня жадный алгоритм совсем простой - беги к ближайшей точке, если враг на расстоянии <=2 то беги от врага

BorisZ: первый лабиринт например и наполовину не зачищает

BorisZ: http://chat.codingame.com/pastebin/2940f2b8-4c78-4525-a29b-11ee21c66353

mykeich: у меня получалось полностью зачистить за 500 ходов

mykeich: надо точно знать движение призраков

BorisZ: если предполагать что они никогда не меняют направление на 180 градусов и симметрию проверить то можно уже далеко продвинуться

BorisZ: чур меня

mykeich: не простая задача, а все как то спустя рукава отнеслись

Uljahn: :thinking:

BorisZ: и через край карты он у меня даже не ходит, вот тупица

mykeich: там еще координаты могут прийти за пределами карты вроде

Uljahn: я придумал ввести понятие телепорта)

Uljahn: для этих случаев

BorisZ: телепорт это в произвольную точку, а тут края склеены просто

mykeich: проще понять точные границы карты и уменьшить width, если привидение координат уже реализовано то больше ничего делать не придется

Uljahn: у нас кубер и dead_man заморачивались этим контестом, там что не все спустя рукава отнеслись

mykeich: http://chat.codingame.com/pastebin/e4f1a122-589a-4550-aee1-a4f45570e3e7

mykeich: ну вот ситуация что 0 призрак прет вниз а не влево за пакменом 4

mykeich: почему я н епонимаю, переключил режим на другой или что?!

Default avatar.png jiki: Ульяна как ты делал лабиринт?

Default avatar.png jiki: Ульян

Uljahn: mykeich: у тебя лабиринт меняется там?

Uljahn: jiki: bfs и выбор ближайшей цели

Default avatar.png jiki: ye j,[jl d ibhbye

Default avatar.png jiki: ну обход в ширину

mykeich: Uljahn да, этот лабиринт от M1L1 и запущен на M2L1.

Default avatar.png jiki: а ты можешь сказать ты обход в ширину сращзу делал того вида который там дают?

Default avatar.png jiki: http://chat.codingame.com/pastebin/7e7a1000-c85b-40f2-a094-0d70d7fb78b6

Default avatar.png jiki: от меня просят куда идти

Default avatar.png jiki: для этого мне надо бфс?

Uljahn: да, сначала цель - это вопросик

Default avatar.png jiki: и пути полного нет

mykeich: jiki что за пазл?

Default avatar.png jiki: лабиринт

Uljahn: kirk quest

Default avatar.png jiki: не смори

Default avatar.png jiki: я закоментировал движение мне кинуло такую картинку

Default avatar.png jiki: что я тут ищу?

Default avatar.png jiki: т и точку?

Default avatar.png jiki: если точка есть иду к ней?

Uljahn: https://www.codingame.com/training/hard/the-labyrinth

Uljahn: ищешь путь по точкам до ближайшей цели, т.е. до знака вопроса, это этап исследования

Uljahn: в комцентр не заходишь пока

mykeich: nfvтам персонаж карлосон?

Default avatar.png jiki: какая магия вокруг этих графов вотточно видект бог ребятки эжта тема конченная

Default avatar.png jiki: для новичка сказать искать все равно как балерина завтра полетит на комете

Default avatar.png jiki: тут азы понять надо

Default avatar.png jiki: алгоритма

Uljahn: я без графов делал, тупо поиск в 2D массиве

Default avatar.png jiki: ну будь там другая матрица ты ее вставлял в бфс и точки метил?

Default avatar.png jiki: или куда ты их записывал?

Default avatar.png jiki: точки

Default avatar.png jiki: бфс же и с деревьями так же работает с матрицей н на н

Uljahn: угу

Default avatar.png jiki: ты новичкам не говори такое

Default avatar.png jiki: ты щас обманул человека сказал что не с графом а ты работал с графом

Default avatar.png jiki: я более менее разобрался но нихера не понимаю пока

Uljahn: не с графом, но 2D матрицу можно рассматривать как граф, если проверять только соседние клетки

Default avatar.png jiki: если ты матрицу засунул в бфс это граф

BorisZ: лабиринты называются MxLy, тут х - это сам лабиринт, а у - начальная позиция просто - верно?

Default avatar.png jiki: это матрица какаято из определений графов

Default avatar.png jiki: какая там она я знать не хочу но приходится разбираться

wlesavo: лабиринт классный пазл прямо, тут и туман войны примитивный и поиск пути, я помню когда решил прямо себя сразу человеком почувствовал

Default avatar.png jiki: https://prog-cpp.ru/data-graph/#width

Default avatar.png jiki: а как матрицу классифицировать?

Default avatar.png jiki: так ладно пойду тупо все попробую

Uljahn: ок, не буду мешать тебе упорствовать в своих заблуждениях :relieved:

Default avatar.png jiki: да я не понимаю нифига

Default avatar.png jiki: я всю ночь пытался понять потом во сне понял щас опять сижу не пойму

Uljahn: "я более менее разобрался но нихера не понимаю пока"

Uljahn: вся суть jiki

Default avatar.png jiki: это ко мне не имеет никакого зхначения

Default avatar.png jiki: я и вопрос который интерес разные вещи и вопросы разные

Uljahn: бфс можно пилить без графов, просто нужен метод получения соседей текущей клетки, а откуда их получать - не так важно, из графа или из матрицы, или из другой структуры данных

Default avatar.png jiki: зачем это ?

Uljahn: чтобы найти путь по проходимым клеткам к ближайшей цели

Default avatar.png jiki: чтобы найти символ и пометить его или записать в другую структуру?

Uljahn: в том числе и это

Uljahn: тебе надо отмечать посещённые в процессе поиска клетки, чтобы не зациклиться

Default avatar.png jiki: а до этого ты работал с графами?

Uljahn: естественно

Uljahn: нам в вузе давали теорию и про матрицы рассказывали

Default avatar.png jiki: и до этього ты работал с графами и знал об этом а щас знаешь что это не граф

Uljahn: ну, можно матрицу преобразовать в граф, но зачем?

Default avatar.png jiki: я вот гуглил всю ночь пришел к тому что тут кидают граф

Uljahn: матрица с лабиринтом нагляднее при печати в дебаг

Uljahn: я видел часть вашего разговора с vrabosh, там речь идёт о свосем других матрицах)

Uljahn: смещность, инцидентность, достижимость и т.д.

Uljahn: *смежность

Default avatar.png jiki: это графы

Default avatar.png jiki: это матрицы для графов

Uljahn: да, а у нас тут матрица с лабиринтом в инпуте

Uljahn: символьная

Default avatar.png jiki: да

Uljahn: и индекс текущего положения, ещё мы знаем размер лабиринта

Default avatar.png jiki: ее можно в граф преобразовать

Default avatar.png jiki: я так понимаю граф имеет вид 0 или 1 в ячейке 1 это есть ход ноль нету

Default avatar.png jiki: надо научиться пользоваться графами

Uljahn: граф - это способ представления связной структуры, linked list - это граф

Default avatar.png jiki: нет

Default avatar.png jiki: в графе нули и единички

Uljahn: это матричное представление графа

Default avatar.png jiki: по нулю нельзя ходить по единичке можно

Uljahn: там могут быть не только нули и единички, но и веса рёбер

Uljahn: зависит от матрицы

Default avatar.png jiki: а тут я вызываю фатал ерор

Default avatar.png jiki: и крикну

Default avatar.png jiki: ребра матрицы имеют вес понимаешь

Default avatar.png jiki: панимаешь

Default avatar.png jiki: как это понять?

Uljahn: рёбра графа, или элементы матрицы

Uljahn: лучше бы тебе с нуля теорию подучить, начни с неориентированных графов

Default avatar.png jiki: знаешь как я представляю себе граф?

Default avatar.png jiki: щас нарисую

Uljahn: не надо

mykeich: не надо

Default avatar.png jiki: есть такой прибор где дырочки

Default avatar.png jiki: дырочки соединены проводками

Uljahn: учи теорию или бан

Default avatar.png jiki: бань

Default avatar.png jiki: зайбал

Default avatar.png Rukav: F

Default avatar.png jiki: перечитай вопрос или бань

Default avatar.png jiki: и не ной

Default avatar.png jiki: другой человек может не понять

Default avatar.png jiki: и я вижу ты сам не уверен

Default avatar.png jiki: что и где там у тебя

Default avatar.png jiki: работает главное

Default avatar.png jiki: и это граф

Default avatar.png jiki: http://chat.codingame.com/pastebin/34567f0d-4f59-4668-a3b6-ee192ccae914

Uljahn: ок профессор

Default avatar.png jiki: не надо не обьясняй поищу чела который доступно обьяснит

Uljahn: корейца попроси

Default avatar.png jiki: кубера попрошу

Default avatar.png jiki: вообще в этом деле главное понять что граф это карта если ты узок как я

Default avatar.png jiki: а остальную инфу искать надо

Default avatar.png jiki: где идет обьяснение для чайников и обьясняется каждое движение и элемент и что происходит

Uljahn: и вообще, с чего бы тут кто-то должен объяснять то, что за 15 секунд можно нагуглить?

Uljahn: тут сайт для практики, а не для онлайн-обучения основам под контролем преподавателя

Default avatar.png jiki: я гуглил всю ночь я даже дерево из точек этих гребаных нарисовал

mykeich: И в чем проблема?

Uljahn: ты просто искал удобное и лёгкое объяснение

Default avatar.png jiki: я трою кароче

Default avatar.png jiki: у меня фатал ерор

Uljahn: в днк?

Default avatar.png jiki: если предположить что каждая нода сенсер

Default avatar.png jiki: задать ей 4 парента

Default avatar.png jiki: и в опр парент кидать точку

Default avatar.png jiki: дальше не буду писать потомучто я не понимаю пока

Default avatar.png jiki: но теоретически я говорю о дереве направления

Default avatar.png jiki: растет вниз

Default avatar.png jiki: это я понимаю

Default avatar.png jiki: а что до дерева делать не понял пока

Uljahn: из корня у тебя будут ветки с проходимыми клектами-соседями

Default avatar.png jiki: нет нам нужна ниточка

Default avatar.png jiki: ниточка из точек

Default avatar.png jiki: каждая ячейка имеет 4 сенсора

Uljahn: на каждой итерации нужно разворачивать ветки на текущей глубине дерева и проверять, достигнута ли целевая клетка

Default avatar.png jiki: влево вправо верх вниз

Default avatar.png jiki: вот мое исследование но я пока понял только ниточку

Uljahn: сенсоры - это потенциальные соседи, из них нужно выбирать только те, которые проходимые

Uljahn: и не посещённые ранее

Uljahn: т.е. нужно вести учёт посещений

Default avatar.png jiki: ну у меня в дереве я хочу иметь только точки тоесть направление камеры

Default avatar.png jiki: учет посещений я веду отсекая отвлетления если есть углубление

Uljahn: если ты с деревом связался, то в итоге получишь ветку, в узлах которой будут клетки пути, а в конце - целевая клетка

Default avatar.png jiki: =

Default avatar.png jiki: согласен

Uljahn: вернее, не клетки пути, а экшоны, если ты направлениями оперируешь

Default avatar.png jiki: проверка тру нажал тру записал в дерево

Default avatar.png jiki: но мы не нажимаем проверяем и записываем

Default avatar.png jiki: дерево движения

Default avatar.png jiki: но до дерева надо дорости я всмысле осознать что происходит до дерева а тут я не уверен

Default avatar.png jiki: я прохожу в ширь матрицу и пишу точки в дерево?

Uljahn: да, один шаг в ширину и апдейт дерева

Default avatar.png jiki: вот этого я не понимаю в ширину предпологается что он идет от колонок?

Default avatar.png jiki: сверху вниз чтоли ходит?

Default avatar.png jiki: в дереве я понимаю как он работает

Default avatar.png jiki: а в матрице нет

Default avatar.png jiki: я сущность обхода в ширину в матрице не понимаю

Default avatar.png jiki: а в дереве понимаюб

Default avatar.png jiki: а у ней вершины

Uljahn: в ширину - значит от текущих активных клеток в стороны непосещённых проходимых соседей

Default avatar.png jiki: вершины это строки я исследовал вроде

Uljahn: т.е. надо фронт хранить - список активных клеток, которые на переднем крае поиска

Uljahn: а, ты карту в граф хочешь конвертить, ну ок

gybson_samara: в пэкмане я в граф конвертил, очень удобно

mykeich: Uljahn ты уверен что не стал целью издевательств с целью вовлечь тебя в бессмысленный разговор ради разговора?

gybson_samara: из любой точки путь любой длинный легко считать

Default avatar.png jiki: gybson_samara ты можешь сказать как матрицу в граф представить?

Default avatar.png jiki: http://chat.codingame.com/pastebin/148ce032-6690-4263-9d3f-408a464ed3c5

Uljahn: mykeich: предлагаешь игнорить вопросы по существу и не вестись на троллинг тупизной?

gybson_samara: jiki как-то так graph = {(y, x): [] for y in range(height) for x in range(width) if f[y,x]!=STATE_WALL}

Default avatar.png jiki: а почему игрик икс?

Default avatar.png jiki: статет вал это стенка

Uljahn: jiki: шёл бы лучше в линейку шпилить, зачем тебе эти графы?

Default avatar.png jiki: на графах частично память работает и некоторые технологии

Default avatar.png jiki: плюс карта

Default avatar.png jiki: надо вникать

gybson_samara: y,x это индексы в матрице, а то да, стенка

Default avatar.png jiki: а почему сначало игрик а потом икс

Uljahn: потому что в матрицах принята индексация (строка, столбец)

Default avatar.png jiki: магия какаято ладно попробую

Default avatar.png jiki: не понятно пока

Default avatar.png jiki: я получаю граф и прохожу в ширь

Default avatar.png jiki: пишу гребаные точки в дерево

Default avatar.png jiki: пойду пробовать

Default avatar.png jiki: а кто понимает вообще что происходит

Default avatar.png jiki: https://prog-cpp.ru/data-graph/#width

Default avatar.png jiki: чо она тут нашла?

Default avatar.png jiki: вывод это что вообще

Default avatar.png jiki: в матрице нули и единицы

Default avatar.png jiki: чо там происходит я понимаю но я не могу связать вывод с работой проги

Default avatar.png jiki: ну в ширь проходить она выводит 1 2 3 74 6 5

Default avatar.png jiki: это чо?

Uljahn: порядок посещения узлов

Default avatar.png jiki: или если дерево уже является графом тогда вопрос стоит иначе как матрицу в дерево преобразовать

Default avatar.png jiki: над этим вопросом я бьюсь уже как начал думать над другой задачей

Uljahn: дерево - это граф, но не всякий граф - дерево

Default avatar.png jiki: какая дичь

Uljahn: Automaton2000: граф Буратино

Automaton2000: ну смотря какие у тебя цели конечно

Default avatar.png jiki: посещение узлов ок

Default avatar.png jiki: узлов в матрице

Default avatar.png jiki: я немного потерялся

Default avatar.png jiki: все не буду травмировать я пока не понял

Default avatar.png jiki: тупо попробую пока

Default avatar.png jiki: обидно что даже в 3д эта хренатень нужна

Default avatar.png jiki: кроме зрения

Default avatar.png jiki: поэтому буду разбираться

Default avatar.png jiki: прям щас начну исследовать

Uljahn: спасибо, что держишь в курсе

Uljahn: а то мы ломаем голову, начал ты уже исследовать или нет

Default avatar.png jiki: нет я читаю

Default avatar.png jiki: чуствую себя дибилом

mikitosina1: Ребят, всем привет! Стало интересно, а есть вообще в ascii баква "хуй"? Прошу прощения за мат.

mikitosina1: буква*

Default avatar.png jiki: выведи все символы и посмотри

BorisZ: забить в гугле быстрее

BorisZ: ascii - там всего 128 символов, там русских букв то нет

gybson_samara: в аски есть все, что есть на клавиатуре и еще немного =)

Default avatar.png jiki: string s=""; for(int i=0;i<255;++i) cout<<s=i<<endl;

gybson_samara: https://ru.wikipedia.org/wiki/ASCII#/media/%D0%A4%D0%B0%D0%B9%D0%BB:ASCII_Code_Chart.svg

Default avatar.png jiki: gybson_samara а где ты учился по графам?

Uljahn: mikitosina1: была буква Х (хер) в глаголице Ⱈ

Default avatar.png jiki: тему вернее

Default avatar.png jiki: вьехать в тему

Default avatar.png jiki: понять

Default avatar.png jiki: Ульян а где тут узлы?

Default avatar.png jiki: http://chat.codingame.com/pastebin/e77dd97e-7e0e-4221-bcdb-f4a6f62b34a4

Uljahn: узлы - это индексы строк и столбцов, вроде бы

Uljahn: т.е. 0-й узел - это нулевая строка, он связан со столбцами, если в строке 1

Default avatar.png jiki: тоесть на глаз нельзя себя проверить прога выводит числа которые соответствуют узлам

Default avatar.png jiki: аа сек

Uljahn: видно, что 0-й узел связан с 1-м, 2-м и последним

Default avatar.png jiki: я кажись понял

Default avatar.png jiki: точка входы на строке из нулей и единиц

Default avatar.png jiki: которая дает ход на соседние строки

Default avatar.png jiki: и она мб выводит в какой последовательности шла чтоли?

Uljahn: нет конечно, это просто топология, т.е. структура

Uljahn: как узлы соединены между собой

Uljahn: дальше надо алгоритмом по ней ходить

Default avatar.png jiki: щас проверю 0 узел с 1 2 и последним

gybson_samara: jiki в универе я учился, 20 лет назад =)

Default avatar.png jiki: я вот тоже но видимо на тот момент испугался как щас

Default avatar.png jiki: и решил забить

Default avatar.png jiki: но щас оч нужно

Default avatar.png jiki: и нихрена не понятно пока

mykeich: jiki ну и где код?

Default avatar.png jiki: я пока пытаюсь в ее код вьехать

Default avatar.png jiki: алгоритм бфс я проделывал в дереве и понимаю но не понимаю вот условия

Default avatar.png jiki: понять хочу принцип

mykeich: В чей код?

Default avatar.png jiki: Найти все рёбра, лежащие на каком-либо кратчайшем пути между заданной парой вершин. Найти все вершины, лежащие на каком-либо кратчайшем пути между заданной парой вершин.

Default avatar.png jiki: http://chat.codingame.com/pastebin/1ab78ffc-d5ce-4daa-9de3-516bde223140

Default avatar.png jiki: визуально глядя на матрицу по выводу можно понять что происходит?

Default avatar.png jiki: 1 2 3 7 4 6 5

Default avatar.png jiki: тоесть это ребра вершины

Default avatar.png jiki: в той матрице

Default avatar.png jiki: https://prog-cpp.ru/data-graph/#width

mykeich: т.е. у вершины может быть до 7 соседей?

Default avatar.png jiki: так пойду у страуструпа гляну

Default avatar.png jiki: просто не пойму пока

mykeich: а зачем nodes[j] == 0 в проверке соседей?

Default avatar.png jiki: я код с сайта взял

mykeich: проверка что вершина уже посещенная чтоль. магические числа

Default avatar.png jiki: я пока не в теме

Default avatar.png jiki: вершина это строка?

Default avatar.png jiki: как визуально в матрице найти эти цифры?

mykeich: ты пытаешься понять BFS?

Default avatar.png jiki: графы скорее всего потомучто алгоритмом я пользовался

Default avatar.png jiki: в дереве

Default avatar.png jiki: чтобы высоту считать

mykeich: ну код как код, что ты хочешь от него?

Default avatar.png jiki: ну вот я получаю ответ

Default avatar.png jiki: я хочу глядя в матрицу понять откуда взялось это

Default avatar.png jiki: именно в этой матрице

mykeich: не понятно

Default avatar.png jiki: просто если я щас вставлю и подставлять буду какието 0 и единицы для меня это будет черный ящик

Default avatar.png jiki: я хочу понять принцип

Default avatar.png jiki: откуда 1

Default avatar.png jiki: на что смотреть в матрице надо?

Default avatar.png jiki: чтобы понять что за ним 2

Default avatar.png jiki: а после 3 7

mykeich: Это номера вершин в том порядке в котором и обходит BFS. Эта инфа по сути бессмысленна для практического применения.

Default avatar.png jiki: о пойду еще дебаг гляну

Default avatar.png jiki: а если так вместо этой матрицы мне надо сгенерировать

Default avatar.png jiki: из координатной сетки

mykeich: пример?

Default avatar.png jiki: некий массив

Default avatar.png jiki: где на # xnjnj cnjbn

Default avatar.png jiki: чтото стоит

Default avatar.png jiki: и он х на х

mykeich: не, давай пример

Default avatar.png jiki: пример матрицы?

Default avatar.png jiki: смотри есть локация

Default avatar.png jiki: в игре

mykeich: здесь вопрос в способе описания графа, автор того кода выбрал такой, я предпочитаю другой

Default avatar.png jiki: перс делает квест

Default avatar.png jiki: сделал

Default avatar.png jiki: нажимает кнопку и прога бедит обратно

Default avatar.png jiki: через всю карту

Default avatar.png jiki: огибая препятствия

Default avatar.png jiki: это как раз генерация графа

Default avatar.png jiki: а у тебя какой

Default avatar.png jiki: тоесть тот маршрут или еще чтото можно представить в виде графа клеток где он и нпц

Default avatar.png jiki: ворлд композита

mykeich: так сложно на словах. опиши свою карту в коде, минимальный пример который тебе понятен

Default avatar.png jiki: блин так и работает обидно что я как бобик

Default avatar.png jiki: карта вот у кирка

Default avatar.png jiki: простейшая

mykeich: я не могу тебе помочь без конкретного примера. мне лень кирка открывать

Default avatar.png jiki: http://chat.codingame.com/pastebin/39b0f04e-7954-4092-b083-76b760d8e9c2

amurushkin: а в чем вопрос? на этой карте 3 точки проходимы что ли?

Default avatar.png jiki: я уже боюсь говорить на эту тему

mykeich: карта как карта, ещеб описание к ней

Default avatar.png jiki: ? это туман

Default avatar.png jiki: точка куда можно ити

Default avatar.png jiki: # 'nj cntyrf

Default avatar.png jiki: # это стенка

mykeich: Описание читал? The character # represents a wall, the letter . represents a hollow space, the letter T represents your starting position, the letter C represents the control room and the character ? represents a cell that you have not scanned yet.

Default avatar.png jiki: ну

Default avatar.png jiki: читал

mykeich: Обычная карта в который вариантов движения только четыре

mykeich: в каком виде у тебя эта карта в коде?

Default avatar.png jiki: щас тогда попробую преобразовать

Default avatar.png jiki: я сначало понять пытался

mykeich: char grid[R][C];

mykeich: Тебе пойдет?

Default avatar.png jiki: это понятно сек

mykeich: теперь тебе надо её использовать в BFS?

Default avatar.png jiki: секунду

Default avatar.png jiki: щас обновление скачается

Default avatar.png jiki: ну я предпологал так сделать вот

Default avatar.png jiki: щас руками сделаю

mykeich: ты о чем?

Default avatar.png jiki: вопросы в нули превратить

mykeich: Зачем?

Default avatar.png jiki: стенки в единицы

Default avatar.png jiki: а как

mykeich: не занимайся оптимизацией раньше времени

mykeich: оставь char

Default avatar.png jiki: ну

BorisZ: нет, ты путаешь карту лабиринта с представлением графа в виде матрицы связности

BorisZ: это разные вещи

mykeich: jiki тебе не обязательно приводить к тому формату данных что у тебя в примере по bfs

mykeich: т.е. вредно

BorisZ: пример ты неудачный нарыл, матрица связности для представления карты типа шахматной доски - плохая идея

mykeich: http://chat.codingame.com/pastebin/1bfcb8ce-c995-4b7d-9cb6-6dbe75adc8bd

BorisZ: тут если нужно граф то лучше чтоб он был в виде списка вершин, у каждой вершины список соседей

Default avatar.png jiki: щас установится

Default avatar.png jiki: тогда я так понял

Default avatar.png jiki: иду бфс по этой карте вширину

Default avatar.png jiki: ищу сначало Т

Default avatar.png jiki: потом двигаюсь если не стена до С

Default avatar.png jiki: и пишу в дерево

Default avatar.png jiki: каждое движение

Default avatar.png jiki: иде влево пишу в левый сенсор

Default avatar.png jiki: верх нода которая за верх отвечает

Default avatar.png jiki: право и так далее

Default avatar.png jiki: когда дошел до С озращаюсь по дереву вверх

Default avatar.png jiki: дерево нарисовал вроде работает и понятно а до дерева пробовать буду

Uljahn: у нас разговор с этого начался. что есть матрица с картой лабиринта и это не граф, но в бфс её использовать можно

Default avatar.png jiki: а как генерировать это?

Uljahn: преобразование в граф - это лишний слой абстракции

Default avatar.png jiki: ну блин

Uljahn: в данном конкретном примере, конечно

Default avatar.png jiki: есть задачи где это необходимо

Default avatar.png jiki: есть домики

Default avatar.png jiki: есть стены

Uljahn: так бы и сказал, что хочешь в общем виде решить

Default avatar.png jiki: я убегаю хрен знает куда

Default avatar.png jiki: там деревья еще

Default avatar.png jiki: и как они генерят себе графы?

Uljahn: тогда надо как gybson_samara сказал - преобразовать карту в граф

Default avatar.png jiki: тупо координаты подставляют чтоли в матрицу?

mykeich: http://chat.codingame.com/pastebin/ae965121-f4e9-41ac-84af-0818becef6ef

Uljahn: клетка с индексами - это нода, у неё есть соседи - ставим в строке единичку напротив них, вот и всё

Uljahn: пронумеруй клетки карты построчно сквозной нумерацией и с ней работай, так проще будет

Default avatar.png jiki: сохраню и попробую

Default avatar.png jiki: тоесть теоретически можно сканировать память

Default avatar.png jiki: поверхности

Default avatar.png jiki: в дерево еще оно и метить заполнение чемто твердым в любой элемент тупика

Uljahn: да что угодно, только в случае 2D поверхности такое представление будет неоптимальным

Default avatar.png jiki: спс буду пробовать

Uljahn: в кирке ограничение на размер лабиринта 100 по вертикали, 200 по горизонтали, матрица смежности будет 20к на 20к размером )))

Uljahn: и состоять из нулей на 99.9%

Default avatar.png jiki: я кажется начинаю вьезжать почему кадровый буфер в думе в дереве кадр на ноду

Default avatar.png jiki: кадр на ноду это значит перерисовать с каждой итерацией

Uljahn: в общаке обсуждают, как при генерации симметричной карты избежать узоров в форме свастики лол

Default avatar.png jiki: и тут мы тоже с каждой итерацией перерисовываем все состояние

Default avatar.png jiki: пока не С и есть точка и не стена

Default avatar.png jiki: тоесть если взять первый пример движение вправо предпологает перерисовку всего кадра

Default avatar.png jiki: сделал движение на одну клетку перерисовал все состояние кадра

Default avatar.png jiki: прочел сделал движение перерисовал весь кадр

mykeich: причем тут твоя проблема с пониманием BFS?

Default avatar.png jiki: итак пока не чтото

Default avatar.png jiki: запусти кирка

Default avatar.png jiki: он перерисовывать будет

Default avatar.png jiki: кадр

Default avatar.png jiki: этот цикл перерисовывает кадр

Default avatar.png jiki: http://chat.codingame.com/pastebin/391b0b7c-5e6e-4a4f-90ff-9e4a21270c7e

Default avatar.png jiki: http://chat.codingame.com/pastebin/f0f38741-bf95-4ddf-9a9f-a96cf9fb902f

Default avatar.png jiki: в кадре происходит изменение

Default avatar.png jiki: если убрать изменение кадра кадр фалсится

Default avatar.png jiki: как в реале

Default avatar.png jiki: если мы уберем в игре время он остановится на первом кадре

Default avatar.png jiki: или обновление кадра

Default avatar.png jiki: ну кароче

Default avatar.png jiki: частота вроде

Default avatar.png jiki: тики

Default avatar.png jiki: попробую пока бфс

Default avatar.png jiki: а потом в древо засуно

Default avatar.png jiki: и в ноде буду поиск делать бфс

Default avatar.png jiki: щас про дум скину

Default avatar.png jiki: http://chat.codingame.com/pastebin/68becda5-f9e8-4694-8d85-a899d9dc61e1

Default avatar.png jiki: Построение изображения Для ускорения отображения используется BSP-дерево[9] (в отличие от порталов в Duke Nukem 3D). Объекты изображаются в виде спрайтов, в отличие от Quake.

Движок рекурсивно проходится по BSP-дереву, отрисовывая стены от ближних к дальним[10]:

Default avatar.png jiki: njtcnm uhfas

Default avatar.png jiki: тоесть графы

Default avatar.png jiki: сделал шаг вперед узел сменился

Default avatar.png jiki: на парент

Default avatar.png jiki: http://chat.codingame.com/pastebin/d8afae9d-2d60-49db-b0cc-261909c785e9

amurushkin: да в дум как такового перемешения в высоту нет

amurushkin: в quake только появилось

Default avatar.png jiki: я к тому

Default avatar.png jiki: что изза особенностей этой задачки

Default avatar.png jiki: рисование кадра на 1 действие

Default avatar.png jiki: кадр можно помещать в узел

Default avatar.png jiki: следующий за текщим

Default avatar.png jiki: эта задачка 2 у дума тоже решение было в 2д для 3д только это единствоенное отличие а по сути там 2д

Default avatar.png jiki: экспозиция

Default avatar.png jiki: тоесть первый кадр суем в вызываем поиск внутри кадра

Default avatar.png jiki: сделали действие

Default avatar.png jiki: суемв кадр ответ

Default avatar.png jiki: просто наблюдение

Default avatar.png jiki: тоесть будет по честному работать тогда

Default avatar.png jiki: в каждом кадре свой поиск

Default avatar.png jiki: они все заканчиваться будут а кадр обновлять состояние

Default avatar.png jiki: а тут ждать придется

Default avatar.png jiki: ну кароче пофиг к задаче не имеет отношения но интересно

Default avatar.png jiki: а тут строковый буфер

Default avatar.png jiki: кадр равер R

Default avatar.png jiki: nbr njr gj,elbk hfpj,hfnmcz c 'njq ,flzujq

Default avatar.png jiki: тик ток побудил разобраться

Default avatar.png jiki: гуглил вчера мктс и пришел к тому что надо разобраться с поисками

Default avatar.png jiki: с начала

Uljahn: Automaton2000: ехидный принтер взбесился, сумеешь ли ты совладать с ним

Automaton2000: а ты уже в бронзе

Default avatar.png jiki: щас наверно задачи более интересно

Default avatar.png jiki: в то время попрывная была 3д

Default avatar.png jiki: а щас зэт буфер типо обьемный

Default avatar.png jiki: небось

Default avatar.png jiki: кубический

Default avatar.png jiki: тоесть не плоский граф

Default avatar.png jiki: а в 3д и куби типо нодами заполняется

Default avatar.png jiki: https://beru.ru/product/forceberg-cube-kub-iz-magnitnykh-sharikov-5-mm-chernyi-216-elementov/100875393731?utm_term=13488571%7C100875393731&lrfake=213&utm_source=google&clid=603&utm_medium=search&utm_campaign=gb_new_smart_shgb_search_rus&utm_content=cid:10071742979%7Cgid:102113747260%7Caid:435684997647%7Cph:pla-917103022941%7Cpt:%7Cpn:%7Csrc:%7Cst:u&gclid=EAIaIQobChMI54eFo5qJ6wIVQ9OyCh0zlAEMEAQYAyABEgK3R_D_BwE

Default avatar.png jiki: может это не корелирует с реальностью но мб и такое есть

wlesavo: Automaton2000 попроси ульяна что-то с этим сделать :slight_smile:

Automaton2000: так я не про это

Uljahn: ваш голос принят.

Uljahn: пока статистику собираю по отзывам активных пользователей, как права пофиксят - будем принимать меры

Default avatar.png jiki: на твое раздражение другими в чате это не повлияет и не решит корень проблемы

Default avatar.png jiki: на самом деле даже только усугубит

Default avatar.png jiki: тебе потом буду другую политику модераторы обьяснять подожди годик

Default avatar.png jiki: ты кикаешь уникальных пользователей

Default avatar.png jiki: на ресурсе есть чат

Default avatar.png jiki: значит сюда можно писать

wlesavo: ты вайпаешь чат своим дневником, отбивая желание у любого другого участника хоть что-то писать, мне даже это сообщение не хочется отправлять, если честно, потому что оно получит твой многострочный ответ

Default avatar.png jiki: как я его вайпаю?

Default avatar.png jiki: это чат

Default avatar.png jiki: это не лог

Default avatar.png jiki: сделай лог себе в другом месте

Default avatar.png jiki: я чат вообще не трогаю

Default avatar.png jiki: чат работает

Default avatar.png jiki: и потом недостатки чата на меня не вешай

Default avatar.png jiki: это сугубо твоя проблема

Default avatar.png jiki: сделай чат где ты его не вайпнешь

Default avatar.png jiki: ты же програмист

Uljahn: лол

Default avatar.png jiki: есть полно методов решения твоей проблемы

Uljahn: например бан

Default avatar.png jiki: да ульяна забанить с его циферкой

Uljahn: это тоже функционал чата

Default avatar.png jiki: чтобы он его восстановить не смог

Default avatar.png jiki: решит проблему отчасти

Default avatar.png jiki: тыже грозишь мне баном я тебе тоже могу

Default avatar.png jiki: желаю чтоб теб забанили без восстановления

Default avatar.png jiki: с потерей модератора

gybson_samara: Uljahn намного эффективнее было бы возможность каждому персонально вести свой игнор-лист

Default avatar.png jiki: влесаво еще например

Default avatar.png jiki: пока вас не забанить вы так и будет жужу

Default avatar.png jiki: что у вас ктото виноват

Default avatar.png jiki: уверен разок забанить тебя ты сразу проще станешь относится

Uljahn: gybson_samara: такая возможность есть во внешнем клиенте

Default avatar.png jiki: в целях профилактики

Default avatar.png jiki: чтобы ты тоже проше через этот путь если хочешь стать модератором

Uljahn: я вменяемый, мне достаточно намекнуть, если моё поведение начинает кого-то раздражать

Default avatar.png jiki: создашь по новой себе аккаунт

Default avatar.png jiki: сразу пофиг на чат станет

Default avatar.png jiki: а пока так

Default avatar.png jiki: все это вилы

Default avatar.png jiki: и потом тебе самому не в напряг когото о чем то просить писать не писать

Default avatar.png jiki: возьми не пиши сам

Default avatar.png jiki: так если по простому

Default avatar.png jiki: забаньте того забаньте этого

Default avatar.png jiki: он пишет в чат забаньте его

Default avatar.png jiki: а он такой или такой

wlesavo: маленький тролль во мне конечно получает некоторое удовольствие от этого ментального потока, но все таки интересный чат приоритетнее

Uljahn: так никто и не пишет кроме тебя)

Default avatar.png jiki: ну общайся кто тебе мешает

Default avatar.png jiki: забанят чтоли?

Uljahn: а с кем ты общаешься?

Default avatar.png jiki: вы сами это иницируете и потом общаетесь

Uljahn: тупо в пустоту воду льёшь

Default avatar.png jiki: это со стороны ты не видел что вы пишите если вообще не писать сюда

Default avatar.png jiki: как он посмел в чат написать

Uljahn: мы обсуждаем то, что нельзя нагуглить за 15 секунд, и что относится к платформу CG

Default avatar.png jiki: все бан

Default avatar.png jiki: а потом сам так же общаешься

Default avatar.png jiki: тоже хрень несешь

Default avatar.png jiki: ну я говорю тебе ты потом сам же общаешься просто ты не можешь писать в чат не общаясь никто не может

Default avatar.png jiki: начни с себя

Default avatar.png jiki: забань себя

Uljahn: я-то общаюсь с людьми, а не с пустотой

Default avatar.png jiki: за то что позиционируешься так тебя бы давно следовало забанить как обертывать нету смысла главное посыл вежливо тоже можно оскарбить

Default avatar.png jiki: я хочу чтобы тебя забанил без права восстановления на этом аккаунте

Default avatar.png jiki: чтобы ты понял чо ты сам несешь

Uljahn: пока ты в меньшинстве, а против тебя уже много голосов

Default avatar.png jiki: ну мое желание этим не изменится

Default avatar.png jiki: а если я такой есть еще таких же 2 процента будет

Default avatar.png jiki: и забанят тебя

Default avatar.png jiki: и попоешь потом

607: Ульян, против него ещё +1 голос

Default avatar.png jiki: против Ульяна голос

Default avatar.png jiki: нахер такого модератора

Uljahn: 607: принято

Default avatar.png jiki: ты неадекватен

Default avatar.png jiki: иди докладывай

Default avatar.png jiki: проси чтоб забанили

Default avatar.png jiki: а я поворкую за тебя

Default avatar.png jiki: мое желание чтобы тебя забанили без восстановления этого аккаунта

Default avatar.png jiki: вполне конкретное желание

Default avatar.png jiki: если интересно я тебе скажу почему

gsomix: Предлагаю репортить об неадекватном поведении через форму на сайте.

gsomix: В профиле есть кнопка "Report Abuse".

Default avatar.png jiki: да я так и сделаю

Default avatar.png jiki: я уже делал щас надеюсь рассмотрят мой репорт

Uljahn: вообще, я не набивался в модеры, это коммьюнити меня попросило взяться, делегировало мне право выражать общее мнение, т.о. я буду принимать решения в пользу большинства с учётом мнения меньшинства

Default avatar.png jiki: Ульян ты читай иногда что пишешь

Default avatar.png jiki: я еще раз тебе повторяю в погоне за доказательством становишься заложником ложных идей

Default avatar.png jiki: гонись за цифрой

Default avatar.png jiki: зачем когото оскарблять обязательно надо

Default avatar.png jiki: зайди на нулевой аккаунт

Default avatar.png jiki: сбей свою спесь

Default avatar.png jiki: меняйся лучше

Default avatar.png jiki: у бана нету адекватного обьяснения кроме как голосование

Default avatar.png jiki: кроме как попросить не писать в чат куда можно писать

Default avatar.png jiki: ты с дуба рухнул?

Uljahn: объяснение просто - убрать источник нерелевантной информации

Uljahn: *простое

Default avatar.png jiki: получается ты неадекват если твои цифры аргумент

Default avatar.png jiki: значит тебя забанить надо

Default avatar.png jiki: потомучто ты не понимаешь чо ты несешь

Default avatar.png jiki: тебя надо лишить привелегий

Default avatar.png jiki: ты не понимаешь здраво их

Default avatar.png jiki: не цифр ни модераторства

Default avatar.png jiki: разочек тебя надо лешить привелегий

Default avatar.png jiki: а если по честному у моего предложения вполне конкретная без оскорбления тебя здравая формулировка

Default avatar.png jiki: ты потерялся в том что простые люди сюда тоже могут заходить

Default avatar.png jiki: могут писать сюда

Default avatar.png jiki: вот только за это тебя вбан надо

Uljahn: ты перепутал чат CG с чатом вконтакте

Default avatar.png jiki: чтобы зайдя на новый аккаунт ты в след раз думал чо ты иницируешь против кого чего просишь и зачем ты вообще ищешь каких то людей которые в чем то виноваты когда нет виноватых и никто не оскарбил тебя

Default avatar.png jiki: ни за пол года

Default avatar.png jiki: ни за время пока ты недавно инициировал бан

Default avatar.png jiki: это уже неадекватно

Default avatar.png jiki: не пиши не общайся тут много чего есть

Default avatar.png jiki: можно вырубить окно

Default avatar.png jiki: и тут быть

Default avatar.png jiki: но у тебя всегда должен быть виновник тпотомучто ты так сказал

Default avatar.png jiki: потомучто ты гуру

Default avatar.png jiki: ну гуру ну и что

Default avatar.png jiki: а другой человек не гуру

Default avatar.png jiki: и чего?

Default avatar.png jiki: и это вся проблема поверь

Uljahn: не бомби, кто тебя обидел?

Default avatar.png jiki: херня твоя по типу идиоты люди кто не гуру

Default avatar.png jiki: и что сюда писать нельзя

Default avatar.png jiki: я тебя не сравниваю не обижаю ничего

Default avatar.png jiki: вот щас я тебе все как есть сказал

amurushkin: gybson_samara: во внешнем клиенте можно

Default avatar.png jiki: запараило итак не понимаешь чтото задашь не так вопрос тебя идиотом назовут

Default avatar.png jiki: я ночью кидал живой анекдот

Default avatar.png jiki: парень заходит в пост пишет как с графами разобраться в лабиринтах ему ответ пишут тут надо волновым алгоритмом решать

Default avatar.png jiki: вот так все и идет

Uljahn: правильно пишут

amurushkin: а в чем анекдот? ответ верный

Default avatar.png jiki: да срать может ему надо разобраться не с волновым а с графами

Default avatar.png jiki: вполне чоткая сцена

Default avatar.png jiki: и конечно после такой сцены ясно что тут оскарбляет чото когото

BorisZ: jiki главная претензия к тебе - тебя слишком много в этом чате.

BorisZ: можно и вопросы задавать глупые и про что-то трепаться - никто не против

Default avatar.png jiki: а ты не задаешь глупые вопросы

Default avatar.png jiki: и не трепешься

BorisZ: просто постарайся писать пореже - и большинство наездов на тебя исчезнет

Default avatar.png jiki: понимаешь Борь

amurushkin: вместо 10 сообщение в 2-3 слова лучше 1 на 20

BorisZ: угу, сформулировать мысль, потом писать. Если вопрос, то подумать, потом погуглить, потом писать - оно само так и получится

BorisZ: все будут только рады, вот честное слово

vrabosh: jiki, да и раздражает, когда человек нечего не сделал в теме которой спрашиваю, а он советы накидывает, потомучто теоретик..

vrabosh: и философ)

amurushkin: как пройти уровень в марио?

amurushkin: установить opengl. закодить марио

amurushkin: иногда так выглядит

Uljahn: скомпилить генту, поставить emacs

gsomix: О, кул, через Miranda работает.

Uljahn: угу, в миранде настроилось, но не нашёл как скрыть заходы/выходы на канал

gsomix: Uljahn, нужно настроить фильтр и включить его для чата.

gsomix: https://user-images.githubusercontent.com/5046855/88483505-02982180-cf71-11ea-8445-f78f9faddb44.png

gsomix: А потом фильтр включается в окне чата. Снизу справа есть пиктограммы.

490588: о, спасибо, разобрался

inoryy: фигасе, миранда ещё живая

inoryy: я ей в начале 00ых пользовался

607: тогда аська жутко рулила

Uljahn: так в миранде комбайн - ирц, аськи, джаббер и какие ещё протоколы добавишь

inoryy: ага, я для ирц и аськи и юзал

inoryy: даже в голову б не пришло что ещё живет

vrabosh: да мне не понятно как аська потеряла популярность?

Uljahn: а я чё-т даже не подумал про джаббер в миранде, хотя аську по работе использую

vrabosh: вроде она везде была и на больных древних.. неужели они не додумались, просто прикрепить еще номер телефона, и сразу скопировать вайбер и ватсап идеи как только появились

vrabosh: как компания с опытом, может уступать конкуренцию, тем кто без опыта?

Uljahn: компании с опытом более инертные

inoryy: в середине 00ых вне рашки стали популярны месенжеры с аватарками и гифками и тд, мсн например

inoryy: вайберы и воцапы пришли намного позже загибания аськи

vrabosh: так что там инертного? взял выпустил второй клиент.. аська мессагер, где поолитика как у ватсапа на тот момент. когда у вацапа допустм еще было 100млн людей

inoryy: до вайберов и воцапов еще всякие скайпы были

Uljahn: видимо у аськи протокол нерасширяемый

vrabosh: ониж поидеи должны в этой теме больше всех знать

tomatoes: вообще не помню как айсику умер :thinking:

vrabosh: вот ютуб к примеру, был на флэше вроде, стал не флэш.. перестроились

tomatoes: както слишком естесственно всё произошло

gybson_samara: была у меня аська 65510765, но боюсь доступ не восстановлю уже, да и зачем =) последние годы общались там только с женой и то на телегу перелезли

vrabosh: а мне надо вспомнить, востановить.. там штук 500 контактов наверно

tomatoes: оно работало и буквально недавно полностью удалили старые аккаунты

vrabosh: интересно узнать. что написали за это время)

gybson_samara: tomatoes а оно все как-то слишком естественно, рази ВНЕЗАПНО тик-ток

607: моя аська 111515844, лет 15 уже её не юзал

vrabosh: и стоили кучу денег пятизначники)

gybson_samara: моему 8значнику хз сколько лет то

Uljahn: даже на хабре недавно жаловались, что массовая зачистка неактивных акков в аське прошла

tomatoes: ну не кучу, но для номерка возможно много

tomatoes: в принципе сейчас красивое имя в твиттере тоже денег будет стоить

gybson_samara: я в твиттере 2 коммента подряд Маску написал (все прилично) и меня забанили

gybson_samara: на этом наши отношения с твиттером и закончились =)

Uljahn: русские хакеры опять вмешались в демократию

gybson_samara: да не, тогда очень много ему писали, вот твиттер и повел себя жестко

gybson_samara: впрочем это не моя проблема, приползут на коленях, прощу скорее всего

gybson_samara: по нейронкам и нампи очень странные туториалы попадаются, ни в одном не было next = np.dot(input, weights)[:]

gybson_samara: а еще функцию активации мапить

gybson_samara: тоже не делают

vrabosh: что во фласки вызывается когда ctrl+c нажимаю, хочу завершающий скрипт сделать

vrabosh: делаю так не помоагет

vrabosh: try:

       app.run()
   except:
       print('ddsdds')

Uljahn: finally: может добавить, не?

vrabosh: сработало)

Uljahn: gybson_samara: что значит мапить?

Uljahn: есть np.vectorize, только он ускорения не даёт вроде

gybson_samara: Uljahn 1.0 / (1.0 + exp(-activation)) применить к вектору

Uljahn: лучше активацию на родных нампи-функциях написать, типа 1/(1 + np.exp(-activation))

gybson_samara: Uljahn лучше конечно, и сразу к вектору чтобы

Uljahn: именно

vrabosh: а при ctrl+z нечего не поможет?

gybson_samara: Uljahn все понял, спс

gybson_samara: Ну тогда вот вам годный туториал, если кому надо

gybson_samara: https://towardsdatascience.com/lets-code-a-neural-network-in-plain-numpy-ae7e74410795

inoryy: http://chat.codingame.com/pastebin/a0bcae84-01d9-4e8f-aaf5-8b36de0171aa

inoryy: блин

inoryy: vrabosh это тебе ^

vrabosh: при зете не работает

vrabosh: ^Z [1]+ Остановлен /usr/bin/python3 ...

gybson_samara: Uljahn а как это сделать в виде процедуры? чтобы не вернул, а прям в аргументе поменял

vrabosh: причем в процесса весит ps

Uljahn: gybson_samara: in-place?

gybson_samara: Uljahn да

gybson_samara: Uljahn а то сейчас h1 = 1/(1+np.exp(-h1))

gybson_samara: это 1. некрасиво, 2. плохая практика

Uljahn: хч, вход активации и выход активации - это разные сущности, почему в одной переменной они?

Uljahn: *хм

inoryy: vrabosh а тьфу на ctrl z оно и не будет реагировать, ctrl c конечно же

inoryy: на ctrl z оп система отправит процесс в бекграунд

gybson_samara: Uljahn это не вход и выход потому что, а состояние нейрона

Uljahn: gybson_samara: даже в статье по ссылке функция активации возвращает A_curr, Z_curr

Uljahn: активации слоя, в смысле

Uljahn: которая single_layer_forward_propagation

gybson_samara: http://chat.codingame.com/pastebin/acf60e33-045f-45c5-81e7-72cd61fe01a2

Uljahn: не аргумент

gybson_samara: нет особых причин разделять вход и выход нейрона, они идентичны

Uljahn: во фреймворках вообще граф выполнения билдится

gybson_samara: Uljahn и до этого дойдем =) везде найдем свои недостатки =)

Uljahn: там эти промежуточные переменные под капот уходят

gybson_samara: там у них времени вагон

gybson_samara: а я тут в последнем контесте дебаг отключал =)

Uljahn: возможно, имеет смысл тогда посмотреть в сторону ufunc

Uljahn: Ufuncs also have a fifth method that allows in place operations to be performed using fancy indexing.

Uljahn: https://numpy.org/doc/stable/reference/ufuncs.html

Uljahn: я с ними не связывался

gybson_samara: вооооооооооооо, мы все ближе!

gybson_samara: но не то

gybson_samara: гоню, то!

gybson_samara: Вот так надо просто написать 1/(1+np.exp(-h1,h1))

gybson_samara: хммм

gybson_samara: http://chat.codingame.com/pastebin/5f3690bc-b59e-478d-9b01-97cc640b41c1

gybson_samara: [0.75026011 0.90024951 0.96442881] [0.33287108 0.11080316 0.03688317]

Uljahn: это он экспоненту тебе посчитает только

Uljahn: пиши некрасиво, так хоть понятно

gybson_samara: если результат вычесть из 1, то получается то, что надо, с учетом округления

gybson_samara: Uljahn у меня не текст принимают, а скорость выполнения

gybson_samara: больше скорость - больше итераций

gybson_samara: сначала за копирование минус время, потом за уборку мусора

gybson_samara: при этом массивы уже в классах сидят и надо именно туда данные вносить, алиас дальше области видимости не пойдет

Uljahn: а если через a1[:] = sigmoid(z1) присваивать?

Uljahn: т.е. в уже созданный массив

inoryy: gybson_samara ты для бекпропа планируешь по новой вперед просчитывать? :)

Uljahn: это для обучения на CG что ли? :thinking:

Uljahn: или для исполнения уже обученной сетки?

gybson_samara: inoryy для дельты отдельный же вектор

Default avatar.png jiki: https://edotor.net

Default avatar.png jiki: http://chat.codingame.com/pastebin/94edf9ef-82a9-42c8-9804-ba23c73b0e91

Default avatar.png jiki: https://imgur.com/a/5fZ63pM

gybson_samara: inoryy и потом какая вообще разница, если при движении вперед вход и выход связаны через константу?

gybson_samara: мы же обратьно только ошибку передаем, сами состояния нейронов уже не нужны

gybson_samara: http://chat.codingame.com/pastebin/b8a4afd1-ebc0-4d62-96f0-6cfff1591140

gybson_samara: вот кстати, из документации

Uljahn: gybson_samara: это ты binary network что ли мучаешь?

Uljahn: пипец под конец недели туго соображается :relaxed:

inoryy: gybson_samara hint: [f(g(x))]' = f'(x)*g(x)

inoryy: тьфу, f'(g(x))*g'(x)

vrabosh: если я работаю с json обьектом, какой самый быстрый инстрмент в питоне, чтобы его записывать в файл и обновлять

vrabosh: json.dump() это долго если обьект разрастется до больших обьемов

vrabosh: Если только не придумать свою реализацию.. типа записывать в конец файла изменения, а дамп делать допустим когда нагрузки нет, раз в час или когда завершаю приложение..

vrabosh: и если вдруг критическая ошибка.. то загружаю джисон, и потом прохожусь с файла по записи обьектов... за несколько секунд он возобновит все данные..

vrabosh: sql не предлагать) просто хочу с json поиграться)

vrabosh: Хотите еще одну задачку прикольную...

vrabosh: есть строка 'a.b.c.d' - я хочу схранить в ojb['a']['b']['c']['d] = 1

vrabosh: как это сделать? причем изначально obj = {}

vrabosh: pid = app.jval(f'uinf.{app.gid}.{app.vid}.pid', pid + 1)

vrabosh: красиво же получилось? если поля в дикте нет, то он создает.