Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

eml / ЭМЛ.Лабораторная работа №8

.docx
Скачиваний:
8
Добавлен:
21.03.2016
Размер:
50.88 Кб
Скачать

Лабораторная работа №8

Реализация экспертной системы на основе множественных вариантов решений

Экспертная система, позволяющая найти решение задачи, может быть построена на базе таблице истинности, при этом каждая комбинация входных аргументов может приводить к одному оригинальному ответу, а сама функция нахождения ответов не подчиняется минимизации по правилам булевой алгебры (как в ЛР 6).

Например, таблица решений, представленная на рисунке 1.

Рисунок 1. Таблица решений

Для решения этой задачи проще всего создать список вопросов и получить список ответов на них от пользователя. Затем, сопоставить ответы пользователя со списком ответов, указанных вместе с текстом ответа.

В прологе задача с матрицей решается следующим образом:

  1. Создаются вопросы

  1. Создаются ответы: первый аргумент – числовой список ответов пользователя, второй – текст ответа.

  1. Написать функцию формирования списка вопросов

  1. Создать специальную рекурсивную функцию, которая будет получать список вопросов, а возвращать список ответов в формате 0 или 1

  1. Создать список из ответов пользователя на вопросы

  1. В соответствии со списком ответов пользователя подобрать факт ответа(выбрать соответствующий факт answer), т.е. запустить написанные ранее функции

Для запуска созданной программы необходимо открыть Пролог-файл (File – Consult), и задать вопрос go.

Задания к лабораторной работе

Основное задание

  1. Разработать, наподобие экспертной системы «Акинатор», свою систему вопросов и ответов, которая по четырём вопросам определяла бы вашего одногруппника/преподавателя. Продумать решения и представить их в виде таблицы и Пролог-файла.

  2. Продумать защиту от неверных команд пользователя.

Дополнительное задание (необязательное)

Продумать возможность вывода ответа, не дожидаясь всех вопросов. Например, пользователь ответил на 2 вопроса – программа выводит ему все возможные варианты ответов (их может быть 4, если изначально вариантов ответов было 16), если пользователя это не устраивает – он продолжает отвечать на вопросы, при этом на каждом шаге ему будут представлены все возможные ответы в соответствии с уже отвеченными вопросами.

Соседние файлы в папке eml