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

Формула алгебры логики над базисом Б строится индуктивно. Переменная считается формулой глубины 0. Если φ имеет k аргументов, а F1,…,Fk уже построены, то φ(F1,…,Fk) — новая формула глубины 1+max \(D(F_i)\), реализующая композицию соответствующих функций.1

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

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

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

Пусть Б={φ1,…,φb} — базис булевых функций, а X={x1,x2,…} — множество переменных. Любая \(x_j\) является тривиальной формулой глубины 0. Если \(\varphi_i\) имеет арность \(k_i\) и \(F1,\ldots,F_{k_i}\) — формулы глубин \(q1,\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(f1,\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=(x1∨x2)∧¬x3 используются три функциональных символа: ∨, ∧ и ¬, поэтому L(F)=3. В записи три вхождения переменных, значит R(F)=3. Подформулы x1∨x2 и ¬x3 имеют глубину 1, а внешняя конъюнкция увеличивает её до D(F)=2. Другая эквивалентная формула могла бы иметь другие значения L, R или D.

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

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

Источники

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