Системы

АВТОМАТИЗИРОВАННЫЕ ИНФОРМАЦИОННЫЕ

10.1. Общие сведения

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

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

Не следует думать, что любая автоматизированная информа­ционная система носит всеохватывающий характер. Напротив, она может входить в качестве составной части в более сложную систе­му, такую, как система автоматизации проектирования (САПР) или система управления производством. Размер и функции АИС определяются предметной областью, для которой она спроекти­рована, и если, например, предметная область охватывает лишь документооборот предприятия, то незачем искать в информаци­онной системе сведения о зарплате.

10.2. Структура АИС

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


Рассмотрим их более подробно.

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

Программное обеспечение включает системное программное обеспечение, типовое прикладное программное обеспечение и специализированное прикладное программное обеспечение.

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

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

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

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

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


данных, а также языковые средства, используемые для описания данных и метаданных (лингвистическое обеспечение). Наличие раз­витой системы метаданных является главным признаком, отлича­ющим информационную систему от простых информационных тех­нологий. Разумеется, сведения, описывающие обрабатываемые дан­ные, присутствуют в любой информационной технологии, однако особенностью метаданных АИС является то, что они хранятся в самой системе, являясь ее неотъемлемой частью.

Подлежащая хранению и обработке информация обычно группируется в соответствии с типовыми структурами, кото­рые называются моделями данных. Сформированная таким обра­зом информация называется базой данных. Еще раз подчеркнем, что база данных содержит полное описание содержащейся в ней информации, включая описание собственной структуры. Про­граммные средства общего назначения, предназначенные для работы с базой данных, называются системой управления базой данных (СУБД). Из числа систем, предназначенных для созда­ния АИС предприятий (корпоративных АИС) назовем Oracle, DB2, MS SQL Server.

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

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

10.3. Классификация АИС

Информационные системы классифицируются по разным при­знакам. Рассмотрим наиболее часто используемые способы клас­сификации.





Классификация по масштабу. По масштабу информационные системы подразделяются на следующие типы: одиночные, груп­повые и корпоративные.

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

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

Корпоративные информационные системы (системы масшта­ба предприятия) являются развитием групповых систем и могут поддерживать территориально разнесенные узлы или сети. Для таких систем характерна сложная архитектура с несколькими серверами.

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

Классификация по сфере применения. По сфере применения ин­формационные системы обычно подразделяются на четыре группы:

• системы обработки транзакций;

• системы поддержки принятия решений;

• информационные-справочные системы;

• офисные информационные системы.

Системы обработки транзакций (Online Transaction Processing — OLTP) предназначены для поддержания адекватного отображе­ния предметной области в информационной системе в любой момент времени.

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

• высокая производительность обработки;

• непротиворечивость и согласованность хранимой информа­ции в любой момент времени;

• защита от несанкционированного доступа, программных и аппаратных сбоев.

Системы поддержки принятия решений (аналитические систе­мы) представляют собой другой тип информационных систем,


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

из данных.

Обширный класс информационных-справочных систем осно­ван на текстовых и гипертекстовых документах и мультимедиа. Наи­большее развитие такие информационные системы получили в сети Интернет.

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

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

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

• бухгалтерского учета;

• управления складскими ресурсами, поставками и закупками;

• управления маркетингом;

• документооборота;

• оперативного управления;

• предоставления оперативной и сводной информации и др.

Классификация по виду поддерживаемых информационных ре­сурсов. Здесь обычно выделяются два больших класса: документо-графические и фактографические системы.

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






класс документографических систем фактически совпадает с ин­формационными-поисковыми.

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

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

• объем информационных ресурсов и состав системного персо­нала, а также возможное количество пользователей;

• среда хранения и динамика информационных ресурсов;

• архитектура и способы доступа к системе;

• ограничения доступа к системе;

• программно-аппаратная платформа.

Список характеристик АИС можно было бы продолжить, од­нако уже приведенного достаточно, чтобы продемонстрировать большое многообразие информационных систем.

Контрольные вопросы

1. Может ли на одном компьютере размещаться несколько АИС? А одна АИС на нескольких компьютерах?

