Главная > Интеллектуальные системы > Системы искусственного интеллекта
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

3.7.7. Реализация алгоритма унификации

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

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

Общая процедура доказательства

ПРОЧЕСТЬ — множество допустимых продукций или правил переписывания в данной предметной области; представляет собой данные, связанные с процедурой в самом общем смысле}.

(см. скан)

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

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

На самом деле то же явление зацикливания может порождаться и одним единственным правилом, таким, например, как

или

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

при таком наборе правил: и

где происходит зацикливание по выражению

Проблема зацикливания решается с помощью двух специальных процедур: процедуры нормализации для выражения и процедуры запрета для теорем.

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

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

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

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

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

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

Таблица 3.3. Правила переписывания для упрощения алгебраических выражений

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

<< Предыдущий параграф Следующий параграф >>
Оглавление