Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций.doc
Скачиваний:
67
Добавлен:
02.05.2014
Размер:
686.08 Кб
Скачать

Лекция 9

СЕТЕВАЯ КОНЦЕПЦИЯ ПРОГРАММИРОВАНИЯ

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

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

Зафиксируем конечное множество символов A={A1, ..., Ar__}, которые будем называть атрибутами. Схемой или интенсионалом некоторого отношения Ri в атрибутивной форме будем называть набор пар:

INT(Ri) = {... <Aj, DOM(Aj)> ...},

где Ri - имя отношения местности ni,

Aj (- A, j=1...ni - атрибуты отношения Ri,

DOM(Aj) - домен атрибута Aj (множество значений атрибута Aj отношения Ri).

Экстенсионалом отношения Ri будем называть множество:

EXT(Ri) = {... Fk ...}, k=1...pi,

где pi - кардинал множества EXT(Ri),

Fk - факты отношения Ri, записываемые в виде:

Fk = Mk : (Ri A1 vi1k ... Aj vijk ...),

где Mk - метка факта,

vijk (- DOM(Aj) - значение атрибута Aj.

Порядок записи пар "атрибут-значение" (атрибутивных пар) и фактов роли не играет. Все факты и атрибутивные пары внутри каждого факта попарно различны.

Тогда семантическая сеть есть совокупность пар:

{... <INT(Ri) EXT(Ri)> ...}, i=1...m,

где m -число различных отношений Ri.

Введенное выше понятие семантической сети естественным образом распадается на понятия интенсиональной семантической сети

{... INT(Ri) ...}

и экстенсиональной семантической сети

{... EXT(Ri) ...}.

Большинство известных моделей семантических сетей [55], [39], [9], [78], [34], [105], [11], [38] с той или иной степенью точности описываются моделью, заданной вышеописанным определением, поэтому примем эту модель за базовую и с учетом этого рассмотрим классификацию семантических сетей.

Сети, включающие вершины, не имеющие внутренней структуры, называются простыми. Если сеть содержит вершины, обладающие некоторой структурой, например - в виде сети (процесс этот можно рекурсивно продолжать), то она называется иерархической [105], [131]. Сети, в которых используются только бинарные отношения, называются бинарными. Бинарные сети, в свою очередь, можно разбить еще на два класса: семантически-бинарные и синтаксически-бинарные. Семантически-бинарные сети строятся на основе только бинарных отношений, семантика которых определяется конкретной предметной областью. В синтаксически-бинарных сетях отношение выступает в качестве синтаксической конструкции, поэтому допускается использование бинарных отношений с произвольной семантикой. Выразительная сила такой сети в точности эквивалентна сети, данной в определении [109], [52]. Изобразительные возможности семантически-бинарных сетей значительно уже, так как они, например, не позволяют представлять многоместные отношения.

Если отношения между вершинами сети одинаковы, то такая сеть называется однородной, в противном случае - неоднородной. Наиболее часто используемым видом однородных сетей являются сценарии. В сценариях в качестве единственного отношения выступает отношение нестрогого порядка [108]. Его семантика может быть различной. Это может быть каузальное отношение, временное отношение следования, классифицирующее отношение типа "род-вид" или "элемент-класс" ит.п.. Сценарии, как и любые сети, могут быть простыми и иерархическими (вложенными). В системах ИИ они часто служат для формирования допустимых планов по достижению цели. Однако большинство семантических сетей являются неоднородными. Используемые в них отношения можно разбить на следующие классы: глубинно-падежные семантические отношения Филмора [123]; структурные отношения типа "часть-целое"; временные ("раньше", "позже" и т.п.); логические и теоретико-множественные отношения. В последний класс входят такие важные отношения как "быть подмножеством" и "быть элементом множества", по которым устанавливается иерархия объектов семантической сети и организуется наследование свойств.

В настоящее время продолжаются разработки новых моделей данных, в основе которых лежит понятие семантической сети: семантические сети как абстрактные типы данных [161], П-графы [19], продукционный семантический язык Декл [34], ассоциативные сети [107].

Большая популярность семантических сетей объясняется их алгебраичностью, высокой ассоциативностью, гибкостью в представлении информации, возможностью подключения процедур. Основным же недостатком данного подхода является то, современные ЭВМ недостаточно эффективно работают с такими сложноструктурированными данными как сети, причем время решения задач на сетях значительно зависит от их объема и может оказаться неприемлемым для больших баз знаний. На преодоление указанного недостатка семантических сетей нацелены работы по их аппаратной поддержке [132], [87], [149].

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

Если в функциональной сети операторы (функции) заменить на отношения, а дуги сделать неориентированными, то получится сеть, которую можно использовать для представления знаний о возможностях вычислений, т.е. модель. Модели такого вида называются вычислительными. Особый интерес представляют вычислительные модели, предложенные Э.Х.Тыугу [94]. В этих моделях каждое отношение интерпретируется несколькими функциями, разделение связанных с отношением объектов (переменных) на аргументы и результаты реализуется динамически. Такие модели являются удобным средством для организации автоматического синтеза программ. На их основе реализована известная система программирования ПРИЗ [95].

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

Другим важным расширением вычислительных моделей являются обобщенные вычислительные модели, в которых переменные могут иметь недоопределенные значения [63], [64], а вычисления организуются по потоковому принципу [65]. В этих моделях становятся излишними понятия аргумента и результата, поскольку все переменные имеют значения (определенные или недоопределенные). Организация вычислений в таких моделях носит принципиально интерпретационный характер (в отличие от компиляционного, основанного на автоматическом синтезе программ).

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

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

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

ИМЯ ФРЕЙМА :

(имя 1-го слота: значение 1-го слота),

(имя 2-го слота: значение 2-го слота),

- - - -

(имя N-го слота: значение N-гo слота).

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

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

Чаще всего со слотами связываются процедуры:

  1. Если - добавлено(выполняется, когда новая информация помещается в слот);

  2. Если - удалено(выполняется при удалении информации из слота);

  3. Если - нужно(выполняется, когда запрашивается информация из слота, а он пуст).

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

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

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

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

  • фреймы-роли (менеджер, кассир, клиент);

  • фреймы-сценарии (банкротство, собрание акционеров, празднование именин);

  • фреймы-ситуации (тревога, авария, рабочий режим устройства) и др.

Важнейшим свойством теории фреймов является заимствованное из теории семантических сетей наследование свойств. И во фреймах, и в семантических сетях наследование происходит по АКО-связям (A-Kind-Of = это). Слот АКО указывает на фрейм более высокого уровня иерархии, откуда неявно наследуются, т.е. переносятся, значения аналогичных слотов.

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

Специальные языки представления знаний в сетях фреймов FRL (Frame Representation Language) и другие позволяют эффективно строить промышленные ЭС. Широко известны такие фреймо-ориентированные экспертные системы, как ANALYST, МОДИС .