2. В каких случаях необходимо создание АИС?

3. Как называется часть реального мира, моделируемая информаци­онной системой?

4. Опишите составные части АИС.

5. Что такое метаданные?

6. Что означает понятие модели данных?

7. Опишите функции обслуживающего персонала АИС.

8. Назовите причины многообразия информационных систем.


ГЛАВА 11 СИСТЕМЫ, ОСНОВАННЫЕ НА ЗНАНИЯХ

11.1. Знания

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

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

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

«Марка автомобиля — ВАЗ 21053; номер — А6780Р 77; контакт­ный телефон владельца — 345-67-34; неисправность — двигатель останавливается на холостом ходу».

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

Следующий пример относится к той же предметной области.

«ЕСЛИ двигатель останавливается на холостом ходу и зажига­ние в цилиндрах двигателя выставлено правильно, ТО возможная причина неисправности — засорены жиклеры холостого хода».

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


от другого специалиста. Опытный мастер обладает большим набо­ром утверждений подобного рода (не только по диагностике не­исправностей, но и по их устранению), многие из которых имеют вид «ЕСЛИ — ТО», как приведенное ранее.

Следует отметить, что деление информации на классы «дан­ные» и «знания» довольно условно, часто фактические данные (или просто факты) относят к знаниям специального вида, кото­рые представляются в виде: ААВ, где А — символьная строка, указывающие на имя конкретного объекта или ситуации, В — символьная строка или число, а знак А обозначает один из мате­матических знаков =, >, <, <, > или е.

Например, «марка = ВА321053», «неисправность = двигатель останавливается на холостом ходу», «температура <37», «цвет из­делия е {черный, синий, красный}».

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

• увеличение сложности решаемых задач приводит к тому, что программы становятся все сложнее для понимания, и поэтому затрудняется их разработка;

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

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

Однако в практической деятельности человек чаще сталкива­ется с задачами совсем другого типа, для которых характерны следующие особенности:

• алгоритм решения задачи неизвестен или не может быть ис­пользован из-за ограниченности памяти и быстродействия ком­пьютера;

• задача не может быть записана в числовой форме (например, задача медицинской или технической диагностики).


Такие задачи принято называть плохо формализуемыми.

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

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

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

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

Поскольку логический вывод и действия над знаниями выпол­няют специальные программы, знания нельзя представлять не­посредственно в том виде, в котором они используются челове-





ком (например, в виде простого текста). Поэтому для представле­ния знаний разрабатываются математически строгие модели пред­ставления знаний.

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

• продукционная модель;

• модель семантической сети;

• модель, основанная на фреймах;

• логическая модель.

Рассмотрим основные концепции, лежащие в основе этих мо­делей.

11.2.1. Продукционная модель

Еще в 60-е годы прошлого столетия американские исследова­тели в области искусственного интеллекта А. Ньюэлл и Г. Саймон показали, что во многих случаях человеческие рассуждения могут быть представлены в виде последовательности, состоящей из предложений, каждое из которых записывается:

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

где под «условием» понимается один или несколько фактов, со­единенных логическими операторами AND (И), OR (ИЛИ), NOT (НЕ), а под «действием» — одна или несколько операций по об­работке данных, выполняемых, если в рассматриваемой ситуа­ции «условие» истинно. Предложения такого вида называются пра­вилами продукции, а интеллектуальные системы с базами знаний, состоящими из правил, называются продукционными системами. Отметим, что при описании знаний в виде правил продукции часто используются следующие форматы записи правил:

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

П1: IF A = a, AND В = b, THEN Z:= z,;

П2: IF С = с, AND D = d, THEN В:= b,;

ПЗ: IF С = Ci AND D = d2 THEN В:= b2;

П4: IF A = a, THEN D:= d,.

Отметим, что в этих правилах действия, т.е. THEN-части пра­вил, являются просто операторами присваивания определенных значений переменным Z, В и т.д. Каждое такое действие можно


