Семантическое моделирование данных. Семантические базы данных

05.08.2019 Мобильный интернет

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

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

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

Наиболее известным представителем класса семантических моделей является модель «сущность-связь» (ER-модель).

Основные преимущества ER-моделей:

Основные элементы ER-моделей:

  • § объекты (сущности);
  • § атрибуты объектов;
  • § связи между объектами

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

Атрибут сущности - это именованная характеристика, являющаяся некоторым свойством сущности.

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

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

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

В моем курсовом проекте ER-модель имеет связь типа один-ко-многим.

При проектировании баз данных используются семантическое моделирование для создания концептуальной модели предметной области и отражение ее спецификаций в среде конкретной СУБД. Однако зачастую полученная концептуальная схема базы данных существенно отличается от первоначальной концептуальной модели.
В 70-е годы реляционная модель данных возникла как ответ на потребность в простой СУБД, соответствующей уровню развития компьютерной технологии своего времени. Реляционная база данных - это совокупность отношений, содержащих всю информацию, которая должна храниться в БД; пользователи могут воспринимать такую базу данных как совокупность таблиц.Сегодня гораздо важнее удобство проектирования и эксплуатации баз данных, а то, что когда-то казалось простым, математически строгим и логичным, стало восприниматься как неудобное. Семантическое расширение реляционной модели
Большая часть данных, возникающих в ходе деятельности, например, предприятия, представляется в виде электронных и бумажных документов. С точки зрения манипулирования этими данными все аспекты хозяйственной деятельности либо являются документооборотом, либо могут быть формально к нему сведены. Сегодня доминирующее положение занимают реляционные СУБД, которые обеспечивают удобный способ хранения информации в виде таблиц.Структуру данных большинства реальных документов можно представить как произвольное иерархическое дерево с горизонтальными связями. Документы полностью хранятся в одной ячейке таблицы реляционной базы либо разбиваются на множество таблиц, а некоторые таблицы из разных документов объединяются. Однако в реляционной базе данных мы уже имеем дело с другими документами, поэтому алгоритм обработки реального документа нельзя сделать основой алгоритма программного кода хранимой процедуры. Реальные документы снова появляются лишь на уровне приложения. Здесь, по сути, мы имеем дело не с отображением, а с перепроектированием документов и, соответственно, документооборота.Как известно, целью реляционного подхода было преодоление ограничений ранних систем — иерархических и сетевых. Реляционная модель достаточна для моделирования предметных областей, но само проектирование базы в терминах отношений часто оказывается очень сложным. Потребность проектировщиков в более удобных и мощных средствах представления предметной области вызвала появление семантического моделирования .Основная цель исследований в этой области состоит в том, чтобы сделать СУБД более «разумными», максимально отражающими особенности прикладной области. Если в основу СУБД будет положена модель данных, более соответствующая семантике предметной области, то и построенные на ее основе базы данных будут больше соответствовать реальным системам, а проектирование баз данных значительно упростится. Семантическое моделирование представляет собой моделирование структуры данных, опираясь на смысл этих данных. В качестве инструмента семантического моделирования используются различные варианты диаграмм сущность-связь (ER - Entity-Relationship). Первый вариант модели сущность-связь был предложен в 1976 г. Питером Пин-Шэн Ченом. В дальнейшем многими авторами были разработаны свои варианты подобных моделей (нотация Мартина, нотация IDEF1X, нотация Баркера и др.). Кроме того, различные программные средства, реализующие одну и ту же нотацию, могут отличаться своими возможностями.По сути, все варианты диаграмм сущность-связь исходят из одной идеи - рисунок всегда нагляднее текстового описания. Все такие диаграммы используют графическое изображение сущностей предметной области, их свойств (атрибутов), и взаимосвязей между сущностями.Основные понятия ER-диаграмм (близко к нотации Баркера)Определение 1. Сущность - это класс однотипных объектов, информация о которых должна быть учтена в модели.Каждая сущность должна иметь наименование, выраженное существительным в единственном числе.Примерами сущностей могут быть такие классы объектов как "Поставщик", "Сотрудник", "Накладная".Каждая сущность в модели изображается в виде прямоугольника с наименованием:Определение 2. Экземпляр сущности - это конкретный представитель данной сущности.Например, представителем сущности "Сотрудник" может быть "Сотрудник Иванов".Экземпляры сущностей должны быть различимы, т.е. сущности должны иметь некоторые свойства, уникальные для каждого экземпляра этой сущности .Определение 3. Атрибут сущности - это именованная характеристика, являющаяся некоторым свойством сущности.Наименование атрибута должно быть выражено существительным в единственном числе (возможно, с характеризующими прилагательными).Примерами атрибутов сущности "Сотрудник" могут быть такие атрибуты как "Табельный номер", "Фамилия", "Имя", "Отчество", "Должность", "Зарплата" и т.п.Атрибуты изображаются в пределах прямоугольника, определяющего сущность:Определение 4. Ключ сущности - это неизбыточный набор атрибутов, значения которых в совокупности являются уникальными для каждого экземпляра сущности. Неизбыточность заключается в том, что удаление любого атрибута из ключа нарушается его уникальность.Сущность может иметь несколько различных ключей.Ключевые атрибуты изображаются на диаграмме подчеркиванием:Определение 5. Связь - это некоторая ассоциация между двумя сущностями. Одна сущность может быть связана с другой сущностью или сама с собою.Связи позволяют по одной сущности находить другие сущности, связанные с нею.Например, связи между сущностями могут выражаться следующими фразами - "СОТРУДНИК может иметь несколько ДЕТЕЙ", "каждый СОТРУДНИК обязан числиться ровно в одном ОТДЕЛЕ".Графически связь изображается линией, соединяющей две сущности:Каждая связь имеет два конца и одно или два наименования. Наименование обычно выражается в неопределенной глагольной форме: "иметь", "принадлежать" и т.п. Каждое из наименований относится к своему концу связи. Иногда наименования не пишутся ввиду их очевидности.Каждая связь может иметь один из следующих типов связи:Связь типа один-к-одному означает, что один экземпляр первой сущности (левой) связан с одним экземпляром второй сущности (правой). Связь один-к-одному чаще всего свидетельствует о том, что на самом деле мы имеем всего одну сущность, неправильно разделенную на две.Связь типа один-ко-многим означает, что один экземпляр первой сущности (левой) связан с несколькими экземплярами второй сущности (правой). Это наиболее часто используемый тип связи. Левая сущность (со стороны "один") называется родительской, правая (со стороны "много") - дочерней.Связь типа много-ко-многим означает, что каждый экземпляр первой сущности может быть связан с несколькими экземплярами второй сущности, и каждый экземпляр второй сущности может быть связан с несколькими экземплярами первой сущности. Тип связи много-ко-многим является временным типом связи , допустимым на ранних этапах разработки модели. В дальнейшем этот тип связи должен быть заменен двумя связями типа один-ко-многим путем создания промежуточной сущности.Каждая связь может иметь одну из двух модальностей связи :Модальность "может" означает, что экземпляр одной сущности может быть связан с одним или несколькими экземплярами другой сущности, а может быть и не связан ни с одним экземпляром.Модальность "должен" означает, что экземпляр одной сущности обязан быть связан не менее чем с одним экземпляром другой сущности.Связь может иметь разную модальность с разных концов.Описанный графический синтаксис позволяет однозначно читать диаграммы, пользуясь следующей схемой построения фраз:Каждый экземпляр СУЩНОСТИ 1 МОДАЛЬНОСТЬ СВЯЗИ НАИМЕНОВАНИЕ СВЯЗИ ТИП СВЯЗИ экземпляр СУЩНОСТИ 2 .Каждая связь может быть прочитана как слева направо, так и справа налево. Например,
Слева направо: "каждый сотрудник может иметь несколько детей".
Справа налево: "Каждый ребенок обязан принадлежать ровно одному сотруднику".Разработкa простой ER-модели При разработке ER-моделей мы должны получить следующую информацию о предметной области:*Список сущностей предметной области.
*Список атрибутов сущностей.
*Описание взаимосвязей между сущностями.ER-диаграммы удобны тем, что процесс выделения сущностей, атрибутов и связей является итерационным. Разработав первый приближенный вариант диаграмм, мы уточняем их, опрашивая экспертов предметной области. При этом документацией, в которой фиксируются результаты бесед, являются сами ER-диаграммы.Например, проектируемая система должна выполнять следующие действия:Хранить информацию о покупателях.
Печатать накладные на отпущенные товары.
Следить за наличием товаров на складе.Выделим все существительные в этих предложениях - это будут потенциальные кандидаты на сущности и атрибуты, и проанализируем их (непонятные термины будем выделять знаком вопроса):Покупатель - явный кандидат на сущность.
Накладная - явный кандидат на сущность.
Товар - явный кандидат на сущность
(?)Склад - а вообще, сколько складов имеет фирма? Если несколько, то это будет кандидатом на новую сущность.
(?)Наличие товара - это, скорее всего, атрибут, но атрибут какой сущности?
Сразу возникает очевидная связь между сущностями - "покупатели могут покупать много товаров" и "товары могут продаваться многим покупателям". Первый вариант диаграммы выглядит так:Куда поместить сущности "Накладная" и "Склад" и с чем их связать? Спросим себя, как связаны эти сущности между собой и с сущностями "Покупатель" и "Товар"? Покупатели покупают товары, получая при этом накладные, в которые внесены данные о количестве и цене купленного товара. Каждый покупатель может получить несколько накладных. Каждая накладная обязана выписываться на одного покупателя. Каждая накладная обязана содержать несколько товаров (не бывает пустых накладных). Каждый товар, в свою очередь, может быть продан нескольким покупателям через несколько накладных. Кроме того, каждая накладная должна быть выписана с определенного склада, и с любого склада может быть выписано много накладных. Таким образом, после уточнения, диаграмма будет выглядеть следующим образом:Пора подумать об атрибутах сущностей:Каждый покупатель является юридическим лицом и имеет наименование, адрес, банковские реквизиты.
Каждый товар имеет наименование, цену, а также характеризуется единицами измерения.
Каждая накладная имеет уникальный номер, дату выписки, список товаров с количествами и ценами, а также общую сумму накладной. Накладная выписывается с определенного склада и на определенного покупателя.
Каждый склад имеет свое наименование.Снова выпишем все существительные, которые будут потенциальными атрибутами, и проанализируем их:Юридическое лицо - термин риторический, мы не работаем с физическими лицами. Не обращаем внимания.
Наименование покупателя - явная характеристика покупателя.
Адрес - явная характеристика покупателя.
Банковские реквизиты - явная характеристика покупателя.
Наименование товара - явная характеристика товара.
(?)Цена товара - похоже, что это характеристика товара. Отличается ли эта характеристика от цены в накладной?
Единица измерения - явная характеристика товара.
Номер накладной - явная уникальная характеристика накладной.
Дата накладной - явная характеристика накладной.
(?)Список товаров в накладной - список не может быть атрибутом. Вероятно, нужно выделить этот список в отдельную сущность.
(?)Количество товара в накладной - это явная характеристика, но характеристика чего? Это характеристика не просто "товара", а "товара в накладной".
(?)Цена товара в накладной - опять же это должна быть не просто характеристика товара, а характеристика товара в накладной. Но цена товара уже встречалась выше - это одно и то же?
Сумма накладной - явная характеристика накладной. Эта характеристика не является независимой. Сумма накладной равна сумме стоимостей всех товаров, входящих в накладную.
Наименование склада - явная характеристика склада.С возникающим понятием "Список товаров в накладной" все довольно ясно. Сущности "Накладная" и "Товар" связаны друг с другом отношением типа много-ко-многим. Такая связь, как мы отмечали ранее, должна быть расщеплена на две связи типа один-ко-многим. Для этого требуется дополнительная сущность. Этой сущностью и будет сущность "Список товаров в накладной". Связь ее с сущностями "Накладная" и "Товар" характеризуется следующими фразами - "каждая накладная обязана иметь несколько записей из списка товаров в накладной", "каждая запись из списка товаров в накладной обязана включаться ровно в одну накладную", "каждый товар может включаться в несколько записей из списка товаров в накладной", " каждая запись из списка товаров в накладной обязана быть связана ровно с одним товаром". Атрибуты "Количество товара в накладной" и "Цена товара в накладной" являются атрибутами сущности " Список товаров в накладной".Точно также поступим со связью, соединяющей сущности "Склад" и "Товар". Введем дополнительную сущность "Товар на складе". Атрибутом этой сущности будет "Количество товара на складе". Таким образом, товар будет числиться на любом складе и количество его на каждом складе будет свое.Теперь можно внести все это в диаграмму:Концептуальные и физические ER-модели Разработанный выше пример ER-диаграммы является примером концептуальной диаграммы. Это означает, что диаграмма не учитывает особенности конкретной СУБД. По данной концептуальной диаграмме можно построить физическую диаграмму, которая уже будут учитываться такие особенности СУБД, как допустимые типы и наименования полей и таблиц, ограничения целостности и т.п. Приведенный физический вариант диаграммы может выглядеть, например, следующим образом:На данной диаграмме каждая сущность представляет собой таблицу базы данных, каждый атрибут становится колонкой соответствующей таблицы. Обращаем внимание на то, что во многих таблицах, например, "CUST_DETAIL" и "PROD_IN_SKLAD", соответствующих сущностям "Запись списка накладной" и "Товар на складе", появились новые атрибуты, которых не было в концептуальной модели - это ключевые атрибуты родительских таблиц, мигрировавших в дочерние таблицы для того, чтобы обеспечить связь между таблицами посредством внешних ключей.Таким образом, реальным средством моделирования данных является не формальный метод нормализации отношений, а так называемое семантическое моделирование.В качестве инструмента семантического моделирования используются различные варианты диаграмм сущность-связь (ER - Entity-Relationship).Диаграммы сущность-связь позволяют использовать наглядные графические обозначения для моделирования сущностей и их взаимосвязей.Сущности, определенные в концептуальной диаграмме становятся таблицами, атрибуты становятся колонками таблиц (при этом учитываются допустимые для данной СУБД типы данных и наименования столбцов), связи реализуются путем миграции ключевых атрибутов родительских сущностей и создания внешних ключей .Основное достоинство метода состоит в том, модель строится методом последовательных уточнений первоначальных диаграмм.Не рассматривались более сложные аспекты построения диаграмм, такие как подтипы, роли, исключающие связи, непереносимые связи, идентифицирующие связи и т.п.

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

