Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Общие сведения об интеллектуальных системах.

Поиск

Лекция 1.

Общие сведения об интеллектуальных системах.

Определение. Искусственный интеллект (ИИ) – это некая система программных средств, имитирующая на компьютере процесс мышления человека. Термин искусственный интеллект был предложен в 1956 г. в Станфордском университете (США).

Интеллект представляет собой совокупность фактов и способов их применения для достижения определенной цели. А достижение цели – это применение необходимых правил использования соответствующих фактов.

Пример. Факт1. Зажженная плита – горячая.

Правило1. ЕСЛИ положить руку на зажженную плиту, ТО можно обжечься.

Рассмотрим этапы развития систем искусственного интеллект а:

1) 70-е годы 20 века характеризуются поиском общих методов решений задач и использования их при построении универсальных программ;

2) 80-е годы 20 века характеризуются поиском общих методов представления информации, ее поиска для использования при создании специальных программ;

3) 90-е годы 20 века характеризуются использованием больших объемов высококачественных специальных знаний по некоторой предметной области для создания специальных программ.

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

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

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

Источником знаний для ЭС служат эксперты в соответствующей предметной области.

Основные их свойства:

1. ЭС для решения задач применяет высококачественные опыт и знания;

2. Знания в ЭС постоянно накапливаются и обновляются;

3. ЭС обладает прогностическими возможностями;

4. ЭС могут быть использованы для обучения руководящих работников и специалистов.

В процессе проектирования и функционирования ЭС можно выделить следующих участников:

1. Разработчик инструментальных средств проектирования ЭС;

2. Инструментальные средства (ИС) построения ЭС;

3. Сама ЭС; 4. Эксперт; 5. Инженер знаний или администратор БЗ;

6. Пользователь.

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

К инструментальным средствам (ИС) проектирования относят язык программирования ЭС и поддерживающие средства, через которые пользователь взаимодействует с ЭС.

Взаимодействие участников ЭС.

Рассмотрим компетентность ЭС, сравнивая систему человеческого интеллекта и систему ИИ.

Система человеческого интеллекта Система ИИ
Недостатки. 1. Непрочная 2. труднопередаваемая 3. труднодокументируемая 4. непредсказуемая 5. дорогая Преимущества 1. постоянная 2. легкопередаваемая 3. легкодокументируемая 4. устойчивая 5. приемлемая
Преимущества 1. творческая 2. приспосабливающаяся 3. использует чувственное восприятие 4. разносронняя 5. использует широкодоступные знания Недостатки 1. искусственно запрогроммированная 2. нуждается в подсказке 3. использует символьное восприятие 4. узконаправленная 5. использует специальные знания

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

Терминология ЭС.

Рассмотрим основные термины, используемые в ЭС:

Алгоритм – это формальная процедура, которая гарантирует получение оптимального решения

База знаний – это часть ЭС, содержащая предметные знания.

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

Знание – это интеллектуальная информация, используемая в программе.

Интерпретатор – это часть механизма вывода, которая решает каким образом применять предметные знания.

Механизм вывода – это часть ЭС, содержащая в себе общие сведения о схеме управления процессом решения задачи.

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

Правила – это формальный способ задания знаний в виде:

ЕСЛИ <условие>, ТО <действие>

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

Эвристики – это правила, упрощают или ограничивают поиск решения в предметной области.

Фрейм – это метод представления знаний в виде графа, где вершинами являются объекты, а дугами – их свойства.

Слот – это атрибут описания свойства объекта.

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

Лекция 2

Структурирование знаний

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

Состав знаний БЗ зависит от:

1. проблемной области

2. структуры системы БЗ

3. требований и целей пользователя

4. языка общения

Рассмотрим обобщенную схему интеллектуальной информационной системы:

 


Следовательно, для функционирования интеллектуальной информационной системы требуются следующие знания:

1. Знания о процессе решения задачи (управляющие знания, используемые интерпретатором);

2. Знания о языке общения и способы организации диалога, используемые лингвистическим процессором;

3. Знания о способах представления и модификации знания, использующие компоненты приобретения знаний;

4. Поддерживающие структурные знания, используемые объяснительной компонентой.

Зависимость состава знаний от требований проявляется в следующем:

1. Какие задачи от общего набора задач и с какими данными хочет работать пользователь;

2. Каковы предпочтительные способы и методы решения;

3. При каких ограничениях на количество результатов и способы их получения должна быть решена задача;

4. Каковы требования к языку общения и к организации диалога

5. Какова степень общности или конкретности о проблемной области

6. Каковы цели пользователя

 

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

Предметная область подразделяется на: статическую и динамическую.

