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