Chat:Ru/2020-08-06
Uljahn: для начинающих изучать VK API?
Uljahn: я с питоном пятый год играюсь, и оба варианта вызвали кучу wtf в минуту
Uljahn: не говоря о равноценности вариантов
Uljahn: хотя, с вынесенными функциями посимпатичнее выглядит в плане дальнейшего расширения
BorisZ: угу надо чтоб оценивал кто-то кто знаком с вк апи
BorisZ: всяко в вк есть группа посвяшенная вк апи а то и не одна )
BorisZ: там каких только нет групп, диву даешься
jiki: ты бота для себя делаешь
jiki: сделай уже консольного бота с пунктами консольными
jiki: нажал 1 одно нажал 2 другое 3 и так далее
jiki: у меня месенджер в консоле был
jiki: я заходил в вк смотрел друзей кто в сети
jiki: открывал какой хотел и продолжал беседу
jiki: https://youtu.be/M8fhrtvedHA
jiki: https://youtu.be/z8o2hfEbMsw
jiki: https://www.youtube.com/watch?v=Fluvvu9xywo
jiki: совсем не простой процесс даже на ЖЛЬ!
jiki: вот тебе еще одна пасхалка на подумать
jiki: даже у меня есть книга из 2007 года за 257 рублей создание приложение для виндовс C# .net
jiki: 13 лет она у меня лежит и конкурировала 1 месяц со страуструпом
jiki: https://www.youtube.com/watch?v=0a2a7dXJYXM
amurushkin: на что намекает то?
Uljahn: на то, что надо решать пазлы и пилить ботов
Uljahn: а не в чате мыслью по древу растекаться)
Uljahn: *мысью
jiki: на 1 подходе надо хоть чтото рабочее сделать с опытом чтото на первом подходе будет с каждым разом лучше лучше
jiki: я вчера под какогото индуса который про мктс на пальцах рассказывал заснул(
Uljahn: что ты там про uct спрашивал?
Uljahn: я начинал с азов - с UCB1
Uljahn: это как MCTS без дерева, или с деревом глубиной 1
jiki: я сморел вчера индуса уже придумал в буквы числа переводить и ранжирование(
Uljahn: там простая формула без бэкпропов, только селекшн
jiki: кароче чото легкое но не понятное
Uljahn: хватает до середины голды дойти
jiki: а чо мктс еще себя учить может?
jiki: вчера серфил глубоко эту тему
Uljahn: учить?
Uljahn: он адаптивно подбирает глубину исследования вариантов
Uljahn: более перспективные исследует глубже
Uljahn: на основе статистики рандомных или полу-рандомных игр
jiki: который он сам просчитывает во время хода или до 1 хода?
Uljahn: во время, но можно частично и до
Uljahn: тут важно распределять время вычислений по дистанции
Uljahn: потому что его мало
Uljahn: первый ход - 1 сек, потом по 100мс
jiki: какойто движок получается
Uljahn: ))
jiki: я уже просто пример хочу найти
jiki: вчера завис на дереве думал как деревом сделать
jiki: 8 цир теоретически текущие 3 хода можно в дереве держать
jiki: любые 3 числа которые введут последовательно будет всегда
jiki: всегда будет наименьшее наибольшее и корень
jiki: тоесть в игре где 1 доста будет таких 3 ввода
Uljahn: в полных правилах есть понятие свободного хода, оно сильно меняет ветвления
jiki: может это как связано с красно черными деревьями
jiki: противник кроет меня допустим 1 1 = 5
jiki: ввожу в дерево красно черное !
jiki: надо метить цветом противника
jiki: получается надо рттишку делать на лету типо флаймейк
jiki: иметь список соответствий на проверки
jiki: и стробировать в дерево 3 числами
jiki: ввел 3 числа проверка на лету след 3 хода
jiki: 3 хода времени генерировать
jiki: и теоретически игра кончится на 4 ходу
Uljahn: их 9 будет в бронзе, вроде бы
Uljahn: и ходы на них будут взаимосвязаны
Uljahn: большая доска из 9 маленьких - это будет основное поле
Uljahn: кто на ней выиграет, тот и победил
Uljahn: можно проиграть на некоторых маленьких при этом
jiki: суть в том что на маленькой доске сущность ячейки доска
Uljahn: https://ultimate-t3.herokuapp.com/local-game
Uljahn: тут можно попробовать
jiki: они сразу сканируют все или нет?
jiki: 1 дрон долго проверять будет диаметр базы
mykeich: jiki сделай милость, пиши мысль в одно предложение, твой стиль общения крайне не приятен и иногда совсем не понятен
jiki: упростили идею до ответлений в единицы
jiki: кирк так же делает летает ищет базу если нашел ему надо пройти обратно по кратчайшему пути
Uljahn: это с лабиринтом?
jiki: дрон бот матер в старкрафте так же находит тебя
jiki: ты играешь он тебя находит и пребегает с кучей юнитов
mykeich: Голосую за то что бы забанить jiki за то что он не в состоянии писать нормальные сообщения в чат. Можно же мысль уложить в одно предложение, а не разбивать его на 10 по пару слов.
Uljahn: ваш голос принят.
jiki: тебе вообще в чат писать нельзя
Uljahn: у него левел поболее и рейтинг)
Uljahn: я скорее соглашёсь с mykeich, чем с каким-то новичком, который сделал невыносимым пребывание на канале старожилов типа inoryy и tutubalin :pensive:
Uljahn: *соглашусь
Uljahn: также известно мнение BorisZ, который считает, что банить не надо, пока обсуждения касаются пазлов и мультиплееров
jiki: я вот 200% ставлю на то что ты не читал достоевского
Uljahn: у нас культурное общество образованных людей :smirk:
jiki: кто то написал в чате а тебе противно мне ваще пофиг
jiki: как касается тебя что ктото пишет в чат не обсуждая тебя
jiki: разогнались в не себя уже
jiki: или корона кому что нравится больше
mykeich: jiki хоть притворись что тебе не пофиг на окружающих и начни нормально обобщатся. Вот то что ты сейчас сказал вообще не понятно. Какая-то чушь.
Uljahn: недавно на хабре вычитал: " Частная дискриминация, очень простая и правильная мысль — ты нам не нравишься, и мы тебя не хотим слушать. Мы не запрещаем тебе разговаривать, но мы запрещаем тебе заставлять нас тебя слушать. Иди и говори что хочешь, но не у нас дома."
jiki: то что тут пишут не обсуждая тебя не может коснутся тебя
Uljahn: но я тут живу :crying_cat_face:
Uljahn: Automaton2000: не выгоняйте котика на улицу
Automaton2000: так не может быть, случаи то симметричные
jiki: проблема не в том что ктото пишет не обсуждая тебя а тебя это трогает проблема в том что тебе кажется что выгоняя кого то кто не обсуждает тебя тут но пишет в чат это следствие уже каких то комплексов
jiki: чел не может писать при том человеке который пишет в чат
Uljahn: претензия была по форме, за которой содержание с трудом угадывается
jiki: а настоящую проблему баном не решить
Uljahn: некоторых напрягает неграмотность, некоторых оскорбляет
jiki: но писать друг другу вы будете тоже неграмотно и тоже будет других людей не входящих к вам оскарблять
jiki: ты лучше почитай достоевского
jiki: там даже есть герои у него которых он поглубже рассматривает почему они предьявляют другим а к себе нет
Uljahn: мне кажется, у программистов и технарей часто преобладает особый склад ума - склонность к алгоритмическому мышлению и формализации, к конструированию ёмких, но точных высказываний, таких людей раздражает информационный шум
Uljahn: а то, что нужно сначала подумать, прежде чем писать в чат всё, что взбредёт в голову, отсеять ненужное, причесать форму
jiki: ваше превосходительство снизошло до маленького рода людей, спасибо
Uljahn: ты же даже не стараешься придавать своим мыслям читаемый вид, а потом обижаешься, что тебя с кем-то сравнивают :)
jiki: я пользуюсь чатом по назначению
jiki: а у тебя там свое назначение какоето
Uljahn: Automaton2000: гастевуха - шоп пасрать
Automaton2000: в новых наверно кнопкой калибрует
jiki: это как покупать чайник с блютусом или просто чайник
jiki: и гатить тех кто купил простой чайник
Uljahn: т.е. ты считаешь, что в чат можно заливать любые наборы символов?
Uljahn: и самоцензура не нужна?
jiki: нет просто то что вы тут пытаетесь доказать избито временем
Uljahn: достоевским что ли?
Uljahn: он тоже в книжки сливал шлак всякий?
Uljahn: или у чата особое назначение? "мы не на диктанте!!11"
jiki: вам почемуто надо найти когото и повинить во всем его чем понять что челик не обсуждая тебя почемуто както посмел задеть тебя и чем главное и задуматься над этим
Uljahn: грамотная речь - это проявление уважения к собеседнику
jiki: лучше я буду ругаться матом и без прикрас чем как ты сейчас грамотно когото винить в чем то в чем не виноват человек
Uljahn: не виноват, что не изучил язык, на котором общается? у тебя русский не родной что ли?
Uljahn: как ты плюсы тогда собрался учить?
jiki: а ну и кстати при обсуждении логическом такое вот писать
BorisZ: грамота мелочи, может человек в другой стране учился, во всем остальном я с Ульяном согласен
jiki: к слову каждого тогда тут надо забанить за оскарбления
gsomix: Привет. Можно я разбавлю немного ваш срач? :) Посоветуйте, пожалуйста, литературу по ИИ для игр: я начинающий, поэтому описание классических алгоритмов очень поможет. Спасибо!
BorisZ: лишь бы понятно была мысль, а у тебя ничего не понятно, даже при желании
gsomix: Или это лучше в дискорде спросить?
gsomix: Из того, что нашел — рекомендуют "Artificial Intelligence: A Modern Approach".
Uljahn: gsomix: как у тебя с английским?
gsomix: Uljahn, читаю на английском, да.
BorisZ: gsomix слишком широкий вопрос, надо бы конкретнее - что бы ты хотел сделать или уметь делать
jiki: Борь от того что тебе ниразу никто не сказал этого даже в зоне комфорта это не факт что ты не такой
Uljahn: gsomix: http://gameaibook.org/toc/ видел?
gsomix: BorisZ, я бы хотел с чего-то начать: введение, обзоры. :)
BorisZ: jiki вот опять, я подвисаю на пару минут, чтобы понять, что ты хотел сказать своей фразой (
jiki: BorisZ о тебе тоже самое могу сказать
gsomix: Uljahn, нет, не видел. Спасибо!
Uljahn: gsomix: 2. AI Methods - читаешь как обзор методов, потом гуглишь уже по конкретным методам
Uljahn: тема слишком обширная, да
Uljahn: часть методов можно применить прямо на codingames в разделе ai bot programming
jiki: к сожалению в аи или ии так сразу не подойти если касается вопрос осознанного подхода надо подвести себя к этой реализации и столкнуться с этим вопросом в живую чтобы столкнутся с этим вопросом надо написать игру
jiki: или написать сцену где твой персонаж двигается и требуется аи или ии противника
gsomix: Uljahn, с этой целью и интересуюсь. :)
BorisZ: gsomix я думаю что если зависнешь тут на полгодика, попробуешь порешать задачи и ботов поделать, то общее представление получишь о простых методах
BorisZ: дальше будет понятнее куда копать
jiki: тоесть ты капаешь такой по пути к своему решению написании игры и наткнулся на такой вопрос как сделать принятие решение в той или иной ситуации противника в стрелялках
BorisZ: особенно с ботами, обычно легко входить, можно начинать с простых эвристик, потом читать про более сложные методы
jiki: я думаю так быстрее вьедешь
BorisZ: и интерес не пропадет, так как соревнование
Uljahn: на форуме есть темы с подсказками по стратегиям и алгоритмам почти к каждому мультиплееру
Uljahn: кода нет, только хинты
BorisZ: всегда приятно всех порекать )
jiki: только игры не пиши не вздумай)
jiki: только этот сайт только машинки только мультиплеер)
Uljahn: машинки и крестики могут очень много дать на самом деле, и в понимании алгоритмов, и в оптимизации
BorisZ: я пишу про то что знаю, про личный опыт
jiki: а пока в пабге бот появляется сзади меня клевый алгоритм
jiki: для истинных новичков пабга ? или кодинга?
gsomix: BorisZ, спасибо.
Uljahn: тут легко про личный опыт узнать - наводишь мышкой на аватарку)
Uljahn: левелы - это пазлы и ачивки, ранг - это мультиплееры и контесты
gsomix: Ок, добавлюсь еще в дискорд.
gsomix: Uljahn, удивительно, что книга от Springer в свободном доступе опубликована. :)
Uljahn: ага, я скачивал и бегло просмотрел, потому и порекомендовал сайт
Uljahn: тут недавно такую же спрашивали, только на русском, вот с этим проблемы
amurushkin: я тут чат решил почитать. у меня комп вырубался. пришлите кто нить историю плиз после 13:46 :) а то интересно что там дальше было :)
amurushkin: не понятно как от Достоевского к MCTS перешли :)
vrabosh: есть тут у кого опыт хороший в чат-ботах под заказы пишет? интересно пообщаться
vrabosh: фреймворк делаю, интересно какие в итоге реализации нужны..
Automaton2000: у меня до сих пор
jiki: Automaton2000 метнулся в гугл
Automaton2000: потому что ты не читал достоевского
jiki: на вк тебе придется писать свои либы потомучто никто не гарантирует что твой токен или пароли не передадутся третьей стороне
jiki: в вк есть раздел для девелоперов
jiki: в кратце пишешь реализацию функцию вконтакте обертываешь в свою и используешь в коде отправляя запросы на вконтакт
jiki: придется так же разобраться как работают такие технологии как запросы, как написать простейший парсер хтмл чтобы текст хмтл привратить в то что надо тебе а остальное отсекая
jiki: o2auth отчасти так же тебя касается
jiki: придется думать как им пользоваться
Uljahn: amurushkin: у тебя приват работает? вот история если что http://chat.codingame.com/pastebin/c5c575d7-7db9-4b58-b4c6-1b50e8fdc6de
amurushkin: вроде работает
jiki: так же надо иметь куки юзер агент
amurushkin: спасибо
jiki: а потом фреймворк придумаешь когда посмотришь весь путь от нерабочего состояния до когда все работает
jiki: я бы не писал свой пароль в фреймворк
jiki: как пользователь твоим фреймворком
jiki: ябы на твоем месте сначало реализовал логин и 1 запрос либо ботом либо запрос к вк и получил ответ потом думал о дизайнах
jiki: когда ты разберешься строк примерно там будет с юзер агентом и куками 20 вроде
jiki: еще json немного надо будет подтянуть
jiki: так же не забудь получить токен на приложениек и получить разрешение что он будет работать в режиме бота
jiki: я тебе еще ссылок накидаю щас
jiki: https://vk.com/dev/first_guide
jiki: https://vk.com/dev/bots_docs
jiki: грубо говоря функции которые ты превратишь в комманды или обернешь
jiki: https://vk.com/dev/blog/php-sdk-and-bots-longpoll\
amurushkin: а вот реально чат бот это просто стейт машина или что то более сложное?
jiki: это просто чат бот к нему есть команда
amurushkin: пришел запрос - отдал ответ но только в чат. в этом вся разница?
jiki: но так же придется его логинить
jiki: я писал не бота но общался через консоль
jiki: вводил логопасс и моя страница в консоле была
jiki: по пунктам 1 друзья 2 сообщения
jiki: там еще редиректить надо
jiki: да хотябы эъо бота написать
vrabosh: amurushkin , что такое стейт машна?
vrabosh: что за состояние?
jiki: играть выбирать уровень или выходить
jiki: состояния выбора контента
vrabosh: както ты непонятно поясняешь
jiki: тогда тебе во внутренности ЖЛ
jiki: чем отличается евент от состояния?
jiki: по сути одинаковые вещи да?
vrabosh: карчое чат-бот, стучится на твой "сайт" сам телеграм или вк или еще кто.. на сайт который указал.. и отправляет тебе POST запрос.. в нем команда, типа message_new id пользователя и сообщения..
vrabosh: ты как обычный сайт посути обрабатываешь, возращаешь текст ОК..
vrabosh: а пользователю через api сообщение шлешь приватное..
vrabosh: это я пояснил amurushkin
vrabosh: не нуби.. ты рассказываешь нубские вещи тому кто шарит
jiki: (//бот отвечает ) здарова
jiki: ты слово команду видишь?
vrabosh: ушел
jiki: команда обращения к боту твоему
jiki: или у тебя бот отвечает на любую строку в чате
jiki: в телеге и вк нету такого
jiki: там команду пили для образения к боту
jiki: команда вызвана бот ответит
jiki: твой бот каждому ответы будет сать
vrabosh: вот ты теоретик) не одного бота не написал, а столько теории расказываешь
jiki: а погоди Ульян это назвал особым складом ума
jiki: ты код покажи и вопросы задавай
jiki: код какойто непонятный чо ты хочешь
jiki: токен и страница вк возвращают тебередирект
jiki: пошел в свое сообщество запросом
jiki: и там наверняка есть бэкенд для создания команд по которым пользователи чата жмякают
jiki: каждое действие это запрос
jiki: или если джейсон плейн текст
jiki: потомучто по технологии о 2 аут реализации простейшего агента и кук твой пас сохранится
jiki: и там чото на момент когда я писал парсить надо было
jiki: или ты пишешь не в консоль
jiki: в консоль все парсить всегда
jiki: и потом тебе надо получить добро а это аксес токен
jiki: например ты зашел на сайт vk.com
jiki: если все точно аксес токен внутри страницы
jiki: лезешь в апишки и реализовываешь
amurushkin: vrabosh: стейт машина это что то типа шаблона проектирования такого. по типу switch $action case 'dosomething'. если чень грубо то набор ифов :)
vrabosh: как реализуешь.. по сути да..
vrabosh: тебе от вк на сайт твой в пост идет json запрос где вся инфа что пользователь написал, его айди, время, группа, секретынй ключь итд.. и ты уже решаешь как это образабывать
vrabosh: главное ответ вк ОК вернуть, чтоб он понимал, что ты эти данные принял
jiki: ну давай так я охотно поверю тебе
jiki: я же общался через консоль а ты нет
vrabosh: а потмо тыможешь пользователю ответить по через requests.post('https://api.vk.com/method/'+method, kwargs)
}
vrabosh: где method если message.send то это в личку. можешь в комментарии группы допустим другим методом
jiki: иф поменяли и стейт сменился Оооо
vrabosh: чат-ботов не сложнее писать чем тут мультиплеер ботов
vrabosh: http://chat.codingame.com/pastebin/603e348f-01d6-4446-b522-b5d69aacb09a
jiki: 4 часа 25 минут 06082020 открываю твой документ
gsomix: Может по оффтоп темам лучше в личке или дискорде общаться?
jiki: если там говнина время пошло
vrabosh: gsomix, уже не получется)
Uljahn: можно продолжить общение на канале #vk-bots
amurushkin: jiki ну ты крут что у тебя был опыт работы с вк апи. хотя мы результат и не видели. все только на словах. но это не значит что можно так неуважительно с людьми общаться. ты вон чака решал неделю. а я 15 минут максимум. и никто тебе по этому поводу не хамил
amurushkin: и да. от ифов стейт не меняется. меняется условия его обработки
Uljahn: стейт - это значение внутренних переменных, которые влияют на обработку ифами
Uljahn: т.е. состояние
amurushkin: яркие примеры на эту тему тут мульти про таблетки и поваров
Uljahn: FMS == finite state machine == машина с конечным количеством состояний - это объект, у которого внутренние переменные могут принимать ограниченное число значений
Uljahn: ну и обработка идёт по разным путям в зависимости от этих значений
jiki: если в коде чото не понятное вопросы о том что челик не понимает превышают порог подоконника, да еще потом оказалось он знает
jiki: нахера спрашивать тогда и постить код где нет решения даже логина
jiki: как ему помочь кидать ему все эти документы?
Uljahn: никто не знает всего, можно быть экспертом в одной области и плавать в другой, не кипятись - свисток ошпаришь :upside_down:
jiki: я хотел на питоне написать
jiki: а возьму и свой скил апну и напишу не си++
jiki: хакрактеристика 1 точного состояния
jiki: вход в него и выход из него
jiki: все это происходит во времени
jiki: если прервать время все посыпится
jiki: тоесть просто повторить то что в жль классе тут не совсем так будет работать как с жлем но попробовать можно
jiki: нужно перечисление состояний
jiki: проверка вроде еще состояния
jiki: а в стостоянии так же ифы могут быт
Uljahn: это ты так код пишешь?
jiki: просто ифы состояний тоже задело чутка
Uljahn: в FMS переходы между состояниями заданы однозначно, а в цепях Маркова - вероятностно :)
jiki: https://github.com/richkirl/snake/blob/master/glsnake.cpp
jiki: https://github.com/richkirl/snake/blob/master/glsnake.hpp
jiki: проигрывать это тоже состояние
jiki: и работать над общей системой под них когда состояние активно то!
amurushkin: играть и пауза в играх это обычно называют сценами
jiki: глобал евент галочку врубил все бегут тушить пожар
amurushkin: ну так а в чем проблема то? разве это как то расходится с тем что мы говорили?
jiki: хз хз спорно я для себя это записал в состояния
jiki: запустить таймер на это явление
amurushkin: таймер зачем?
jiki: запомнить последнюю отрисовку
jiki: потомучто людям нравится засекать
amurushkin: нажали кнопку пауза. переключили сцену. стейт игровой да запомнили
amurushkin: паузу убрали опять переключили
vrabosh: jiki, накидай мне лучше советов как красиво именна давать)
jiki: ну не сцену тогда а контекст
vrabosh: http://chat.codingame.com/pastebin/6c904dc3-f1c2-491d-bea7-c715c1a57d50
vrabosh: вот как мне потом это понять через полгода?
amurushkin: vrabosh: давай имено методам по принципу glagolDeystvie
amurushkin: а переменным чтобы было понятно что они хранят
jiki: так все Амур щас классифифцировано отвечу
jiki: у нас таких глобальных 4-5
vrabosh: acsm - это переменая которая возращат ключ прав доступа, например msg, foto
jiki: это все ращные состояния контекста
vrabosh: как можно ее обозвать?
jiki: что еще является состоянием
jiki: глобальный евент текущего контекста
amurushkin: vrabosh: ну вот назови ее acs_key например
jiki: глобал прожал педаль блохи бегут тушить подар
jiki: все состояния перечисляются в енуме
jiki: а потом в каждом состоянии свои расчеты ведутся за исключением когда например при паузе все остановить надо на фоне
Uljahn: пауза - это состояние потока выполнения, а не игры
amurushkin: это все условности. их и из файла можно грузить
jiki: ладно не буду спорить пускай для тебя так
Uljahn: стейт игры при паузе не меняется
jiki: опенжль нельзя останавливать
jiki: просто состояние меняется
jiki: из активной игры в паузу
amurushkin: опенжл и не останавливается. он рендерит другую сцену. при этом состояние игры не меняется. все правильно Ульян говорит
amurushkin: почти во всех движках что я видел это называется сцена
jiki: ты кодер для это не сцена а контекст
jiki: для тебя это не сцена а контекст
jiki: а для художника это сцена
amurushkin: для меня это сцена особенно когда в игровом движке это так называется и есть метод для их переключения ))
amurushkin: но это не столь важно как это называть
jiki: ну движок просто для так написал а является это для кодера контекстом
amurushkin: что такое контекст?
amurushkin: для меня это сильно общее слово
amurushkin: я приветствую когда в пределах команды все используют одну терминологию. но игры я не делал в команде тут я хз как там
vrabosh: в ворлд чате интересно общатсья?
jiki: наложи на него намаж на него слой опенжль отрисовки
jiki: слой опен жль отрисовки для коди на окне
vrabosh: какие там темы обычно обсуждают?
jiki: контекст отображает текущий рендер в окне
amurushkin: vrabosh: всякие :) когда как
vrabosh: jiki, тебя не хватает в англ чате)
amurushkin: сейчас про питон затирают
jiki: просто если ты будешь называть сценой
jiki: то как ты называешь сцену выбора игры чтоли?
amurushkin: да именно так
amurushkin: сцена уровня 1, 2 ,3
Uljahn: vrabosh: новички задают одни и те же вопросы по пазлам, иногда топы делятся секретами реализаций алгоритмов
jiki: еслиб мне сказали одно для себя я понял что контекст проще
jiki: сцена с главными героями
amurushkin: я вообще значение слова контекст не знаю :)
jiki: назвать сцену с кнопками я не могу я художник
amurushkin: ты себе противоречишь. ты говорил что ты кодер вроде :) поэтому не сцена это у тебя.
amurushkin: ну а что тебе можно только чтоль :)
jiki: я тебе говорю контекст в прогерстве то и значит
amurushkin: хз пойду погуглю значение слова
jiki: ты смотришь на то что происходит в контексте
amurushkin: законченный отрывок письменной или устной речи (текста), общий смысл которого позволяет уточнить значение входящих в него отдельных слов, предложений, и т. п.
jiki: контекст состояний так нравится тебе?
jiki: уточнение состояния которое ты наблюдаешь
jiki: движок уточняет для тебя
amurushkin: короче из того что я нагуглил я понял что это просто набор данных
Uljahn: я знаю, что переключение контекста происходит, когда в многозадачном режиме процессор сохраняет стейт треда и восстанавливает стейт следующего треда
jiki: у физического явления которое мы наблюдаем
jiki: есть перечисления которые мы наблюдаем
jiki: все что происходит вокруг и попытка описать это в диалоге или диалоговом окне или в игре это является контекствной информацией
BorisZ: контекст - это свалка, куда кладут глобальные объекты и переменные, я так понимаю )
BorisZ: кторые многие модули будут юать
BorisZ: антипаттерн вроде, но много где юзают, потому как удобно
BorisZ: затрудняет написание тестов опять таки
amurushkin: короче как я понял данные в реквесте это и есть контекст
amurushkin: типа куков и данных сессии
jiki: b tcnm vyjuj rjyntrcnjd lkz ytuj
jiki: и есть много контекстов для него
jiki: ты сидишь в комнате и хочешь наблюдать кванты
jiki: произошла смена контекста
jiki: как только ты выйдешь из комнаты контекст поменяется
jiki: и причем контекст как на человеческийц сменится
jiki: так и визуальный контекст
jiki: контекст зависит от времени
jiki: и специфичных характеристик
jiki: опыт можно проводить дома на компе
jiki: чтобы не запутаться есть контекст
jiki: потомучто в 60 стояла задача как превратить то вокруг нас
jiki: передать что вокруг нас в иное измерение
jiki: тоесть и теперь в человеческом смысле при общении нас друг с другом появился новый контекст передачи смыслов
jiki: как только ты сказал игра все поняли в каком контексте будет дальнейшая тема обсуждения и чего она коснется
jiki: и назвали я думаю потому его контекст а коно диалоговым
mykeich: кто там на последней парте храпит?! не мешайте профессору
jiki: смотри я смотрю фильм в кинотеатре или дома в медаплеере или в диалоговом окне браузера
jiki: или смыслы в каком контексте я хочу передать действие которое со мной произошло
mykeich: jiki сделай паузу, если найдутся расстроенные тем что они не узнают продолжение истории, то продолжи:)
jiki: я смотрю или дома или в кинотеатре типо и везде будут свои характеристики и переменные
Uljahn: mykeich: го в дискорд
jiki: забаньте уже меня я общительный
jiki: или просто кикнете отсюда
mykeich: jiki а в реале с тобой так же?
jiki: я пока думаю люблю общаться
jiki: You cannot leave this channel.
Uljahn: мне модерские права ещё не пофиксили, могу только в #world кикать :/
jiki: 'nj z njkmrj cvsck ckjdf rjyntrcn gthtrbyek
jiki: это я смысл только слова контекст перекинул
vrabosh: jiki, как написать js который тут скрвает соообщения определенных пользователей?)
jiki: а есть еще контексты например в игре
jiki: они глобальные и меняются по твоей логике передачи вищуальной информации
jiki: в каждой своя задача и смысл
jiki: комната выбора режима игры
jiki: тут свои физические расчеты
jiki: в игре в активном состояниии свои
jiki: если встретятся два человека из этих комнат
jiki: они не поймут друг друга
jiki: у них нет контекста общего
jiki: один из них всегда просчеты делал кубов а второй просчеты букв
jiki: тоесть сущность боинг это контекст а по задаче реализации делится на разные контексты
jiki: контекст долта контекст гайки
jiki: болт мы вытягиваем а гайку выдавить и сделать отверстие
jiki: если попытаться углубиться в данную тему то получится чтото наподобии инженер визуализатор работа с контекстами передача информации из одного контекста в другой чтобы смысл повествования не менялся
jiki: я бегу грибы собираю чтобы квест адать чтобы стать сильнее потомучто за квест дадут улучшение характеристики ловкости
jiki: в одном глобальном контексте
jiki: примитив контекстов { MENU, PLAYER_STAT, PLAY, EXIT,GAME_OVER };
jiki: тоесть интелектуальная собственность
jiki: твоя игра высокоинтельектуальная?
jiki: бежишь собираешь грибы чтобы стать сильнее чтобы сходить на олимпиаду чтобы ловскости стало больше
jiki: в каждом контексте свои алгоритмы
jiki: все вместе программный комплекс визуальной информации а под капотом обработка что происходит в 3д
jiki: подсчеты статистика и прочее
jiki: или твоя игра про 1 состояние собирать пиксель и ничего не происходит кроме роста змейки как у меня
jiki: интелектуально не нагруженая простейшая
jiki: но самих состояний больше потомучто нужен геймовер и прочее
Uljahn: ок профессор
jiki: делаю квест чтобы стать сильнее
jiki: чтобы лвл апнуть и получить вещ
jiki: в контексте когда активное состояние
jiki: а почему она высокоинтелектуальная
jiki: есть локация генерация времени звуки анимации движение
jiki: сохранение промежуточных состояний активного состояния
jiki: тоесть перевод алгоритмов в удобный визуальный еффект для человеческого восприятия симуляции обьемного изображения на плоскости
jiki: https://youtu.be/nzxpNL5jswQ
jiki: https://youtu.be/nzxpNL5jswQ?t=4932
Uljahn: это теперь такой стиль общения популярен - кто больше напишет? :thinking:
Uljahn: открыл чат - одно моё сообщение, остальные все одного пользователя :relaxed:
Uljahn: это уже графомания, а не общительность, Automaton2000
Automaton2000: и там искать какой-то общности и поддержки
jiki: Automaton2000 телепортируемся
Automaton2000: ну или по крайней мере
jiki: просто есть состояние которое в паттерне
jiki: состояние мира для показа и состояния обьектов разные вещи
Uljahn: ты какие-то очевидные вещи умудряешься размазать на два экрана
jiki: нисколь не преувеличиваю
Uljahn: теперь ещё кат-сцены на движке добавь в процесс игры :smirk:
jiki: а анриал когда все бежит а ты отдыхаешь
jiki: я изза змейки и кути слегка вьехал в анриал
jiki: мож я созрел и получится
jiki: поувереннее чувствую себя
gybson_samara: ооооо, нам тут про Document-View вещают =)
jiki: посмотри в анриале на с++ какое состояние вызывается и сравни это состояние с тем что ты в жль перечисляешь
jiki: там можно персонажа создать
jiki: мб и документ вью ос тоже мир
jiki: вникая в анриал совесть мучает что не доделал своими руками двигло на жле(
jiki: https://www.youtube.com/watch?v=-X6L0GXTjbU
gybson_samara: Начало прям очень впечетляющее =))
jiki: в линейке щас так автокач сделан и некоторые мобы
jiki: я думаю какуюто оптимизацию корейцы проделывали
gybson_samara: начать лекцию про ИИ с того, что ИИ не существует - это отдельный вид искусства =)
gybson_samara: про то, что ИИ это куча ифов тоже очень полезная информация =)
jiki: я тебе рошный могу скинуть
jiki: там тоже самое о чем он щас говорить будет
jiki: его же потом пофиксить можно
jiki: алгоритм вставить свой просто
jiki: а для первого времени загрушку на проверках поиметь
gybson_samara: ну так-то это ИИ, но такой, винтажный
jiki: в фалауте интересно неужели умные мобы
gybson_samara: теоретически в сетевой игре можно сделать так, что мобы на голову людей уделают =)
gybson_samara: только кто тогда будет в это играть?
jiki: новчиек пока я пока в плоскости прогерства смотрю тоесть уперся
jiki: тоесть пока не могу обширнее глянуть
jiki: потом смотри какой он алгоритм произносит
jiki: искать рандомную точку будет
jiki: https://youtu.be/mXYDXlg7-KA
jiki: гибсон надо пв на уе 4 пилить
jiki: с двойным прышком :hugging:
jiki: ушел теперь точно отсюда надолго
jiki: https://youtu.be/QqsVGioJZTQ
Uljahn: до завтра
vrabosh: посоветуйте как можно сделать перезагрузку скрипта... в данном случае на фласке работает
vrabosh: я допустим пишу в боте команду restart bot
vrabosh: и чтобы он полностью завершился, тут понятно как это сделать, но вот как потом чтобы он опять сделал python3 main.py
vrabosh: такой способ os.system('python3 main.py') это плохой, это плодить питон процессы
vrabosh: может делать bash скрипт в цикле? типа пока работает и питон не вернул команду завершения дальще баш не идет.. как вернул завершения, опять перезапускает сразу
vrabosh: и можно ли возращать какой нить код, типа чтобы в баше если вернул 1 то перезапускать, если 0 то и баш скрипт завершать
vrabosh: или через баш скрипт в цикле тоже плохая идея?
jiki: первое лучше делать под подсистемой линух
jiki: потомучто команды sh тебе помогут
jiki: если лениво под подсистемой линух придется код показывать потомучто тут зависит от твоей реализации
vrabosh: я придумар решение, на самом питоне делать
vrabosh: причем я могу предварительно скрипт новый програть на тесты, если он не проходит тесты то не перезагружать... а сказать, типа поссмотри он тесты не прошел
jiki: может amurushkin прав был
jiki: показывай код я тебе годный совет дам
jiki: я примерно понял в чем дело
jiki: только надо именно на твою реализацию посмотреть
vrabosh: http://chat.codingame.com/pastebin/e781aae1-f0b8-41a5-84cb-b199c5b79aa1
jiki: хотел тебе годный совет дать
vrabosh: и вчем проблема?
jiki: кроме паролей и прочего просто строки удали
jiki: ты задаешь вопросы которые завязаны на реализации
jiki: хотя могу ответить как и ты вопросы задаешь
jiki: надо переподключить бота
jiki: выключить текущее соеднение и заного туда же
jiki: по тем же строкам и прочее
vrabosh: зачем тебе код?
vrabosh: форы ифы
vrabosh: классы
vrabosh: любой можешь подставить.
jiki: да именно поэтому я лучше в мктс разберусь сорри
inoryy: vrabosh https://docs.python.org/3/library/os.html#os.execl
vrabosh: http://chat.codingame.com/pastebin/35e84d9e-3e35-4c38-a9bb-14bc33dc0dcd
vrabosh: вот код примерно.. такйже
jiki: разбирайся пока все не в попад
jiki: твой вопрос немного не так прост как кажется
jiki: либо пока оставь как есть
jiki: если просто о сложном тебе просто по новой надо сделать что в начале только перед этим надо выйти со страницы
vrabosh: inoryy, спасибо.. ну а вообще как я напиал.. другим скриптом перезапускать в цикле, норм?
inoryy: ну сойдёт но зачем если есть специальные функции
vrabosh: какие?
inoryy: я тебе скинул же
inoryy: These functions all execute a new program, replacing the current process; they do not return. On Unix, the new executable is loaded into the current process, and will have the same process id as the caller.
jiki: клево но там проще обойтись можно
jiki: ты видимо хочешь бота сервера
jiki: тебе надо сделать состояния
jiki: ну и работать в состояниях
jiki: в зависимости от команд которые принимает бот
jiki: то что мы пишем в конструкторе
jiki: называется инициализация
vrabosh: inoryy , круто, я смогу в самом main.py это реализовать? не надо дополнительный файл делать?
inoryy: vrabosh да
vrabosh: и пладится не будут питон процессы
jiki: тебе надо завести функцию туда все спрятать что делается во время включения тоесть инициализируется
vrabosh: ваще бомба
jiki: и твой класс последовательно будет работать в опр состояниях
jiki: а ты идешь по пути хаотического решения
vrabosh: я сделал супер класс, где подкопотные вещи делаются, в другом файле вызываю основной класс наследую супер классс...
inoryy: vrabosh по идее всё что надо это os.execl(sys.executable, sys.executable, *sys.argv)
vrabosh: и потом экзепляр передают фласки, который вызывает методы которые надо..
vrabosh: так получается код короче и гибче для меня..
inoryy: мб чуть поиграться если нестандартно интерпретер питона установлен
vrabosh: по другому не смог придумать
vrabosh: поэтому перезагрузить класс у меня не получится..
jiki: есть класс в нем инит так?
jiki: надо завести перечисление состояний
jiki: в каждом из состояний работают опр методы
jiki: состояния запускаются в опр последовательности
jiki: и вызывать в состоянии только то что должно быть завести евент булевый
jiki: если тру переходит в следующее состояние
jiki: тогда ты сможешь завести функцию ребут или состояние ребут
jiki: и в ребут закинуть последовательно выключение состояние
vrabosh: и зачем так издеватся?
vrabosh: не проще скрипт перезапустить
jiki: подход хаоса или подход группирования
jiki: в хаосе у тебя компот решений
vrabosh: вот как инори написал, перезапускать скрипт
vrabosh: как? ты думаешь я твои слова пойму?
vrabosh: дай видео где это все доходчиво расспиано.. посмотрю
vrabosh: ну то что ты пишешь, я особо не понимаю
vrabosh: я понимаю, что ты мне какойто паттерн расказываешь
jiki: лучше не бросаться такими словами
vrabosh: если через куча наследований делать. я в такой запутываюсь, не могу все в голове хранить.
jiki: а разбираться по мере необходимости без патернов
jiki: рабочая единица или сервер
jiki: не совсем сервер но там можно придумать эти фичи
vrabosh: чтоб мне это понять, надо это изучать. и переписывать под этот автомат..
jiki: представь такую сущность где все сгруппировано и нужны команды самой сущности
vrabosh: ты не сможешь мне пояснить это в чате
jiki: старт 1 2 3 4 5 6 7 выход
vrabosh: я нашел лекции по автоматам
vrabosh: надо посмотреть. еще советуют по солид посмотреть
jiki: надо научится не агрится на тебя ты какойто не понятный
vrabosh: вчем не понятный?
vrabosh: ты сказал про автоматы, хороший видать алгоритм.. я понял где про это посмотреь.. в чате это нереал пояснить.. тема большая..
jiki: если подождешь я тебе вычищу свой роект и увидешь чо это
jiki: потомучто когда мне в вузе обьясняли я не думал об этой реализации
jiki: теория автоматов если быть точным или тау помойму из той же оперы
jiki: но к реальному применению даже в жле то что я слушал 150 лет назад не относилось или обьясняли так или я не понимал
jiki: http://chat.codingame.com/pastebin/bb64f51a-ab4a-4d8a-932b-fc2f54b0a25b
jiki: смотри на draw() для наглядности
jiki: и в целом все в таком стиле
jiki: работает только в том кольце алгоритма автомата в каком состоянии сейчас назодится обьект
jiki: у тебя вполне замето геймовера может быть ребут
jiki: можно сессии даже сохранять так
jiki: глобальный евент тебе все же я думаю придется завести
jiki: анриал примерно так же работает как кутишный жль
jiki: примерно но там все спрятано
jiki: ты видишь только тик и 1 состояние
vrabosh: надо изучать все это..
vrabosh: тема может инересная.. потомучто мне любопытно как у анриал можно в режиме онлайн разрабатывать и сразу видеть результат, без компиляции по сути сишный код
vrabosh: может также получется реализовать и чатботов, когда в реалтайме можно делать..
jiki: ну моя змейка так работает
jiki: просто по новой запускается
jiki: и можно либо выйти либо по новой начать
jiki: ты просишь чтобы у тебя по новой начал бот
jiki: надо разлогин сделать и инициализацию по новой
jiki: и по новой войти проинициализовать бота
vrabosh: не надо нажимать выход
jiki: ну попробуй просто переинициализацию бота сделать
vrabosh: http://chat.codingame.com/pastebin/f1f59031-1cc8-47d2-9819-f976ab5a6adc
jiki: в анриале надо скомпилить чтобы увидеть изменения!
vrabosh: вот код чатбота, я там добавил новое чтото.. как мне перезагрузить это?
vrabosh: нету в питоне кейсов
vrabosh: ну ты прикалист
jiki: тебе потом к слову еще оптимизацию делать
jiki: или не парься просто напиши уже бота
vrabosh: можно былобы этот класс модулем сделать и перезагружать модуль.. и ему кидать экземпляр всего состояния бота.. но решил почемуто так сделать
vrabosh: я сразу с оптимизацией делаю
jiki: это питон уже оптимизорав
jiki: тогда я хз как в питоне с такими темами
jiki: хауди хо в обзоре своего топа питон классифицировал как веб язык
jiki: тоесть вэб со всеми вытикающими
jiki: а сакутин обозревает алгоритмы которые хотябы говорит или упоминает что можно встраивать в игры
jiki: шарп получается по шире будет по применению
jiki: ну и шарп оптимизировать как раз придется
jiki: все видео Сакутина по крайней мере об этом
vrabosh: мне игры не интересны
vrabosh: и пк приложения
vrabosh: бэкэнд
jiki: дот фреймворк имеет дофига всякого
vrabosh: у меня виндовза нет
vrabosh: без фронта
jiki: мне достаточно было написать и испытать совесть по бросанию с и с++ и я тупо продолжил с и с++
vrabosh: к си надеюсь тоже доберусь
vrabosh: для задачь где надо скорость и чтобы архетикнуту понимать
jiki: тебе если вэб то следующее нод жс
vrabosh: ойладно..
jiki: любой эвмщик скажит после обучения где ему долбили пол жизни про си
jiki: я на интуите сидел 3 курса проходил это си 1 в 1 почти
jiki: есть некоторые моменты только
vrabosh: может реально лучше переписать на модули.. тогда я поотдельност смогу перезагружать через сообщения чат боту, что хочу
vrabosh: т.е. разбить по файлам функции ключевые и пеедавать им все знанчения типа так
vrabosh: def message_new(db, vk, app, data):
jiki: надо написать чат бота на опенжль
jiki: он вроде не плохо текст рендерит
jiki: потом встроишь своего бота в игру в чат)
jiki: там же тоже чат надо создавать
jiki: есть тут кто не пофлудитья тупой
jiki: я же правильно изучил что это граф?
jiki: а как понять где в ней ребра
jiki: или это матрица инциденстности
jiki: наверно инцидентности и надо искать вершину где точки чтоли
jiki: вершина это строка чтоли
jiki: тоесть в графе надо сначало найти позицию кирка потом идти по точкам отмечая как посещенные
jiki: и вернуться по кратчайшему пути
vrabosh: ура я переделал
jiki: слушай ты разбираешься в графах?
vrabosh: теперь у меня в отедльном файле и я перезагружаю просто модуль
vrabosh: def main(app): http://chat.codingame.com/pastebin/87fa9673-7272-4fa0-a9fd-20962ecab173
vrabosh: вот код еще короче стал
vrabosh: чуть чуть разбираюсь
jiki: я пока в лабиринте точка пишу в 1 ветку вниз чтоли при повороте в лабиринте беру любой парент?
jiki: повернул пишу в парент левый например
jiki: повернул и еще раз в дереве повернул
jiki: а не опасно такие деревья создавать так в них дико?
vrabosh: сек
jiki: или я пише до поворота в строку массива?
jiki: например иду влево 5 позиций записал в первой строке
jiki: повернул вверх прошел 3 позиции
jiki: мне для другой задачки надо
vrabosh: http://chat.codingame.com/pastebin/10f9938b-4bfd-466f-88b3-c6bf5003e46f
vrabosh: вот в борде типа лабиринта, 1 это стены
vrabosh: в графе расписано куда ходить можно, я прописал только для 3 координат
jiki: а как ты кратчайгий путь найдешь обратно где куча ветвлений если обход заполнит все дерево
vrabosh: (x,y):[(x1,y1), (x2,y2)...] - первые это оординаты от точки и вторые куда ходить могу
vrabosh: это построение графов
vrabosh: пока
vrabosh: for xn, yn in graph[(x,y)]: #x,y - это где я стою.
#тут перебирать надо, почти в рекурсии, пока не доходишь до той токи которая тебе надо
vrabosh: блин пояснять надо долго..
vrabosh: ты начинаешь с точки x y, идешь во все соседнии, ей я ставлю 1 проход... потом из тех соседний в другие соседнии
vrabosh: когда достигаешь цели, в обратном порядке возращаешься
vrabosh: что имено дерево?
jiki: и обратное возращение по дереву когда я дошел до цели
jiki: повернул в дереве повернул
vrabosh: http://chat.codingame.com/pastebin/f722b27b-0a59-4c88-8b68-8b0ec124b303
vrabosh: начинаю путь там где 1
vrabosh: х - это стены
vrabosh: + - это куда хочу попасть.
vrabosh: два самых коротких пути, если начать идти обратно
vrabosh: ты массив этим заполни цифрами.. и потом будешь смотреть рядом самую маленьку цифру туда и идти от + обратно к 1
jiki: походу надо нарисовать такое дерево мне разок чтобы понять
vrabosh: https://www.youtube.com/watch?v=sBJ7ana1fgI - вот чел просто расказывает..
vrabosh: там правда несколько лекций.. 23, 24, 25 наверно придется смотреть
jiki: нарисуй лерево пути приятно уливишься
vrabosh: гдето у меня еще ссылка крутая была, где в браузере все это показывается наглядно
jiki: сек мне тут долго рисовать еще
vrabosh: я когда разбирался, тоже столько нарисовался)
vrabosh: и то я нубски совсем эту тему знаю
vrabosh: там много теорий в этой теме.. я только чутото освоил мелкое и все..
vrabosh: вот как раз в лекции там рассказывается, что есть просто деревья, есть замкнутые в циклы графы, есть еще какието
vrabosh: и примеры как их решать..
х х х
vrabosh: потом даже есть хороший пример шахматный, как конем чтото там выиграть
jiki: если я иду вперед пишу вниз
jiki: если поворачиваю вверх пишу вправо
jiki: если тупик вернутся до поворота
vrabosh: http://chat.codingame.com/pastebin/3ecc9e1d-9d51-48f3-972c-af0cf9584ca2
vrabosh: вот так я примерно заполняю.. каждая нода имеет id
vrabosh: и потом в цикле прохожу этот граф
jiki: у меня матрицы применяются в другом смысле
vrabosh: ты начинаешь с 1, от него можно пойти в 2, и 3
vrabosh: от второго можно в 4 и 6
jiki: я не понимаю такой логики я понимаю с деревом ниточкой но матрица и обход ее как лабиринта не понимаю
vrabosh: а ну да, тыж на Си пишешь) там массивы, сложнее наверно)
vrabosh: это я тут читирю со списками
vrabosh: посмотри те лекции.. там он на питоне поясняет, но я думаю у него есть и на с++ т.к. это его основной язык препода того
vrabosh: иначе самому долго разбиратся
vrabosh: но если ты пазлы решаешь, то можно и самому покумекать.. я обычно там сам чтото придумывал.
jiki: ты делаешь обход графа в ширь от вершин
jiki: строки как я понял у графа это вершины
vrabosh: цифры врешина.. слева цифра вершина от которой начинаю путь, после : те вершины куда могу идти
jiki: ладно тогда такой вопрос как дерево рационально правильно засунуть в дерево
vrabosh: и потом в цикле проходишь. смотрю куда можно пойти от 1 вершины... это [2,3] , через рекурсию допустим иду к вершине 2, она покажет что еще кудато.. ее прохожу, встрял в тупик, возращаю рекурсию
vrabosh: потом вернулся обратно, потом идут в вершину 3, и опять рекурсивно до тупика
jiki: не то написал как матрицу в дерево асунуть
vrabosh: и во время хотьбы собираю данные о пути этом.. растояние, вес какой нить, или просто дошел не дошел и когда возращаю, могу показать каким путем щел
jiki: смотри у тебя маленький код
vrabosh: сначало матрицу создаю, чтоб проще было по ней бегать
vrabosh: названия вершин
vrabosh: a b c можно назвать
vrabosh: нод твоих
vrabosh: сервер 1 пингует сервер 2 и 3
vrabosh: а 2 сервер пингует 4 и 10
jiki: http://chat.codingame.com/pastebin/606aa8c6-78a1-477c-807f-62fd5fd44bb8
vrabosh: я начинаю путь так 1 - 2 - 4, 1 - 2 - 10, 1 - 3
jiki: она так занесется в дерево
vrabosh: в питоне есть списки.. через массивы надо больше их создавать..
vrabosh: есть кнечно математический способ через матрицы
vrabosh: но я в них не шарю
2:[4, 6] 6:[10, 11
vrabosh: да так
vrabosh: 1=2=6=10
vrabosh: я опечатался наверно
jiki: поидее получается 2 4 6 10 11
vrabosh: как там си for(i=0; i>=len(arr[1]; i++){ for(j=0; j>=len(arr[i]); j++){....
vrabosh: только в рекурсию это, или через стек
jiki: ты мне вот массив написал а как обратно возращаться?
vrabosh: 2
4 6 10 11
vrabosh: вот так получается
jiki: ладно я пойду разбираться
jiki: весь лабиринт надо записывать кудато
jiki: вариант как искать я понимаю
jiki: а как возращаться по дереву не понимаю
jiki: потомучто я нарисовал дерево предположительно какое будет после находки центра
vrabosh: return номер который эту функцию вызвал
jiki: я понимаю как поиск происходит
jiki: я не понимаю дерева итогового конечного по которому я должен кратчайший путь нати
vrabosh: ты возращешь ретурн и собираешь масив в обратном порядке
vrabosh: ты дошел до 10, а он равен 10:[]
jiki: ладно я кажется придумал
vrabosh: пишешь ретурн [10] он возращает в 6 который его вызвал, шесть добавляется к 10 получается [10, 6] и так до самого низа
vrabosh: их поразному можно проходить, решать, кто как придумыват)
jiki: если я правильно понял все сводится не к решению задачи а логике дерева чтобы удобнее было понять
jiki: а написать по разному можно
jiki: получается движение по лабиринту влево вниз вправо вверх это сенсоры
vrabosh: посмотри видео какие дал
jiki: я хочу из графа строить дерево
jiki: плююсь на стены пока иду по графу
jiki: но не по графу а по дереву
jiki: мб я так хочу но я пока чото не догоняю хз
jiki: видео улетело в анналы чата
vrabosh: https://www.youtube.com/watch?v=sBJ7ana1fgI
jiki: нет буду искать чонить другое
vrabosh: https://www.youtube.com/watch?v=4E-_uzO0A_A
vrabosh: вот тут на с++ он рассказывает.. чтото, по доске вроде как раз проходы вроде
vrabosh: мне нравится как он рассказывает, попростому
vrabosh: прям для нубов
jiki: тебе кажется что я не одупляю в эту тему а я в нее влупляю
jiki: мне графы нужны для людей
vrabosh: графы вообще крутая тема, если в них разобраться как следует, можно крутые вещи делать
vrabosh: посути как я понимаю, написания языка программирования это тоже графы, хтмл, браузер вцелом
vrabosh: в играх писать ии для ботов
vrabosh: тут выигрвать контесты)
vrabosh: вот еслиб я решил задача с лабиринтом, где есть 2 чела и им надо максимально эффективно собрать монетки в лабиринте.. за короткое время
vrabosh: вот это былобы круто
jiki: как пользоваться им тоже
jiki: не понимаю применение графа именно в задаче кирка
vrabosh: нарисуй на клеточках лабиринт
jiki: я не понимаю именно лабиринт
vrabosh: и от того где ты стоишь, прибавляй по циферки вокруг
vrabosh: дойдешь до точки назночения
vrabosh: и идя в обратном порядке по минимальным цифрам дойдешь до себя
jiki: не хочу тупо обходить граф строками
vrabosh: есть способ математический
vrabosh: через перемножения матриц както там
vrabosh: перебором это чисто программерский способ
jiki: лабиринт через перемнождение?
vrabosh: в книгах как раз думаю пишется через матрицы
vrabosh: да, есть формулы
vrabosh: щаз сек.. забыл как называется.. с мостами там задача
vrabosh: да на ютубе куча видео
vrabosh: больше чем программеркого
jiki: а второй массив с лабиринтом
jiki: можно отпечатать лабиринт во второй массив
jiki: нет ну ладно если серьезно
jiki: тупо я нашел что такое граф и как его обойти
vrabosh: https://portal.tpu.ru/SHARED/t/TRACEY/Courses/English/Tab1/graph_lec_08.pdf
jiki: вот и я дерево так обходил все тут понятно
vrabosh: тут может чтото есть
jiki: НО НЕ ПОНЯТНО КАК ГРЕБАНЫЙ ЛАБИРИНТ ПРОЙТИ
jiki: даже в три 3 вроде понятнее чем тут
jiki: 6 точек из которых является путь
vrabosh: https://networkx.github.io/ - вот библиотека есть
jiki: нахера нужна вообще матрица смежности
vrabosh: https://ru.m.wikipedia.org/wiki/A* - тут показано как добраться до ближайшей точки, т.е. лабиринт пройти
jiki: почему она так называется что мы в ней ищем вообще
vrabosh: хз, меня про это лучше не спрашвать.. я вот даю, что находил в прошлом)
vrabosh: сам я нуб
jiki: http://chat.codingame.com/pastebin/b1fed150-0745-4738-a901-05d03df60673
jiki: результат выполнения 1 2 3 4 5 6 7
vrabosh: https://www.youtube.com/watch?v=25-l_f07L6g - вот чел чисто про лабирит рассказывает..
jiki: для кого эти графы вообще как их человеку понимать?
vrabosh: в питоне есть numpy там легко работать с матрцами)
jiki: нахера такую дурь выдумывать
vrabosh: питон читерский язык)
jiki: граф матрица я еще пойму
vrabosh: та хз чего они это выдумали.. этож математики
jiki: но нахера на графе 0 и единицы
vrabosh: https://habr.com/ru/post/331192/ - тут вообще наглядно про лабиринт
jiki: в этом гребаном графе выдал у ней 1 2 3 4 5 6 7
vrabosh: http://qiao.github.io/PathFinding.js/visual/ - а вот программа на js прям в браузере можно свой лабиринт делать)
vrabosh: и там как раз разные алгоритмы..
jiki: да я могу сделать лабиринт я не понимаю накуя графы вообще почему они так называются нафига она его заполнила нулями единицами и что она ищет там вообще
jiki: это бомба а не технология
vrabosh: https://m.habr.com/ru/post/105302/ - вот там какието муравьиные алгоритмы, типа как в природе это)
jiki: на хера мне муравьиные алгоритмы
jiki: я скоро буду верить что нет
vrabosh: https://www.labri.fr/perso/nrougier/from-python-to-numpy/ - вот еще книга на англ, там картинки можно посмотреть)
vrabosh: графами можно работать как с матрицей математически, и программерский способом
jiki: нахера все это обьясни по русски
jiki: как это назвать все по русски матрицы что это ?
jiki: что она ищет в графе с 0 и единицами
vrabosh: матрица то что в уневере рассказывают
vrabosh: граф тоже математический термин вроде
jiki: ответ программы 1 2 3 4 5 6 7
jiki: что это за вывод зачем он
vrabosh: ну 0 это может быть куда можно ходить, 1 куда нельзя.. я хз что за задача же
jiki: это на всех языках дич такая или есть где сахар?
vrabosh: не зна... я вот дал все что когдато сам находил
jiki: может есть где все для тупых расписано
vrabosh: на ютубе просто дофигище лекций
vrabosh: вот там про алгоритм А* где лабиринт, посмотри как оно прально называется и поищи в ютубе
vrabosh: походи по ссылкам, там поймешь думаю
jiki: мне нельзя ити дальше графов
jiki: и нигде не описано для таких как я что есть что
jiki: 0 – соответствует отсутствию ребра,
jiki: 1 – соответствует наличию ребра.
jiki: 0 приходит к 1 и спрашивает 0 у тебя есть ребро?
jiki: 1 ему говорит нет ты же вчера забрал
jiki: и как хранить этот граф?
vrabosh: да это все в патрице хранится
vrabosh: если математическим способом решать
jiki: ну да название по русски матрица
vrabosh: матрица это как шахматная доска
jiki: я знаю не надо мне затирать на матрицы
vrabosh: a b c d b 0 0 1 c 0 0 1 d 1 0 0
vrabosh: это матрица
vrabosh: это чтото типа b может дити на d
vrabosh: потомучто пересечение у них на единице
jiki: как она туда попадет и пойдет? по 1 ходу обьясни
vrabosh: а не прально написал)
vrabosh: вмсто а там пусто)
vrabosh: и вместо б - а
vrabosh: итд
jiki: пошагово обьясни как она попадет вообще кудато
vrabosh: это просто способо такой хранить их
vrabosh: та я хз, я не понимаю как через матрицы они считают
vrabosh: там формулы какието
vrabosh: это так они лабиринт переносят на матрицу
jiki: как на графе попасть из точки а в точку б
vrabosh: если лабиринг 100х100, матрица наверно вообще будет на 10к
vrabosh: лично я по программерски делаю
vrabosh: и записываю так а:[b]
jiki: как ты ходишь по лабиринту
vrabosh: b:[a}
vrabosh: a:[b] b:[a]
vrabosh: это означет что могу из а в б и из б в а
jiki: меня переклинило я не понимаю
vrabosh: я не смогу пояснить. тебе надо видео посмотреть, там точно поймешь. они на доске рисуют
vrabosh: и записывают это потом в масив, и для чего это поясняют
vrabosh: я тебе кидал видео где попрограммерски говорят
vrabosh: есть куча видео где через матрицы по математически
jiki: програмерски не програмерски по человесчески
vrabosh: программерский это когда я прохожу граф через рекурсию.. спамом посути
jiki: и для чайников по хочу расшифровать разок
jiki: я тут чото нашел пойду читать
jiki: знаешь чо чуваку ответили
jiki: Всем привет! Возникла проблема, нужна помощь !
jiki: Как преобразовать лабиринт в граф, чтобы стали известны: количество вершин в графе и расстояния между вершинами?
jiki: Имхо, здесь лучше использовать волновой алгоритм.
vrabosh: аха
vrabosh: поэтому и говорю, видео смотреть
vrabosh: потомучто я не смогу пояснить
vrabosh: программерккий это когда ты через цикл и функции делаешь, где куча раз цикл проходишь и функцию.. а математический, это когда ты матрицы перемножаешь по формулам
jiki: человек может понять хотел а ему про волновой алгоритм пишут
jiki: это как я тут как дибил со фурье
jiki: я теперь понял как линит когда так отвечаешь
vrabosh: волновой это как я понимаю, чтото типа.. ты рядом себя пишешь на циферку больще, потом рядом тех цифр еще на цифру больще
vrabosh: а ты 1 допустим
jiki: ты не понимаешь а тебе тут про фурье затирают
vrabosh: пошел смотреть автоматы)
vrabosh: вот я тебя также поинмаю, когда ты поясняешь
vrabosh: https://www.youtube.com/watch?v=9fdkrSvgqeo - вот тетя по нубски раскаывает
vrabosh: вот 1 - это как растояние 1метр, а 0 это нет связи
vrabosh: нет дороги
vrabosh: 1 - это дорога с растоянием 1 км, 0 - это туда дороги нет
vrabosh: можно и другие цыфры писать, просто когда в графах нет растаяний или весов тогда просто 1 ставят
vrabosh: я вообще по своему нумирую это все
vrabosh: и - ставлю и плюс, и иногда дроби
jiki: у меня все было кроме графов
vrabosh: бывают растояние, а бывают милесикунды за сколько ты пингуешь сервак
vrabosh: бывают бабло
vrabosh: вот если я пойду до васи Б, сколкьо там заработаю, а до васи В, а потом от до С или может лучше до Б и потом до Д может так больще заработаю
vrabosh: вес - это что угодно, растояние, деньги, пинг, длина
vrabosh: граф этож не только про лабиринт
vrabosh: где каждый кватратик одного размера, и вес там может быть, есть в этом кватратики монетка или нет
jiki: где все ячейки соединены
vrabosh: да, вот ребра могут быть весами
jiki: в ячейке по идее может быть либо 0 либо 1 в зависимости от задачи так?
vrabosh: а вершины просто как названия соединяющие ребра
jiki: что значит вершины просто как названия соединяющие ребра
jiki: ты мне про куб граф затираешь?
jiki: я тебе про двумерный граф
vrabosh: 0 это ты видишь в матрице, что говорит что туда хода нет.. т.к. матирца квадатная
vrabosh: точнее эта вершина не соеденена с той
vrabosh: граф невано какой он куб или не куб
vrabosh: а - б
vrabosh: это уже граф
jiki: в 0 нельзя ходить в 1 можно ходить
vrabosh: а - б ! с
jiki: в 0 нельзя ходить в 1 можно ходить?
vrabosh: а:[c,b] c:[a] b:[a]
vrabosh: а вот через матрицу
vrabosh: а б с а0 1 1 б1 0 0 с 1 0 0
vrabosh: это тоже самое
jiki: в 0 нельзя ходить в 1 можно ходить?
vrabosh: с матрицей вроде понял? это обычный масив двумерный.. где координаты yx
vrabosh: да
vrabosh: а в первом варианте это arr[a] = [c,b]
jiki: Степень входа вершины – количество входящих в нее ребер, степень выхода – количество исходящих ребер.
jiki: чо ребра еще посчитать можно в графе?
vrabosh: ну вот по формулам можно находить короткие пути
jiki: ребра нули и единицы надо же сделать хоть чтото полезное
vrabosh: это если через матрицу
vrabosh: ты матрицу понял какую я нарисовал?
vrabosh: берешь 1 и смотришь с чем пересекается, значит там дорога есть между этими двумя точками
vrabosh: ну как в шахматах
vrabosh: а-1
vrabosh: конь а-1, ходит на с-4
vrabosh: а-1 = это считай 1
vrabosh: вот там что я нариовал там 1 находится на б-а
vrabosh: значит между б и а есть дорога
vrabosh: по ней можно ходить, туда и обратно, т.к. единца как в б-а, так и а-б
vrabosh: а бывают графы одностороние
vrabosh: где только а-б допустим, в б-а будет нолик, это одностороний
vrabosh: поинмая как это все перемножать, можно найти короткий путь от а до z допустим,
jiki: нахера все это придумали
vrabosh: чтоб короткие пути находить, веса короткие
vrabosh: лабирин эффектвно проходить
vrabosh: это чел придумал, которого была задача как пройти мосты в какомто городе не пересекаясь 2 раза на вершинах
vrabosh: а нет, как пройти мосты не хотдя два раза по одному и томуже
jiki: http://chat.codingame.com/pastebin/e36a9d88-674a-4ff7-be26-80f36baf7e2b
vrabosh: в питере допустим
jiki: если точка пишу к себе и помечаю как пройденый
vrabosh: это не матрица
vrabosh: это лабиринг
vrabosh: http://chat.codingame.com/pastebin/0337d0e5-cc55-4a08-bd89-dce9de331c54
vrabosh: вот как я решилбы эту задачу
jiki: так это лабиринт уже интересно
vrabosh: я 1
vrabosh: и мне надо до Т дойти
vrabosh: понял суть по внешнему виду?
jiki: я пока понял что видимо зря я отчаивался надо видимо тупо пройти граф в ширь и записать точки или прочекать точки
jiki: забей не обьясняй больше лучше
jiki: а как в думе засунули кадры в дерево