Функционал сложности
Разные реализации одной булевой функции могут иметь разный размер. Чтобы говорить об оптимальности, на ДНФ задают неотрицательный функционал сложности \(\psi (A)\). В курсе предполагается естественная монотонность: удаление букв или целых элементарных конъюнкций не должно увеличивать сложность. Тогда \(\psi\)-минимальной называют ДНФ A, реализующую f и имеющую наименьшее значение \(\psi\) среди всех ДНФ этой функции.1
Длина и ранг
Длина \(\lambda (A)\) — число элементарных конъюнкций в ДНФ. Ранг \(R(A)\) — сумма рангов всех входящих в неё конъюнкций, то есть суммарное число литералов. Поэтому две ДНФ одинаковой длины могут заметно различаться по рангу.
В принятой в курсе терминологии \(\lambda\)-минимальную ДНФ называют кратчайшей, а R-минимальную — просто минимальной. Это разные задачи оптимизации. Одна форма может иметь минимальное число конъюнктов, но не минимальное общее число литералов.1
Функции Шеннона
Для каждой функции f рассматривают её минимальную \(\psi\)-сложность \(\psi (f)\). Затем переходят от одной функции к целому классу \(P_{2}(n)\) всех ФАЛ n переменных и определяют
\(\psi (n) = \max \psi (f), f\in P_{2}(n)\).
Эта величина называется функцией Шеннона для выбранного функционала. Она отвечает на вопрос: насколько сложной в худшем случае может быть оптимальная ДНФ функции от n переменных. Для двух основных параметров лекционный курс даёт точные значения \(\lambda (n)=2^{n-1}\) и \(R(n)=n\cdot 2^{n-1}\). Нижняя граница достигается на существенных линейных функциях, единственная ДНФ которых является совершенной.1
Типичные значения этих параметров и эффект Шеннона образуют отдельную тему курса и рассматриваются отдельно от базовых определений сложности.2