
eml / ЭМЛ.Лабораторная работа №8
.docxЛабораторная работа №8
Реализация экспертной системы на основе множественных вариантов решений
Экспертная система, позволяющая найти решение задачи, может быть построена на базе таблице истинности, при этом каждая комбинация входных аргументов может приводить к одному оригинальному ответу, а сама функция нахождения ответов не подчиняется минимизации по правилам булевой алгебры (как в ЛР 6).
Например, таблица решений, представленная на рисунке 1.
Рисунок 1. Таблица решений
Для решения этой задачи проще всего создать список вопросов и получить список ответов на них от пользователя. Затем, сопоставить ответы пользователя со списком ответов, указанных вместе с текстом ответа.
В прологе задача с матрицей решается следующим образом:
-
Создаются вопросы
-
Создаются ответы: первый аргумент – числовой список ответов пользователя, второй – текст ответа.
-
Написать функцию формирования списка вопросов
-
Создать специальную рекурсивную функцию, которая будет получать список вопросов, а возвращать список ответов в формате 0 или 1
-
Создать список из ответов пользователя на вопросы
-
В соответствии со списком ответов пользователя подобрать факт ответа(выбрать соответствующий факт answer), т.е. запустить написанные ранее функции
Для запуска созданной программы необходимо открыть Пролог-файл (File – Consult), и задать вопрос go.
Задания к лабораторной работе
Основное задание
-
Разработать, наподобие экспертной системы «Акинатор», свою систему вопросов и ответов, которая по четырём вопросам определяла бы вашего одногруппника/преподавателя. Продумать решения и представить их в виде таблицы и Пролог-файла.
-
Продумать защиту от неверных команд пользователя.
Дополнительное задание (необязательное)
Продумать возможность вывода ответа, не дожидаясь всех вопросов. Например, пользователь ответил на 2 вопроса – программа выводит ему все возможные варианты ответов (их может быть 4, если изначально вариантов ответов было 16), если пользователя это не устраивает – он продолжает отвечать на вопросы, при этом на каждом шаге ему будут представлены все возможные ответы в соответствии с уже отвеченными вопросами.