Не подошло решение или нужна уникальная работа, оставляй бесплатную заявку и получай расчет на почту!

Отчет по лабораторным работам

Создание среды сопровождения жизненного цикла экспертных систем на базе пакетов Visual, SWIProlog

Цель работы: Изучить функциональные возможности языка логического программирования Prolog и возможности систем SWI-Prolog и Visual Prolog. Установить системы (Visual и SWI-Prolog) и построить базу знаний относительно определения возможности трудоустройства студента и реализовать запросы по данному заданию.

Ход работы:

1. Параметры персональной рабочей платформы информатизации представлены на рисунке 1.

Рисунок 1. Параметры ноутбука

2. Для установки был выбран дистрибутив Visual Prolog 7.5 (http://www.ikasteko.ru/page/visual_prolog_5_2_free_download), как однозначно поддерживаемый системой и не требующий дополнительных библиотек сверх стандартных для ОС Windows.

3. На рисунках 2-7 представлена поэтапная установка системы Visual Prolog.

Рисунок 2. Начало установки

Рисунок 3. Лицензионное соглашение

Рисунок 4. Путь установки

Рисунок 5. Подтверждение начала установки

Рисунок 6. Процесс установки

Рисунок 7. Установка завершена

4. Построим базу знаний в системе Visual Prolog, описывающую отношения вида «родитель-ребенок» (рисунок 8).

Рисунок 8. Построенная база знаний

логический программирование prolog

5. Составим запрос для определения правильности утверждения: Марина является родителем Саши. (рисунок 9).

Запрос: parent («Marina», «Sasha»)

Рисунок 9. Результат выполнения запроса

6. Составим запрос для определения правильности утверждения: Алексей является родителем Ольги. (рисунок 10).

Запрос: parent («Alexei», «Olga»)

Рисунок 10. Результат выполнения запроса

7. Составим запрос для установления факта: кто является ребёнком Николая. (рисунок 11).

Запрос: parent («Nicolai», X).

Рисунок 11. Результат выполнения запроса

8. Составим запрос: кто является родителями Ивана. (рисунок 12).

Запрос: parent (X, «Ivan»), parent (Y, «Ivan»), X<>Y.

Рисунок 12. Результат выполнения запроса

Данная работа не уникальна. Ее можно использовать, как базу для подготовки к вашему проекту.

9. Составим запрос для определения всех родителей и их детей. (рисунок 13).

Запрос: parent (X, Y).

Рисунок 13. Результат выполнения запроса

На этом выполнение заданий в рамках данного пакета заканчивается.

10. Для установки SWI-Prolog в соответствии с параметрами персональной рабочей платформы информатизации был выбран дистрибутив, доступный по ссылке с официального сайта (http://www.swi-prolog.org/download/stable/bin/w32pl666.exe). Данный дистрибутив предлагает установку SWI-Prolog версии 6.6.6.

11. На рисунках 14-18 поэтапно представлен процесс установки ПО:

Рисунок 14. Лицензионное соглашение

Рисунок 15. Выбор компонентов ПО

Рисунок 16. Выбор директории для установки

Рисунок 17. Настройка дополнительных параметров

Рисунок 18. Процесс установки

Рисунок 19. Завершение установки

12. В соответствии с заданием была построена база данных, отражающая информацию о студентах, их средних баллах, компаниях-работодателях и их требованиях, а также предикаты, отражающие логические связи между вышеописанными элементами (см. рисунок 20).

Рисунок 20. База данных

После этого было начато выполнение запросов к БД в соответствии с заданием.

13. Реализация запроса относительно получения стипендии студентом Поповым.

Запрос: stipendiya(‘Popov’). (рисунок 21).

Рисунок 21. Результат выполнения запроса

14. Реализация запроса относительно получения стипендии студентом Федоровым.

Запрос: stipendiya(‘Fedorov’). (рисунок 22).

Рисунок 22. Результат выполнения запроса

15. Реализация запроса относительно определения группы студентов, занесённых в базу знаний и получающих стипендию.

Запрос: stipendiya(Name). (рисунок 23).

Рисунок 23. Результат выполнения запроса

16. Реализация запроса относительно определения среднего балла для поступления на работу в корпорацию Microsoft.

Запрос: company (‘Microsoft’, SrBal). (рисунок 24).

Рисунок 24. Результат выполнения запроса

17. Реализация запроса относительно выяснения возможности трудоустройства студента Попова в корпорацию Microsoft.

Запрос: isAbleToWork (‘Popov’, ‘Microsoft’). (рисунок 25).

Рисунок 25. Результат выполнения запроса

18. Реализация запроса относительно выяснения возможного перечня организаций для трудоустройства студента Федорова.

Запрос: isAbleToWork (‘Fedorov’, NameCompany). (рисунок 26).

Рисунок 26. Результат выполнения запроса

19. Реализация запроса относительно определения группы студентов, занесённых в базу знаний и получающих возможность трудоустройства в компанию Apple.

Запрос: isAbleToWork (NameStudent, ‘Apple’). (рисунок 27).

Рисунок 27. Результат выполнения запроса

20. Реализация запроса определения группы студентов, занесённых в базу знаний и получающих возможность трудоустройства в компанию IBM.

Запрос: isAbleToWork (NameStudent, ‘IBM’) (рисунок 28).

Рисунок 28. Результат выполнения запроса

Вывод

По итогам проделанной работы изученные пакеты можно сравнить по следующим параметрам:

1) Синтаксис. Ни та, ни другая среда не являются требовательными к программисту, синтаксис достаточно интуитивен. По сравнению с более сложными языками программирования обе среды имеют довольно низкий порог вхождения.

2) Интерфейс пользователя. SWI-Prolog обладает более удобным интерфейсом, позволяя подгружать базы данных и предикаты из отдельных файлов, что дает возможность выполнять запросы из разных проектов без необходимости редактирования исходных файлов. В свою очередь, Visual Prolog требует значительно большего числа шагов для выполнения запросов.

3) Простота установки. Обе среды устанавливаются за несколько минут без необходимости тонкой настройки и не требуют дополнительных библиотек.

4) Применимость. Обе среды способны справляться с необходимыми задачами. Следует, однако, отметить, что в некоторых случаях SWI-Prolog может неожиданно завершить работу. При работе с Visual Prolog такого замечено не было.

4.13
Innova
Профессиональные навыки: преподавание в колледже и экономическом ВУЗе, аналитическая и консультационная деятельность. Имею три высших образования; экономическое, историческое, лингвистика. Принцип работы - Борьба за качество!