Рассматривая систему относительно построения ИС, более полно это определение можно пояснить на основе понятия мо­дели.

Пусть А и В - два произвольных множества. Функция f, одно­значно ставящая в соответствие каждому элементу элемент f(а) В, называется отображением множества А в множество В и обозначается как f: АВ.

Элемент f(а)=b называется значением элемента а при ото­бражении f, или образом а; А - область определения, В - область значений отображения f.

Если есть элементы , не являющиеся образом никакихэлементов , то отображение f называется отображением «в» в В.

Если f(А) = В, то отображение f называется отображением «на» В.

Функция - множество элементов из А, образы которых принадлежат В, называется прообразом множества В, то есть

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

Отображение f называется взаимно однозначным, если каж­дый элемент множества В является образом не более чем одного элемента из А. Отображение f множества А на (в) В называется гомоморфиз­мом множеств, если выполняется условие (а 1 , а 2 , ... , a n) f (а 1 ,), f (а 2 ,) f (а 3 ,) f (а 4 ,) ..... f (а n ,), где

Изоморфизм множества А на В является взаимно однознач­ным гомоморфизмом, т. е. (a 1 , а 2 ,.. , a k) А <=> (f (а 1 ,) f (а 2)..,

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

=<{M}, P 1 ,Р 2 ,…, Р n > , (1)

{M} – множество элементов модели, соответствующих элементам предметной области, называемое носителем модели;

Р 1 , Р 2 ,..., Р n - предикаты, отображающие наличие того или иного отношения между элементами предметной области.

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

Носитель модели является содержательной областью преди­катов Р 1, Р 2 ,...,Р n . Предикаты называются сигнатурой модели .

Выбор носителя и сигнатуры при построении модели опреде­ляется предметом исследования.

Уточним теперь понятие системы, ориентированное на зада­чи декомпозиции, анализа и синтеза, то есть на проведение преобра­зования между двумя подмоделями.

Системой называется кортеж



S = < >. (2)

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

Подмодель, определяющая структуру системы при ее внутреннем рассмотрении;

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

1, если преобразование существует при взаимно однозначном соответствии между элементами носите­лей моделей и , в противном случае = 0. Наличие предиката целостности позволяет говорить о том, что система - это семантическая модель, имеющая внутреннюю интерпретацию.

Подмодель может быть представлена в виде кортежа, вклю­чающего пять объектов:

х = x(t) - входной сигнал, то есть конечное множество функций времени t: <х 0 (0, ..., x k (t)>;

у = y(t) - выходной сигнал, представляющий собой конечное множе­ство функций у = < y 1 ..., у n >;

z= z(t) - переменная состояния модели , также характеризующаяся конечным множеством функций z= < z 1 (t)…z n (t) >, знание которых в заданный момент времени позволяет определить значения выходных характеристик модели – функционалы (глобальные уравнения системы), задающие текущие значения выходного сигнала у(t) и внутреннего состояния z(t)

y(t) = g(z(t),x(t)); (4)

z(t) = f(z(t 0), x(τ)), τ . (5)

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

Кроме выражения (2) систему задают тремя аксиомами.

Аксиома 1. Для системы определены пространство состо­яний Z, в которых может находиться система, и параметрическое пространство Т, в котором задано поведение системы.

В связи с этим математические описания вида (3) приня­то называть динамическими системами, так как они отражают способность систем изменять состояния z (t) в параметрическом пространстве Т.

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

Аксиома 2 . Пространство состояний Z содержит не менее двух элементов. Эта аксиома отражает естественное представле­ние о том, что сложная система может находиться в разных со­стояниях.

Аксиома 3 . Система обладает свойством функциональной эмерджентности.

Эмерджентностъ (целостность) - это такое свойство систе­мы S, которое принципиально не сводится к сумме свойств эле­ментов, составляющих систему, и не выводится из них:

где: - i-я характеристика системы S; т - общее количество характеристик.

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

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

Упражнения

1. Опишите в виде черного ящика известный Вам бытовой прибор.

2. Рассмотрите примеры функционирования известной Вам системы.

3. Докажите системность дерева, Солнечной системы, озера и других объектов.

Литература:

1. Богданов А.А. Всеобщая организационная наука (тектология)/ в 3 т. - М., 1905-1924

2. Винер Н. Кибернетика. М.: Сов. радио. 1968.

3. Пригожин И., Стенгерс И. Порядок из хаоса. М.: Прогресс, 1986.

4. Уемов А.И. Системный подход и общая теория систем. М.: Мысль, 1978

5. Шэннон Р. Имитационное моделирование систем искусство и наука. М.: Мир, 1978

Модель семантических сетей

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

Обычно в семантической сети предусматриваются четыре категории вершин:

Понятия (объекты),

События,

Свойства,

Значения.

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

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

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

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

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

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

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

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

Лингвистические,

Логические,

Теоретико-множественные,

Квантификационные.

Лингвистические отношения бывают глагольные (время, вид, род, число, залог, наклонение) и атрибутивные (модификация, размер, форма).

Логические отношения подразделяются на конъюнкцию (и), дизъюнкцию (или), отрицание (не) и импликацию (если – то).

Теоретико-множественные отношения - это отношение подмножества, отношение части и целого, отношение множества и элемента.

Квантификационные отношения делятся на логические кванторы общности и существования («каждый», «все»), нелогические кванторы («много», «несколько») и числовые характеристики.

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

1- связь "есть-нек" (от слов "есть некоторый"). Направлена от частного понятия к более общему и показывает принадлежность элемента к классу;

2- связь "есть-часть". Показывает, что объект содержит в своем составе разнородные компоненты (объекты), не подобные данному объекту.

Пример семантической сети для описания структуры понятия "юридическое лицо" приведен на следующем рисунке.

Рисунок 4.2 Элементы семантической сети

Связь "есть-нек" обозначается одной линией, связь "есть-часть" – двумя.

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

1. агент - предмет, являющийся инициатором действия;

2. объект - предмет, подвергающийся действию;

3. источник - размещение предмета перед действием;

4. приемник - размещение предмета после действия;

5. время - указание на то, когда происходит событие;

6. место - указание на то, где происходит событие;

7. цель - указание на цель действия.

Рассмотрим пример: Директор завода "САЛЮТ" остановил 25.03.90 цех № 4, чтобы заменить оборудование

Рисунок 4.3 Пример семантической сети

Преимущества семантических сетей:

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

2) обеспечивается возможность сцепления различных фрагментов сети;

3) возможные отношения между понятиями и событиями образуют достаточно небольшое и хорошо формализованное множество;

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

