Формулы алгебры логики: структура, эквивалентность и функционалы сложности

Формула алгебры логики над базисом Б строится индуктивно. Переменная считается формулой глубины 0. Если \(\varphi\) имеет k аргументов, а \(F_{1},\ldots,F_k\) уже построены, то \(\varphi (F_{1},\ldots,F_k)\) — новая формула глубины \(1+\max_i D(F_i)\), реализующая композицию соответствующих функций.1

Две формулы называются эквивалентными, если реализуют одну и ту же булеву функцию. Их структура при этом может различаться. Основные функционалы формулы: L(F) — число вхождений функциональных символов, R(F) — число вхождений переменных и D(F) — глубина.1

Что важно запомнить
  • Формула задаётся не только функцией, но и конкретной синтаксической структурой.
  • Эквивалентность означает равенство реализуемых функций, а не графическое совпадение записей.
  • L(F) считает операции, R(F) — вхождения переменных, D(F) — максимальную вложенность вычисления.
  • Подформула может входить в запись несколько раз. Каждое вхождение учитывается позиционно.1

Индуктивное построение формулы

Пусть \(\text{Б}=\{\varphi_{1},\ldots,\varphi_b\}\) — базис булевых функций, а \(X=\{x_{1},x_{2},\ldots \}\) — множество переменных. Любая \(x_j\) является тривиальной формулой глубины 0. Если \(\varphi_i\) имеет арность \(k_i\) и \(F_{1},\ldots,F_{k_i}\) — формулы глубин \(q_{1},\ldots,q_{k_i}\), то

\(F=\varphi_i(F_{1},\ldots,F_{k_i})\)

является формулой глубины \(D(F)=1+\max (q_{1},\ldots,q_{k_i})\) и реализует функцию \(\varphi_i(f_{1},\ldots,f_{k_i})\), где \(f_j\) реализуется \(F_j\).1

Формулы, появившиеся в процессе такого построения, называются подформулами. Если одна и та же запись подформулы встречается в разных местах, каждое место считается отдельным позиционным вхождением.

Эквивалентность

Графически совпадающие формулы рассматриваются как изоморфные. Более широкое отношение — функциональная эквивалентность: F′ и F″ эквивалентны, если реализуют равные булевы функции. Равенство \(F'=F''\) в таком случае является тождеством. Именно эта идея лежит в основе последующих эквивалентных преобразований формул.1

Функционалы сложности

L(F) — число вхождений функциональных символов, то есть операций из базиса. R(F) — число вхождений символов переменных. D(F) — глубина формулы. В древовидном представлении R равно числу листьев, L — числу внутренних вершин, а D — глубине корня.1

Эти меры фиксируют разные аспекты реализации. L отражает общий объём операций, D — длину критического пути вычисления, а R показывает, сколько раз входные переменные используются в записи формулы. Поэтому оптимальность формулы всегда нужно связывать с конкретным функционалом.

Пример простыми словами

Для \(F=(x_{1}\vee x_{2})\wedge \neg x_{3}\) используются три функциональных символа: \(\vee, \wedge\) и \(\neg\), поэтому \(L(F)=3\). В записи три вхождения переменных, значит \(R(F)=3\). Подформулы \(x_{1}\vee x_{2}\) и \(\neg x_{3}\) имеют глубину 1, а внешняя конъюнкция увеличивает её до \(D(F)=2\). Другая эквивалентная формула могла бы иметь другие значения L, R или D.

Частые ошибки
  • Путать эквивалентность и изоморфизм. Эквивалентные формулы могут иметь совершенно разную структуру.
  • Считать R(F) числом различных переменных. R считает все их вхождения.
  • Путать глубину с количеством операций. Формулы одинаковой сложности L могут иметь разную глубину D.

Другие вопросы

Источники

  1. 1 Ложкин С. А. Лекции по основам кибернетики Вариант 2017 г. (гр. 311–319), глава 2, §§2–3, МГУ, факультет ВМК