Извлечение общих правил из примеров

Обучение на основе объяснения базируется на том важном принципе, что вначале необходимо составить объяснение данного наблюдения с использованием априорных знаний, а затем сформировать определение класса случаев, для которого может использоваться такая же структура объяснения. Подобное определение может лечь в основу правила, охватывающего все случаи данного класса. Само "объяснение" может представлять собой логическое доказательство, но в более общем случае объяснением может служить любой процесс формирования рассуждений или решения задачи, этапы которого полностью определены. Ключом к успешному формированию объяснения является определение необходимых условий для того, чтобы такие же этапы процесса можно было применить к другому случаю.
Мы будем использовать в качестве рассматриваемой здесь системы формирования логических рассуждений простую систему доказательства теорем по методу обратного логического вывода, которая описана в главе 9. Дерево доказательства для случая Derivative (X2 ,Х)=2Х слишком велико для того, чтобы его можно было использовать в качестве примера, поэтому для иллюстрации применяемого метода обобщения рассмотрим более простую задачу. Предположим, что задача состоит в том, чтобы упростить выражение 1х (0+Х). База знаний включает следующие правила:
Rewrite (и, v) л Simplify{v,w) => Simplify(u,w) Primitive (и) => Simplify {и, и) ArithmeticUnknowniu) => Primitive (и) Number (и) => Primitive (и) Rewrite(lxu,и) Rewrite(0+u,u)
Доказательство того, что ответом является X, приведено на рис. 19.5, сверху. В методе обучения на основе объяснения фактически одновременно формируются два дерева доказательства. Во втором дереве доказательства используется цель, описанная с помощью переменных, в которой константы первоначальной цели заменены переменными. По мере развития первоначального доказательства так же поэтапно развивается доказательство с помощью переменных, в котором применяются точно такие же приложения правил. Использование некоторых правил может вызвать конкретизацию определенных переменных. Например, для того чтобы можно было применить правило Rewri te{ lxu, и), необходимо вначале связать с 1 переменную х в подцели Rewrite (xx(y+z) , v). Аналогичным образом, переменная у должна быть связана с 0 в подцели Rewri te(y+z,vy ), для того чтобы можно было использовать правило Rewrite(0 + u, и). После получения обобщенного дерева доказательства остается только взять листовые узлы (с необходимыми связываниями) и сформулировать общее правило для целевого предиката, следующим образом:
Rewrite (1 х (0 + z)f0 + z) л Rewri te ( 0 + z, z) л ArithmeticUnknown(z) Simplify{lx{0+z), z)
Обратите внимание на то, что первые два условия в левой части правила являются истинными независимо от значения z. Поэтому их можно удалить из данного правила, что приводит к получению такого соотношения:
ArithmeticUnknowniz) => Simplify (lx ( 0 + z) , z)
Вообще говоря, из окончательного правила можно удалять такие условия, которые не налагают ограничений на переменные в правой части правила, поскольку при этом результирующее правило остается истинным и становится более эффективным. Обратите внимание на то, что условие ArithmeticUnknowni z) удалять нельзя, поскольку не все возможные значения z являются арифметическими неизвестными. Для значений, отличных от арифметических неизвестных, могут потребоваться другие формы упрощения; например, если переменная z равна 2x3, то правильным упрощением выражения 1х (0 + (2x3) ) должно быть б, а не 2x3.
Подводя итог, можно отметить, что основной процесс обучения на основе объяснения действует, как описано ниже.
1. Используя рассматриваемый пример, составить доказательство того, что целевой предикат является применимым к данному примеру, с использованием доступных фоновых знаний.
2. Одновременно с этим сформировать обобщенное дерево доказательства для цели, описанной с помощью переменных, в котором используются такие же этапы логического вывода, как и в первоначальном дереве доказательства.
1.
3. Сформулировать новое правило, левая часть которого состоит из листовых узлов дерева доказательства, а правая часть представляет собой цель, описанную с помощью переменных (после применения соответствующих связываний из обобщенного доказательства).
4. Удалить все условия, которые являются истинными независимо от значений переменных в цели.







Материалы

Яндекс.Метрика