4.4 Базы знаний

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

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

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

Сообщения, являющиеся ответом на запрос, хранятся в явном виде в БД, и процесс получения ответа представ­ляет собой выделение подмножества значений из файлов БД, удовлетворяющих запросу;

Ответ не существует в явном виде в БД и формируется в про­цессе логического вывода на основании имеющихся дан­ных.

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

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

Сведения о структуре ЭИС и БД (метаинформация);

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

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



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

4.5 Продукционная модель знаний

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

Набора правил, представляющего собой в продукцион­ной системе базу знаний;

Рабочей памяти, в которой хранятся исходные факты и результаты выводов, полученных из этих фактов;

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

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

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

Пример

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

Доля выборки записей равна 0,09;

ЭВМ - PC XT.

Правила логического вывода имеют вид:

1) Если метод доступа индексный, то СУБД - dBASE 3.

2) Если метод доступа последовательный, то СУБД - dBASE 3.

3) Если доля выборки записей <0,1, то метод доступа - индекс­ный.

4) Если СУБД - dBASE 3 и ЭВМ - PC XT, то программист -Иванов.

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

С учетом нового факта становится справедливой условная часть правила 1, и в рабочей памяти появляется факт "СУБД -dBASE З". Далее становится применимым правило 4, что приводит к фиксации в рабочей памяти факта "Программист - Иванов". В этот момент дальнейшее применение правил невозможно, и про­цесс вывода останавливается. Наш пример показывает, что при­менимость каждого правила из базы знаний в процессе вывода вовсе не обязательна.

