Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИИЭС(I семестр)-2007.doc
Скачиваний:
32
Добавлен:
21.08.2019
Размер:
3.14 Mб
Скачать

Разработка экспертной системы Основные режимы работы

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

В процессе разработки участвуют:

  • эксперт;

  • инженер по знаниям;

  • программист.

Сама экспертная система работает в двух режимах:

  • режиме приобретения знаний;

  • режиме решения задач (режим консультации).

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

Огромную роль играет блок объяснений для выявления ошибок при прогоне тестовых задач и поиска отсутствующих или неправильно сформулированных правил. В этом режиме эксперт и инженер по знаниям проводят итерационное заполнение базы знаний, её тестирование на простейших примерах до тех пор, пока не будет получен удовлетворительный результат.

Тестирование системы – это уже переход во второй режим работы ( режим консультации). Это основной режим при работе системы с конечным пользователем. Здесь системе задаётся конкретная ситуация и она осуществляет рассуждения, реализует либо прямую, либо обратную цепочку рассуждений.

Прямая: «К чему приведёт эта ситуация?»

Обратная: «Чем вызвана эта ситуация?»

Обратная цепочка рассуждений

Обратная цепочка рассуждений отвечает на вопрос «Какими причинами была вызвана ситуация вводимая в систему?». Как и прямая цепочка, она использует для ответа на этот вопрос правила. Цепочка выполняется с помощью серии вопросов, которые система ИИ задаёт пользователю, и в зависимости от ответа на эти вопросы, строиться тот или иной алгоритм работы. Разработка таких систем начинается с создания БЗ. Процесс проводится в два этапа.

  1. На первом этапе ставится задача разработки и составляется наглядная диаграмма, которая называется деревом решений и приводит к решению поставленной задачи.

  2. Второй этап – дерево решений преобразуется в правила БЗ.

Рассмотрим вопрос на примере фрагмента системы, дающей консультации при приёме посетителей на работу.

Система, в зависимости от того, какими качествами обладает посетитель, должна либо отказать в приёме на работу, либо предложить посетителю определённую должность. Соответственно дерево решений должно включать вершины, соответствующие вопросам, выявляющим эти качества, и решениям по приему на работу.

Фрагмент этого дерева решений имеет вид:

Дерево содержит вершины двух типов:

- вершины решений

- логические выводы

Вершины решения всегда содержат вопросы, обращённые к пользователю системы, и при проектировании базы знаний образуют условные части «ЕСЛИ» правила.

Логические выводы могут быть двух типов:

1. Окончательные выводы, которые в дереве являются окончательными вершинами (2, 6, 8, 9, 10)

2. Промежуточные выводы (3)

Окончательные выводы переходят в части «ТО» правил базы знаний.

Промежуточный вывод в одном правиле является частью «ТО», а в другом – частью «ЕСЛИ».

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

Например, зафиксируем логического вывода 3. Выше него лежат вершины 4 и 1. Это вершина решения 4 и 1 – корневая вершина дерева. Тогда эти вершины образуют путь:

Первые две вершины переходят в часть «ЕСЛИ» правила, и т.к. условий 2, они объединяются конечным союзом «И». Из 1 и 4 появляется часть «ЕСЛИ».

ЕСЛИ «посетитель имеет ученое звание? = да» & «посетитель сделал важное открытие? = нет», ТО «посетитель возможно будет принят на работу = да».

То есть фиксируются все вершины логических выводов и получается система правил, образующая базу знаний. Для того, чтобы выразить эти правила программно, необходимо каждой вершине поставить в соответствие некоторую переменную, которая и будет принимать то или иное значение при ответе на определённый вопрос. Для рассматриваемого дерева список имён переменных:

Имя переменной

Условие

Вершина

Degree

посетитель имеет учённое звание?

1

Discov(ery)

Посетитель сделал важное открытие?

4

Exper(ience)

Каков опыт работы в этой области?

7

Grade

Каков средний балл за время учёбы?

5

Posit(ion)

Какая должность предложена посетителю?

2,6,8,9,10

Qual(ity)

Возможно посетитель будет принят.

3

Когда переменным присваиваются определённые значения, то уже могут быть записаны правила БЗ.

Будем фиксировать вершины логических выводов и получать правила подобно рассмотренному выше примеру для пути 1, 4, 3, но с учетом введенных переменных.

Путь 1, 2 приводит к правилу

ЕСЛИ DEGREE=НЕТ, ТО POSIT=НЕТ.

Путь1, 4, 3 – к правилу

ЕСЛИ DEGREE=ДА и DISCOV=НЕТ, ТО QUAL=ДА (Путь 1,4,3)

Зафиксируем вершину 6 (путь 1, 4, 6).

ЕСЛИ DEGREE=ДА и DISCOV=ДА, ТО POSIT=научный сотрудник.

Зафиксируем вершину 10 (путь 3, 5, 7, 10).

ЕСЛИ QUAL=ДА и GRADE<3.5 и EXPER>=2, ТО POSIT=инженер по эксплуатации.

Зафиксируем 9 (путь 3, 5, 7, 9).

ЕСЛИ QUAL=ДА и GRADE<3.5 и EXPER<2, ТО POSIT=НЕТ.

Зафиксируем 8 (путь 3, 5, 8).

Если QUAL=ДА и GRADE>=3.5, POSIT=инженерный конструктор.

Получим следующую таблицу правил.

Правило

Путь

ЕСЛИ Degree = нет, ТО Posit = нет

1, 2

ЕСЛИ Degree = да , ТО Qual = да

1, 3

ЕСЛИ Degree = да и Discov = да,

ТО Posit = «Научный сотрудник»

1, 4, 6

ЕСЛИ Qual = да и Grade < 3,5 и Exper >= 2,

ТО Posit = «Инженер по эксплуатации»

3, 5, 7, 10

ЕСЛИ Qual = да и Grade < 3,5 и Exper < 2,

ТО Posit = нет

3, 5, 7, 9

ЕСЛИ Qual = да и Grade >= 3,5,

ТО Posit = «Инженер-конструктор»

3, 5, 8

Процесс формирования правил включает следующие шаги:

  1. Выбрать из дерева решений вершину вывода и зафиксировать её.

  2. Найти вершину решения, расположенную выше выбранной вершины вывода, связанную с ней ветвью и зафиксировать её.

  3. Повторять шаг 2 до тех пор, пока не будут исчерпаны все вершины решений, расположенные выше зафиксированной вершины вывода или не встретиться навая вершина вывода. Если встретиться новая вершина вывода, то её тоже нужно зафиксировать и прекратить выполнение Шага 2. Шаг 3 прекращается, если исчерпаны все вершины.

  4. Каждая вершина решений составляет путь. Это одна из предпосылок части ЕСЛИ правила. Если таких вершин несколько, они объединяются логическими «И».

  5. Зафиксированный логический вывод переходит в часть «ТО» правила.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]