Как формула задаётся деревом
Формуле над базисом Б индуктивно сопоставляют упорядоченное ориентированное корневое дерево. Если формула состоит из одной переменной, дерево имеет одну вершину. Для \(F=\varphi (F_{1},\ldots,F_k)\) берут деревья подформул \(F_{1},\ldots,F_k\), добавляют новый корень с меткой \(\varphi\) и соединяют его с корнями поддеревьев в порядке аргументов. Глубина построенного дерева совпадает с глубиной формулы.1
Это представление сохраняет всю позиционную структуру: каждой позиционной подформуле соответствует определённое корневое поддерево и наоборот. Поэтому дерево удобно для анализа сложности и эквивалентных перестроений формулы.
Функционалы через дерево
Для формул курса R(F) равно числу листьев дерева, L(F) — числу остальных, то есть внутренних, вершин, а D(F) — глубине корня. Для базиса \(\text{Б}_{0}=\{\wedge,\vee,\neg \}\) из структурных соотношений следует важная нижняя граница \(D(F)\ge \lceil \log_{2}(L(F)+1)\rceil\). Она показывает, что при фиксированном числе операций глубину нельзя уменьшать произвольно.1
Подобные формулы и оптимизация глубины
Формулы называют подобными, если одну можно получить из другой применением коммутативности и ассоциативности \(\wedge\) и \(\vee\). Такие преобразования не меняют число операций и переменных, но меняют форму дерева и потому могут менять глубину. В лекциях подчёркивается вычислительный смысл: L связано с объёмом последовательной работы, а D — с временем параллельного вычисления при неограниченном числе процессоров. Поэтому балансировка дерева является частным случаем распараллеливания.1
Для формулы F над \(\text{Б}_{0}\) с поднятыми отрицаниями вводится Alt(F) — максимальное число смен операций \(\wedge\) и \(\vee\) вдоль пути дерева. Теорема курса гарантирует существование подобной формулы F̌ такой, что \(D(\check F)\le \lceil \log_{2}(L(F)+1)\rceil+\operatorname{Alt}(F)\). Для элементарной конъюнкции или дизъюнкции, где чередований нет, существует подобная формула глубины ровно \(\lceil \log_{2}(L+1)\rceil\), и эта глубина минимальна. Для любой ДНФ или КНФ можно получить подобную формулу с глубиной не больше \(\lceil \log_{2}(L(A)+1)\rceil +1\).1