Рекурсивно-логическое программирование

Вид материалаПрограмма

Содержание


Перечень дисциплин, усвоение которых необходимо для изучения курса
Содержание курса
Тема 2. Логика предикатов первого порядка
Тема 3. Основы языка Пролог
Тема 4 . Основные механизмы языка Пролог.
Тема 5. Основные разделы Пролог-программ.
Тема 6. Размещение базы фактов в Прологе.
Тема 7. Динамические структуры в Прологе.
Тема 8. Средства языка
Тема 9. Создание элементов управления в Visual Prolog.
Тема 10. Внешние базы данных в Visual Prolog.
Подобный материал:
УЧЕБНАЯ ПРОГРАММА ПО ДИСЦИПЛИНЕ

РЕКУРСИВНО–ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

Шарапова Л.В.


Для очной формы обучения ВСЕГО 110

лекции 30

семинары 24

Всего аудиторных занятий 54

самостоятельная работа 56


Требования ГОС к обязательному минимуму содержания основной

образовательной программы:

Общие сведения о языке логического программирования; основные элементы языка и приемы программирования; согласование целевых утверждений; арифметика в языке логического программирования; рекурсивные представления данных и программ; отсечение и способы его использования; ввод и вывод; встроенные предикаты; отладка программ; примеры использования языка логического программирования для решения задач искусственного интеллекта.


Целью изучения дисциплины является изучение основных правил исчисления предикатов; изучение принципов логического программирования; изучения принципов вывода по базе знаний; изучение процедур и директив языка Visual Prolog.

Перечень дисциплин, усвоение которых необходимо для изучения курса: «Информатика», «Математическая логика», «Дискретная математика», «Структуры и алгоритмы компьютерной обработки данных», «Программирование».

В результате изучения дисциплины каждый студент должен:
    • иметь представление о:
  • методах обработки данных декларативными языками программирования;
  • принципах работы логической машины вывода Пролога;
  • принципах организации баз знаний и методы их хранения,
  • принципах организации ввода-вывода;
  • методах визуального программирования на Прологе.
    • знать:
  • основные понятия и принципы декларативного языка;
  • типы данных, и их внутренне представление;
  • основные и встроенные предикаты языка программирования;
  • программирование сложных типов данных;
  • приемы хранения и представления баз знаний;
  • программирование операций ввода-вывода.
    • уметь:
  • разрабатывать базы знаний;
  • выбирать метод хранения базы знаний;
  • составлять запросы, простые и комбинированные;
  • проводить отладку предикатов программы с использованием метода трассировки;
  • программировать объяснение логического вывода;
  • программировать интерфейс доступа к базе знаний.

Основные виды занятий: лекции и практические занятия.

Основные виды текущего контроля занятий: коллоквиумы.

Основной вид рубежного контроля знаний: экзамен.


СОДЕРЖАНИЕ КУРСА

Тема 1. Введение.

Задачи и назначение курса. Краткая характеристика языка Пролог. Версии и реализации языка Пролог. Основные сферы применения языка. Альтернативные языки логического программирования.

Тема 2. Логика предикатов первого порядка

Представление объектов в логике предикатов первого порядка. Формулы логики предикатов первого порядка. Проверка общезначимости формулы. Метод резолюций. Этапы приведения формулы к стандартной форме записи. Хорновские дизъюнкты.

Тема 3. Основы языка Пролог

Факты и правила. Предложения. Предикаты. Общие представления о переменных. Цели (запросы) Размещение фактов, правил и запросов.

Комментарии. Сопоставление и унификация. Арифметические вычисления и сравнения. Целочисленная и вещественная арифметика.

Тема 4 . Основные механизмы языка Пролог.

Поиск с возвратом. Прерывание поиска с возвратом: отсечение. Детерминизм и отсечение. Управление поиском решений Факты и правила в качестве процедур. Повтор. Использование отката с петлями. Списки и рекурсия. Работа со списками. Использование списков. Хвостовая рекурсия. Принадлежность к списку. Поиск всех решений для цели сразу. Составные списки. Основные предикаты управления строкой. Преобразования типов. Множества.

Тема 5. Основные разделы Пролог-программ.

Раздел предложений. Раздел предикатов. Раздел доменов. Раздел цели. Описание доменов. Задание типов аргументов при декларации предикатов. Арность (размерность). Синтаксис правил. Автоматическое преобразование типов. Простые объекты данных. Составные объекты данных и функторы. Объявление составных доменов. Запись и чтение.

Тема 6. Размещение базы фактов в Прологе.

Работа с файлами. Внутренняя база фактов. Использование внутренних баз фактов. Предикаты обновления внутренней базы фактов

Создание базы данных, располагающейся в оперативной памяти. Размещение базы фактов во внешней памяти. Предикаты загрузки из файла фактов во внутреннюю базу фактов.

Тема 7. Динамические структуры в Прологе.

Деревья (общие сведения). Формирование дерева. Поиск вершины в дереве. Добавление вершины в дерево. Удаление вершины из дерева. Обходы деревьев. Изображение деревьев.

Тема 8. Средства языка

Работа с экспертом приложений. Использование эксперта окон и диалоговых окон. Эксперт панели инструментов. Создание панели инструментов. Управление панелью инструментов. Создание всплывающего меню. Окно изображения, дерева, редактора. Создание диалогового окна. Окна. Типы окон. Стили окон. Создание и уничтожение окон. Обработчики событий. Доступ к различным видам окон. Упорядочивание и обновление окон. Изменение окон. Перерисовка окна, события от таймера и динамический обмен данными.

Тема 9. Создание элементов управления в Visual Prolog.

Элементы управления. События от элементов управления. Статический текст. Командные кнопки. Флажки. Переключатели. Списки. Раскрывающиеся списки. Редактируемые списки. Полосы прокрутки. Специальные элементы управления. Диалоговые окна. Стандартные диалоговые окна. Меню.

Тема 10. Внешние базы данных в Visual Prolog.

Внешние базы данных в Visual Prolog. Цепочки. Домены внешних баз данных. Обработка баз данных. Стандартные предикаты для В+ деревьев. Программирование внешних баз данных. Вывод содержания базы данных. Защита базы данных. Изменение структуры базы данных.


ЛИТЕРАТУРА

Основная:
  1. И Братко Программирование на языке пролог. Электронный учебник, 2005
  2. А. Адаменко и др. Логическое программирование и Visual Prolog -
    BHV Петербург 2003
  3. Н.И Цуканова, Т.А.Дмитриева, Логическое программирование на языке Visual Prolog, - Горячая линия телеком. 2008


Дополнительная:
  1. П.А Шрайнер Основы программирования на языке Пролог.- ИНТУИТ.ру, 2005
  2. Н.Н Непейвода Стили и методы программирования. ИНТУИТ.ру, 2005
  3. Ф. Джордж, Люгер, Искусственный интеллект: стратегии и методы решения сложных проблем, - М.: Издательский дом "Вильямс", 2003
  4. В. В. Девятков Системы искусственного интеллекта, -Компьютерная литература, 2008