Для контуров глубины 2 требуется экспоненциальный размер для вычисления сложения, поскольку контур глубины 2 должен быть либо DNF, либо CNF, и легко проверить, что экспоненциально много минтермов и максимумов.
Предупреждение : часть ниже глючит . Смотрите комментарии под ответом.
Как я считаю, сложение может быть сделано подробно 3. Предположим, что и b i - это i- ые биты двух чисел, где 0 - это индекс LSB и n MSB. aябяя0N
Давайте вычислим й бит суммы, s i стандартным способом, с переносом в будущее:яsя
sя= ая⊕ бя⊕ ся
где - XOR, а c i - перенос, вычисленный как:⊕ся
ся= ⋁j ∣ j < я( гJ∧ рJ)
и означает, что j- е местоположение «сгенерировало» перенос:граммJJ
граммJ= ( аJ∧ бJ)
и означает, что перенос переносится из j в i :пJJi
pj=⋀k∣j<k<i(aj∨bj)
Считая глубину, - это глубина 2, а c i - это глубина 3. Хотя может показаться, что s i - это глубина 4 или 5, на самом деле это также всего лишь глубина 3, так как это ограниченное вычисление веером для схем глубины 3, поэтому может сдвинуть верхние два уровня вниз, используя формулы де-Моргана, в то же время увеличивая размер схемы на полиномиальную величину.pjcisi