Большинство существующих интеллектуальных систем рассматривают предметную область как статические, т.е. как области в которых динамикой можно пренебречь.

Примером статической области является область, хранящая сведения о симптомах болезней и правилах постановки диагноза по этим симптомам.

Динамические области подразделяются на следующие типы:

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

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

3. Представления, в которых учитываются как изменения объектов во времени, так и изменения пространственных взаимоотношений между ними).

 

Задачи предметной области подразделяются на следующие типы:

1. Задача анализа предметной области

2. Задача преобразования предметной области

3. Задача определения или выбора предметной области

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

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

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

Рассмотрим структуру знаний в БЗ

 

Интерпретируемый тип знаний – это тип, который способен определить или интерпретировать решатель, т.е. интерпретатор. Этот тип знаний включает в свой состав предметные знания, управляющие знания и знания о представления, которые объединяются в метазнания.

Знания о представлениях содержат информацию, о том, каким образом в системе представлены интерпретируемые знания. Т.о. описатели предметной области содержат определенную информацию о предметных знаниях, например коэффициенты определенности правил, данных, мер важности или сложности.

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

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

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

 

Знания второго типа (неинтерпретируемые) неизвестны решателю и делятся на вспомогательные и поддерживающие.

Вспомогательные знан ия хранят информацию о лексике и грамматике языка и информацию о структуре диалога.

Поддерживающие знания используются при создании системы и при выполнении объяснений.

Технологические знания содержат сведения о времени создания знаний и времени создания знаний.

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

 

Лекция 3.

Организация знаний

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

1. организация знаний по уровням представления и детальности;

2. организация знаний в рабочей памяти системы

3. организация знаний в БЗ

 

Уровни представления могут содержать три уровня:

Нулевой уровень – содержит знания системы о проблемной области

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

Второй уровень – содержит сведения о знаниях первого уровня, т.е. знания о представлениях базовых понятий первого уровня.

Уровни детальности позволяют рассматривать знания с различной степенью подробности. В основном выделяются три уровня детальности:

1. по общей организации

2. по логической организации знаний

3. по физической организации знаний

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

1. связность знаний

2. механизм доступа к знаниям

3. способ сопоставления

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

Внешние связи подразделяются на логические и ассоциативные.

Логические связи выражают семантические отношения между элементами знаний.

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

В этом процессе могут быть выделены два этапа:

1. по ассоциативным языкам осуществляется выбор из БЗ возможных кандидатов на роль нужных объектов

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

 

Способ сопоставления может быть использован для подтверждения и коррекции выбранного объекта. Для подтверждения неизвестного объекта он может быть сопоставлен с некоторыми известными образцами.

Операции сопоставления выступают в следующих формах:

1. синтаксические

2. параметрические

3. семантические

4. принуждаемое

1. При синтаксическом сопоставлении соотносятся образцы или формы объекта, но не его содержание

2. При параметрическом сопоставлении вводится параметр, определяющий степень сопоставления

3.. При семантическом сопоставлении соотносятся не формы объектов, а их функции, т.е. содержание

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

 

Лекция 4

Модели представления знаний

Можно различить два типа представления знаний:

1. логические

2. эвристические

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

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

1. сетевые

2. фреймовые

3. продукционные

Рассмотрим первый тип представления знаний.

 

Логические модели

Логические модели используют язык исчисления предикатов. Первому предикату соответствует имя отношения, а термину аргументы- объекты. Все логические выражения, используемые в логике предикатов, имеют значения истина или ложно.

Пример: рассмотрим вқражение Джон явл специальстом по информационным технологиям. Это вқражение может быть представлено следуюўим образом: является (Джон, специальность по информационным технологиям). Пусть Х- объект (Джон), который является специалистом по информационным технологиям. Тогда используется следующая форма записи: является (Х, специалист по информационным технологиям).

Выражение: Смит работает на фирме IBM в качестве специалиста может быть представлено в виде предиката с тремя аргументами: работает (Смит, фирма IBM, специалист).

При работе с логическими моделями необходимо соблюдать следующие правила:

1) Порядок аргументов должен всегда задаваться в соответствии с интерпретацией предикатов принятой в данной предметной области. Программист принимает решение о фиксированном порядке аргументов и соблюдает его от начала до конца.

2) Предикат может иметь произвольное число аргументов

3) Отдельные высказывания, состоящие из предиката и связанных с ним аргументов, могут объединяться в сложные высказывания с помощью логических связок: И(END, ), ИЛИ (or, ), НЕ (not, ~), →- импликация используемые для формулирования правил по форме: ЕСЛИ…, ТО

Рассмотрим несколько примеров:

