Компьютерные науки

Логическое программирование

Программа знакомит с парадигмой программирования на основе логики предикатов и инструментами создания интеллектуальных систем.
Студентов 1984 Выпускников 298 Для специалистов
690 ₽ 1 200 ₽
или любая сумма на ваше усмотрение
Вы можете оплатить любую сумму, чтобы поддержать наш проект и авторов программы. Объем услуг не зависит от размера вашей оплаты.
Темы:
Программирование
Объем

36 час.
Длительность

30 дней
Нагрузка в неделю

9 час.
Формат обучения

Дистанционно (самостоятельно)
Описание Эта учебная программа содержит подробное изложение теоретических основ логического подхода к программированию и служит практическим пособием по языкам Пролог и Mercury. В учебной программе рассматривается использование логического программирования для создания интеллектуальных систем, излагаются понятия искусственного интеллекта: общение на естественном языке, представление знаний, эвристический поиск. Освоение построено через введение в метод резолюции, изучение рекурсивных структур данных, списков и деревьев. Включает символьные вычисления, обработку естественного языка, F-Logic, объектно-ориентированное программирование, метапрограммирование и создание экспертных систем.
Цели
  • Познакомить с парадигмой логического программирования и логикой предикатов
  • Дать теоретическую базу языков Пролог и Mercury
  • Раскрыть методы решения логических задач и создания экспертных систем
  • Сформировать навыки разработки интеллектуальных систем и обработки естественного языка
Чему я научусь?
  • Программировать на современных языках логического программирования Пролог и Mercury
  • Анализировать графы и применять методы эвристического поиска
  • Создавать интеллектуальные системы и применять методы представления знаний
  • Использовать объектно-ориентированный подход и F-Logic в разработке

Авторы

Сошников Дмитрий Валерьевич
Сошников Дмитрий Валерьевич
Кандидат физико-математических наук, доцент технологический евангелист Microsoft в России.
Чему я научусь?
  • Программировать на современных языках логического программирования Пролог и Mercury
  • Анализировать графы и применять методы эвристического поиска
  • Создавать интеллектуальные системы и применять методы представления знаний
  • Использовать объектно-ориентированный подход и F-Logic в разработке

Учебный план

