Настройка Wi-Fi

Логические модели данных. Логическая модель предметной области

Логические модели данных. Логическая модель предметной области

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

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

Пример. Возьмем утверждение: "Инфляция в стране превышает прошлогодний уровень в 2 раза". Это можно записать в виде логической модели: r(InfNew, InfOld, n), где r(x,y) - отношение вида "x=ny", InfNew - текущая инфляция в стране, InfOld - инфляция в прошлом году. Тогда можно рассматривать истинные и ложные предикаты, например, r(InfNew, InfOld, 2)=1, r(InfNew, InfOld, 3)=0 и т.д. Очень полезные операции для логических выводов - операции импликации, эквиваленции.

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

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

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

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

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

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

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

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

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

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

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

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

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





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

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

М. Нострадамусом пророчеств: выходит издание большинства его центурий. Обращает на себя внимание взаимосвязанность этих Книг, а также Авесты. Если в Библии Заратуштра говорит о приходе в будущем пророка М. Нострадамуса, то в Пророчествах самого М. Нострадамуса мы многократно обнаруживаем его обращение к учению Заратуштры. В этом отношении весьма характерен катрен 83 центурии 8 (цитируется по...

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

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

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

    диаграмм сущность-связь (Entity Relationship Diagram, ERD);

    модель данных, основанная на ключах (Key Based model, KB);

    полная атрибутная модель (Fully Attributed model, FA).

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

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

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

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

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

Основные компоненты диаграммы ERwin – это сущности, атрибуты и связи.

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

Сущность на диаграмме изображается прямоугольником. В зависимости от режима представления диаграммы прямоугольник может содержать имя сущности, ее описание, список ее атрибутов и другие сведения (см. рис. 34).

Рис. 34. Сущность с заполненными атрибутами.

Экземпляры независимой сущности могут быть уникально идентифицированы без определения ее связей с другими сущностями;зависимая сущность, наоборот, не может быть уникально идентифицирована без определения ее связей с другими сущностями. Зависимая сущность отображается в ERwin прямоугольником с закругленными углами (см. рис. 35).

Рис. 35. Зависимая сущность с заполненными атрибутами.

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

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

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

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

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

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

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

следует щелкнуть два раза левой кнопкой «мыши». В открывшемся диалоговом окне Attributes (см. рис. 36) следует:

Рис. 36. Окно для заполнения атрибутов сущности.

Таблица 5.

Расшифровка назначения типов атрибутов

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

    General (основные характеристики атрибута);

    Datatype (выбранный формат атрибута);

    Definition (пояснения);

    Note (комментарий для данного атрибута);

    UDP (свойства атрибутов сущности, добавляемых пользователем);

    Key Group (отношение выбранного атрибута к ключевым признакам);

    History (история возникновения атрибута).

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

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

Для компактного расположения модели на листе бумаги при печати следует вызвать в меню File режимPrint , а в открывшемся окнеPrint (см. рис. 38) нажать кнопкуFit model.

Рис. 37. Пример логической модели данных

Рис. 38. Окно для настройки параметров печати.

Логическая модель – графическое представление структуры базы данных с учетом принимаемой модели данных (иерархической, сетевой, реляционной и т.д.), независимое от конечной реализации базы данных и аппаратной платформы. Иными словами, онапоказывает, ЧТО хранится в базе данных (объекты предметной области, их атрибуты и связи между ними), но не отвечает на вопрос КАК (рис. 1).

Описание предметной области:

Оптовый заводск ой склад

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

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

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

Поставщики переходят в разряд постоянных, если они совершили поставок на сумму свыше 1 000 000 рублей в год.

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

Рис. 1. Логическая модель базы данных в нотации IDEF1X

Методология IDEF1 X – один из подходов к моделированию данных, основанный на концепции "сущность – связь" (Entity – Relationship ), предложенной Питером Ченом в 1976 г.

Таблица 2.1. Основные элементы нотации IDEF1X

Сущность (Entity)

Графическое изображение

Независимая сущность

Наименование

Уникальный идентификатор

Атрибуты

Зависимая сущность

Атрибуты

Связь (Relationship)

Графическое изображение

Неидентифицирующая связь

Идентифицирующая связь

Связь «Многие ко многим»

Наследование (обобщение)

Неполное

Родительск.

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

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

Методология IDEF1X ориентирована на проектирование реляционных моделей баз данных. В основе реляционной модели лежит понятие нормализованного отношения (таблицы). При этом сущности предметной области отображаются в таблицы базы данных (рис. 2), обладающие следующими свойствами:

Рис.
2. Таблица реляционной базы данных

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

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

    уникальность (не может быть строк с одинаковым ключом);

    неизбыточность (удаление любого атрибута из ключа лишает его свойства уникальности).

Реляционная база данных − это множество связанных между собой отношений. Связи задаются с помощью вторичных ключей (Foreign key – FK), т.е. атрибутов, которые в других отношениях являются первичными ключами (Primary key – PK).

Основные ограничения целостности реляционной модели:

    атрибуты из первичного ключа не могут принимать неопределенное значение (целостность объектов);

    вторичные ключи не могут принимать значения, которых нет среди значений первичных ключей связанной таблицы: если отношение R2 имеет среди своих атрибутов какой-то внешний ключ (FK), который соответствует первичному ключу (PK) отношения R1, то каждое значение FK должно быть равно одному из значений PK.

Создание Логической модели БД в Visio

Чтобы создать Логическую модель базы данных в Visio2013, выберите Категорию шаблонов «Программы и базы данных», а в ней шаблон «Схема модели базы данных» (рис. 2.3)

Рис. 2.3. Шаблон «Схема модели базы данных»

Прежде, чем приступить к созданию Логической модели, зайдите на вкладку «База данных» и в «Показать параметры» выставьте следующие настройки (рис. 2.4-2.6).

Рис. 2.4.Параметры документа (вкладка «Общие»)

Рис. 2.6.Параметры документа (вкладка «Отношение»)

Рис. 2.5.Параметры документа (вкладка «Таблица»)

Чтобы создать Сущность «Деталь», перетащите стереотип Сущность с панели инструментов на экран (рис. 2.7).

Рис. 2.7.Создание Сущности

Задайтеимяновой Сущности в свойствах в нижней части экрана (рис. 2.8).

Рис. 2.8.Свойства Сущности («Определение»)

Затем на вкладке Столбцы создайте атрибуты Сущности, отметьте уникальный идентификатор (первичный ключ) галочкой в столбце PK и нажмите кнопку «ОК» (рис. 2.9).

Рис. 2.9.Свойства Сущности («Столбцы»)

Аналогично создайте вторую сущность, например «Материал». Чтобы создать связь между ними, перетащите стереотип «Отношение» точкой на изображение класса «Деталь», т.к. из каждого материала изготавливается ноль, одна или несколько деталей. Затем второй конец связи перетащите на изображение класса «Материал» (рис. 2.10). Внешний ключ «Код материала (FK)» автоматически появится в составе атрибутов сущности «Деталь».

Незакрашенный ромб со стороны Материала означает, что материал может быть не указан. Чтобы убрать ромб, откройте свойства сущности «Деталь» и поставьте этому атрибуту галочку в столбце «Обязательное».

Рис. 2.10.Свойства отношения («Определение»)

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

При выполнении основных функций СУБД должна использовать различные описания данных. Рассмотрим порядок создания этих описаний.

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

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

Концептуальная модель предметной области

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

На рис. 7 приведен фрагмент концептуальной модели предметной области "Предприятие".

Рисунок 7 - Концептуальная модель ИС "Предприятие"

Из наиболее известных методик исследования предметных областей и построения концептуальных моделей можно назвать системный анализ. Также существует целый ряд методик, учитывающих принципы системного анализа, - методика структурного анализа SADT и основанная на нем IDEF0, диаграммы потоков данных Гейна-Сарсона, методика объектно-ориентированного анализа UML, и др. Концептуальная модель предметной области описывает скорее процессы, происходящие в предметной области и данные, используемые этими процессами. От того, насколько правильно смоделирована предметная область, зависит успех дальнейшей разработки приложений.

Модель данных - инструментарий для отображения предметной области, определяется:

Допустимой организацией данных;

Ограничениями целостности (семантикой);

Множеством операций, допустимых над объектами модели данных.

Логическая модель данных

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

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

Можно выделить три основные виде логических моделей:

Иерархическую модель;

Сетевую модель;

Реляционную модель.

Логическая модель данных для СУБД реляционного типа представляет собой схему базы данных, приведенную на рисунке 8

Рисунок 8 - Пример логической модели данных

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

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

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

Физическая модель данных

На еще более низком уровне находится физическая модель данных.

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

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

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

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

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

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

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

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

ДАТЬ (МИХАИЛ, ВЛАДИМИРУ, КНИГУ);

($x) (ЭЛЕМЕНТ (x, СОБЫТИЕ-ДАТЬ) ? ИСТОЧНИК (x, МИХАИЛ) ? АДРЕСАТ? (x, ВЛАДИМИР) ОБЪЕКТ(x, КНИГА).

Здесь описаны два способа записи одного факта: «Михаил дал книгу Владимиру».

Логический вывод осуществляется с помощью силлогизма (если из A следует B, а из B следует C, то из A следует C).

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

S = ,

где B - счетное множество базовых символов (алфавит) теории S;

F - подмножество выражений теории S, называемые формулами теории (под выражениями понимаются конечные последовательности базовых символов теории S);

A - выделенное множество формул, называемые аксиомами теории S, то есть множество априорных формул;

R - конечное множество отношений {r 1 , …, r n } между формулами, называемые правилами вывода .

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

Покажем метод резолюций.

В методе используется несколько понятий и теорем.

Понятие тавтологии , логической формулы, значением которой будет «истина» при любых значениях входящих в них атомов. Обозначается?, читается как «общезначимо» или «всегда истинно».

Теорема 1. А?В тогда и только тогда, когда?А В.

Теорема 2. А1, А2, ..., Аn ? В тогда и только тогда, когда? (A1?A2?A3?…?An) В.

Символ? читается как «верно, что» или «можно вывести».

В основе метода лежит доказательство тавтологии

? (X ? A) ?(Y ? ? A)?(X ? Y ) .

Теоремы 1 и 2 позволяют записать это правило в следующем виде:

(X ? A), (Y ? ? A) ? (X ? Y ),

что дает основания утверждать: из посылок и можно вывести .

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

1. Устраняются операции эквивалентности и импликации:

2. Операция отрицания продвигается внутрь формул с помощью законов де Моргана:

3. Логические формулы приводятся к дизъюнктивной форме: .

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

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

1.Приведение посылок к дизъюнктивной форме:
, , .

2.Построение отрицания выводимого заключения . Полученная конъюнкция справедлива, когда и одновременно истинны.

3.Применение правила резолюции:

(противоречие или «пустой дизъюнкт»).

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

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

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

Алгоритм унификации предикатных логических формул включает следующие шаги.

После выполнения всех шагов описанного алгоритма унификации можно применять правило резолюции, Обычно при этом осуществляется отрицание выводимого заключения, и алгоритм вывода можно кратко описать следующим образом: Если задано несколько аксиом (теория Тh) и предстоит сделать заключение о том, выводима ли некоторая формула Р из аксиом теории Тh, строится отрицание Р и добавляется к Тh, при этом получают новую теорию Тh1. После приведения и аксиом теории к системе дизъюнктов можно построить конъюнкцию и аксиом теории Тh. При этом существует возможность выводить из исходных дизъюнктов дизъюнкты - следствия. Если Р выводимо из аксиом теории Тh, то в процессе вывода можно получить некоторый дизъюнкт Q, состоящий из одной литеры, и противоположный ему дизъюнкт . Это противоречие свидетельствует о том, что Р выводимо из аксиом Тh. Вообще говоря, существует множество стратегий доказательства, нами рассмотрена лишь одна из возможных - нисходящая.

Пример: представим средствами логики предикатов следующий текст:

«Если студент умеет хорошо программировать, то он может стать специалистом в области прикладной информатики».

«Если студент хорошо сдал экзамен по информационным системам, значит, он умеет хорошо программировать».

Представим этот текст средствами логики предикатов первого порядка. Введем обозначения: X - переменная для обозначения студента; хорошо - константа, соответствующая уровню квалификации; Р(Х) - предикат, выражающий возможность субъекта X стать специалистом по прикладной информатике; Q (Х, хорошо) - предикат, обозначающий умение субъекта X программировать с оценкой хорошо ; R (Х, хорошо) - предикат, задающий связь студента X с экзаменационной оценкой по информационным системам.

Теперь построим множество правильно построенных формул:

Q(Х, хорошо) .

R (Х, хорошо) Q (Х, хорошо).

Дополним полученную теорию конкретным фактом
R (иванов, хорошо) .

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

Доказательство

1. Выполним преобразование исходных формул теории в целях приведения к дизъюнктивной форме:

(Х, хорошо) Р(Х);

(Х,хорошо) (Х,хорошо);

R (иванов , хорошо).

2. Добавим к имеющимся аксиомам отрицание выводимого заключения

(иванов).

3. Построим конъюнкцию дизъюнктов

(Х, хорошо) Р(Х) ? ? P (иванов, хорошо) ? ? Q (иванов, хорошо), заменяя переменную X на константу иванов .

Результат применения правила резолюции называют резольвентой . В данном случае резольвентой является (иванов).

4. Построим конъюнкцию дизъюнктов с использованием резольвенты, полученной на шаге 3:

(Х, хорошо) (Х, хорошо) (иванов, хорошо) (иванов, хорошо).

5. Запишем конъюнкцию полученной резольвенты с последним дизъюнктом теории:

(иванов, хорошо) (иванов, хорошо) (противоречие).

Следовательно, факт Р(иванов ) выводим из аксиом данной теории.

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

  1. На первом шаге вывода используется отрицание выводимого заключения.
  2. В каждом последующем шаге вывода участвует резольвента, полученная на предыдущем шаге.

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