Быстрое дифференцирование, двойственность и обратное распространение ошибки
Теорема 1 (о построении термов). Каждый терм t единственным образом представляется в виде , где f - первый символ в t,
, число k определяется по
, а
- термы.
Эта теорема является точной формулировкой эквивалентности используемой бесскобочной и обычной записи.
Пусть u и v - выражения, то есть последовательности символов алфавита. Скажем, что u входит в v, если существуют такие выражения p и q (возможно, пустые), что v совпадает с puq.
Теорема 2 (о вхождении терма в терм). Пусть ,
- термы, t представляется в виде
,
- терм и
входит в t. Тогда или
совпадает с t, или
входит в одно из
.
Доказываются эти теоремы элементарной индукцией по длине термов [3.4]. В доказательстве теоремы 2 выделяется лемма, представляющая и самостоятельный интерес.
Лемма 1. Каждое вхождение любого символа в терм начинает вхождение некоторого терма в
Определим отношение между термами индуктивным образом "сверху вниз" - по глубине вхождения:
-
;
- если t совпадает с
,
и
- термы, то
;
- если
и
, то
.
Согласно теореме 2, тогда и только тогда, когда
входит в
.
Для каждого терма t определим множество входящих в него термов . Если
, то при
непусты множества
. При этом множество
состоит из одного элемента - исходного терма t.
Свяжем с термом t ориентированный граф с вершинами, взаимнооднозначно соответствующими термам из
. Будем одинаково обозначать вершины и соответствующие им термы. Пара вершин
образует ориентированное от
к
ребро графа
, если терм
имеет вид
,
,
- термы и один из них
совпадает с
. Вершины графа
удобно располагать по слоям
.
Для произвольного графа G будем обозначать v(G) множество вершин, а e(G) - множество ребер G.
Возьмем для примера выражение для сложной функции
![]() |
( 3) |
В принятой выше бесскобочной префиксной записи оно имеет вид
![]() |
( 3') |
где все функциональные символы принадлежат .
Граф для этого терма изображен на рис. 3.1.
Для того, чтобы терм однозначно восстанавливался по графу, необходимы еще два дополнения.
- Сопоставим каждой вершине
метку
- символ алфавита. Если вершина принадлежит нулевому слою
, то ей соответствует терм, совпадающий с символом из
. Этот символ и сопоставляется вершине в качестве метки. Если вершина принадлежит
( i>0 ), то меткой служит функциональный символ: вершине
сопоставляется
, если
имеет вид
, где
, а
- термы.
- Каждому ребру
, приходящему в вершину
сопоставим метку
- конечное множество натуральных чисел (номеров): пусть терм
имеет вид
, где
, а
- термы, тогда ребру
сопоставляется множество тех i (
), для которых
совпадает с
. На практике в большинстве случаев эта метка состоит из одного номера, но возможны и другие варианты - так же, как функции вида f(x,x). Для графических иллюстраций удобно ребра
, имеющие в своей метке
больше одного номера, рисовать как пучок ребер, идущих от вершины
к вершине
- по одному такому ребру для каждого номера из
; этот номер и будет меткой соответствующего ребра из пучка.
Граф вместе со всеми метками будем обозначать
. На рис. 3.1 указаны соответствующие метки для разобранного примера.
Итак, для всякого терма t построен ориентированный граф и две функции: первая сопоставляет каждой вершине
символ алфавита
, вторая (обозначим ее P ) - каждому ребру
- конечное множество натуральных чисел
. Отмеченный граф - набор (
) обозначаем
. Функции p и P удовлетворяют следующему ограничению:
А) если для данного множество входящих ребер
непусто, то
(является k -местным функциональным символом при некотором k ) и семейство множеств
![{\rm{\{P(}}\tau {\rm{'}}{\rm{,}}\tau {\rm{)|(}}\tau {\rm{'}}{\rm{,}}\tau {\rm{)}}\in {\rm{e(}}G_0^t {\rm{) \}}}](/sites/default/files/tex_cache/3797e744afc8c62fd7dec54581435057.png)
![\tau](/sites/default/files/tex_cache/a6f317b268ae825d94f832f970af607c.png)
![P(\tau ',\tau ) \cap P(\tau '',\tau ) = \emptyset](/sites/default/files/tex_cache/96376bf12098a17f1326d668d92089e6.png)
![\tau ' \ne \tau ''](/sites/default/files/tex_cache/b5987d91d9b7ca940c6459ca6765a85f.png)
![\forall \tau \bigcup\limits_{\tau {\rm{': (}}\tau {\rm{'}}{\rm{,}}\tau {\rm{) }}\in {\rm{e(}}G_0^t )}{P(\tau ',\tau ) = \{1,...,k\}}
.](/sites/default/files/tex_cache/b957445aa935c60845f6f4b980b82227.png)
На этом завершается изложение основных формальных конструкций. Прежде, чем переходить к интерпретации, сформулируем теорему об эквивалентности графического и формульного представления термов.
Пусть G - конечный ориентированный граф, не имеющий ориентированных циклов, и в G существует и единственна такая вершина , к которой от любой вершины ведет ориентированный путь. Пусть, далее, заданы две функции: p - на множестве вершин G со значениями в множестве символов алфавита и P - на множестве ребер G со значениями в множестве конечных наборов натуральных чисел и выполнено условие A.