Занятия
Экзамен экстерном Внимание! Экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите подтвердить свои знания по данному курсу без его изучения или поверить свои знания по нему. Экзамен экстерном можно сдать только один раз. 90 мин
1 Что такое логическое программирование Языки программирования. Декларативное программирование. Императивноепрограммирование. Логическое программирование. Парадигмы программирования.
2 Введение в Пролог и логическое программирование Устройство пролог системы.Деревья. Примеры.
Введение в Пролог и логическое программирование тест для курса Логическое программирование 60 мин
3 Логика История логики, формальная аксиоматическая система, логика и исчисление предикатов, эрбановская интерпретация.
4 Метод резолюции Логика высказываний и предикатов. Сколемизация. Построение множества дизъюнктов. Унификация. Наиболее общий унификатор. Правило резолюции. Дизъюнкты Хорна.... Логика высказываний и предикатов. Сколемизация. Построение множества дизъюнктов. Унификация. Наиболее общий унификатор. Правило резолюции. Дизъюнкты Хорна. Стратегии поиска решений. ещё
Метод резолюции тест для курса Логическое программирование 60 мин
5 Языки логического программирования Пролог и Mercury Пролог-программа. Свободные и связные переменные. Структурные термы для представления бесконечных объектов. Характеристики операторов. Встроенные предикаты. Язык... Пролог-программа. Свободные и связные переменные. Структурные термы для представления бесконечных объектов. Характеристики операторов. Встроенные предикаты. Язык Mercury. Режимы предикатов. ещё
6 Рекурсивные структуры данных. Списки и деревья Последовательности. Определение. Списки в прологе. Построение перестановок. Функции высших порядков. Рекурсии. Реверсирование списка. Разностные списки. Порядковое... Последовательности. Определение. Списки в прологе. Построение перестановок. Функции высших порядков. Рекурсии. Реверсирование списка. Разностные списки. Порядковое представление списков. Представление матриц. Деревья. Сортировка списка. ещё
Рекурсивные структуры данных. Списки и деревья тест для курса Логическое программирование 60 мин
7 Отрицание в логическом программировании Отрицание. Управление перебором и отсечение. Метод генерации и проверок.
8 Решение логических задач. Метод генерации и проверок Генерация квадрата. Транспонирование матрицы. Метод ветвей и границ. Явный и неявный выбор. Наивная сортировка. Циклы.
Решение логических задач. Метод генерации и проверок тест для курса Логическое программирование 60 мин
9 Типизация в логических языках Возникновение типизации. Классификация языков. Система типов. Многослойная логика предикатов. Классы конкретизации. Детерминизм. Предикаты как функции. Каррирование
10 Алгоритмы поиска в графах Представление задачи в виде графа. Совершенствование поиска. Алгоритм фронта волны. Поиск с ограничением длины. Решение задач... Представление задачи в виде графа. Совершенствование поиска. Алгоритм фронта волны. Поиск с ограничением длины. Решение задач методом поиска в пространстве состояний ещё
Алгоритмы поиска в графах тест для курса Логическое программирование 60 мин
11 Алгоритмы поиска в нагруженных графах Представление пути в нагруженном графе. Поиск с весовой функцией. Порядок просмотра путей. Жадный алгоритм поиска. Допустимость... Представление пути в нагруженном графе. Поиск с весовой функцией. Порядок просмотра путей. Жадный алгоритм поиска. Допустимость алгоритма поиска. Информированность. Монотонность. Метод градиентного спуска. Использование глобального списка пройденных вершин. Поиск с представлением путей парами ещё
12 Символьные вычисления и преобразование выражений Языки ЛП для символьных вычислений. Символьное дифференцирование. Упрощение выражений. Численное сравнение выражений. Расширение Пролога: операции линейной... Языки ЛП для символьных вычислений. Символьное дифференцирование. Упрощение выражений. Численное сравнение выражений. Расширение Пролога: операции линейной алгебры ещё
Символьные вычисления и преобразование выражений тест для курса Логическое программирование 60 мин
13 Обработка (естественного) языка Языки и грамматики. Извлечение глубинного смысла. Депассивизация. Модельный язык программирования. Архитектура системы программирования. Синтаксический разбор. Абстрактная... Языки и грамматики. Извлечение глубинного смысла. Депассивизация. Модельный язык программирования. Архитектура системы программирования. Синтаксический разбор. Абстрактная стековая машина. ещё
14 F-Logic и объектно-ориентированное логическое программирование Объектно-ориентированное программирование. Парадигмы программирования и представления данных. Основные подходы применительно к логике F-logic на примере. Построение... Объектно-ориентированное программирование. Парадигмы программирования и представления данных. Основные подходы применительно к логике F-logic на примере. Построение F-логики. Множественное описание сущностей и связей. Формальная семантика. Расширение семантики на сложные концепты. ещё
F-Logic и объектно-ориентированное логическое программирование тест для курса Логическое программирование 60 мин
15 Метапрограммирование Метапрограммирование. Вывод с ограничением по глубине (в ширину). Трассировка запросов. Искусственный интеллект. Человек как система обработки... Метапрограммирование. Вывод с ограничением по глубине (в ширину). Трассировка запросов. Искусственный интеллект. Человек как система обработки данных. Системы, основанные на знаниях. Представление знаний. Пролог как язык ИИ. ещё
16 Экспертные системы Продукционные экспертные системы. Механизмы логического вывода. Реализация экспертных систем на Прологе. Механизм вывода.
Экспертные системы тест для курса Логическое программирование 60 мин
Тренировочный экзамен Внимание! Тренировочный экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите проверить свои знания курса перед сдачей экзамена. Тренировочный экзамен можно сдавать сколько угодно один раз. 90 мин
Экзамен 60 мин

Какой документ я получу?

Сертификат

Выдаётся автоматически после успешного завершения программы.

Удостоверение о повышении квалификации

Выдается при наличии среднего специального или высшего образования (необходимые документы).

Стоимость программы

690 ₽ 1 200 ₽
или любая сумма на ваше усмотрение
Вы можете оплатить любую сумму, чтобы поддержать наш проект и авторов программы. Объем услуг не зависит от размера вашей оплаты.