интерпретировать как появление нового факта. Так, например, правило П4 утверждает, что, если имеет место факт А = аь то объекту с именем D надо присвоить значение (D:= d,) и, тем самым, мы получим факт D = d,. Важным понятием в продукци­онных системах является доска объявлений, которая представляет собой область оперативной или внешней памяти системы, куда записываются:

• факты, известные до начала вывода;

• факты, ставшие результатом исполнения правил в ходе вы­вода. Условие правила выполняется, если соответствующие ему факты содержатся на доске объявлений.

Пусть вначале доска объявлений содержит факты А = а, и С = С[. Мы хотим выяснить: что следует из этих фактов, т. е. какие новые факты можно получить, используя правила базы знаний. Логичес­кий вывод в соответствии с прямой цепочкой рассуждений про­исходит по следующей схеме. На первом шаге система просматри­вает все правила в базе знаний и находит первое правило, для которого условие, т.е. IF-часть является истинной при наличии фактов, выставленных на доске объявлений. В нашем случае это правило П4 — для него IF-часть истинна, т.к. на доске объявле­ний есть факт А = ах. Этот шаг называется согласованием. На вто­ром шаге выполняется действие, записанное в THEN-части со­гласованного правила П4, и факт D = d[ помещается на доску объявлений. Этот шаг называется исполнением правила.

Далее система просматривает снова все правила, кроме испол­ненного П4, и находит первое правило, для которого IF-часть истинна при наличии всех фактов на уже обновленной доске объяв­лений. Видно, что наличие факта С = С] и появление факта D = d[ дает в результате согласование с правилом П2.

Исполнение правила П2 приводит к обновлению доски объяв­лений: на ней появляется новый факт В = Ь,. Далее процедура согласования и исполнения правил повторяется аналогично до тех пор, пока еще существуют правила, которые можно согласо­вать с фактами, помещенными на доску объявлений. Результатом логического вывода будет состояние доски объявлений в момент остановки алгоритма. Для рассматриваемого примера: это новые факты Z = zb В = bb D = d! и факты А = аь С = сь известные до начала вывода.

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

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







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

знаний для того, чтобы установить конкретный факт, например Z = zb имея ту же исходную информацию, что и в предыдущем случае. Иными словами, система должна нам ответить на вопрос: верно ли что из фактов А = а, и С = с, следует факт Z = z,? Искомый факт называется целью, а переменная Z — переменной цели.

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

Более эффективной будет стратегия вывода по обратной це­почке рассуждений. При этой стратегии система всегда начинает поиск нужного факта с просмотра доски объявлений. В нашем случае на доске объявлений выставлены только факты А = а, и С = сь а интересующего нас факта нет. Тогда система просматривает все правила, начиная с первого, чтобы найти то из них, в котором в THEN-части стоит оператор присваивания Z:= z,. В данном слу­чае это правило Ш. Найдя это правило, система решает, что ей необходимо установить факты А = а{ и В = Ьь стоящие в IF-части


правила. Система пытается установить первый факт, сначала про­веряя доску объявлений. В данном случае это сразу приводит к успеху, так как факт А = а] находится на доске объявлений. Тогда система ставит перед собой промежуточную цель: установить, име­ет ли место второй факт В = Ь,. Поскольку этот факт отсутствует на доске объявлений, система пытается найти правило, в THEN-части которого выполняется действие В:= Ь,. Правило П2 удовлет­воряет этому требованию.

На следующем шаге система пытается установить факты С = С] nD = db содержащиеся в IF-части П2. Первый факт выставлен на доску объявлений. Второй факт D = d, становится очередной про­межуточной целью системы. Поскольку его нет на доске объявле­ний, система находит правило, у которого в правой части стоит оператор присваивания D:= du Таким правилом является П4. IF-часть правила П4 выполнена, так как факт А = а, выставлен на доске объявлений.

В результате проделанных шагов сформировалась цепочка свя­занных между собой правил П1 — П2 —П4. Теперь система начи­нает проход по этой цепочке в обратном направлении:

1) из факта А = а, (он выставлен на доску объявлений) следует факт D = dj (исполняется правило П4);

