Автор: Дмитрий Сошников | Московский физико-технический институт
Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Доступ:
свободный
Документ об окончании:
 
Уровень:
Специалист
Длительность:
25:22:00
Студентов:
1329
Выпускников:
88
Качество курса:
4.80 | 4.70
Курс предназначен для студентов, специализирующихся в области компьютерных наук, и знакомит их с парадигмой программирования, основанной на логике предикатов, которая отличается от наиболее широко распространенного в современном программировании императивного подхода.
Курс содержит достаточно подробное изложение теоретических основ логического подхода к программированию, а также служит практическим пособием по современным языкам логического программирования – Пролог и Mercury – которые могут использоваться и используются для разработки исследовательских и промышленных систем наряду с более традиционными императивными языками. Наличие систем программирования на этих языках для платформы Microsoft .NET позволяет эффективно применять полученные знания и навыки в промышленных разработках.В курсе также рассматривается использование логического программирования для создания интеллетуальных систем, излагаются основные понятия искусственного интеллекта, такие, как общение на естественном языке, представление знаний, методы эвристического поиска в пространстве состояний и т.д.
Специальности: Программист
 

План занятий

Занятие
Заголовок <<
Дата изучения
Лекция 1
1 час 30 минут
Что такое логическое программирование
Языки программирования. Декларативное программирование. Императивное программирование. Логическое программирование. Парадигмы программирования.
Оглавление
-
Метод резолюции
Логика высказываний и предикатов. Сколемизация. Построение множества дизъюнктов. Унификация. Наиболее общий унификатор. Правило резолюции. Дизъюнкты Хорна. Стратегии поиска решений.
Оглавление
-
Лекция 5
1 час 18 минут
Языки логического программирования Пролог и Mercury
Пролог-программа. Свободные и связные переменные. Структурные термы для представления бесконечных объектов. Характеристики операторов. Встроенные предикаты. Язык Mercury. Режимы предикатов.
-
Лекция 6
1 час 31 минута
Рекурсивные структуры данных. Списки и деревья
Последовательности. Определение. Списки в прологе. Построение перестановок. Функции высших порядков. Рекурсии. Реверсирование списка. Разностные списки. Порядковое представление списков. Представление матриц. Деревья. Сортировка списка.
-
Лекция 7
1 час 15 минут
Отрицание в логическом программировании
Отрицание. Управление перебором и отсечение. Метод генерации и проверок.
Оглавление
-
Лекция 9
1 час 21 минута
Типизация в логических языках
Возникновение типизации. Классификация языков. Система типов. Многослойная логика предикатов. Классы конкретизации. Детерминизм. Предикаты как функции. Каррирование
-
Лекция 11
1 час 31 минута
Алгоритмы поиска в нагруженных графах
Представление пути в нагруженном графе. Поиск с весовой функцией. Порядок просмотра путей. Жадный алгоритм поиска. Допустимость алгоритма поиска. Информированность. Монотонность. Метод градиентного спуска. Использование глобального списка пройденных вершин. Поиск с представлением путей парами
Оглавление
-
Лекция 13
1 час 38 минут
Обработка (естественного) языка
Языки и грамматики. Извлечение глубинного смысла. Депассивизация. Модельный язык программирования. Архитектура системы программирования. Синтаксический разбор. Абстрактная стековая машина.
Оглавление
-
Лекция 14
1 час 11 минут
F-Logic и объектно-ориентированное логическое программирование
Объектно-ориентированное программирование. Парадигмы программирования и представления данных. Основные подходы применительно к логике F-logic на примере. Построение F-логики. Множественное описание сущностей и связей. Формальная семантика. Расширение семантики на сложные концепты.
Оглавление
-
Лекция 16
49 минут
Экспертные системы
-
1 час 40 минут
-
Олег Корсак
Олег Корсак
Латвия, Рига
Сергей Катревич
Сергей Катревич
Россия, Москва