HARVARD CS50 - 'Поиск' - Лекция 0: Искусственный Интеллект с Python на русском (2020)

preview_player
Показать описание

Практический Курс по Python:

Аве, Кодер!
Это легендарный Гарвардский курс CS50 на русском языке: основы искусственного интеллекта с Python.
Этот курс познакомит нас с концепциями и алгоритмами, лежащими в основе современного искусственного интеллекта, мы погрузимся в идеи, которые лежат в основе таких технологий как игровые движки, распознавание рукописного ввода и машинный перевод.
В первой лекции посвященной задачам поиска, мы ознакомимся с такими алгоритмами как: Поиск в ширину, Поиск в глубину, Жадный алгоритм поиска по первому лучшему, Минимакс, A * (A star) и посмотрим на их практическое применение к решению задач нахождения выхода из лабиринта или игр с нулевой суммой, таких например, как крестики-нолики и все это на примере популярного языка программирования - Python.

Тайм-коды:
0:24 в уроке идеи, техники и алгоритмы, которые лежат в основе Искусственного Интеллекта (Artificial Intelligence)
0:30 Небольшое описание курса
3:13 алгоритм поиска. Что компьютеру делать в определенной ситуации. Проблемы различных типов и форматов
3:34 примеры: пятнашки, лабиринт, гугл карты
4:41 что из себя представляет задача поиска. Из чего состоит её алгоритм обучения
4:49 Терминология: агент (agent), состояние (state), начальное состояние (initial state),
6:16 действия (actions),
7:28 модель перехода состояний (transition model),
9:34 пространство состояний (state space),
10:04 представление в виде Графа
10:56 проверка цели (goal test),
11:51 стоимость пути (path cost),
13:41 задача поиска (search problems),
14:18 цель-решение (solution),
14:28 оптимальное решение (optimal solution),
14:46 представление набора данных, связанных с задачей:
15:07 структура данных Узел (node),
16:34 Подход, с которого надо начать решать задачу. фронтир (frontier). Все варианты решения
18:21 проверка цели
18:37 развёртывание узла - оценка всех его соседей
19:29 применение в задаче поиска
22:06 возможные проблемы. Зацикливание
24:01 улучшенный способ решить задачу поиска
25:58 Структура данных Стэк (Stack) для добавления и удаления элементов last-in first-out
26:22 применение стэка к задаче
27:51 Алгоритм поиска Depth-First Search Поиск в глубину
28:37 Алгоритм поиска Breadth-First Search Поиск в ширину
29:04 Структура данных Очередь (Queue) first-in first-out
29:12 применение очереди к задаче
30:36 эти 2 алгоритма поиска на практике. Лабиринт
36:22 код
44:00 работа кода
44:37 пример 2 maze2
48:31 пример 3 maze3
51:58 выбор при нескольких возможных вариантах
53:13 2 типа поисковых алгоритмов. Это были неинформированные поиски
53:54 информированный поиск (informed search):
54:29 Алгоритм Greedy Best-First Search Жадный поиск по первому лучшему совпадению
56:36 с помощью эвристической функции Манхэттанское расстояние
57:40 на практике
1:01:39 хорошая эвристика
1:03:43 оценка пути (расстояния) до цели
1:04:31 улучшение
1:05:23 Алгоритм A* Search Астар. Учитывает 2 вида информации
1:09:30 находит оптимальный путь, при 2 условиях
1:11:51 Алгоритмы с 2 агентами. Состязательный поиск. Adversarial Search. Крестики нолики
1:14:11 Алгоритм Minimax Минимакс
1:17:15 описание кода Game
1:23:08 вычисление алгоритма минимакс
1:23:42 рекурсия в минимакс
1:28:20 диаграмма дерево минимакс
1:30:39 псевдо-код
1:36:40 оптимизация
1:39:57 Алгоритм Alpha-Beta Pruning Альфа-Бета обрезка
1:45:25 Алгоритм Depth-Limited Minimax минимакс с ограничением глубины. Для этого добавляется функция оценки
1:48:18 на следующем уроке о Знаниях, учитываемых ИИ

Плейлист целиком:

Следующая лекция:

#авекодер #cs50 #python

Благодарности и атрибуции:
David J. Malan

*Публикуется с согласия Дэвида Мэлана и Гарвардского университета на редистрибуцию оригинальной работы с внесением изменений по соответствующей лицензии.

Поддержи проект:

BTС: 1BmLvUFiJaVpCAwhzW3ZwKzMGWoQRfxsn4
ETH: 0x6f1A488c9b12E782AEF74634a40A79b1631237aB
Рекомендации по теме
Комментарии
Автор

Кажется, это вообще единственный перевод этого курса. Да ещё какой качественный! Лайк и подписка

alexandernaumov
Автор

Ты серьезно? Ваууу. Это огромная работа.
А нука дайте этому каналу сотку тысяч подписоты!!!!

onebytesiteit-
Автор

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

AlexSmile-yx
Автор

Ваша работа бесценна! Спасибо и низкий поклон!

highscreenka
Автор

О ДА, спасибо большое, ждем весь курс!!!

warhammerua
Автор

Очень качественный перевод! Спасибо огромноЕ!

aleksandramalakutsko
Автор

Благодарю! Очень интересный и полезный курс. Невозможно оторваться. И лектор очень интересно и доходчиво, наглядно рассказывает и показывает (думал позже начать изучать, когда достаточно изучу программирование, но на удивление было все понятно, даже в коде) и автор канала очень хорошо озвучивает. + Отдельная благодарность за такие подробные таймкоды (не приходится самому их делать). Лайк и подписка, очень классный канал! Желаю море подписчиков.

Леонид-сз
Автор

Большое спасибо! очень качественная лекция.

iraira
Автор

Большое спасибо за перевод, продолжайте, у вас хорошо получается)

veteer
Автор

Следующие два часа будут полезнее и вкуснее мёда)

ghebodne
Автор

ЖППЛС)))) и вот я тут! Спасибо за ролик.

khrom-hj
Автор

Человек, который это всё перевёл! Как ты этому научился?!!! 😍

msc_Noname
Автор

Дядька, та ты еще и скрипты на гит залил, та ты ваще красава!!!

nikaich
Автор

38:00 Это для упрощения понимания сделано так? Почему нельзя было воспользоваться методом pop() в методе remove()?
def remove(self):
if self.empty():
raise Exception('empty frontier')
else:
return self.frontier.pop()

sense
Автор

Спасибо большое, хотелось бы увидеть ваш перевод полного курса

dmitriyivanov
Автор

А сколько всего серий будет? Лайк, подписка.

Денис-вдь
Автор

Благодарю за перевод и озвучку!
Как по мне, лекцию можно было бы хоть и слегка, но все же сократить. Ну эт такое.. не критично.
А вот что немного бесит, так это то, что условно первые десять минут тебе объясняют все, как 5-летнему ребенку, а на 11-й минуте резкий обрыв, ведь на 11-й минуте начинают рассказывать что-то из высшей математики))

mRelby
Автор

Посмотрел всего 47 минут, а чувство, что стал умнее в 2 раза.

maximilianno
Автор

люди если вы случайно зашли на этот канал просьба сразу подписаться

МаринаКоролева-кью
Автор

Мне интересно, на какой стадии изучения питона этот курс становится полезен? Я, вот, начал изучать ЯП только пару дней назад, и сюда попал по ссылке с Пикабу.
Мне сейчас стоит смотреть лекции? Или через пару месяцев? Или пару лет?..

Navienzhal