Новые факты, полученные механизмом вывода:

Метод доступа - индексный,

СУБД-dBASE 3,

Программист - Иванов.

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

Предположим, что в нашем примере запрос цели имеет вид:

? "программист - Иванов".

Эта цель подтверждается правилом 4. Необходимые для пра­вила 4 факты - "ЭВМ - PC XT" и "СУБД - dBASE 3". Первыйизних присутствует в рабочей памяти, а второй становится новой целью. Для этой цели требуется подтверждение правила 1 или пра­вила 2. Факт-условие правила 2 не содержится в рабочей памяти и не является заключением существующих правил. Поэтому данная ветвь обратного вывода обрывается. Для применения правила 1 необходим факт "Метод доступа - индексный", он является зак­лючением правила 3, а условие правила 3 соблюдается (в рабочей памяти хранится факт "Доля выборки записей равна 0.09").

В итоге первоначальная цель "программист-Иванов" призна­ется истинной.

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

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

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

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

К недостаткам этого способа организации базы знаний относятся:

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

Отличие от человеческой структуры знаний.

4.6 Фреймы

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

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

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

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

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

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

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

S (тот же). Слот наследуется с теми же значениями данных;

U (уникальный). Слот наследуется, но данные могут принимать любые значения;

I (независимый). Слот не наследуется.

