Создание среды сопровождения жизненного цикла экспертных систем на базе пакетов Visual, SWI-Prolog
Отчет по лабораторным работам
Создание среды сопровождения жизненного цикла экспертных систем на
базе пакетов Visual, SWI-Prolog
Цель работы: Изучить функциональные возможности языка логического
программирования Prolog и возможности систем SWI-Prolog и Visual Prolog. Установить системы
(Visual и SWI-Prolog) и построить базу знаний относительно определения возможности
трудоустройства студента и реализовать запросы по данному заданию.
Ход работы:
1. Параметры персональной рабочей
платформы информатизации представлены на рисунке 1.
Рисунок 1. Параметры ноутбука
. Для установки был выбран
дистрибутив Visual Prolog 7.5
(#"786108.files/image002.gif">
Рисунок 2. Начало установки
Рисунок 3. Лицензионное соглашение
Рисунок 4. Путь установки
Рисунок 5. Подтверждение начала
установки
Рисунок 6. Процесс установки
Рисунок 7. Установка завершена
. Построим базу знаний в системе Visual Prolog, описывающую
отношения вида «родитель-ребенок» (рисунок 8).
Рисунок 8. Построенная база знаний
логический программирование prolog
5. Составим запрос для определения
правильности утверждения: Марина является родителем Саши. (рисунок 9).
Запрос: parent («Marina», «Sasha»)
Рисунок 9. Результат выполнения
запроса
. Составим запрос для определения
правильности утверждения: Алексей является родителем Ольги. (рисунок 10).
Запрос: parent («Alexei», «Olga»)
Рисунок 10. Результат выполнения
запроса
. Составим запрос для установления
факта: кто является ребёнком Николая. (рисунок 11).
Запрос: parent («Nicolai», X).
Рисунок 11. Результат выполнения
запроса
. Составим запрос: кто является
родителями Ивана. (рисунок 12).
Запрос: parent (X, «Ivan»), parent (Y, «Ivan»), X<>Y.
Рисунок 12. Результат выполнения
запроса
9. Составим запрос для определения
всех родителей и их детей. (рисунок 13).
Запрос: parent (X, Y).
Рисунок 13. Результат выполнения
запроса
На этом выполнение заданий в рамках
данного пакета заканчивается.
. Для установки SWI-Prolog в соответствии с
параметрами персональной рабочей платформы информатизации был выбран
дистрибутив, доступный по ссылке с официального сайта
(#"786108.files/image014.gif">
Рисунок 14. Лицензионное соглашение
Рисунок 15. Выбор компонентов ПО
Рисунок 16. Выбор директории для
установки
Рисунок 17. Настройка дополнительных
параметров
Рисунок 18. Процесс установки
Рисунок 19. Завершение установки
. В соответствии с заданием была
построена база данных, отражающая информацию о студентах, их средних баллах,
компаниях-работодателях и их требованиях, а также предикаты, отражающие
логические связи между вышеописанными элементами (см. рисунок 20).
Рисунок 20. База данных
После этого было начато выполнение
запросов к БД в соответствии с заданием.
. Реализация запроса относительно
получения стипендии студентом Поповым.
Запрос: stipendiya('Popov').
(рисунок 21).
Рисунок 21. Результат выполнения
запроса
. Реализация запроса относительно
получения стипендии студентом Федоровым.
Запрос: stipendiya('Fedorov').
(рисунок 22).
Рисунок 22. Результат выполнения
запроса
. Реализация запроса относительно
определения группы студентов, занесённых в базу знаний и получающих стипендию.
Запрос: stipendiya(Name). (рисунок
23).
Рисунок 23. Результат выполнения
запроса
. Реализация запроса относительно
определения среднего балла для поступления на работу в корпорацию Microsoft.
Запрос: company ('Microsoft', SrBal). (рисунок 24).
Рисунок 24. Результат выполнения
запроса
. Реализация запроса относительно
выяснения возможности трудоустройства студента Попова в корпорацию Microsoft.
Запрос: isAbleToWork ('Popov',
'Microsoft'). (рисунок 25).
Рисунок 25. Результат выполнения
запроса
. Реализация запроса относительно
выяснения возможного перечня организаций для трудоустройства студента Федорова.
Запрос: isAbleToWork ('Fedorov', NameCompany). (рисунок 26).
19. Реализация запроса относительно определения группы студентов,
занесённых в базу знаний и получающих возможность трудоустройства в компанию Apple.
Запрос: isAbleToWork (NameStudent,
'Apple'). (рисунок 27).
Рисунок 27. Результат выполнения запроса
. Реализация запроса определения
группы студентов, занесённых в базу знаний и получающих возможность
трудоустройства в компанию IBM.
Запрос: isAbleToWork (NameStudent, 'IBM')
(рисунок 28).
Рисунок 28. Результат выполнения запроса
Вывод
По итогам проделанной работы
изученные пакеты можно сравнить по следующим параметрам:
) Синтаксис. Ни та, ни другая
среда не являются требовательными к программисту, синтаксис достаточно
интуитивен. По сравнению с более сложными языками программирования обе среды
имеют довольно низкий порог вхождения.
) Интерфейс пользователя. SWI-Prolog обладает более удобным
интерфейсом, позволяя подгружать базы данных и предикаты из отдельных файлов,
что дает возможность выполнять запросы из разных проектов без необходимости
редактирования исходных файлов. В свою очередь, Visual Prolog требует значительно
большего числа шагов для выполнения запросов.
) Простота установки. Обе
среды устанавливаются за несколько минут без необходимости тонкой настройки и
не требуют дополнительных библиотек.
) Применимость. Обе среды
способны справляться с необходимыми задачами. Следует, однако, отметить, что в
некоторых случаях SWI-Prolog может неожиданно завершить работу. При работе с Visual Prolog такого замечено не
было.