Автор: Евгений Волосатов Название: Практикум по Алгоритмам [CyberBionic] (2020)
Курс предназначен для начинающих программистов, студентов, изучающих компьютерные науки, а также для IT-инженеров, которые желают понять, как решать комбинаторные задачи и оптимизировать алгоритмы.
Описание курса Курс состоит из двух частей. В первой мы рассматриваем способы “универсального” решения комбинаторных задач методом полного перебора и способы оптимизации этих алгоритмов. Во второй части мы задействуем метод динамического программирования с рекурсией, который позволит создавать поистине быстрые и эффективные алгоритмы поиска.
Комбинаторные алгоритмы (Уроки 1-5). Комбинаторика изучает варианты размещения объектов. Комбинаторные алгоритмы подразумевают перебор всех вариантов расположения объектов и поиск оптимального решения, которое удовлетворяет заданным условиям. Комбинаторные задачи в программировании встречаются очень часто. Задача минимум для любого программиста - уметь их решать полным перебором и применять методы оптимизации этих алгоритмов.
Динамическое программирование. (Уроки 6-10). Алгоритмы полного перебора пишутся просто, но работают слишком долго. Применяя метод динамического программирования можно значительно ускорить время поиска решения. Идея заключается в том, чтобы разделить исходную задачу на несколько таких же, но с меньшими начальными данными. Для создания таких алгоритмов обычно используется рекурсия.
В курсе гармонично переплетается теория и практика, рассматриваются методы оптимизации алгоритмов, есть визуализация циклических и рекурсивных алгоритмов, рассмотрены способы создания искусственного интеллекта для игры в настольную игру, а также контрольная работа в виде сеанса “спортивного программирования” для закрепления материала.
Алгоритмы, которые мы рассматриваем в данном курсе, можно реализовать на любом языке программирования. Мы будем писать программы на языке С#, базовых знаний которого будет вполне достаточно для понимания материала.
ЦИКЛЫ. ГРАФИЧЕСКИЕ УЗОРЫ. На этом уроке мы будем доводить навык использования циклов до совершенства. Чтобы достичь интуитивного понимания, лучше «один раз увидеть», поэтому мы будем рисовать причудливые узоры, используя комбинации вложенных циклов и условий.
ПРОСТЫЕ ЧИСЛА. ОПТИМИЗАЦИЯ АЛГОРИТМОВ. На этом уроке мы напишем алгоритм генерации простых чисел, а затем начнём его оптимизировать различными способами, замеряя время работы каждого варианта.
ПРОСТЫЕ ЗАДАЧИ НА ПЕРЕБОР ВАРИАНТОВ. На этом уроке мы решим несколько комбинаторных задач методом “грубой силы”, а затем рассмотрим идеи оптимизации каждого алгоритма.
ИГРА С ИСКУССТВЕННЫМ ИНТЕЛЛЕКТОМ. ПОИСК ЛУЧШЕГО ХОДА ПЕРЕБОРОМ. На этом уроке мы создадим простую игру, а затем научим компьютер в неё играть: создадим искусственный интеллект для поиска хорошего хода.
КОНТРОЛЬНАЯ РАБОТА НА ПЕРЕБОР ВАРИАНТОВ. На этом уроке будет “спортивное программирование”. У Вас будет нескольких комбинаторных задачек на перебор вариантов и ограниченное время. Посмотрим, чему Вы научились и сколько задачек успеете решить!
РЕКУРСИЯ. ПОСТРОЕНИЕ ФРАКТАЛОВ. На этом уроке мы будем доводить навык использования рекурсии до совершенства. Чтобы достичь интуитивного понимания, лучше «один раз увидеть», поэтому мы будем рисовать фракталы - повторяющиеся узоры, используя алгоритмы с рекурсивным вызовом.
СЛОЖНЫЕ ФУНКЦИИ. ОПТИМИЗАЦИЯ АЛГОРИТМОВ. На этом уроке мы напишем алгоритмы вычисления некоторых алгебраических функций. а затем начнём их оптимизировать различными способами, замеряя время работы каждого варианта.
СЛОЖНЫЕ ЗАДАЧИ НА ПЕРЕБОР ВАРИАНТОВ. На этом уроке мы решим несколько комбинаторных задач методом динамического программирования с использованием рекурсии и без неё.
ИГРА С ИСКУССТВЕННЫМ ИНТЕЛЛЕКТОМ. ПОИСК АЛЬФА-БЕТТА ОТСЕЧЕНИЕМ. На этом уроке мы продолжим создание искуcственного интеллекта для нашей игры. Но на этот раз мы воспользуемся рекурсивным поиском вглубь с отсечением ложных решений.
КОНТРОЛЬНАЯ РАБОТА НА ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ. На этом уроке будет “спортивное программирование”. У Вас будет нескольких комбинаторных задачек на динамическое программирование и ограниченное время. Посмотрим, чему Вы научились и сколько задачек успеете решить!
Подробнее:
Для просмотра содержимого вам необходимо .
Скачать:
Вариант 1: Электронная доставка на email
После оплаты заказа на сайте, вам приходит ссылка на курс/тренинг/материалы на почту указанную в заказе.
Стоимость доставки: 0рублей
Политика конфиденциальности
Общие положения
Некоторые объекты, размещенные на сайте, являются интеллектуальной собственностью компании "Все онлайн курсы и тренинги vsekursi24.ru". Использование таких объектов установлено действующим законодательством РФ.
На сайте "Все онлайн курсы и тренинги vsekursi24.ru" имеются ссылки, позволяющие перейти на другие сайты. Компания "Все онлайн курсы и тренинги vsekursi24.ru" не несет ответственности за сведения, публикуемые на этих сайтах и предоставляет ссылки на них только в целях обеспечения удобства для посетителей своего сайта.
Личные сведения и безопасность
Компания "Все онлайн курсы и тренинги vsekursi24.ru" гарантирует, что никакая полученная от Вас информация никогда и ни при каких условиях не будет предоставлена третьим лицам, за исключением случаев, предусмотренных действующим законодательством Российской Федерации.
В определенных обстоятельствах компания "Все онлайн курсы и тренинги vsekursi24.ru" может попросить Вас зарегистрироваться и предоставить личные сведения. Предоставленная информация используется исключительно в служебных целях, а также для предоставления доступа к специальной информации.
Личные сведения можно изменить, обновить или удалить в любое время в разделе "Аккаунт" > "Профиль".
Чтобы обеспечить Вас информацией определенного рода, компания "Все онлайн курсы и тренинги vsekursi24.ru" с Вашего явного согласия может присылать на указанный при регистрации адрес электронный почты информационные сообщения. В любой момент Вы можете изменить тематику такой рассылки или отказаться от нее.
Как и многие другие сайты, "Все онлайн курсы и тренинги vsekursi24.ru" использует технологию cookie, которая может быть использована для продвижения нашего продукта и измерения эффективности рекламы. Кроме того, с помощь этой технологии "Все онлайн курсы и тренинги vsekursi24.ru" настраивается на работу лично с Вами. В частности без этой технологии невозможна работа с авторизацией в панели управления.
Сведения на данном сайте имеют чисто информативный характер, в них могут быть внесены любые изменения без какого-либо предварительного уведомления.
Чтобы отказаться от дальнейших коммуникаций с нашей компанией, изменить или удалить свою личную информацию, напишите нам через форму обратной связи