Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Технология проектирования и администрирования баз данных и систем данных-Конспект

.pdf
Скачиваний:
57
Добавлен:
20.03.2016
Размер:
4.52 Mб
Скачать

значение true. Строки второй таблицы, не удовлетворяющие условию соединения (т.е. имеющие значение false), получают значение null в результирующем наборе.

Существует два вида внешнего соединения: LEFT JOIN и RIGHT JOIN.

В левом соединении (LEFT JOIN) запрос возвращает все строки из левой таблицы (т.е. таблицы, стоящей слева от зарезервированного словосочетания “LEFT JOIN”) и только те из правой таблицы, которые удовлетворяют условию соединения. Если же в правой таблице не найдется строк, удовлетворяющих заданному условию, то в результате они замещаются значениями null.

Для правого соединения - все наоборот.

SELECT first_name, last_name, department FROM employee e LEFT JOIN department d

ON e.dept_no = d.dept_no

получить список сотрудников и название их отделов, включая сотрудников, еще

не назначенных ни в какой отдел.

FIRST_NAME

LAST_NAME

DEPARTMENT

===============

==============

=====================

Robert

Nelson

Engineering

Bruce

Young

Software Development

Kim

Lambert

Field Office: East Coast

Leslie

Johnson

Marketing

Phil

Forest

Quality Assurance

...

 

 

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

Пример правого соединения:

SELECT first_name, last_name, department

FROM employee e RIGHT JOIN department d

ON e.dept_no = d.dept_no

 

 

получить список сотрудников

 

 

и название их отделов,

 

 

включая отделы, в которые еще

 

 

не назначены сотрудники.

FIRST_NAME

LAST_NAME

DEPARTMENT

===============

=============

=========================

Terri

Lee

Corporate Headquarters

Oliver H.

Bender

Corporate Headquarters

Mary S.

MacDonald

Sales and Marketing

Michael

Yanowski

Sales and Marketing

Robert

Nelson

Engineering

Kelly

Brown

Engineering

Stewart

Hall

Finance

Walter

Steadman

Finance

Leslie

Johnson

Marketing

Carol

Nordstrom

Marketing

<null>

<null>

Software Products Div.

Bruce

Young

Software Development

...

 

 

9. ОБЩАЯ ХАРАКТЕРИСТИКА БАЗ ЗНАНИЙ И ЭКСПЕРТНЫХ СИСТЕМ

9.1. Терминология

Под системой баз данных (СБД) понимают как инструментальную систему, обеспечивающую создание и использование баз данных, так и систему, обеспечивающую функционирование конкретной прикладной базы данных или нескольких баз, т.е. прикладную систему [7]. В первом значении обычно употребляется термин "система управления базами данных" (СУБД) [11], [12].

Ключевым понятием в системах баз данных, выражающим их специфику, является база данных (БД), а для систем баз знаний – понятие базы знаний (БЗ) [8]. Аналогично СБД системой баз знаний (СБЗ) называют систему, обеспечивающую создание и использование баз знаний. Ее рассматривают как инструментальную систему, называемую также системой управления базами знаний (СУБЗ), или как прикладную систему с конкретной прикладной базой знаний.

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

система, основанная на знаниях (СОЗ), или система, базирующаяся на знаниях (СБЗ) [9].

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

Еще одна пара терминов, близких по смыслу к СБЗ, связана с заменой слова

"знание" на "интеллект" — "интеллектуальная система" и "система искусственного интеллекта". Однако в последнее время в англоязычной литературе предпочтение отдают терминам, подчеркивающим знания, а не интеллект. Отметим также, что многие известные системы рассматриваемого класса демонстрируют скорее использование (часто рутинное и шаблонное) знаний как результата интеллектуальной деятельности, чем интеллект, предполагающий творчество и нешаблонность. Далее будем использовать в качестве основных термины-синонимы "система баз (или базы) знаний" и "система, базирующаяся на знаниях" с одной и той же сокращенной формой СБЗ. СБЗ понимается как система, дающая возможность использовать представленные подходящим способом знания с помощью вычислительной техники [10].

9.2. Принципы, структура и функции систем баз знаний (СБЗ)

