|
||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Вывод для формул, представленных в матричном видеМетоды дедуктивного вывода для формул, представленных в матричном виде, были предложены в [Andrews, 1981]. Особенностью этих методов вывода является преобразование формулы в негативную нормальную форму (ННФ), которая затем представляется в матричном виде. Будем говорить, что формула F находится в ННФ тогда и только тогда, когда каждое вхождение знака отрицания в F атомарно, т. е. отрицание стоит перед атомом. Так как при доказательстве может потребоваться несколько примеров одной и той же подформулы, введем понятие квантифицированного удвоения. Формула R' получается из формулы R посредством квантифицированного удвоения тогда и только тогда, когда Rf является результатом замены некоторой подформулы в R вида ухМ на ухМ&ухМ. Все переменные, стоящие под знаком квантора, должны быть отмечены различными буквами, т. е. & ууМ.
Формулу F будем называть расширением исходной формулы R, если она получена из R последовательностью квантифицированных удвоений, переименованием различными буквами всех переменных, стоящих под знаками кванторов, и удалением кванторов из R (кванторы существования удаляются ско-лемизацией). Бескванторная формула необязательно должна быть представлена в КНФ. Она может иметь произвольный вид, приведенный к базису ~~\, \/, &.
Для удобства представим формулу в виде матрицы таким образом, что дизъюнкты расположены по горизонтали, а конъюнкты (т. е. наборы литер, соединенных конъюнкциями) — по вертикали. Например, формула V Р(У)) & П р{У) V Р (<*)))& (П P(a)VP(w)) & П P(w) V Р(а))) & ((Р(Ь)& 1 Р(с)) V (PU) & 1 Р(х))) в матричной форме имеет вид
-\Р(а) V Р{у) 1 Р(у) V Р(а) 1 Р(я) V "1 Р(») V Р(Ь) 1., Г Р(г) bZH Сцепкой М для формулы F называется бинарное отношение на множестве вхождений литер в F, такое, что имеется подстановка 6, такая, что L$ = = 1 L26 всякий раз, когда' LiML2, где Ц и L2 — сцепленные литеры. Сцепка М является сцепкой опровержения для F тогда и только тогда, когда F ложна относительно любого приписывания истинностных значений атомам, т. е. когда F не имеет модели. Для матрицы (1) найдем такие подстановки 0, которые делают формулу F невыполнимой (противоречивой). В итоге получим матрицу (для удобства сцепку изобразим в виде линий, соединяющих сцепленные литеры), показанную на рис. 2.8. Вертикальный путь через матрицу — это последовательность литер формулы, которая содержит все литеры конъюнкции, если они встретились на этом пути, и одну литеру из дизъюнкции, если путь проходит через дизъюнкцию. Для матрицы (1) одним из таких вертикальных путей будет путь ~| Р(а), 1/>(*), ~\Р(а), 1Р(с), Р(Ь), -|Р(с). Сцепка М является допустимой некоторым путем сцепкой (р-допустимой) тогда и только тогда, когда каждый вертикальный путь через матрицу содержит сцепленную пару литер. Основная идея этого метода состоит в следующем: для доказательства невыполнимости универсально квалифицируемой формулы, представленной в виде матрицы, необходимо доказать, что каждый вертикальный путь содержит контрарные литеры и для них существует подстановка, унифицирующая соответствующие термы. Метод базируется на теореме П. Эндрюса. Пусть R —универсально квантифицированная формула, представленная в ННФ. Она не выполнима тогда и только тогда, когда некоторое расширение R имеет сцепку опровержения и, как следствие, ^-допустимую сцепку. Возвращаясь к матрице (1), видим, что для F имеется р-допустимая сцепка ПР(У), Р(Ь)) для пути ~[Р\а), -\Р(у), ПР(а), "~\P{w), P{b), ~| Р{с)\ сцепка (Р(у), 100 "1 Р(х)) для пути Р(у), Р(а), Р(ш), Р(а), Р(г), ~| Р(х); сцепка (~\Р(а), Р(г)) для пути ~\Р(а), Р(а), P(w), Р(а), Р(г), ~\ Р(х) и т. д. —всего 32 пути. Отсюда очевидно, что F противоречива. Поскольку число вертикальных путей через матрицу может быть значительным, то особое внимание при реализации этого метода должно уделяться эффективности проверки этих путей. В [Andrews, 1981] предлагаются некоторые пути решения этой проблемы. Так, нет необходимости рассматривать каждый вертикальный путь отдельно в полной мере. Как только найдена пара сцепленных литер на некоторой части пути, следует исключить из дальнейшего рассмотрения все расширения этой части. Представление формул в виде матриц и методы доказательства теорем, основанные на таком представлении, были также рассмотрены в [Bibel, 1983; 1986]. Дедукция на семантических сетях Одним из формализмов представления знаний являются семантические сети (см. § 1.3). Семантическая сеть в общем виде представляет собой информационную модель предметной области, включая факты и общие закономерности (аксиомы, посылки). В вершинах сети помещаются объекты или- понятия, а дуги задают отношения между ними. С каждой семантической сетью сопоставлена совокупность дизъюнктов вида В1&В2&... &Вт-^-А\\/А2\/... \Mn (или 1 &1 V "I #2 V • • • V "1 Вт V А V • •. V Ai), где Bi — условия, Aj — заключения дизъюнкта. Дизъюнкты, имеющие как условия, так и заключения, представляют собой общие законы (аксиомы), что соответствует интенсиональному представлению знаний. Дизъюнкты без условий — это факты, соответствующие экстенсиональному представлению. И, наконец, дизъюнкты без заключений — это отрицания фактов или цели, которые нужно доказать. Как обычно, используем процедуру опровержения при доказательстве теорем. В семантической сети присутствуют два вида вершин: предикатные, соответствующие предикатным буквам, входящим в дизъюнкты, и отвечающие дизъюнктам. Каждая дуга, идущая от дизъюнктной вершины в предикатную, взвешена атомом из этого дизъюнкта. Предикатные вершины связаны между собой дугами только через дизъюнктные вершины. Для уменьшения перебора при поиске нужной информации, а также более быстрого и эффективного извлечения информации из сети введем опера* цию «раскраски» сети [Вагин и др., 1984]. Правило «раскраски* следующее: в дизъюнкте В-+А условие В будет «раскрашено» цветом Ц1 (на рис. 2.9, 2.10 соответствующие дуги изображены непрерывной линией), а заключение А — цветом Ц2 (соответствующие дуги — штриховой линией). Это правило распространяется на множество условий и заключений и на его частные случаи. Например, для дизъюнкта g: В\&Вг-+А\\/Аъ имеем дизъюнктную вершину g, четыре предикатные вершины В\, В2, Аи А2 и четыре дуги: две непрерывные, идущие от вершины g к Вх и В2, и две штриховые, идущие от g к Ai и А2. Формально сеть задается четверкой вида L=<CG, P, Fi, F2~>, где G — множество дизъюнктных вершин, Р — множество предикатных вершин, Ft — отображение G в Р на дугах, раскрашенных цветом Ц1, и F2 — отображение С в Яна дугах, раскрашенных цветом Ц2. Задача дедуктивного вывода формулируется следующим образом. Задана логико-лингвистическая модель в виде семантической сети, с которой сопоставлен набор дизъюнктов указанного типа, и на ее вход подается ситуация, представленная совокупностью фактов Аи А2,.../Аг. Эта ситуация, накладываемая на семантическую сеть, представляет собой текущее состояние системы обработки знаний, отражающее динамику ее изменения. Кроме того, на вход модели подается запрос, также приведенный к виду дизъюнктов. Решение задачи дедукции состоит в получении противоречий в семантической сети или пустой сети то аналогии с получением пустого дизъюнкта в прин-
I ципе резолюции. Отметим, что процедура дедуктивного вывода на сети основана на использовании многосортной логики предикатов первого порядка, что позволяет существенно ограничить область поиска необходимых утверждений, хотя сортность переменных может быть исключена введением соответствующих одноместных предикатов. Существующие методы вывода на семантических сетях, использующие идею пересечения путей на сетях или наложения одного фрагмента сети на другой, имеют существенный недостаток. Основной недостаток, заключающийся в ограниченности дедуктивных возможностей вывода, связан с комбинаторным ростом числа наложений или пересечений и негибкостью этих методов при переходе с одной предметной области на другую. Рассмотрим три алгоритма дедукции на семантических сетях: для хорновских дизъюнктов, связанный с трансформацией сети и нахождения пути на сети [Вагин и др., 1984]. Алгоритм дедукции на раскрашенных семантических сетях. Для предикатной вершины Р выбирается любая контрарная пара литер, которая затем ре-зольвируется. Если вершина содержит другие контрарные пары, то они рассматриваются как альтернативные и их выбор происходит только после неудачи с унификацией текущей контрарной пары. Если в вершину входят только дуги одного цвета (так называемые «чистые» дизъюнкты), то они не влияют на -процесс вывода пустой сети и удаляются из рассмотрения. Процегг продолжается до тех пор, пока не будет выведена пустая сеть. Характерной чертой данного алгоритма является то, что в процессе вывода семантическая сеть не изменяется. Алгоритм позволяет обрабатывать сети большой размерности и быстрее и эффективнее извлекать нужную информацию, чем другие методы вывода. Однако этот алгоритм неполон, т. е. не гарантирует в любых случаях получение пустой сети для исходного невыполнимого множества дизъюнктов. Алгоритм эффективен и полон для применения в таких системах обработки знаний, которые описываются наборами хорновских дизъюнктов. Алгоритм дедукции с использованием операторов удаления и расщепления вершин семантических сетей. Основан на преобразовании семантических сетей, для чего вводятся операторы трансформации сетей: оператор удаления вершины; оператор расщепления вершины. Предикатная вершина считается свободной от мультидуг, если число дуг, выходящих из одной и той же какой-нибудь другой вершины и входящих в данную вершину, не больше единицы. Правило удаления вершины следующее: если в сети имеется вершина Р, свободная от мультидуг, и этой вершиной связаны дизъюнкты gi, gt,*..,gn, то после всевозможных резольвирований этих дизъюнктов по литере Р из сети эти дизъюнкты вместе с вершиной Р удаляются и добавляются новые дизъюнкты, полученные резольвированием g\, g2,—,gn. Вершина будет удалена из сети и в случае «чистого» дизъюнкта. Проиллюстрируем оператор удаления вершины на примере рис. 2.2, задав следующую нотацию (см. набор дизъюнктов): 1) ~*С(а); 2) Р(у) -+Ца,у); 3) C(x)&H(y)&L(x,y)-> 4) -/*(*); 5) ->//(&). Здесь для фактов С(а), P(b), H(b) в условии дизъюнкта буква «и» (истина) для краткости опущена. Аналогично опущена буква «л» (ложь) в заключении дизъюнкта 3. Раскрашенная сеть, соответствующая этому набору дизъюнктов, показана на рис. 2.9,а. Применив оператор удаления к вершине С, получим сеть, изобра- Ряс. 2.9 женаую на рис. 2Д6, а к вершинам Н, L— противоречие в вершине Р или пустую сеть (рис. 2.9 а г). Оператор расщепления вершины применяется при наличии в предикатной вершине мультидуг. Пусть имеется множество дизъюнктов 5«={Р\/Г, Ф}, где P\JT — дизъюнкт, в котором компонент дизъюнкта Г также содержит литеру Р, а Ф—любое подмножество дизъюнктов. После применения оператора расщепления множество 5 примет вид S' ={Рг V Г, [Ф]р^р, Ф), где [Ф]Р*|Р означает подстановку литеры Рх вместо Р в дизъюнктах Ф, имеющих Р. Проиллюстрируем оператор расщепления на примере. Имеем следующий набор дизъюнктов: 2) 3)
Выделение литеры на семантической сети соответствует выделению соответствующей вершины по дуге, которая взвешена этой литерой. Тогда путем на множестве дизъюнктов будем называть множество выделенных соответствующими литерами вершин на семантической сети. Для сетей этот алгоритм состоит в следующем: после выделения предикатных вершин получаем множество выделенных вершин, дизъюнкты которых или резольвируются, или нет. После резольвирования литеры вновь образованных дизъюнктов добавляются к выделенным вершинам, и процесс продолжается до получения противоречия в сети. Алгоритм полон. Известно, что автоматическое доказательство теорем в силу вычислительной сложности относится к труднорешаемым задачам [Rabin, 1974; Galil, 1975]. Поэтому возникает необходимость построения параллельных процедур дедуктивного вывода, в которых возможна независимая обработка порций знаний внутри одного обрабатывающего элемента, соединенного с другими аналогичными элементами сетью сообщений. Такой возможностью обладает алгоритм дедукции, связанный с трансформацией семантической сети. В этом алгоритме имеется пять видов параллелизма [Вагин, 1986]: 1. Параллелизм при унификации, осуществляемый внутри одной вершины, 2. Параллельное удаление вершин, свободных от мультидуг, не имеющих 3. Параллельная стяжка мультидуг одного цвета (если это возможно) как 4. Параллельное расщепление внутри одной вершины, имеющей несколько 5. Параллельное расщепление нескольких вершин, имеющих мультидуги. Рис. 2.10 Ему соответствует сеть, представленная на рис. 2Л0,а. Применяя оператор рас Алгоритм выделения путей, Выделим из каждого дизъюнкта невыполнимого множества дизъюнктов 5 какую-нибудь литеру. Получим последовательность ли- ж!стее дизъюнктовS последовательность литеР называется путем на мно- Например, для 5== {Р(а) V Q (Ь), IQ(x), lP(x)\/C(d), ПОД} путем ляп^П^СЛеД0ВаГеЛЬН0СТЬ ЛИТер Р{п)' 1 <?<*>• "1 РМ< "I СМ< Алгоритм выво Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.007 сек.) |