2) из фактов D = d, и С = с, следует факт В = Ь, (исполняется правило П2);

3) из фактов В = b! и А = а, следует интересующий нас факт Z = z, (исполняется правило П1).

На этом процесс обработки правил базы знаний заканчивается.

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

В этом случае интеллектуальная система, работающая в диало­говом режиме, задает соответствующий вопрос человеку, работа­ющему с этой системой, например: «Верно, что В = Ь,?» или «Вве­дите значение переменной В», и в зависимости от его ответа про­должает процесс вывода.

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

* База знаний носит условный характер.





G — уровень гемоглобина в крови, Т — температура, L — уро­вень лейкоцитов в крови, D — диагноз пациента.

База знаний:

Ш: IF G = «в норме» AND Т<37 AND T 36.4 THEN D:= «здо­ров»;

П2: IF G = «низкий» AND T>37 THEN D:= «болен»;

ПЗ: IF L<15 THEN G «в норме»;

П4: IF L> 15 THEN G «низкий».

Предположим мы хотим установить диагноз пациента (болен он или здоров), т.е. определить значение переменной цели D. Пусть перед началом логического вывода для диагностируемого паци­ента известны следующие факты: Т = 38,1, L = 18. Поместим эти факты на доску объявлений. Схема работы системы по обратной цепочке рассуждений такова.

Сначала будет найдено первое правило, в THEN-части которо­го переменной цели D присваивается какое-либо значение. В дан­ном случае это правило Ш. Для того, чтобы Ш исполнилось, необходимо выполнение условия в IF-части. Для этого система пытается определить переменные G и Т. Переменная G стано­вится временной целевой переменной, и система пытается опре­делить ее значение из правил. Первое правило, в THEN-части которого переменной G присваивается значение, — правило ПЗ. Однако это правило не исполняется, так как его условие (L<15) не выполнено. Тогда ищется следующее правило для определения G. Правило П4 позволяет определить значение временной целе­вой переменной G = «низкий». Этот факт выставляется на доску объявлений. Значение второй переменной Т находится непосред­ственно из доски объявлений. Возвращаясь к правилу П1, система обнаруживает, что оно не исполняется, так как условие в его IF-части ложно.

Система ищет другое правило, в котором целевая переменная D принимает какое-либо значение. Это правило П2. Условие этого правила выполняется, так как из доски объявлений система полу­чает все необходимые факты. Процесс вывода закончен, и диаг­ноз пациента определен.

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

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


• простота создания и понимания отдельных правил;

• простота пополнения и модификации;

• простота механизма логического вывода.

Однако у продукционной модели есть и слабые стороны:

• неясность взаимных отношений правил;

• сложность оценки целостного образа знаний, представлен­ных правилами;

• отсутствие гибкости в логическом выводе.

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

11.2.2. Семантические сети

Основная идея подхода к представлению знаний с помощью семантических сетей состоит в том, чтобы рассматривать пред­метную область как совокупность понятий и отношений между ними. В качестве понятийобычно выступают абстрактные или кон­кретные объекты, а отношения — это связи типа: «это», «имеет частью», «принадлежит» и др.

Семантическая сеть является наглядным способом представле­ния такого рода знаний о предметной области в виде схемы, ко­торая называется ориентированным графом с размеченными уз­лами и дугами. Поясним сказанное на примере. Если объект А на­ходится в определенной связи S с объектом В, то это знание можно изобразить в виде такого элементарного графа (рис. 11.2).

Узлы, изображенные прямоугольниками, соответствуют объек­там, а дуга в направлении от узла А к узлу В соответствует связи S. Например, фраза «Иванов работает в отделе сбыта» представляет­ся в виде, показанном на рис. 11.3.

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

Иванов работает Отдел сбыта
 

Рис. 11.2 Рис. 11.3






Рис. 11.4. Пример семантической сети

Наиболее часто в семантических сетях используются следую­щие отношения:

• связи типа «часть — целое»;

• функциональные связи (определяемые обычно глаголами «про­изводит», «влияет», «влечет»....);

• количественные (больше, меньше, равно...);