1) Название предиката – является

Является (Смит, специалист по ИТ) ∩ читает (Смит, литература)

Смит является специалистом по ИТ и читает литературу.

2) Название предиката – отчитывается

Отчитывается (Смит, Джон)→руководит (Джон, Смит)

Если Смит отчитқвается перед Джоном, то Джон руководит Смитом.

3) Название предиката –написал

Написал (Смит, программа) ∩ NOT работает (программа) → отладить (Смит, программа, вечер) OR передать (программа, программист, следующий день)

ЕСЛИ Смит написал программу И она не работает, ТО Смиту следует отладить программу вечером ИЛИ передать программисту на следующий день.

В высказываниях в качестве аргументов могут быть использованы и переменные. В этом случае для работы с переменными вводится понятие квантор.

Кванторы бывают двух типов:

1. Квантор всеобщности

2. Квантор существования

означает, что все значения переменной в скобках, относящиеся к некоторой области должны быть истинными.

означает, что только некоторые из значений x истины.

и могут входить в состав друг друга.

Примеры:

1. (специалист по ИТ (X)→программист (X))

Все специалисты по ИТ являются программистами

2. (специалист по ИТ (X)→хорошие программисты (X))

Некоторые специалисты по ИТ – хорошие программисты.

3. (служащий (X)→ руководитель (Y,X))

У каждого служащего есть руководитель

4. (служащий (X)→ руководитель (Y,X))

Существует некоторое лицо, которое руководит всеми.

 

Фреймовые модели

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

Фрейм (англ. Frame – каркас или рамка) – это структура знаний, предназначенная для представления некоторой стандартной ситуации или абстрактного образа.

С каждым фреймом связана следующая информация:

1. о том как пользоваться фреймом;

2. каковы ожидаемые результаты выполнения фрейма;

3. что делать, если ожидания не оправдались

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

Фреймом называется также формализованная модель для отображения образа или ситуации.

Структуру фрейма можно представить так:

ИМЯ ФРЕЙМА:

(имя 1-го слота: значение 1-го слота),

(имя 2-го слота: значение 2-го слота),

…………………………………………

(имя N-го слота: значение N-го слота),

 

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

В подобных ситуациях сеть используется для поиска и предложения другого фрейма.

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

Модель фрейма является достаточно универсальной, поскольку позволяет отобразить всё многообразие знаний о мире через:

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

2. фреймы-роли (менеджер, кассир, клиент);

3. фреймы-сценарии (банкротство, собрание, акционеры)

4. фреймы-ситуации (тревога, авария, рабочий режим устройства) и др.

Важнейшим свойством теории фреймов является заимствованное из теории семантических сетей. И во фреймах и в семантических сетях наследование происходит по АКО-связям (A-Kind-of=это). Слот АКО указывает на фрейм более высокого уровня иерархии, откуда не явно наследуются, т.е. переносятся значения аналогичных слотов.

Человек Ребенок Ученик

 

 

 

 


Сеть фреймов

Здесь понятие «ученик» наследует свойство фреймов «ребенок» и «человек», которые находятся на более высоком уровне. Тогда на вопрос: «Любят ли ученики сладкое?» следует ответить «Да»(т.к. этим свойством обладают дети). Наследование свойств может быть частичным, так возраст для учеников не наследуется из фрейма «ребенок» поскольку указан явно в своем собственном фрейме.

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

 

Продукционные модели

В традиционном программировании, если i- ая команда не является командой ветвления, то за ней следует i+1- ая команда. Подобный способ программирования удобен в тех случаях, когда последовательность обработки мало зависит от обрабатываемых знаний.

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

1. разделение постоянных знаний, хранимых в БЗ, и временных знаний из рабочей памяти

2. структурная независимость модулей

3. отделение схемы управления от модулей, несущих знания о проблемной области.

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

 

Лекция 5

ПРЯМАЯ ЦЕПОЧКА РАССУЖДЕНИЙ

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

Рассмотрим такую ситуацию: во время движения у автомобиля перегревается двигатель. Как отреагирует на это водитель? Конечно, он занервничает. Многие с этим сталкивались жарким днём в час пик. Сформулируем задачу в более общем виде. Имеет место ситуация (перегрев двигателя), требуется предсказать её последствие (заглохнет ли мотор?). Итак, прежде всего зафиксировано возникновение определённого состояния (перегревдвигателя), а затем в работу включаются относящиеся к нему правила:

Правило 1:ЕСЛИ двигатель перегрелся,ТО мотор заглохнет.

Правило 2:ЕСЛИ мотор заглохнет, ТО это приведет к денежным затратам и позднему возвращению домой.

