Рассел С., Норвиг П. Искусственный интеллект. Современный подход (2-е изд., 2006) (1245267), страница 129
Текст из файла (страница 129)
По этой причине на рис. 10.7 используется специальное обозначение — связь с меткой в прямоугольнике с двойным контуром. Эта связь соответствует следующему утверждению: !ух х Е Регяппя ~ [)Гу ладное)гег(х,у) ~ у Е Реяа1еяегяппя] Нам может также потребоваться сформулировать утверждение, что люди имеют две ноги, таким образом: (ух х Е Регяопя ~ Ъеяя(х,2) Как и прежде, необходимо тщательно следить за тем, чтобы в этом высказывании не утверждалось, что ногами обладает категория; как показано на рис. 10.7, для ' В некоторых ранних системах ие бьша предусмотрена возможность проводить различие между свойствами элементов категории и свойствами всей категории в целом.
Это могло приводить непосредственно ко многим несогдасоваиностяы, как указал Дрю Макдерыоп в своей статье "Ап)йс[а! [пгешяепсе Меем )Чагцга! Бгцр)0)гу'* (Искусственный интеллект сталкивается с естественной глупостью) 1!0201. Еше одной распространенной проблемой было использование связей гяд и для отношений между подмножествами и множествами, и ддя отношений между элементами и подмножествами, в полном соответствии с грамматикой английского языка.
*'а са! ж а шап1таг' (Кошка — млекопитающее) и "Ргйг И а са!" (Фифи — кошка). Дополнительная информация по этой теме приведена в упр. 10.25. 479 Глава 10. Представление знаний формулировки утверждений о свойствах каждого элемента категории используется связь, обозначенная меткой в прямоугольнике с одинарным контуром. Рис. 70.7. Семантическая сеть с четырьмя обьектами (зо»»п, мату, з и г) и четырьмя категориями. Отношения обозначаются связями с метками Система обозначений с использованием семантических сетей обеспечивает значительные удобства при формировании рассуждений с учетом наследования такого типа, которые были впервые представлены в разделе 10.2.
Например, благодаря тому, что Мэри является человеком, она наследует свойство иметь две ноги. Поэтому, чтобы узнать, сколько ног имеет Мэри, алгоритм наследования проходит по связи МежЬекОб от объекта магу к категории, к которой она принадлежит, а затем прохолит по связям ЯцЬэесОЮ вверх по иерархии до тех пор, пока не находит категорию, для которой имеется связь с обведенной прямоугольником меткой г,еда, в данном случае категорию Рез вопя. Простота и эффективность этого механизма логического вывода по сравнению с логическим доказательством теорем издавна была одной из основных привлекательных особенностей семантических сетей.
Наследование становится сложнее, если некоторый объект может принадлежать больше чем к одной категории или если категория может быть подмножеством больше чем одной отличной от нее категории; такая ситуация называется 'сь множественным наследованием. В подобных случаях алгоритм наследования может находить два или несколько конфликтующих значений, представляюших собой ответ на запрос. По этой причине множественное наследование запрешено в некоторых языках объектно-ориентированного программирования (ОЬ)есг-Ог)евген Ргоягагпгп)пя — ООР), таких как язык Зача, в котором используется наследование в иерархии классов.
В семантических сетях множественное наследование обычно разрешено, но мы отложим обсуждение этой темы до раздела 10.7. Еше одной общей формой логического вывода является использование 'ск инверсных связей. Например, связь наэБзясек является инверсной по отношению к ябя сегОЕ, а это означает, что имеет место следуюшее высказывание: »Гр,н Нааядаеак1р,а1 <=» ядаеексб(а,р1 Это высказывание может быть подтверждено в семантической сети, если связи являются овешествленными, т.е, преобразованными в объекты в полном смысле этого понятия. Например, может быть предусмотрен объект язасекОб, соединен- 480 Часть П!.
Знания и рассуждения ный связью тпзгекое с объектом яаяяйясеж После получения запроса, касающегося того, кто является сестрой (язясекОс) Джона, алгоритм логического вывода может обнаружить, что связь павЯйясек является инверсной по отношению к связи ЯзосекОЕ, и поэтому ответить на данный запрос, проследовав по связи яаояйосек от объекта го1зп к объекту ма~-у. При отсутствии этой инверсной информации могло бы потребоваться проверить каждое лицо женского пола для определения того, не имеет ли это лицо связь Яз я секОГ, направленную к Джону. Это связано с тем, что в семантических сетях непосредственная индексация предусмотрена только для самих объектов, а также категорий и связей, исходящих из них; проводя сравнение с логикой первого порядка, можно отметить, что это аналогично индексации базы знаний только по первому параметру каждого предиката.
Читатель должен был обнаружить очевидный недостаток системы обозначений с помощью семантических сетей по сравнению с логикой первого порядка: тот факт, что между овалами проводятся связи, соединяющие два овала, говорит о том, что в семантических сетях могут быть представлены только бинарные отношения. Например, высказывание Р2у( ялап)сак, иеогуок1с, иеогпе11зз', уеясекс(ау) не может быть реализовано непосредственно в семантической сети. Тем не менее можно достичь эффекта реализации и-арных высказываний путем овеществления самого рассматриваемого высказывания в виде события (см.
раздел 10.3), принадлежащего к соответствующей категории событий. На рис. 10.8 показана структура семантической сети для указанного выше конкретного события. Обратите внимание на то, что ограничение, связанное с необходимостью применять только бинарные отношения, вынуждает создавать богатую онтологию овеществленных понятий; в действительности основная часть онтологии, разработанной в данной главе, происходила из систем с семантическими сетями. 5ьане ~есдау Рис.
! О.В Фрагмент семантической сети, на которой показано представление логического утверзкдения Р1у(эпапкас,иесчуокх,неипе1Ы,уеиеексзау) Овеществление высказываний дает возможность представить в системе обозначений семантической сети любое базовое, атомарное высказывание логики первого порядка, не содержащее функций. Реализация некоторых видов высказываний с кванторами всеобщности может осуществляться с помощью инверсных связей и применяемых к категориям стрелок с метками в одинарных и двойных прямоугольниках, но даже такие ухищрения отнюдь не позволяют приблизиться к возможностям полной логики первого порядка. В этой системе обозначений недостает всех таких выразительных возможностей, как отрицание, дизъюнкция, вложенные функциональные символы и кванторы существования.
В последнее время появилась возможность расширить эту систему обозначений, чтобы сделать ее эквивалентной Глава 10. Представление знаний 48! логике первого порядка (как при использовании экзистенциальных графов Пирса или секционированных семантических сетей Хендрикса (647)), но это приводит к исчезновению одного из основных преимуществ семантических сетей — простоты и прозрачности процессов логического вывода. Простая система обозначений позволяет проектировщикам создавать большие сети и все еше иметь полное представление о том, какие запросы должны быть эффективными, поскольку, во-первых, можно легко визуально представить, через какие шаги должна пройти процедура логического вывода, и, во-вторых, в некоторых случаях язык запросов настолько прост, что в нем невозможно сформулировать сложные, запутанные запросы.
Для тех случаев, когда обнаруживается, что выразительная мошь слишком ограничена, во многих системах семантических сетей предусмотрены процедурные вложения, позволяюшие компенсировать эти недостатки. Процедурное вложение — это метод, с помошью которого при выполнении запроса, касающегося некоторого отношения (а иногда и при вводе в базу знаний некоторого утверждения), осушествляется вызов специальной процедуры (предназначенной лишь для обработки этого отношения), а не обшего алгоритма логического вывода. Одной из самых важных характерных особенностей семантических сетей является их способность представлять Ъ.
заданные по умолчанию значения для категорий. Внимательно изучив рис. 10.7, можно обнаружить, что Джон имеет одну ногу, несмотря на тот факт, что он — человек, а все люди имеют две ноги. В строго логической базе знаний такое сочетание фактов было бы противоречивым, но в семантической сети утверждение, что все люди имеют две ноги, обладает лишь статусом значения, применяемого по умолчанию; т.е. применительно к любому человеку предполагается, что он имеет две ноги, если этому не противоречит более конкретная информация. Принудительное применение семантики заданных по умолчанию значений осуществляется естественным образом с помошью алгоритма наследования, поскольку этот алгоритм следует по связям, направленным вверх от самого объекта (в данном случае Джона), и останавливается, как только находит искомое значение. Принято говорить, что заданное по умолчанию значение ъ.