Цели и задачи дисциплины
Целью курса является изучение парадигм, основных языков и методов программирования, используемых при решении логических задач, задач искусственного интеллекта и инженерии знаний.
Задачами изучения дисциплины является: - знакомство с парадигмой декларативного программирования;
- освоение навыков программирования на языке функционального программирования (Lisp);
-освоение навыков программирования на языке логического программирования (Пролог).
Краткое содержание дисциплины
Декларативное программирование. Императивное и декларативное программирование. Основные концепции парадигм функционального и логического программирования. История языков Лисп и Пролог.
Язык Lisp. Алфавит, синтаксис, семантика языка Lisp. Обработка списков. Управляющие структуры. Реализация рекурсии в Lisp. Отображения и функционалы. Функции высших порядков и лямбда-выражения. Композиции функционалов, фильтры, редукция.
Язык Пролог. Алфавит, синтаксис и семантика Пролога. Основные предикаты. Логика предикатов. Обработка структурированных данных. Рекурсия. Обработка списков. Сортировка. Деревья. Множества. Работа с файлами. Динамические базы данных. Экспертные системы. Решение задач из области искусственного интеллекта на Прологе. Игры на Прологе