• пространственные (далеко от, близко от, за, под, над...);

• временные (раньше, позже, в течение...);

• атрибутивные связи (иметь свойство, иметь значение...) и др.
Особая роль у связи «это». Если понятия А и В находятся в

отношении «А это В», то понятие А обладает всеми характеристи­ками более общего понятия В. Если при этом В находится в отно­шении «это» с еще более общим понятием С, то А наследует и характеристики С. Так, для семантической сети на рис. 11.4 ме­неджер обладает всеми свойствами и возможностями сотрудника. Поэтому для каждого менеджера фирмы не надо указывать, что он имеет право на парковку автомобиля, что у него есть медицин­ская страховка и т.д. Достаточно указать эти характеристики толь­ко для одного понятия — «сотрудник». Таким образом, использо­вание отношения «это» во многих случаях позволяет компактно записывать знания.

Приведенный пример представления знаний семантической сетью ограничивался отношениями между понятиями, которые выражаются существительными и собственными именами («Ива­нов — менеджер», «отдел — комната» и т.д.). Однако это слиш­ком жесткое ограничение. Необходимо уметь представлять знания,


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

«Иванов проработал над проектом с 01.06.2002 по 30.02.2003».

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

Узел, помеченный буквой F и изображаемый кружком, соот­ветствует событию, выраженному глаголом «работал». Связь, по­меченная как «агент», направлена к узлу, который соответствует исполнителю или инициатору действия (в нашем случае это Ива­нов). Кроме того, в событии всегда присутствует понятие, по от­ношению к которому направлено действие. В нашем случае таким понятием служит «проект». Событие связано с ним отношением, помечаемым как «объект».

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

«Если станок закончил обработку, робот грузит кассету с дета­лями на робокар, который перевозит их на склад, где штабелер помещает кассету в ячейку»*.

Выделим пять событий: станок закончил обработку (F1), ро­бот грузит (F2), робокар перевозит (F3), кассета содержит (F4), штабелер помешает (F5). Как и в предыдущем примере, событие будем обозначать кружком, а связанные с ним понятия — прямо­угольниками. Дуги пометим наименованиями отношений, кото­рые они выражают. Схема соответствующей семантической сети приведена на рис. 11.6.

Робокар — робот-автомобиль для перевозки изделий по заданному марш­руту; штабелер — автоматическое устройство (робот), которое сортирует и раз­мещает изделия на складе.


Рис. 11.6. Пример семантической сети с несколькими узлами-событиями

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

Запрос можно представить в виде графа, в котором метки уз­лов, соответствующие некоторым понятиям, не определены. На­пример, от оператора поступила информация, что «робокар что-то перевозит». Запрос: «что и куда перевозит робокар?» Ситуация изображается в виде графа, где событие F, выражаемое глаголом «перевозит», связано отношением «агент» с понятием «робокар», отношением «объект» с неизвестным понятием X, и, наконец,

отношением «адресат» с неизвест­ным понятием Y (рис. 11.7). Ответом на запрос будут значения перемен­ных X и Y, которые надо получить из сопоставления графа запроса с графом семантической сети, изоб­раженной на рис. 11.6.

Сопоставление происходит сле­
дующим образом. Граф запроса
вкладывается в семантическую сеть
так, что узел F совмещается с уз­
лом F3, при этом одноименные дуги
Рис. 11.7. Граф запроса и узлы-прямоугольники должны со-


впасть. В результате такого совмещения узел X совпадет с узлом «кассета», а узел Y — с узлом «склад», тем самым переменные X и Y конкретизируются соответствующими значениями. Ответ бу­дет выглядеть так: РОБОКАР ПЕРЕВОЗИТ КАССЕТУ НА СКЛАД. В настоящее время аппарат семантических сетей широко ис­пользуется в системах, основанных на знаниях. Его достоинства­ми являются:

• большие выразительные возможности;

• естественность и наглядность представления знаний;

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

Для реализации семантических сетей существуют специальные языки (NET, SIMER+MIR и др.).

11.2.3. Фреймы

