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



ЗНАЕТЕ ЛИ ВЫ?

Автоматизированные информационные

Поиск

СИСТЕМЫ

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.

 

 

А S В
 

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

 

 

 

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

Рис. 11.2 Рис. 11.3


 




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

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

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

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

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

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

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

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

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

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


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

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

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

Узе



Поделиться:


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

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