Каким образом можно прийти к выводу о том, что перегрев двигателя ведёт к денежным затратам и позднему возвращению домой? Это можно сделать, используя прямую цепочку рассуждений. Отправной точкой рассуждений служит возникшая ситуация (перегрев двигателя). Затем срабатывает условная часть (часть ЕСЛИ) первого правила. Поскольку возникшая ситуация удовлетворяет содержащемуся в ней условию, согласно констатирующей части этого правила (части ТО) выводится новая ситуация (мотор заглохнет). Цепочка рассуждений продолжается. Условие, содержащееся в части ЕСЛИ второго правила, удовлетворяется, если уже сработало первое правило (действительно заглох мотор). Следовательно, вывод о денежных затратах и позднем возвращении домой можно сделать при возникновении двух ситуаций: двигатель перегрелся или мотор заглох. Описанная последовательность рассуждений называется прямой цепочкой потому, что констатирующая часть правила (часть ТО) выполняется только в том случае, если удовлетворяется условная часть правила (часть ЕСЛИ). Отправной точкой рассуждений, таким образом, служит уже возникшая ситуация, а затем делаются выводы.

Пример прямой цепочки рассуждений

Для экспертной системы фондовой биржи можно было бы воспользоваться, например, такими правилами:

10 ЕСЛИ ПРОЦЕНТНЫЕ СТАВКИ = ПАДАЮТ,

ТО УРОВЕНЬ ЦЕН НА БИРЖЕ = РАСТЕТ

20 ЕСЛИ ПРОЦЕНТНЫЕ СТАВКИ = РАСТУТ,

ТО УРОВЕНЬ ЦЕН НА БИРЖЕ = ПАДАЕТ

30 ЕСЛИ ВАЛЮТНЫЙ КУРС ДОЛЛАРА = ПАДАЕТ,

ТО ПРОЦЕНТНЫЕ СТАВКИ = РАСТУТ

40 ЕСЛИ ВАЛЮТНЫЙ КУРС ДОЛЛАРА = РАСТЕТ,

ТО ПРОЦЕНТНЫЕ СТАВКИ = ПАДАЮТ

50 ЕСЛИ FEDINT = ПАДАЕТ И FEDMON -ДОБАВИТЬ,

ТО INTEREST = ПАДАЕТ

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

Имя переменной Значение
INTEREST DOLLAR FEDINT FEDMON STOCK Изменение процентных ставок (рост или падение) Валютный курс доллара Процентные ставки федерального резерва Обращение денег федерального резерва (т.е. добавление или изъятие резервов) Изменение уровня цен на бирже

 

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

Во-первых, база знаний содержит список переменных условия, т.е. перечень переменных, входящих в условную часть каждого правила. Поясним назначение очереди переменных вывода. Принцип работы очереди - “первым пришел - первым ушел”. Рассмотрим назначение списка переменных и указателя списка переменных условия. Список переменных содержит значения переменных и признак их инициализации. До начала диалога с программой признак инициализации равен NI и всем переменным присвоены пустые значения. В процессе диалога с системой переменным присваиваются значения, а значение признака меняется на I. В указателе переменных условия хранится информация о правиле, с которым система работает в данное время. Указатель состоит из номера правила и номера условия в правиле, поскольку условная часть правила в общем случае может содержать несколько условий. Система использует указатель, чтобы отследить текущее положение в цепочке рассуждений.

 

Правило 10 ЕСЛИ INTEREST=ПАДАЕТ, ТО STOCK=РАСТЕТ Правило 20 ЕСЛИ INTEREST "РАСТЕТ, TO STOCK = ПАДАЕТ Правило 30 ЕСЛИ DOLLAR = ПАДАЕТ, ТО INTEREST=РАСТЕТ Правило 40 ЕСЛИ DOLLAR = РАСТЕТ, ТО INTEREST= ПАДАЕТ Правило 50 ЕСЛИ FEDINT = ПАДАЕТ И FEDMON = ДОБАВИТЬ, ТО INTEREST= ПАДАЕТ 1 INTEREST 2 3 4 5 INTEREST 6 7 8 9 DOLLAR 10 11 12 13 DOLLAR 14 15 16 17 FEDINT 18 FEDMON INTEREST DOLLAR FEDINT FEDMON ———————— Список переменных условия
   

————————
Указатель переменных условия

 
 
 
 

 

———————————————— База знаний   ———————— Список переменных условия ——————————— Очередь переменных логического вывода

Рис.1. Структуры данных базы знаний экспертной системы фондовой биржи

 

Пример прямой цепочки рассуждений

Для примера воспользуемся базой знаний, разработанной для фондовой биржи и спросим систему прямых рассуждений:

Что будет, если добавить в банковскую систему средства из федерального резервного банка? Другими словами, FEDMON = ДОБАВИТЬ

Система обратится к базе знаний. Поскольку значение переменной FEDMON изначально задано, она помещается в очередь переменных логического вывода. Просмотрев список переменных условия, система определяет, что первый раз переменная FEDMON встречается в условной части правила 50. Указатель переменных условия устанавливается на первое условие правила 50. В списке переменных условия для правила 50 содержатся имена двух переменных FEDINT и FEDMON. Обратившись к списку переменных, система определяет, что переменной FEDMON присвоено значение ДОБАВИТЬ, а значение переменной FEDINT не задано (признак инициализации равен NI). Система запросит у пользователя значение переменной FEDINT:

Растет или падает уровень процентных ставок Федерального резервного банка?

Предположим, что пользователь ответил: “ПАДАЕТ”; это значение присваивается переменной FEDINT и заносится в список переменных. Теперь все переменные условной части правила 50 проинициализированы и система может приступить к ее анализу.

 

Правило 10 ЕСЛИ INTEREST=ПАДАЕТ, ТО STOCK=РАСТЕТ Правило 20 ЕСЛИ INTEREST = РАСТЕТ, ТО STOCK=ПАДАЕТ Правило 30 ЕСЛИ DOLLAR = ПАДАЕТ, ТО INTEREST=РАСТЕТ Правило 40 ЕСЛИ DOLLAR = РАСТЕТ, ТО INTEREST = ПАДАЕТ Правило 50 ЕСЛИ FEDINT = ПАДАЕТ И FEDMON-ДОБАВИТЬ, ТО INTEREST = ПАДАЕТ 1 INTEREST 2 3 4 5 INTEREST 6 7 8 9 DOLLAR 10 11 12 13 DOLLAR 14 15 16 17 FEDINT 18 FEDMON
 
INTERSET
DOLLAR
FEDINT
FEDMON

 

  Значение
NI  
NI  
NI  
I ДОБАВИТЬ

 

———————— Список переменных условия
   

 

Номер правила Номер условия

 

———————— Указатель переменных условий
   
FEDMON
 
 
 

 

———————————————— База знаний ——————— Список переменных условия ——————————— Очередь переменных логического вывода

 

 

Рис. 2 Система, реализующая прямую цепочку рассуждений

 

Истинны оба условия: и FEDINT=ПАДАЕТ и FEDMON=ДОБАВИТЬ, поэтому, согласно части ТО правила, переменной INTEREST присваивается значение ПАДАЕТ. Переменная INTEREST помещается в очередь переменных логического вывода, поскольку она может стать новым условием и соответствующим образом изменяется список переменных.

Затем система проверяет, нет ли в остальных правилах переменной FEDMON. Если переменная FEDMON не встречается ни в одном из оставшихся правил, она удаляется из очереди переменных логического вывода. Первой в очереди становится переменная INTEREST. Заново анализируя список переменных условия, система находит переменную INTEREST в условной части правила 10. Переменная INTEREST входит в условную часть правил 10 и 20. Но логически выведенному значению переменной INTEREST = ПАДАЕТ удовлетворяет только условие правила 10, Система обращается к части ТО этого правила и присваивает переменной STOCK значение РАСТЕТ, а имя переменной заносится в очередь переменных логического вывода (см. рис. 5.14). Правило 20 отвергнуто, потому что оно содержит условие INTEREST = РАСТЕТ, а переменная INTEREST уже имеет значение ПАДАЕТ. Переменная INTEREST не встречается больше ни в одном из оставшихся правил и поэтому удаляется из очереди переменных логического вывода. Переменная STOCK оказывается в начале очереди. Процесс рассуждений на этом заканчивается, поскольку переменная STOCK не входит в условную часть какого-либо правила. Ответ на поставленный вопрос будет выглядеть следующим образом:

1. Процентные ставки падают.

2. Уровень цен на бирже растет.

Работа с базой знаний

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

Список логических выводов - это структура данных, содержащая упорядоченный список возможных логических выводов. Список состоит из номера правила, логического вывода, связанного с этим правилом, и условий, которые формируют вывод. На каждое правило базы знаний в списке приходится одна запись. Список логических выводов используется исключительно для поиска вывода по номеру правила. Когда условия части ЕСЛИ истинны, вызывается часть ТО, тем самым переменной логического вывода присваивается значение.

Список переменных содержит имена переменных для всех условных час



Поделиться:


Последнее изменение этой страницы: 2016-08-16; просмотров: 738; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.164.100 (0.02 с.)