Алгоритмы Поиска Пути на Python. Алгоритм А*, Дейкстры, Поиск в ширину [ Pygame ]
HTML-код
- Опубликовано: 5 сен 2020
- В данном видео мы познакомимся и на практике применим алгоритмы поиска кратчайших путей такие, как алгоритм Дейкстры (Dijkstra), алгоритм А*(A star) и алгоритм поиска в ширину (BFS) на языке Python (Пайтон, "питон").
Увидим что алгоритм поиска в ширину (breadth first search) используется там, где нет затрат на перемещение. Алгоритм Дейкстры применяется для взвешенного графа в том случае, когда надо найти пути до всех вершин в графе. И алгоритм А* (A star, А со звездочкой) идеально подходит в поиске пути для определенной точки или вершины.
Алгоритмы поиска пути имеют важное и фундаментальное значение в разработке игр, маршрутизации и работы навигаторов.
Для вывода графической информации будем использовать библиотеку Pygame. Pygame это удобная библиотека для вывода графической информации и для создания несложных игр, превосходно подходит для начинающих программировать на языке Python (Пайтон, "Питон").
Чтобы установить Pygame, напечатайте в терминале и нажмите Enter: "pip install pygame" (без кавычек)
Код из видео:
github.com/StanislavPetrovV/P...
#standalonecoder
Просто красотище. Почему не было таких видео в то время когда я учился ( ... Автору ЖЫРНЫЙ Лайк.
Почему ЖЫРНЫЙ?
@@aangryguyy Ну типа, ЖЫРНЫЙ, а не жирный, типа совсем жирный.
Комментарий в поддержку программистов на Python
Cgc
Это, то чего мне не хватало! Спасибо огромное, ты лучший!
Красавчик, спасибо за прекрасно подготовленный и поданый материал! В проверке остальных твоих видосов!
Я уверен, что у людей, которые только вкатываются в математику и программирование это вызовет неподдельный интерес)
Спасибо за такие видео
Довольно интересные темы на канале, спасибо за видео!
Лайк, коммент для продвижения канала
Это самый полезный канал на ютубе(мне надо было систему поиска пути) очень помог.
Спасибо за ваши видео, желаю дальнейших успехов
Шикарно объяснил всё. Спасибо большое!
Да ты в каждом видео делаешь крутые проекты. И оставляешь код. Я думаю студенты обожествляют тебя за такие труды.
Посмотрел сотни видео по этой теме и прочитал множество статей. Реализация просто гениальна. Очень элегантно, автор жжет
Какой же ты красава! Спасибо за контент)
Отличная подача материала! Успехов вам)
Кроме как огромного человеческого спасибо , на данный момент ничем помощь каналу не могу , но возможно благодаря этим знаниям , я смогу что то годное выпустить , и вот тогда смогу и чем то материальным отблагодарить .
Прекрасный контент! Хорошо сделано! Желаю удачи в продвижении, 👍
Как всегда, круто!)
Продолжай в том же духе
Супер полезный материал, ахуительная подача, реализация на питоне(просто я только питон и знаю) и это все на русском - ну тут просто мое почтение и моя благодарность, мистер.
Круто, видел подобный алгоритм в книге - грокаем алгоритмы, Спасибо за видео
Полгода назад искал как описывать препятсвия в таких алгоритмах - сам конечно допёр, но потом попадались только статьи от 2ГИС, и вот мне решили показать наконец-то то что я искал - да почему бы и нет - прогу то всё равно надо сделать, но рекомендации ютуба это С-скорость, ну как говорится лучше поздно чем никогда
Шикарный канал!!! Ты молодец!
Огонь! Спасибо за видео!)))
Это очень полезно, спасибо большое
Класс!!! Тема очень интересна!
Великолепно!
Это просто мега, супер видео, автор молодец с большой буквы, лайк лайк ...
Прекрасно👏
Респект, классные видео👍
супер видео!
Святой человек, спасибо тебе!)
Очень качественно. 10/10
Cool, respect.
Спасибо, очень помогло в универе
Спасибо!
Нет слов, чисто лайк
Красавчик!
Крутотень!
Лайк, подписка. Спасибо
Интересно:)
Сделай видео про различные фракталы(кривая дракона, песочница и тд) думаю будет невероятно круто.
Благодарю
Круть!
Круто)
Аааа!!!! Вы куда пропали ?!? Канал годный ...
Хочу ещё))
Успел до 100 просмотров)
снова коммент для продвижения канала
Оставлю комментарий, что бы помочь в продвижении)
👍👍👍
Чел ты крут
Сросибо
Вот не поверишь как ты помог, материал классный. Кроме алгоритма Дейкстры и А* существуют ещё алгоритмы построения позволяющие построить дерево Штейнера?
поддержу
Очень круто, жаль сложно.
Еще коммент для продвижения канала
👍
Пушка
Лайк, коммент
Луууучший
Мне приходилось искать методом волнового алгоритма путь по поверхности 3D модели. Только вместо клеток - вершины.
сделай пж урок по рэй марчинг, ищу ищу информацию да все никак не понимаю найденного, ты очень хорошо объясняешь пж сними ролик🥺🥺🥺
Классно, но не хватает комментариев в коде на гитхабе)
коммент для продвижения канала, зачем я делаю это
Никера не понял. Но очень интересно!
Сделай пожалуйста дискорд сервер канала
Подскажите пожалуйста, где вы нашли такую картинку карты (Алгоритм Дейкстры)((и как сетку сделали? В Пеинте?))? Где можно найти подобные? Заранее спасибо
upd:
про сетку: не заметил офис, прошу прощения)
Очень прошу: пишите, пожалуйста, комментарии в коде, который Вы выкладываете на github. Так будет легче понять что и где происходит. Спасибо
643 лайка и 0 дизов, молодец)
⭐⭐⭐⭐⭐
Очень интересно! Правда в коде особо не старался разобраться, так как уже устал задень. Завтра попробую понять))) И не забрасывай это дело. Но мне не даёт покоя вопрос - сколько же тебе лет?)
Где-то 30.
Класс! А если поле не квадратами, а шестиугольниками, то эти алгоритмы работают так же? Или там вся соль в представлении системы координат для такого поля?
Да, вся соль в представлении такой карты, а алгоритмы те же.
Что если у тебя не будет пути из А в В в графах такое возможно?
У меня вопрос(2:45): Зачем в переменную graph запихивать каждую соседнюю клетку сразу всех клеток? Разве это не забьёт память не нужной информацией, если карта будет большой, в то время, когда 80% этой информации даже не понадобится.
Разве не легче вызывать функцию get_neighbours с параметрами текущей клетки тогда, когда это нужно, чтобы получать только тех соседей, которые нужны.
однако!
А такое-же, только в 3д будет?
братан, у тебя нету случайно текст этого видео в записаной форме?? мне очень нужно, пожалуйсто
Отлично, автор ответь по электронной почте пожалуйста
Deque не содержится в collections что делать
Вердикт:У автора уровень IQ выше 140
А как можно нарисовать не кратчайший путь, а самый длинный? Очень нужно, а я не очень понимаю как сделать
А можно как то сделать чтобы алгоритм двигался с 0 на 1 а с 1 на 0 (желательно кодом если можно)
В коде с Поиском в ширину есть одна проблема, по крайней мере я точь в точь писал код и иногда выдовало ошибку, бро, когда припятствия рандомно строятся то начальная точка пути, а именно [0][0] может быть не пустой, и путь не будет строится
grid[0][0] = 0
Проблема решается ))
@@doctorbuglindesh8563 ну я так и решил)
У меня к тебе вопрос .. Как в этом алгоритме сделать минимальное количество поворотов ? Тоесть найти путь с минимальным количеством поворотов
Кажется переменная cur_cost не нужна и можно просто добавлять в приоритетную очередь элементы. 7:17
Разрешите вопрос, border_radius, как автор это сделал, в моем коде он ругается на это, типа какого хрена, переменная делает здесь. Подскажите как сделать
Установите Pygame 2-ю версию
pip install pygame==2.0.0dev22
@@StandaloneCoder спасибо большое
™
Я и тут
Привет
У тебя профессиональный пайчарм?
Обычный Community Edition
Что делать если в коде с гит хаба rect() выдает ошибку?
удалить параметр border_radius из rect или установить pygame 2.0.0
pip install pygame==2.0.0dev24
А алгоритм вообще быстрый? А то я на питоне волновой алгоритм на поле 3000 х 3000 быстрее чем 0.15 секунд не смог разогнать (и то с математическим модулем)
Путь искали до определенной точки или пути до всех точек на поле?
@@StandaloneCoder ну смотри, брался массив карты из 0 и 1,где 0 - свободно, 1 - преграды. Каждый такт от начала я заполнял соседние свободные элементы количеством шагов, который я собственно итерировал,и проверял - конечная это точка или нет. Если точка конечная, то уже от неё искал самые низкие значения, и добавлял индекс в список, который и являлся восстановленным путем.
Ах да, путь до одной точки
Помогите пожалуйста, у меня не работает почему то
А сделай ботов на нейросетях
Зачееееееееееет!!!
за что отвечает TILE
Я вставил , и почему то неработает
слишком быстро рисуется код, слишком быстро читается текст
какой сложный синтаксис, для понимания ... чайнику
Круто, всего 1 дизлайк)