Cтраница 2
Основным элементом представления знаний является структурированный объект, а не порождающее правило. [16]
Заметим, что вертикальная черта разделяющая альтернативы в правой части порождающего правила, символ: : , который читается как может быть одним из, и ломаные скобки не являются частью того языка арифметических выражений, который мы определяем. На самом деле они являются частью метаязыка, на котором мы пишем наше определение и который представляет собой математически формализованный естественный язык, дополненный математической символикой. В дальнейшем слова, заключенные в лом: аиые скобки, например операция), будут рассматриваться как единые символы этого метаязыка и называться поэтому метасимволами или нетерминальными символами. Смысл последнего названия станет ясным ниже, когда мы увидим, как используются эти символы. [17]
![]() |
Пример применения стратегии специфики. правило Rule 1 доминирует над правилам RuJ. e 2. [18] |
Общепринято размещать условия распознавания контекста в самом начале антецедентной части порождающего правила. В результате, если это условие не соблюдается, не тратится время на анализ остальных. Кроме того, стратегия разрешения конфликтов в системе R1 ( она получила название МЕА) обращает особое внимание на первое условие в правиле после его конкретизации перед возможным применением. У правил, которые деактивизируют контекст, антецедентная часть состоит из единственного символа контекста. Такое правило будет применено только после всех остальных правил, чувствительных к тому же контексту. [19]
Первый алгоритм полностью отражает синтаксическую структуру выражений, заданную нашими порождающими правилами; например, рекурсивность этих правил приводит к рекурсивности алгоритма. Вообще подобные синтаксически-ориентированные алгоритмы обычно бывают краткими и понятными. [20]
![]() |
Дерево решений ( заимствовано из [ Quinlan, 1986, a ]. [21] |
Причина, по которой предпочтение иногда отдается деревьям решений, а не порождающим правилам, состоит в том, что существуют сравнительно простые алгоритмы построения дерева решений в процессе обработки обучающей выборки, причем построенные деревья могут быть использованы в дальнейшем для корректной классификации объектов, не представленных в обучающей выборке. Алгоритм системы ID3, который используется для построения дерева по обучающей выборке, мы рассмотрим в следующем разделе. Этот алгоритм достаточно эффективен с точки зрения количества вычислительных операций, поскольку объем вычислений растет линейно по отношению к размерности проблемы. [22]
Напомним, что операторной грамматикой называют грамматику, в которой правая часть любого порождающего правила не содержит двух рядом стоящих нетерминальных символов. [23]
Очевидно, что большая часть таких фундаментальных знаний не представлена в явном виде в порождающих правилах. Структурные знания лучше всего представляются в форме составных объектов данных, таких как фреймы, но некоторая часть управляющей информации может быть представлена в процедурном виде. Поддерживающие знания, как правило, включаются в сопроводительную документацию к программе, но они должны быть доступны и для программы, формирующей объяснения сделанных заключений. Попытка втиснуть разнородные знания в единый формат представления отрицательно сказывается на ясности и прозрачности системы для пользователя, но, тем не менее, позволяет весьма изобретательно использовать эффект от рационального выбора способа упорядочения правил и предпосылок. [24]
В таком случае говорят о правилах трансформации ( преобразования) ( transformation) и о порождающих правилах ( production rule), в которых левая часть есть условие продукции, а правая - следствие продукции. [25]
Путем включения дополнительных правил операторную грамматику можно преобразовать в эквивалентную расширенную грамматику, в которой правая часть каждого порождающего правила содержит не более трех символов и имеет специфичную структуру. [26]
Для облегчения ссылок правила помечены буквами, а альтернативы занумерованы в порядке, в котором они появляются в порождающем правиле. Например, ( целое):: - ( целое без знака) в описанной классификации будет правилом ЬЗ. [27]
![]() |
Остров после 2 - х итераций. [28] |
Например, для того чтобы построить фрактал под названием дракон Хартера-Хайтвея [9, 31], необходимо иметь возможность менять направление чтения порождающего правила, изображенного на рис. 2.13. В качестве инициатора, или аксиомы, используется кривая слева. Порождающее правило в данном случае заключается в том, чтобы нарисовать инициатор сначала в прямом, а затем в обратном направлении. Подобная схема не вписывается в рамки L-систем, использующих только одно порождающее правило. [29]
Другим приятным аспектом объектно-ориентированного программирования является возможность использования таких стилей представления знаний, которые не встречаются в исчислении предикатов и в порождающих правилах. Вместо размывания знаний об объекте предметной области между множеством правил или аксиом, на которые они ссылаются, эти знания концентрируются в едином месте - в программном описании объекта. Эта концентрация является виртуальной в том смысле, что нет необходимости, чтобы вся информация об объекте предметной области хранилась в соответствующем ему программном объекте, но любая команда или запрос к этому объекту может быть реализована только через посылку сообщения этому объекту. [30]