Анализируя схемы типичных ЭС или СБЗ, можно выделить в них три основные части (рис. 9.1) – базу знаний (БЗ), механизм получения решений (МР) и интерфейс (ИФ).

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

 

Система, базирующаяся на знаниях (СБЗ)

База знаний

Механизм получения

Интерфейс

(БЗ)

решений (МР)

(ИФ)

 

Рис. 9.1

 

Самая характерная черта СБЗ наличие и использование БЗ. На рис. 9.2

приведена общая структура базы знаний.

 

Модель предметной области (МПО) – понятийное знание

Система управления базой знаний

Пакеты прикладных программ (ППП) – процедурное знание

Базы данных (БД) – предметное знание

Рис. 9.2

В контексте СБЗ и ЭС, связанном в конечном счете с "программированием знаний", полезно различать алгоритмические и неалгоритмические знания.

Алгоритмические (или процедурные) знания — это алгоритмы (программы,

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

Неалгоритмические знания охарактеризовать гораздо труднее, чем алгоритмические. Они состоят прежде всего из мысленных объектов, называемых понятиями. Понятие обычно имеет имя (возможно, несколько имен-синонимов), определение, структуру (части, элементы и т. д.), оно связано с другими понятиями и входит в какую-то систему понятий. Другого рода неалгоритмические знания – это связи между понятиями или утверждения о свойствах понятий и связях между ними. В БЗ выделяются два вида неалгоритмических знаний: концептуальное (понятийное) и фактуальное (предметное). При этом концептуальную часть базы знаний называют моделью предметной области (МПО), алгоритмическую – пакетом прикладных программ (ППП), фактуальную – базой данных (БД), а ту часть представленной на рис. 8.2 системы решения задач, которая имеет дело с концептуальным знанием, называют системой искусственного интеллекта (СИИ).

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

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

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

1)понятия (математические и нематематические);

2)факты;

3)правила, зависимости, законы, связи;

4)алгоритмы, процедуры.

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

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

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

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

Прямое использование знаний из БЗ для решения задач обеспечивается

механизмом получения решений (МР) – второй основной частью СБЗ,

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

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

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

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

Третья основная часть СБЗ, которую называют интерфейсом (ИФ), обеспечивает работу с БЗ и МР на языке достаточно высокого уровня, приближенном к профессиональному языку специалистов в той прикладной области, к которой относится СБЗ. Для этого в ИФ включается соответствующий языковой процессор. Кроме того, в функции ИФ входит поддержка диалога пользователя с системой, что дает возможность пользователю получать объяснения действий системы, участвовать в поиске решения, пополнять и корректировать БЗ. Иногда интерфейс трактуют очень широко, понимая под "системой интеллектуального интерфейса" то, что мы называем СБЗ.

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

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

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

9.3. Классификация инструментальных средств построения СБЗ

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

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

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

Языки программирования.

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

Языки представления знаний.

На следующем уровне иерархии находятся языки представления знаний, ориентированные на разработку СБЗ. К ним относятся Пролог, KRL, OPS5, Loglisp, LOOPS и др.

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

Пустые системы, или оболочки ЭС.

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

Интегрированные гибридные среды.

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

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

Инструментальные обучающие системы.

Компьютерные, или автоматизированные (как их часто называют), обучающие системы (АОС) являются специальным видом систем,

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

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

1)задавать виды и структуру учебного материала;

2)редактировать и хранить его в машинной памяти организованным соответствующим образом;

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

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

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

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

Средства построения систем поддержки принятия решений.

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

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

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

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

Более изощренные средства, включаемые в БЗ и МР СППР, ориентированы на более тонкое и глубокое моделирование и переход от анализа типа "что если" к анализу типа "каков наилучший вариант" (what’s best), т.е. к системам, позволяющим вырабатывать наилучшие решения, а не только более или менее предпочтительные. К таким средствам представления знаний и получения решений относятся, например, линейные неравенства и способы их решения с помощью известных алгоритмов линейного программирования. Такие СППР подобны ППП, в которых для описания модели прикладной области используются уравнения, неравенства и другие математические конструкции с соответствующими методами получения оптимального или близкого к оптимальному решения. Развитие СППР происходит также в сторону применения средств представления знаний в виде правил и объяснения получаемых с их помощью решений.