Термин фрейм (от англ. frame, что означает каркас или рамка) был предложен в 1974 г. американским специалистом в области интеллектуальных систем М. Минским для обозначения абстракт­ного образа, представляющего стереотипную ситуацию или по­нятие. В психологии и философии известно понятие абстрактного образа. Например, произнесение вслух слова «комната» порождает у слушающих образ комнаты: «жилое помещение с четырьмя стена­ми, полом, потолком, окнами и дверью, площадью 6...20 м2». Из этого описания ничего нельзя убрать (например, убрав окна, мы получим уже чулан, а не комнату), но в нем есть незаполнен­ные части — слоты (от англ. slot, что означает отсек или щель), например, количество окон, цвет стен, высота потолка, покры­тие пола и др.

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

(Имя фрейма:

Имя слота 1 (значение слота 1);

Имя слота 2 (значение слота 2);

Имя слота N (значение слота N)).

Здесь слот — это именованное поле, которое содержит данные определенного типа.

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





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

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

(СОТРУДНИК_034: фамилия (Иванов); год рождения (1974); специальность (МЕНЕДЖЕР); стаж (6); фото (ivanov.bmp)).

В этом представлении значением слота «специальность» явля­ется фрейм МЕНЕДЖЕР.

Существует несколько способов получения слотом значений во фрейме-экземпляре:

• по умолчанию от фрейма-образца (Default-значение);

• явно из диалога с пользователем;

• по формуле, указанной в слоте;

• из базы данных.

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

Процедуры-демоны активизируются автоматически каждый раз, когда данные попадают в соответствующий фрейм-экземпляр или удаляются из него. С помощью процедур этого типа автоматически выполняются, в частности, все рутинные операции, связанные с ведением баз данных и знаний. Пусть, например, база данных описывает транспортно-складскую систему, в которой одни и те же детали в процессе обработки меняют адреса хранения. С помо­щью процедур-демонов общение с системой можно организовать так, что пользователь будет сообщать лишь адрес, по которому отправляется конкретная партия деталей. Соответствующая про­цедура-демон активизируется автоматически, как только будет заполнен слот АДРЕС ПОЛУЧАТЕЛЯ соответствующего фрейма. В результате выполнения процедуры имя данной партии будет уда­лено из фрейма, описывающего предыдущее место хранения, и добавлено в фрейм нового места хранения.

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

Процедуры-слуги активизируются только по запросу. Напри­мер, если поступил запрос на просмотр фрейма, содержащего данные по конкретному сотруднику, то запускается процедура вывода на экран монитора его цифровой фотографии — растро­вого файла, имя которого указано в слоте ФОТО.


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

Специальные языки представления знаний в сетях фреймов FRL (Frame Representation Language — язык представления фреймов), KRL (Knowledge Representation Language — язык представления знаний) и другие программные средства позволяют эффективно строить промышленные экспертные системы.

11.2.4. Логическая модель

В рамках логической модели знания представляются с помо­щью предикатов. Предикатом называется функция нескольких переменных р(Х, Y,...), значениями которой могут быть логичес­кие константы ИСТИНА (TRUE) или ЛОЖЬ (FALSE) в зависи­мости от значений аргументов. Например, предикат родители(Х, F, М) принимает значение ИСТИНА, если для человека с име­нем X отцом является человек по имени F, а матерью — человек по имени М. С помощью предикатов можно представлять факты. Приведем несколько примеров такого представления:

родители{олег, иван, мария); студент(петров);

посещает(петров, лекции); процессор(Ые1 82801).

Из предикатов можно строить логические формулы с помощью операций л (И), v (ИЛИ), -, (НЕ) и —> (импликация «если — то»). Импликация играет особую роль: с ее помощью можно записы­вать знания общего характера (т.е. закономерности) в виде пра­вил, например:

родители(Х, F, М) л родители^, F, М) л мужчина (Х)л

л (X Ф Y) -» брат(Х, Y).

Если у человека по имени X и человека по имени Y одни и те же родители с именами F (отец) и М (мать) соответственно, и, кроме того, X — мужчина и X не совпадает с Y, то X является братом для Y. В записи этого правила используются переменные величины X, Y, F, М, возможными значениями которых являют­ся имена.

