
- •Представление знаний в информационных системах
- •Представление знаний в информационных системах
- •Основные понятия
- •Ввод программы
- •Запросы к базе данных
- •Запросы с переменными
- •Правила
- •Процедуры
- •Рекурсивные процедуры
- •Содержание работы
- •Контрольные задания
- •Лабораторная работа № 2 Арифметика. Структуры данных
- •Основные понятия
- •Структуры данных
- •Рекурсивные структуры
- •Применение рекурсивных процедур для обработки списков
- •Бинарные деревья
- •Содержание работы
- •Контрольные задания
- •Лабораторная работа № 3 Управление ходом выполнения программы
- •Основные понятия
- •Неудача запроса и возврат назад
- •Указание интерпретатору вернуться назад
- •Предикат “Сократить”
- •Проверка типа терма
- •Действия с текущей программой
- •Задание итерации
- •Содержание работы
- •Контрольные задания
- •Лабораторная работа № 4 Операции на графах
- •Основные понятия
- •Представление ориентированных графов в языке Пролог
- •Операции на графах
- •Поиск пути в графе
- •Построение остовного дерева
- •Содержание работы
- •Контрольные задания
- •Лабораторная работа № 5. Основные стратегии решения задач
- •Основные понятия
- •Стратегия поиска в глубину
- •Стратегия поиска в ширину
- •Содержание работы
- •Контрольные задания
- •Библиографический список
Ф
ЕДЕРАЛЬНОЕ
АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Белгородский государственный технологический университет
им. В.Г. Шухова
Представление знаний в информационных системах
Методические указания выполнению лабораторных работ для студентов специальности 230201 – Информационные системы и технологии
Белгород 2007
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Б елгородский государственный технологический университет
им. В.Г. Шухова
Кафедра информационных технологий
Представление знаний в информационных системах
Методические указания к выполнению лабораторных работ для студентов специальности 230201 – Информационные системы и технологии
Белгород 2007
УДК 681.3.016 (075)
Б БК 32.973.233-018я7
П ?
Составитель кандидат технических наук, доц. В.В. Шаптала
Рецензент кандидат технических наук, доц. В.Г.Синюк
Представление знаний в информационных систмах: методические указания/ В.В. Шаптала. – Белгород: Изд-во БГТУ, 2007.
Методические указания составлены в соответствии с государственным образовательным стандартом. В них представлены лабораторные работы по изучению основ языка программирования Пролог как формализма, предназначенного для представления знаний.
Данные методические указания по курсу “Представление знаний в информационных системах” предназначены для студентов 230201– Информационные системы и технологии.
УДК 681.3.016(075)
ББК 32.973.233-018я7
© Белгородский государственный технологический университет (БГТУ) им. В.Г. Шухова, 2007
Содержание
Введение
Предположим, что известна логическая спецификация, описывающая подлежащую решению задачу или структуру системы, которую необходимо представить. При использовании процедурного языка требуется проведение большой работы по переводу спецификации сложной системы в работоспособную программу. При использовании функциональных языков программист может мыслить в терминах вычисления значений, а не поведения компьютера. Семантика конструкций реляционных языков наиболее близка к спецификации задачи. Смысл конструкции в реляционном языке определяется как отношение между отдельными сущностями или классами сущностей. С декларативной точки зрения реляционную конструкцию можно интерпретировать как формулировку того, что существует отношение между аргументами, представленное именем этого отношения. Одним из реляционных языков является Пролог. При должном использовании языка Пролог взгляд программиста на мир может подняться до уровня логической спецификации. Если программист сможет мыслить целиком в терминах структуры отношений, не заботясь о реализации, то у него освободится время для более важных целей. Пролог – наиболее известный язык логического программирования. Логическое программирование – это один из подходов к информатике, при котором в качестве языка высокого уровня используется логика предикатов первого порядка в форме фраз Хорна. Логика предикатов первого порядка – это универсальный абстрактный язык, предназначенный для представления знаний и для решения задач. Его можно рассматривать как общую теорию отношений. Логическое программирование дает возможность описывать ситуацию при помощи формул логики предикатов, а затем для выполнения выводов из этих формул применить автоматический решатель задач.
Язык Пролог можно успешно использовать как для решения многих традиционных задач (программная инженерия, интерфейсы баз данных, системы помощи в принятии решений), так и для решения задач искусственного интеллекта (экспертные системы, системы обработки естественного языка).
Лабораторная работа № 1
Факты и правила
Цель работы: познакомиться с синтаксисом и семантикой основных понятий языка Пролог; научиться оформлять отношения между данными на языке Пролог.