Указатель типа данных. К типам данных относятся:

FRAME (указатель) - указывает имя фрейма верхнего уровня;

ATOM (переменная),

TEXT (текстовая информация),

LIST (список),

LISP (присоединенная процедура).

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

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

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

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

1)знания организованы на основе концептуальных объек­тов;

2)допускается комбинация представления декларативных (как устроен объект) и процедурных (как взаимодейству­ет объект) знаний;

3)иерархия фреймов вполне соответствует классификации понятий, привычной для восприятия человеком;

4)система фреймов легко расширяется и модифицируется.

Трудности применения фреймовой модели знаний в ос­новном связаны с программированием присоединенных про­цедур.

Имя слота Указатель наследования Указатель Типа Значение слота
FRAME-NAME: DEP
АКО (U) ROOT FRAME ROOT
DESINF (U) ROOT TEXT (ОТДЕЛ 23)
DATE (U) ROOT LIST
ТЕМА (I) .TOP. LIST (TEMA1 ТЕМА2)
ТЕМА1 (I) «TOP» LIST NIL
ТЕМА2 (I) .TOP. LIST NIL
FLAG1 (I) «TOP. ATOM
FLAG2 (I) TOP. ATOM
LOGIC (U) «TOP. LISP MAIN
FRAME-NAME: TEMA1
АКО (U) ROOT FRAME DEP
DESINF (U) ROOT TEXT (КОНСТРУИРОВАНИЕ ПЛЕЕРА)
DAE (U) ROOT LIST
FAM (I) «TOP. LIST (FAM1 FAM2 FAM3)
FAM1 (I) TOP» LIST NIL
FAM2 (I) «TOP. LIST NIL
FAM3 (I) TOP. LIST NIL
FLAG1 (1) .TOP* ATOM
FLAG2 (1) «TOP» ATOM
FLAG3 (1) TOP» ATOM
LOGIC (U) TOP. LISP COMP1
FRAME-NAME: FAM1
AKO (U) ROOT FRAME TEMA1
DESINF (U) ROOT TEXT (ЛЕНТОПРОТЯЖНЫЙ
МЕХАНИЗМ)
DATE (U) ROOT LIST
TODAY (1) «TOP» ATOM
ENDDATE (1) .TOP. ATOM 02.04.91
LOGIC (U) .TOP» LISP COMPDATE