Обычно в логической модели вместо импликации А—>В исполь­зуют эквивалентную формулу -AvB. Такая замена называется «уход от импликации». Так, вышеприведенное правило можно записать в эквивалентном виде:

-^{родители(Х, F, М) л родители^ ', F, М) л мужчина (Х)л

л (X ф Y)) v брат(Х, Y).





Используя законы де Моргана, эту формулу можно переписать в следующем виде:

->родители(Х, F, М) ч-лродители(У, F, M) v-i мужчина (X)

v^ (X Ф Y) v брат(Х, Y).

Рассмотрим как происходит вывод в логической модели. База знаний в этой модели состоит из набора фактов Фь Ф2,..., Ф^. и правил Rb R2,... Rm. Задача логического вывода формулируется следующим образом. Интересующий пользователя факт Фцель (бу­дем называть его целевым фактом) представляется в виде соот­ветствующего предиката. Требуется из истинности фактов и пра­вил базы знаний вывести истинность Фиель, или, иными словами, доказать, что импликация

Ф,лФ2л... лФ*лЫ,л... лЯтцель

принимает истинное значение.

Используя простейшие законы математической логики можно показать, что истинность этой импликации эквивалентна ложно­сти логического произведения Ф,лФ2 л... лФ^лК,л... лРчтл-1Фцель*.

Специалистами в области математической логики был разра­ботан алгоритм решения этой задачи, который затем был реали­зован в специализированном языке ПРОЛОГ (сокращение от про­граммирование логическое).

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

11.2.5. Представление нечетких знаний

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

* В математике этот прием называется «доказательством от противного».


лютно корректны. Особенно часто такие ситуации возникают в задачах медицинской диагностики. Например, правило:

IF уровень гемоглобина = «в норме» AND температура < 36.9°

AND температура > 36.4° THEN диагноз:= «здоров»

верно не всегда, поэтому естественно приписать ему значение некоторого коэффициента уверенности Q, который может иметь значение от 0 до 100. Чем меньше значение Q, тем меньше уве­ренности в том, что правило верно и, наоборот, чем больше зна­чение Q, тем больше уверенности, что вывод, сделанный по это­му правилу, верен. Значение Q, равное 100, свидетельствует об абсолютной уверенности в правильности полученного вывода, а правила, для которых значение Q равно 0 или даже меньше неко­торого порогового значения (например, 20), рассматривать нет смысла. Коэффициент уверенности можно приписывать не только правилам, но и отдельным фактам.

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

IF (условие) THEN (действие) [Q =(значение)].

Например:

П: IF уровень гемоглобина = «низкий» AND температура > 37°

THEN диагноз:= «болен» [Q =90].

Правило в этом случае интерпретируется следующим образом. Если мы абсолютно уверены в фактах, входящих в условие, то полученный вывод (факт: диагноз = болен) будет иметь коэффи­циент уверенности Q = 90.

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

IF A = a AND В = b THEN Z:= z [Q = Qnp].

Пусть коэффициент уверенности в истинности факта А = а имеет значение QA, а коэффициент уверенности в истинности второго факта В = b — значение QB. Поскольку условие выполнено (прав­да, не с абсолютной уверенностью), правило будет исполнено, и мы получим новый факт Z = z. Очевидно, что результирующий коэффициент уверенности Qpe3 в истинности этого факта должен быть не больше, чем Qnp. Алгоритм вычисления Qpe3 следующий.

Вычисляется коэффициент уверенности в истинности всего условия по формуле





QycjI = min(QA, QB). Результирующий коэффициент уверенности определяется как

Уусл ' Упр

Пусть для приведенного выше правила П имеются такие дан­ные:

уровень гемоглобина = «низкий» с Q = 80; температура = 37.6° с Q = 100. Условие этого правила выполнено с коэффициентом уве­ренности

QycJT = min(80,100) = 80.

Как результат исполнения правила П будет получен факт: диагноз = «болен» с результирующим коэффициентом уверен­ности:

