И искусственном интеллекте

Соотношение методов представления знаний в базах данных

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

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

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

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

Таким образом, объектно-ориентированный подход следует рассматривать как одну из перспективных инструментальных основ для построения интеллектуальных систем.

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

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

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

Так, информация об объектах «сотрудник», «должность», «служебный телефон» и связях между ними входит в концептуальную часть модели, в то время как сведения о том, что Иванов Иван Иванович работает в должности старшего инженера и имеет служебный телефон 888—88—88, — в фактуальную часть.

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

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

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

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

Так, в [3] при планировании работ по созданию системы управления базами знаний закладывается примерно 500- и 5000-кратное превышение объема фактуальной части базы над концептуальной. Базы знаний такого объема до последнего времени вообще не рассматривались в исследованиях по искусственному интеллекту. При их построении и работе с ними возникает ряд проблем обеспечения эффективности, технологичности и надежности, более типичных для технологии баз данных, чем для искусственного интеллекта. В частности, вряд ли можно надеяться в ближайшей перспективе иметь ЭВМ, в оперативной или виртуальной памяти которой можно эффективно разместить всю базу знаний (что типично для модельных экспериментальных задач искусственного интеллекта). В исследованиях по искусственному интеллекту вопросы эффективной работы с внешней памятью ЭВМ практически не изучались.

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

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

Приведем более сложный пример. Пусть в реляционной базе данных имеются отношение ПОСТАВЩИК, описывающее организации, которые поставляют определенную продукцию, и отношение ЗАКАЗЧИК, содержащее информацию об организациях — получателях этой продукции. Тогда запрос вида «какие организации...», не указывающий явно тип организаций, не может быть эффективно выражен в реляционном языке данных. По отношению к классам объектов, отображенным в схеме базы данных, «организация» является обобщенным классом. Такие классы плохо представляются или не представляются вообще и в канонической реляционной модели данных, и в других моделях, реализованных в промышленных СУБД. В то же время обобщенные классы типичны для любой сколько-нибудь сложной предметной области и легко описываются методами представления знаний, развитыми в искусственном интеллекте.

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

Таким образом, методы представления знаний, развитые в базах данных и в искусственном интеллекте, не вполне удовлетворительны для использования при разработке промышленных систем управления базами знаний (СУБЗ), которые призваны обеспечивать создание, сопровождение и применение баз знаний в интеллектуальных системах.