Рисунок 4.4 Пример базы знаний фреймового типа:

а - иерархия фреймов; б - значения слотов

4.7 Семантические сети для представления знаний

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

Рассмотримпример семантической сети, отображающий под­чиненность сотрудников в отделе учреждения, приведенный на рис. 35,а. Приводятся связи, показывающие подчиненность пер­вого сотрудника. Остальные сотрудники отдела связываются че­рез вершины сети связями типа "руководит 2", "руководит 3" и т. д.

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

Рисунок 4.5 Примеры: а - семантической сети;

б - сети логического вывода для запроса

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

На рис. 8 изображен пример семантической сети.

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

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

  • Rf — рефлексивность;
  • Nrf — нерефлексив-ность;
  • Arf — антирефлексивность (ни одной рефлексии);
  • Sm — симметричность;
  • Ns — несимметричность;
  • Ans — антисим-метричность (ни одной симметрии);
  • As — асимметричность (кон-текстное свойство — обращение связи дает иную связь из списка);
  • Тг — транзитивность;
  • Ntr — нетранзитивность.

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

Относительно сочетания перечисленных свойств СС делятся на типы, представленные в (табл. 2.1.).
1. Рефлексивность определяется по критерию подстановки:

вме-сто объекта А подставляется объект В(АгВ -> ВгВ) и выбирается один из следующих ответов:
вполне возможно (тавтология) ~» Rf;
не исключено -> Nrf;
невозможно —> Arf.
Пример. Вегетативные расстройства сопровождаются вегета-тивными расстройствами. Ответ 1 для Com.