80-90

Если условие правила записано с использованием логической операции OR (ИЛИ), то формула для расчета Qpe3 остается той же, меняется только выражение для коэффициента уверенности самого условия — минимум заменяется на максимум. Так для пра­вила

IF A = a OR В = b THEN Z:= z [Q = Qnp]

QycjI вычисляется по формуле

QycJI = max(QA, QB).

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

11.3. Экспертные системы

11.3.1. Основные понятия

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


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

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

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

Одним из наиболее популярных определений ЭС является сле­дующее: «Под ЭС понимается система, объединяющая возможно­сти компьютера со знаниями и опытом эксперта в такой форме, что система может предложить разумный совет или осуществить разумное решение поставленной задачи. Дополнительно желаемой характеристикой такой системы, которая многими рассматрива­ется как основная, является способность системы пояснять по требованию ход своих рассуждений в понятной для спрашиваю­щего форме».

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

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

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




7 Гохберг





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

Базовая структура ЭС показана на рис. 11.8. Перечисленные струк­турные элементы являются наиболее характерными для большин­ства ЭС, хотя в реальных условиях некоторые из них могут отсут­ствовать.

Так как терминология в области разработки ЭС постоянно мо­дифицируется, определим основные термины, которые исполь­зованы здесь.

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

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

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

База знаний (БЗ) — ядро ЭС, совокупность знаний предмет­ной области, записанная на машинный носитель в форме, понят­ной эксперту и пользователю (обычно на некотором языке, прибли­женном к естественному). Параллельно «человеческому» представле­нию существует БЗ во внутреннем (машинном) представлении.


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

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

Редактор базы знаний — программа, представляющая инжене­ру по знаниям возможность создавать БЗ в диалоговом режиме. Включает в себя систему вложенных меню, шаблонов языка пред­ставления знаний, подсказок («Help» — режим) и других сервис­ных средств, облегчающих работу с базой.

Типы экспертных систем. Одним из часто употребляемых основа­ний классификации экспертных систем является тип решаемых ими задач. Наиболее распространенные из них приведены в табл. 11.1.

Таблица 11.1

Тип решаемых задач Суть решаемых задач
Интерпретация Построение описаний ситуаций по наблюдаемым данным
Прогноз Вывод вероятных следствий из заданных ситуаций на основе анализа имеющихся данных
Диагностика Заключение о нарушениях в системе, исходя из наблюдений
Проектирование Построение конфигурации объектов при задан­ных ограничениях
Планирование Проектирование плана действий
Мониторинг Непрерывная интерпретация данных в реальном масштабе времени и сигнализация о выходе тех или иных параметров за допустимые пределы
Отладка Выработка рекомендаций по устранению неисправностей
Обучение Диагностика, отладка и исправление поведения ученика
Управление Интерпретация, прогноз, ремонт и мониторинг поведения сложной системы

Экспертные системы, применяемые для решения перечислен­ных типов задач, носят названия интерпретирующих, прогнози­рующих и т. п.

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

11.3.2. Методология разработки ЭС

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

В целом процесс разработки экспертной системы носит эволю­ционный характер. Можно выделить следующие основных этапы эволюции экспертной системы:

• определение характеристик задачи (этап идентификации);

• поиск понятий для представления знаний (этап концептуали­зации);

• разработка структур для организации знаний (этап формали­зации);

• формулировка правил, воплощающих знания (этап реализа­ции);

• оценка правил, в которых воплощено знание (этап испыта­ний).

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

В ходе этапа концептуализации эксперт и инженер по знаниям выявляют основные понятия, отношения и характер информаци-


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

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

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

Наконец, в ходе испытания проводится оценка работы про­граммы-прототипа. Как правило, эксперт дает оценку работы про­граммы и помогает инженеру по знаниям в последующих ее мо­дификациях.

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

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

11.3.3. Инструментальные средства разработки ЭС

Различают следующие типы инструментальных средств разра­ботки ЭС:

• языки программирования;

• языки представления знаний (языки инженерии знаний);

• сре


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: