Продукционная модель как метод построения базы знаний в экспертных системах

PAGE \* MERGEFORMAT 34

Оглавление

[1] Основные понятия экспертной системы

[2]
Классификация и структура экспертных систем

[3] 1.4. Механизмы логического вывода

[4] Инструментальные средства проектирования и разработки экспертных систем

[5] Оболочки экспертных систем

[6] Языки программирования

[7] Понятие предметной области


Введение

Мобильные радиотелефоны (MPT) очень быстро внедряются в нашу повседневную жизнь. Миллионы людей ежедневно пользуются МРТ, которые становятся непременным атрибутом современного человека.

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

Целью работы является построение продукционной модели экспертной системы прогнозирования результатов выбора телефона на основании анализа запросов покупателя, и ее реализация в языке логического программирования Visual Basic.

Объектом исследования является процесс выбора модели телефона.

Предмет исследования - продукционная модель как метод построения базы знаний в экспертных системах.

Исходя из поставленной цели, выделяют следующие задачи исследования:

  1. Анализ информации о мобильных телефонах.
    1. Изучение методов построения базы знаний.
    2. Разработка модели построения базы знаний.
    3. Изучение механизмов логического вывода.
    4. Реализация экспертной системы в языке программирования Visual Basic в среде Visual studio 2012.

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


ГЛАВА 1. Экспертные системы

  1. Основные понятия экспертной системы

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

Экспертные системы - прикладные программы ИИ, в которых база знаний представляет собой формализованные знания высококвалифицированных специалистов (экспертов) области.

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


  1. Классификация и структура экспертных систем

Для классификации ЭС используют следующие признаки:

  1. Способ формирования решения;
  2. Способ учета временного признака;
  3. Вид используемых данных;
  4. Число используемых источников решения знаний;

По способу формирования решения ЭС можно разделить на анализирующие и синтезирующие. В системах первого типа осуществляется выбор решения из множества известных решений на основе анализа знаний, в системах второго типа решение синтезируется из отдельных фрагментов знаний.

В зависимости от способа учета временного признака ЭС делят на статические и динамические. Статические ЭС предназначены для решения задач с неизменяемыми в процессе решения данными и знаниями, а динамические ЭС допускают такие изменения.

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

ЭС могут создаваться с использованием одного или нескольких источников знаний.

Типичная статическая ЭС состоит из следующих основных компонентов (рис. 1):

  • решателя (интерпретатора);
  • рабочей памяти (РП), называемой также базой данных (БД);
  • базы знаний (БЗ);
  • компонентов приобретения знаний;
  • объяснительного компонента;
  • диалогового компонента.

База данных (рабочая память) предназначена для хранения исходных и промежуточных данных решаемой в текущий момент задачи. Этот термин совпадает по названию, но не по смыслу с термином, используемым в информационно-поисковых системах (ИПС) и системах управления базами данных (СУБД) для обозначения всех данных (в первую очередь долгосрочных), хранимых в системе.

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

Решатель, используя исходные данные из рабочей памяти и знания из БЗ, формирует такую последовательность правил, которые, будучи примененными к исходным данным, приводят к решению задачи.

Компонент приобретения знаний автоматизирует процесс наполнения ЭС знаниями, осуществляемый пользователем-экспертом.

Объяснительный компонент объясняет, как система получила решение задачи (или почему она не получила решение) и какие знания она при этом использовала, что облегчает эксперту тестирование системы и повышает доверие пользователя к полученному результату.

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

Диалоговый

компонент

Объяснительный компонент

Компонент приобретения знаний

Интерфейс

С БД и ППП

решатель

База данных

База знаний

Рис. 1. Структура экспертной системы
1.3 Базы знаний и модели представления знаний

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

В качестве предметной области выбирается узкая (специальная) прикладная область. Далее для создания ЭС в выбранной области собираются факты и правила, которые помещаются в базу знаний вместе с механизмами вывода и упрощения. В отличие от всех остальных компонент ЭС, база знаний - "переменная " часть системы, которая может пополняться и модифицироваться инженерами знаний и опыта использование ЭС, между консультациями (а в некоторых системах и в процессе консультации).

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

Существуют динамические и статические базы знаний. Динамическая база знаний изменяется со временем. Ее содержимое зависит и от состояния окружающей. Новые факты, добавляемые в базу знаний, являются результатом вывода, который состоит в применении правил к имеющимся фактам. В системах с монотонным выводом факты, хранимые в базе знаний, статичны, то есть не изменяются в процессе решения задачи. В системах с немонотонным выводом допускается изменение или удаление фактов из базы знаний.

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

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

Типичными моделями представления знаний являются:

  1. Продукционная модель;
  2. Модель, основанная на использовании фреймов;
  3. Модель семантической сети;
  4. Логическая модель.

Продукционная модель - модель, основанная на правилах, позволяющая представить знания в виде предложений типа:

Если (условие), то (действие)

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

При использовании продукционной модели база знаний состоит из набора правил. Программа, управляющая перебором правил, называется машиной вывода. Чаще всего вывод бывает прямой (от данных к поиску цели) или обратный (от цели для ее подтверждения - к данным). Данные - это исходные факты, на основании которых запускается машина вывода - программа, перебирающая правила из базы.

«Фрейм – это структура данных, представляющая стереотипную ситуацию, вроде нахождения внутри некоторого рода жилой комнаты, или сбора на вечеринку по поводу дня рождения ребенка. К каждому фрейму присоединяется несколько видов информации. Часть этой информации – о том, как использовать фрейм. Часть о том, чего можно ожидать далее. Часть о том, что следует делать, если эти ожидания не подтвердятся».

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

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

Понятиями обычно выступают абстрактные или конкретные объекты, а отношения - это связи типа: "это" ("is"), "имеет частью" ("has part"), "принадлежит", "любит" и т.п. Характерной особенностью семантических сетей является обязательное наличие трех типов отношений:

  1. Класс - элемент класса.
  2. Свойство – значение.
  3. Пример элемента класса.

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