2. Симметричность определяется по критерию перестановки:
объекты А и В меняются местами (АгВ -» ВгА) и выясняется спра-ведливость полученного предложения. При утвердительном ответе высказыванию приписывается свойство Sm, в противном слу-чае — свойство Ns.

Пример. Головная боль всегда сопровождается вегетативными расстройствами, и Вегетативные расстройства всегда сопровожда-ются головной болью. Ответ «Нет» для Com. Это соответствует свой-ству Ns.
Свойство Ns уточняется на более сильные свойства: Ans и As. Первое имеет место для любых примеров анализируемой связи. Например, для связи Com имеет место свойство Ans.

Плюс модели: Легка в реализации.

Минус модели: Плохо структурирована - при большом количестве элементов можно запутаться, а при увеличении объема информации - может произоти комбинаторный взрыв.При создании любой вещи, любого изделия, любого произведения человек встает перед необходимостью неизбежного выбора среди огромного числа возможных вариантов. К чему при этом может привести простой перебор этих вариантов проследим на следующем явлении. Это явление известно в кибернетике под названием комбинаторный взрыв. Что это за "зверь" нетрудно продемонстрировать на простом примере. Допустим, что имеется некий алфавит, состоящий всего из 10 символов (букв). ...
Из такого алфавита можно составить 10^^100 текстов длиной по 100 букв. Гипотетический компьютер, обладающий возможностью обрабатывать 10^^18 таких текстов в секунду, потратит на общий анализ всех текстов 10^^74 лет. Для сравнения - по современным космогоническим представлениям с момента Большого взрыва исследованной части Вселенной прошло ~10^^10 лет.