1. Семинар по сложности булевых функций
Лекция 9: Отрицания в схемах
В. Алексеенко
Computer Science клуб при ПОМИ
http://compsciclub.ru
20.11.2011
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 1 / 27
2. План лекции
1 Когда NOT гейты бесполезны
2 Теорема Маркова
3 Формулы и NOT гейтов
4 Теорема Фишера
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 2 / 27
3. Введение
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 3 / 27
4. Введение
Главная трудность в нижних оценках размера схемы над
базисом {∨ ∧ ¬} – присутствие NOT гейтов.
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 3 / 27
5. Введение
Главная трудность в нижних оценках размера схемы над
базисом {∨ ∧ ¬} – присутствие NOT гейтов.
Можем доказать экспоненциальные нижние оценки для
схем без NOT гейтов.
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 3 / 27
6. Введение
Главная трудность в нижних оценках размера схемы над
базисом {∨ ∧ ¬} – присутствие NOT гейтов.
Можем доказать экспоненциальные нижние оценки для
схем без NOT гейтов.
Для каких классов функций NOT гейты бесполезны.
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 3 / 27
7. Введение
Главная трудность в нижних оценках размера схемы над
базисом {∨ ∧ ¬} – присутствие NOT гейтов.
Можем доказать экспоненциальные нижние оценки для
схем без NOT гейтов.
Для каких классов функций NOT гейты бесполезны.
Каково минимальное число NOT гейтов в схеме,
вычисления f .
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 3 / 27
8. Введение
Главная трудность в нижних оценках размера схемы над
базисом {∨ ∧ ¬} – присутствие NOT гейтов.
Можем доказать экспоненциальные нижние оценки для
схем без NOT гейтов.
Для каких классов функций NOT гейты бесполезны.
Каково минимальное число NOT гейтов в схеме,
вычисления f .
Как сильно можно уменьшить число NOT гейтов в схеме
без существенного увеличения её размера
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 3 / 27
9. План лекции
1 Когда NOT гейты бесполезны
2 Теорема Маркова
3 Формулы и NOT гейтов
4 Теорема Фишера
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 4 / 27
10. K – sline функция
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 5 / 27
11. K – sline функция
Определение
Функция f называется K-sline’ой если:
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 5 / 27
12. K – sline функция
Определение
Функция f называется K-sline’ой если:
1) f (x) = 1 когда |x| = x1 + x2 + · · · + xn >k
(т. е.возвращает 1 если вектор x содержит строго больше k
единиц)
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 5 / 27
13. K – sline функция
Определение
Функция f называется K-sline’ой если:
1) f (x) = 1 когда |x| = x1 + x2 + · · · + xn >k
(т. е.возвращает 1 если вектор x содержит строго больше k
единиц)
2) f (x) = 0 когда |x| = x1 + x2 + · · · + xn <k
(т. е.возвращает 0 если вектор x содержит строго меньше k
единиц)
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 5 / 27
14. K – sline функция
Определение
Функция f называется K-sline’ой если:
1) f (x) = 1 когда |x| = x1 + x2 + · · · + xn >k
(т. е.возвращает 1 если вектор x содержит строго больше k
единиц)
2) f (x) = 0 когда |x| = x1 + x2 + · · · + xn <k
(т. е.возвращает 0 если вектор x содержит строго меньше k
единиц)
K-sline функции монотонны
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 5 / 27
15. K – sline функция
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 6 / 27
16. K – sline функция
Теорема
Если f является K-sline функцией от n переменных, тогда любая схема
де Моргана, вычисляющая f , может быть приведена к монотонной
схеме добавлением не более O(n · log 2 (n)) гейтов.
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 6 / 27
17. K – sline функция
Теорема
Если f является K-sline функцией от n переменных, тогда любая схема
де Моргана, вычисляющая f , может быть приведена к монотонной
схеме добавлением не более O(n · log 2 (n)) гейтов.
Доказательство
Пусть f - k-sline функция, а F - схема де Моргана вычисляющая f , т. е.
f (x1 , ..., xn ) = F (x1 , ..., xn , ¬x1 , ..., ¬xn )
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 6 / 27
18. K – sline функция
Теорема
Если f является K-sline функцией от n переменных, тогда любая схема
де Моргана, вычисляющая f , может быть приведена к монотонной
схеме добавлением не более O(n · log 2 (n)) гейтов.
Доказательство
Пусть f - k-sline функция, а F - схема де Моргана вычисляющая f , т. е.
f (x1 , ..., xn ) = F (x1 , ..., xn , ¬x1 , ..., ¬xn )
Рассмотрим пороговую функцию Thk (x − xi ), где
(x − xi ) = (x1 , ..., xi−1 , xi+1 , ..., xn )
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 6 / 27
19. K – sline функция
Доказательство
Для векторов, содержащих ровно k единиц (|x| = x1 + · · · + xn = k),
значение функции Thk (x − xi ) легко вычислить:
Thk (x − xi ) = ¬xi
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 7 / 27
20. K – sline функция
Доказательство
Для векторов, содержащих ровно k единиц (|x| = x1 + · · · + xn = k),
значение функции Thk (x − xi ) легко вычислить:
Thk (x − xi ) = ¬xi
Известно, что все n пороговых функций Thk (x − xi ), i = 1..n можно
вычислить монотонной схемой размера O(n · log 2 (n))(Wegener 1985).
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 7 / 27
21. K – sline функция
Доказательство
Для векторов, содержащих ровно k единиц (|x| = x1 + · · · + xn = k),
значение функции Thk (x − xi ) легко вычислить:
Thk (x − xi ) = ¬xi
Известно, что все n пороговых функций Thk (x − xi ), i = 1..n можно
вычислить монотонной схемой размера O(n · log 2 (n))(Wegener 1985).
Т.о, если заменить все отрицательные входы в схеме
F (x1 , ..., xn , ¬x1 , ..., ¬xn )
на значения пороговых функций Thk (x − xi ), то получим монотонную
схему:
F+ (x1 , ..., xn ) = F (x1 , ..., xn , ¬Thk (x − x1 ), ..., ¬Thk (x − xn ))
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 7 / 27
22. Отрицательные входы как новые переменные
Теорема (Lipton 2010)
Для любой булевой функции f от n переменных cправедливо:
C (f ) ≤ C+ (gf ) ≤ C (f ) + 4n
C (f ) —минимальный размер схемы ДеМоргана для вычисления f
C+ (gf ) — минимальный размер монотонной схемы для вычисления gf
gf (x, y ) = f (x) ∧ ������(x, y ) ∨ ������(x, y )
где
n
⋀︁ n
⋁︁
������(x, y ) = (xi ∨ yi ) а ������(x, y ) = (xi ∧ yi )
i=1 i=1
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 8 / 27
23. Отрицательные входы как новые переменные
Утверждение
Для любой булевой функции f , функция gf является монотонной.
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 9 / 27
24. Отрицательные входы как новые переменные
Утверждение
Для любой булевой функции f , функция gf является монотонной.
Доказательство
От противного.
Положим, что gf не монотонна. Тогда существуют вектора a, b
такие, что gf (a, b) = 1 и изменение любого бита с 0 на 1 приведёт
к gf (a, b) = 0.
������(a, b) = 0 ( иначе, после 0 → 1gf (a, b) = 1)
gf = 1 ⇒ ������(a, b) = 1
после 0 → 1 ������(a, b) = 1
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 9 / 27
25. Отрицательные входы как новые переменные
Утверждение
Для любой булевой функции f справедливо:
gf (x1 , ..., xn , ¬x1 , ..., ¬xn ) = f (x1 , ..., xn )
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 10 / 27
26. Отрицательные входы как новые переменные
Утверждение
Для любой булевой функции f справедливо:
gf (x1 , ..., xn , ¬x1 , ..., ¬xn ) = f (x1 , ..., xn )
Доказательство
n
⋀︀
Обозначив y = (¬x1 , ..., ¬xn ), получим, что ������(x, y ) = (xi ∨ ¬xi ) = 1,
i=1
n
⋁︀
а ������(x, y ) = (xi ∧ ¬xi ) = 0
i=1
Откуда:
gf = f ∧ 1 ∨ 0 = f
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 10 / 27
27. Отрицательные входы как новые переменные
Доказательство
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 11 / 27
28. Отрицательные входы как новые переменные
Доказательство
1) Неравенство C (f ) ≤ C+ (gf ) следует из
gf (x1 , ..., xn , ¬x1 , ..., ¬xn ) = f (x1 , ..., xn )
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 11 / 27
29. Отрицательные входы как новые переменные
Доказательство
1) Неравенство C (f ) ≤ C+ (gf ) следует из
gf (x1 , ..., xn , ¬x1 , ..., ¬xn ) = f (x1 , ..., xn )
2) Пусть f = F (x1 , ..., xn , ¬x1 , ..., ¬xn ), размера L.
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 11 / 27
30. Отрицательные входы как новые переменные
Доказательство
1) Неравенство C (f ) ≤ C+ (gf ) следует из
gf (x1 , ..., xn , ¬x1 , ..., ¬xn ) = f (x1 , ..., xn )
2) Пусть f = F (x1 , ..., xn , ¬x1 , ..., ¬xn ), размера L.
Заменим (¬x1 , ..., ¬xn ) = (y1 , ..., yn )
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 11 / 27
31. Отрицательные входы как новые переменные
Доказательство
1) Неравенство C (f ) ≤ C+ (gf ) следует из
gf (x1 , ..., xn , ¬x1 , ..., ¬xn ) = f (x1 , ..., xn )
2) Пусть f = F (x1 , ..., xn , ¬x1 , ..., ¬xn ), размера L.
Заменим (¬x1 , ..., ¬xn ) = (y1 , ..., yn )
F + = ∧������(x, y )
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 11 / 27
32. Отрицательные входы как новые переменные
Доказательство
1) Неравенство C (f ) ≤ C+ (gf ) следует из
gf (x1 , ..., xn , ¬x1 , ..., ¬xn ) = f (x1 , ..., xn )
2) Пусть f = F (x1 , ..., xn , ¬x1 , ..., ¬xn ), размера L.
Заменим (¬x1 , ..., ¬xn ) = (y1 , ..., yn )
F + = ∧������(x, y )
F + = ∨������(x, y )
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 11 / 27
33. Отрицательные входы как новые переменные
Доказательство
1) Неравенство C (f ) ≤ C+ (gf ) следует из
gf (x1 , ..., xn , ¬x1 , ..., ¬xn ) = f (x1 , ..., xn )
2) Пусть f = F (x1 , ..., xn , ¬x1 , ..., ¬xn ), размера L.
Заменим (¬x1 , ..., ¬xn ) = (y1 , ..., yn )
F + = ∧������(x, y )
F + = ∨������(x, y )
В итоге получим схему:
F ′ (x, y ) = F (x, y ) ∧ ������(x, y ) ∨ ������(x, y )
размер которой - L + 4n.
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 11 / 27
34. Отрицательные входы как новые переменные
Доказательство
Покажем что F ′ (x, y ) = gf (x, y ).
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 12 / 27
35. Отрицательные входы как новые переменные
Доказательство
Покажем что F ′ (x, y ) = gf (x, y ).
От обратного. Допустим что F ′ отличается от gf на некоторых
значениях входных векторов a, b.
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 12 / 27
36. Отрицательные входы как новые переменные
Доказательство
Покажем что F ′ (x, y ) = gf (x, y ).
От обратного. Допустим что F ′ отличается от gf на некоторых
значениях входных векторов a, b.
������(a, b) = 0 (else F ′ (x, y ) = 1 = gf (a, b))
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 12 / 27
37. Отрицательные входы как новые переменные
Доказательство
Покажем что F ′ (x, y ) = gf (x, y ).
От обратного. Допустим что F ′ отличается от gf на некоторых
значениях входных векторов a, b.
������(a, b) = 0 (else F ′ (x, y ) = 1 = gf (a, b))
������(a, b) = 1 (else значение F ′ (x, y ) = gf (a, b))
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 12 / 27
38. Отрицательные входы как новые переменные
Доказательство
Покажем что F ′ (x, y ) = gf (x, y ).
От обратного. Допустим что F ′ отличается от gf на некоторых
значениях входных векторов a, b.
������(a, b) = 0 (else F ′ (x, y ) = 1 = gf (a, b))
������(a, b) = 1 (else значение F ′ (x, y ) = gf (a, b))
Из этих условий следует, что xk = ¬yk
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 12 / 27
39. Отрицательные входы как новые переменные
Доказательство
Покажем что F ′ (x, y ) = gf (x, y ).
От обратного. Допустим что F ′ отличается от gf на некоторых
значениях входных векторов a, b.
������(a, b) = 0 (else F ′ (x, y ) = 1 = gf (a, b))
������(a, b) = 1 (else значение F ′ (x, y ) = gf (a, b))
Из этих условий следует, что xk = ¬yk
f (x) = F (x1 , ...xn , ¬x1 , ..., ¬xn ) = F ′ (x, y )
f (x) = gf (x1 , ...xn , ¬x1 , ..., ¬xn ) = gf (x, y ) утв. 10.3
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 12 / 27
40. План лекции
1 Когда NOT гейты бесполезны
2 Теорема Маркова
3 Формулы и NOT гейтов
4 Теорема Фишера
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 13 / 27
41. Теорема Маркова
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 14 / 27
42. Теорема Маркова
1 Рассматриваются схемы над базисом ∧, ∨, ¬ (не только схемы де
Моргана).
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 14 / 27
43. Теорема Маркова
1 Рассматриваются схемы над базисом ∧, ∨, ¬ (не только схемы де
Моргана).
Определение
Инверсионной сложностью I (f ) булевой функции f называют
минимальное число NOT гейтов в любой схеме вычисляющей f
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 14 / 27
44. Теорема Маркова
1 Рассматриваются схемы над базисом ∧, ∨, ¬ (не только схемы де
Моргана).
Определение
Инверсионной сложностью I (f ) булевой функции f называют
минимальное число NOT гейтов в любой схеме вычисляющей f
Определение
Цепью увеличивающаяся последовательность
Y = {y 1 < y 2 ... < y k } векторов в {0, 1}n
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 14 / 27
45. Теорема Маркова
1 Рассматриваются схемы над базисом ∧, ∨, ¬ (не только схемы де
Моргана).
Определение
Инверсионной сложностью I (f ) булевой функции f называют
минимальное число NOT гейтов в любой схеме вычисляющей f
Определение
Цепью увеличивающаяся последовательность
Y = {y 1 < y 2 ... < y k } векторов в {0, 1}n
Примеры
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 14 / 27
46. Теорема Маркова
1 Рассматриваются схемы над базисом ∧, ∨, ¬ (не только схемы де
Моргана).
Определение
Инверсионной сложностью I (f ) булевой функции f называют
минимальное число NOT гейтов в любой схеме вычисляющей f
Определение
Цепью увеличивающаяся последовательность
Y = {y 1 < y 2 ... < y k } векторов в {0, 1}n
Примеры
(0; 0; 0) < (0; 1; 0) < (0; 1; 1);
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 14 / 27
47. Теорема Маркова
1 Рассматриваются схемы над базисом ∧, ∨, ¬ (не только схемы де
Моргана).
Определение
Инверсионной сложностью I (f ) булевой функции f называют
минимальное число NOT гейтов в любой схеме вычисляющей f
Определение
Цепью увеличивающаяся последовательность
Y = {y 1 < y 2 ... < y k } векторов в {0, 1}n
Примеры
(0; 0; 0) < (0; 1; 0) < (0; 1; 1);
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 14 / 27
48. Теорема Маркова
1 Рассматриваются схемы над базисом ∧, ∨, ¬ (не только схемы де
Моргана).
Определение
Инверсионной сложностью I (f ) булевой функции f называют
минимальное число NOT гейтов в любой схеме вычисляющей f
Определение
Цепью увеличивающаяся последовательность
Y = {y 1 < y 2 ... < y k } векторов в {0, 1}n
Примеры
(0; 0; 0) < (0; 1; 0) < (0; 1; 1); true
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 14 / 27
49. Теорема Маркова
1 Рассматриваются схемы над базисом ∧, ∨, ¬ (не только схемы де
Моргана).
Определение
Инверсионной сложностью I (f ) булевой функции f называют
минимальное число NOT гейтов в любой схеме вычисляющей f
Определение
Цепью увеличивающаяся последовательность
Y = {y 1 < y 2 ... < y k } векторов в {0, 1}n
Примеры
(0; 0; 0) < (0; 1; 0) < (0; 1; 1); true
(1; 0; 0) < (1; 1; 0) < (1; 1; 1);
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 14 / 27
50. Теорема Маркова
1 Рассматриваются схемы над базисом ∧, ∨, ¬ (не только схемы де
Моргана).
Определение
Инверсионной сложностью I (f ) булевой функции f называют
минимальное число NOT гейтов в любой схеме вычисляющей f
Определение
Цепью увеличивающаяся последовательность
Y = {y 1 < y 2 ... < y k } векторов в {0, 1}n
Примеры
(0; 0; 0) < (0; 1; 0) < (0; 1; 1); true
(1; 0; 0) < (1; 1; 0) < (1; 1; 1);
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 14 / 27
51. Теорема Маркова
1 Рассматриваются схемы над базисом ∧, ∨, ¬ (не только схемы де
Моргана).
Определение
Инверсионной сложностью I (f ) булевой функции f называют
минимальное число NOT гейтов в любой схеме вычисляющей f
Определение
Цепью увеличивающаяся последовательность
Y = {y 1 < y 2 ... < y k } векторов в {0, 1}n
Примеры
(0; 0; 0) < (0; 1; 0) < (0; 1; 1); true
(1; 0; 0) < (1; 1; 0) < (1; 1; 1); true
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 14 / 27
52. Теорема Маркова
1 Рассматриваются схемы над базисом ∧, ∨, ¬ (не только схемы де
Моргана).
Определение
Инверсионной сложностью I (f ) булевой функции f называют
минимальное число NOT гейтов в любой схеме вычисляющей f
Определение
Цепью увеличивающаяся последовательность
Y = {y 1 < y 2 ... < y k } векторов в {0, 1}n
Примеры
(0; 0; 0) < (0; 1; 0) < (0; 1; 1); true
(1; 0; 0) < (1; 1; 0) < (1; 1; 1); true
(1; 0; 0) < (0; 1; 1) < (1; 1; 1);
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 14 / 27
53. Теорема Маркова
1 Рассматриваются схемы над базисом ∧, ∨, ¬ (не только схемы де
Моргана).
Определение
Инверсионной сложностью I (f ) булевой функции f называют
минимальное число NOT гейтов в любой схеме вычисляющей f
Определение
Цепью увеличивающаяся последовательность
Y = {y 1 < y 2 ... < y k } векторов в {0, 1}n
Примеры
(0; 0; 0) < (0; 1; 0) < (0; 1; 1); true
(1; 0; 0) < (1; 1; 0) < (1; 1; 1); true
(1; 0; 0) < (0; 1; 1) < (1; 1; 1);
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 14 / 27
54. Теорема Маркова
1 Рассматриваются схемы над базисом ∧, ∨, ¬ (не только схемы де
Моргана).
Определение
Инверсионной сложностью I (f ) булевой функции f называют
минимальное число NOT гейтов в любой схеме вычисляющей f
Определение
Цепью увеличивающаяся последовательность
Y = {y 1 < y 2 ... < y k } векторов в {0, 1}n
Примеры
(0; 0; 0) < (0; 1; 0) < (0; 1; 1); true
(1; 0; 0) < (1; 1; 0) < (1; 1; 1); true
(1; 0; 0) < (0; 1; 1) < (1; 1; 1); false
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 14 / 27
55. Теорема Маркова
1 Рассматриваются схемы над базисом ∧, ∨, ¬ (не только схемы де
Моргана).
Определение
Инверсионной сложностью I (f ) булевой функции f называют
минимальное число NOT гейтов в любой схеме вычисляющей f
Определение
Цепью увеличивающаяся последовательность
Y = {y 1 < y 2 ... < y k } векторов в {0, 1}n
Примеры
(0; 0; 0) < (0; 1; 0) < (0; 1; 1); true
(1; 0; 0) < (1; 1; 0) < (1; 1; 1); true
(1; 0; 0) < (0; 1; 1) < (1; 1; 1); false
(1; 0; 1) < (1; 0; 1) < (0; 1; 1);
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 14 / 27
56. Теорема Маркова
1 Рассматриваются схемы над базисом ∧, ∨, ¬ (не только схемы де
Моргана).
Определение
Инверсионной сложностью I (f ) булевой функции f называют
минимальное число NOT гейтов в любой схеме вычисляющей f
Определение
Цепью увеличивающаяся последовательность
Y = {y 1 < y 2 ... < y k } векторов в {0, 1}n
Примеры
(0; 0; 0) < (0; 1; 0) < (0; 1; 1); true
(1; 0; 0) < (1; 1; 0) < (1; 1; 1); true
(1; 0; 0) < (0; 1; 1) < (1; 1; 1); false
(1; 0; 1) < (1; 0; 1) < (0; 1; 1);
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 14 / 27
57. Теорема Маркова
1 Рассматриваются схемы над базисом ∧, ∨, ¬ (не только схемы де
Моргана).
Определение
Инверсионной сложностью I (f ) булевой функции f называют
минимальное число NOT гейтов в любой схеме вычисляющей f
Определение
Цепью увеличивающаяся последовательность
Y = {y 1 < y 2 ... < y k } векторов в {0, 1}n
Примеры
(0; 0; 0) < (0; 1; 0) < (0; 1; 1); true
(1; 0; 0) < (1; 1; 0) < (1; 1; 1); true
(1; 0; 0) < (0; 1; 1) < (1; 1; 1); false
(1; 0; 1) < (1; 0; 1) < (0; 1; 1); false
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 14 / 27
58. Теорема Маркова
Определение
Будем говорить что i является позицией перехода вниз (jump -down
position) функции f на цепи Y = {y 1 < y 2 ... < y k } если f (y i ) = 1, а
f (y i+1 ) = 0
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 15 / 27
59. Теорема Маркова
Определение
Будем говорить что i является позицией перехода вниз (jump -down
position) функции f на цепи Y = {y 1 < y 2 ... < y k } если f (y i ) = 1, а
f (y i+1 ) = 0
Пример
{y1 , y2 , y3 , y4 , y5 , y6 } → f ({y1 , y2 , y3 , y4 , y5 , y6 }) = {0, 1, 0, 1, 1, 0};
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 15 / 27
60. Теорема Маркова
Определение
Будем говорить что i является позицией перехода вниз (jump -down
position) функции f на цепи Y = {y 1 < y 2 ... < y k } если f (y i ) = 1, а
f (y i+1 ) = 0
Пример
{y1 , y2 , y3 , y4 , y5 , y6 } → f ({y1 , y2 , y3 , y4 , y5 , y6 }) = {0, 1, 0, 1, 1, 0};
Определение
Обозначим через dY (f ) число всех переходных позиций функции f на
цепи Y
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 15 / 27
61. Теорема Маркова
Определение
Будем говорить что i является позицией перехода вниз (jump -down
position) функции f на цепи Y = {y 1 < y 2 ... < y k } если f (y i ) = 1, а
f (y i+1 ) = 0
Пример
{y1 , y2 , y3 , y4 , y5 , y6 } → f ({y1 , y2 , y3 , y4 , y5 , y6 }) = {0, 1, 0, 1, 1, 0};
Определение
Обозначим через dY (f ) число всех переходных позиций функции f на
цепи Y
Определение
Обозначим через d (f ) максимальное число всех переходных позиций
функции f на всех цепях Y
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 15 / 27
62. Теорема Маркова
Теорема
Для любой булевой функции f справедливо:
d (f ) = 2I (f ) − 1
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 16 / 27
63. Теорема Маркова
Теорема
Для любой булевой функции f справедливо:
d (f ) = 2I (f ) − 1
Доказательство
Доказать d (f ) ≤ 2I (f ) − 1
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 16 / 27
64. Теорема Маркова
Теорема
Для любой булевой функции f справедливо:
d (f ) = 2I (f ) − 1
Доказательство
Доказать d (f ) ≤ 2I (f ) − 1
Доказать d (f ) ≥ 2I (f ) − 1
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 16 / 27
65. Теорема Маркова
Теорема
Для любой булевой функции f справедливо:
d (f ) = 2I (f ) − 1
Доказательство
Доказать d (f ) ≤ 2I (f ) − 1
Доказать d (f ) ≥ 2I (f ) − 1
⇒ d (f ) = 2I (f ) − 1
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 16 / 27
66. Теорема Маркова
Лемма
Для любой булевой функции f справедливо:
d (f ) ≤ 2I (f ) − 1
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 17 / 27
67. Теорема Маркова
Лемма
Для любой булевой функции f справедливо:
d (f ) ≤ 2I (f ) − 1
Доказательство
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 17 / 27
68. Теорема Маркова
Лемма
Для любой булевой функции f справедливо:
d (f ) ≤ 2I (f ) − 1
Доказательство
Индукция по I (f )
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 17 / 27
69. Теорема Маркова
Лемма
Для любой булевой функции f справедливо:
d (f ) ≤ 2I (f ) − 1
Доказательство
Индукция по I (f )
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 17 / 27
70. Теорема Маркова
Лемма
Для любой булевой функции f справедливо:
d (f ) ≤ 2I (f ) − 1
Доказательство
Индукция по I (f )
База индукции I (f ) = 0 (иначе ⇒ f – монотонна ⇒ d (f ) = 0 )
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 17 / 27
71. Теорема Маркова
Лемма
Для любой булевой функции f справедливо:
d (f ) ≤ 2I (f ) − 1
Доказательство
Индукция по I (f )
База индукции I (f ) = 0 (иначе ⇒ f – монотонна ⇒ d (f ) = 0 )
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 17 / 27
72. Теорема Маркова
Лемма
Для любой булевой функции f справедливо:
d (f ) ≤ 2I (f ) − 1
Доказательство
Индукция по I (f )
База индукции I (f ) = 0 (иначе ⇒ f – монотонна ⇒ d (f ) = 0 )
Индукционное предположение:
d (g ) ≤ 2I (g ) − 1
содержит все булевы функции, для которых I (g ) ≤ I (f ) − 1
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 17 / 27
73. Теорема Маркова
Лемма
Для любой булевой функции f справедливо:
d (f ) ≤ 2I (f ) − 1
Доказательство
Индукция по I (f )
База индукции I (f ) = 0 (иначе ⇒ f – монотонна ⇒ d (f ) = 0 )
Индукционное предположение:
d (g ) ≤ 2I (g ) − 1
содержит все булевы функции, для которых I (g ) ≤ I (f ) − 1
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 17 / 27
74. Теорема Маркова
Лемма
Для любой булевой функции f справедливо:
d (f ) ≤ 2I (f ) − 1
Доказательство
Индукция по I (f )
База индукции I (f ) = 0 (иначе ⇒ f – монотонна ⇒ d (f ) = 0 )
Индукционное предположение:
d (g ) ≤ 2I (g ) − 1
содержит все булевы функции, для которых I (g ) ≤ I (f ) − 1
В любой схеме есть NOT гейт чей вход не зависит от значения
другого NOT гейта.
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 17 / 27
75. Теорема Маркова
Лемма
Для любой булевой функции f справедливо:
d (f ) ≤ 2I (f ) − 1
Доказательство
Индукция по I (f )
База индукции I (f ) = 0 (иначе ⇒ f – монотонна ⇒ d (f ) = 0 )
Индукционное предположение:
d (g ) ≤ 2I (g ) − 1
содержит все булевы функции, для которых I (g ) ≤ I (f ) − 1
В любой схеме есть NOT гейт чей вход не зависит от значения
другого NOT гейта.
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 17 / 27
76. Теорема Маркова
Лемма
Для любой булевой функции f справедливо:
d (f ) ≤ 2I (f ) − 1
Доказательство
Индукция по I (f )
База индукции I (f ) = 0 (иначе ⇒ f – монотонна ⇒ d (f ) = 0 )
Индукционное предположение:
d (g ) ≤ 2I (g ) − 1
содержит все булевы функции, для которых I (g ) ≤ I (f ) − 1
В любой схеме есть NOT гейт чей вход не зависит от значения
другого NOT гейта.
⇒ f = g (¬h(x), x) где I (g ) = I (f ) − 1 и I (h) = 0
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 17 / 27
78. Теорема Маркова
Доказательство
Фиксируем цепь Y = {y 1 < ... < y k } для которой dY (f ) = d (f )
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 18 / 27
79. Теорема Маркова
Доказательство
Фиксируем цепь Y = {y 1 < ... < y k } для которой dY (f ) = d (f )
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 18 / 27
80. Теорема Маркова
Доказательство
Фиксируем цепь Y = {y 1 < ... < y k } для которой dY (f ) = d (f )
Т.к I (h) = 0 ⇒ ∃ 1 ≤ l ≤ k : h = 0 ∀ Y = {y 1 < .. < y l }, h =
1 ∀ Y1 = Y ∖Y0
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 18 / 27
81. Теорема Маркова
Доказательство
Фиксируем цепь Y = {y 1 < ... < y k } для которой dY (f ) = d (f )
Т.к I (h) = 0 ⇒ ∃ 1 ≤ l ≤ k : h = 0 ∀ Y = {y 1 < .. < y l }, h =
1 ∀ Y1 = Y ∖Y0
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 18 / 27
82. Теорема Маркова
Доказательство
Фиксируем цепь Y = {y 1 < ... < y k } для которой dY (f ) = d (f )
Т.к I (h) = 0 ⇒ ∃ 1 ≤ l ≤ k : h = 0 ∀ Y = {y 1 < .. < y l }, h =
1 ∀ Y1 = Y ∖Y0
Пусть gi := g (¬i, x), i = 0, 1
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 18 / 27
83. Теорема Маркова
Доказательство
Фиксируем цепь Y = {y 1 < ... < y k } для которой dY (f ) = d (f )
Т.к I (h) = 0 ⇒ ∃ 1 ≤ l ≤ k : h = 0 ∀ Y = {y 1 < .. < y l }, h =
1 ∀ Y1 = Y ∖Y0
Пусть gi := g (¬i, x), i = 0, 1
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 18 / 27
84. Теорема Маркова
Доказательство
Фиксируем цепь Y = {y 1 < ... < y k } для которой dY (f ) = d (f )
Т.к I (h) = 0 ⇒ ∃ 1 ≤ l ≤ k : h = 0 ∀ Y = {y 1 < .. < y l }, h =
1 ∀ Y1 = Y ∖Y0
Пусть gi := g (¬i, x), i = 0, 1
I (gi ) I (g ) I (f ) − 1 ⇒ по гипотизе индукции dX (gi )
2I (gi ) − 1 ∀ цепи Х
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 18 / 27
85. Теорема Маркова
Доказательство
Фиксируем цепь Y = {y 1 < ... < y k } для которой dY (f ) = d (f )
Т.к I (h) = 0 ⇒ ∃ 1 ≤ l ≤ k : h = 0 ∀ Y = {y 1 < .. < y l }, h =
1 ∀ Y1 = Y ∖Y0
Пусть gi := g (¬i, x), i = 0, 1
I (gi ) I (g ) I (f ) − 1 ⇒ по гипотизе индукции dX (gi )
2I (gi ) − 1 ∀ цепи Х
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 18 / 27
86. Теорема Маркова
Доказательство
Фиксируем цепь Y = {y 1 < ... < y k } для которой dY (f ) = d (f )
Т.к I (h) = 0 ⇒ ∃ 1 ≤ l ≤ k : h = 0 ∀ Y = {y 1 < .. < y l }, h =
1 ∀ Y1 = Y ∖Y0
Пусть gi := g (¬i, x), i = 0, 1
I (gi ) I (g ) I (f ) − 1 ⇒ по гипотизе индукции dX (gi )
2I (gi ) − 1 ∀ цепи Х
В том числе и для цепей Y0 , Y1 :
dY0 (f ) = dY0 (g0 ) ≤ 2I (g0 ) − 1 ≤ 2I (f )−1 − 1
dY1 (f ) = dY1 (g1 ) ≤ 2I (g1 ) − 1 ≤ 2I (f )−1 − 1
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 18 / 27
87. Теорема Маркова
Доказательство
Фиксируем цепь Y = {y 1 < ... < y k } для которой dY (f ) = d (f )
Т.к I (h) = 0 ⇒ ∃ 1 ≤ l ≤ k : h = 0 ∀ Y = {y 1 < .. < y l }, h =
1 ∀ Y1 = Y ∖Y0
Пусть gi := g (¬i, x), i = 0, 1
I (gi ) I (g ) I (f ) − 1 ⇒ по гипотизе индукции dX (gi )
2I (gi ) − 1 ∀ цепи Х
В том числе и для цепей Y0 , Y1 :
dY0 (f ) = dY0 (g0 ) ≤ 2I (g0 ) − 1 ≤ 2I (f )−1 − 1
dY1 (f ) = dY1 (g1 ) ≤ 2I (g1 ) − 1 ≤ 2I (f )−1 − 1
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 18 / 27
88. Теорема Маркова
Доказательство
Фиксируем цепь Y = {y 1 < ... < y k } для которой dY (f ) = d (f )
Т.к I (h) = 0 ⇒ ∃ 1 ≤ l ≤ k : h = 0 ∀ Y = {y 1 < .. < y l }, h =
1 ∀ Y1 = Y ∖Y0
Пусть gi := g (¬i, x), i = 0, 1
I (gi ) I (g ) I (f ) − 1 ⇒ по гипотизе индукции dX (gi )
2I (gi ) − 1 ∀ цепи Х
В том числе и для цепей Y0 , Y1 :
dY0 (f ) = dY0 (g0 ) ≤ 2I (g0 ) − 1 ≤ 2I (f )−1 − 1
dY1 (f ) = dY1 (g1 ) ≤ 2I (g1 ) − 1 ≤ 2I (f )−1 − 1
d (f ) = dY (f ) ≤ dY0 (f ) + dY1 (f ) + 1 ≤ 2I (f )−1
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 18 / 27
89. Теорема Маркова
Лемма
Для любой булевой функции f справедливо:
d (f ) ≥ 2I (f ) − 1
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 19 / 27
90. План лекции
1 Когда NOT гейты бесполезны
2 Теорема Маркова
3 Формулы и NOT гейтов
4 Теорема Фишера
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 20 / 27
91. Формулы и NOT гейтов
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 21 / 27
92. Формулы и NOT гейтов
Определение
Формула - схема, соответствующий граф которой является деревом.
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 21 / 27
93. Формулы и NOT гейтов
Определение
Формула - схема, соответствующий граф которой является деревом.
Определение
Инверсионной сложностью IF (f ) булевой функции f в классе формул
называют минимальное число NOT гейтов входящих в формулу для f
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 21 / 27
94. Формулы и NOT гейтов
Определение
Формула - схема, соответствующий граф которой является деревом.
Определение
Инверсионной сложностью IF (f ) булевой функции f в классе формул
называют минимальное число NOT гейтов входящих в формулу для f
Теорема
Для любой булевой функции f справедливо:
IF (f ) = d (f )
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 21 / 27
95. Формулы и NOT гейтов
Определение
Формула - схема, соответствующий граф которой является деревом.
Определение
Инверсионной сложностью IF (f ) булевой функции f в классе формул
называют минимальное число NOT гейтов входящих в формулу для f
Теорема
Для любой булевой функции f справедливо:
IF (f ) = d (f )
Доказательство
IF (f ) ≥ d (f ) +
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 21 / 27
96. Формулы и NOT гейтов
Определение
Формула - схема, соответствующий граф которой является деревом.
Определение
Инверсионной сложностью IF (f ) булевой функции f в классе формул
называют минимальное число NOT гейтов входящих в формулу для f
Теорема
Для любой булевой функции f справедливо:
IF (f ) = d (f )
Доказательство
IF (f ) ≥ d (f ) + IF (f ) ≤ d (f )
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 21 / 27
97. Формулы и NOT гейтов
Определение
Формула - схема, соответствующий граф которой является деревом.
Определение
Инверсионной сложностью IF (f ) булевой функции f в классе формул
называют минимальное число NOT гейтов входящих в формулу для f
Теорема
Для любой булевой функции f справедливо:
IF (f ) = d (f )
Доказательство
IF (f ) ≥ d (f ) + IF (f ) ≤ d (f )⇒ d (f ) = 2I (f ) − 1
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 21 / 27
98. Формулы и NOT гейт
Лемма
Для любой булевой функции f справедливо:
IF (f ) ≥ d (f )
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 22 / 27
99. Формулы и NOT гейт
Лемма
Для любой булевой функции f справедливо:
IF (f ) ≥ d (f )
Доказательство
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 22 / 27
100. Формулы и NOT гейт
Лемма
Для любой булевой функции f справедливо:
IF (f ) ≥ d (f )
Доказательство
Пусть C – формула для f .
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 22 / 27
101. Формулы и NOT гейт
Лемма
Для любой булевой функции f справедливо:
IF (f ) ≥ d (f )
Доказательство
Пусть C – формула для f .
Зафиксируем цепь Y = {y 1 < ... < y k } для которой dY (f ) = d (f )
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 22 / 27
102. Формулы и NOT гейт
Лемма
Для любой булевой функции f справедливо:
IF (f ) ≥ d (f )
Доказательство
Пусть C – формула для f .
Зафиксируем цепь Y = {y 1 < ... < y k } для которой dY (f ) = d (f )
Хотим показать - dY (f ) ≤ IF (C )
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 22 / 27
103. Формулы и NOT гейт
Лемма
Для любой булевой функции f справедливо:
IF (f ) ≥ d (f )
Доказательство
Пусть C – формула для f .
Зафиксируем цепь Y = {y 1 < ... < y k } для которой dY (f ) = d (f )
Хотим показать - dY (f ) ≤ IF (C )
1) dY (f ∧ g ) ≤ dY (f ) + dY (g )
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 22 / 27
104. Формулы и NOT гейт
Лемма
Для любой булевой функции f справедливо:
IF (f ) ≥ d (f )
Доказательство
Пусть C – формула для f .
Зафиксируем цепь Y = {y 1 < ... < y k } для которой dY (f ) = d (f )
Хотим показать - dY (f ) ≤ IF (C )
1) dY (f ∧ g ) ≤ dY (f ) + dY (g )
2) dY (f ∨ g ) ≤ dY (f ) + dY (g )
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 22 / 27
105. Формулы и NOT гейт
Лемма
Для любой булевой функции f справедливо:
IF (f ) ≥ d (f )
Доказательство
Пусть C – формула для f .
Зафиксируем цепь Y = {y 1 < ... < y k } для которой dY (f ) = d (f )
Хотим показать - dY (f ) ≤ IF (C )
1) dY (f ∧ g ) ≤ dY (f ) + dY (g )
2) dY (f ∨ g ) ≤ dY (f ) + dY (g )
3) dY (¬f ) ≤ dY (f ) + 1
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 22 / 27
106. План лекции
1 Когда NOT гейты бесполезны
2 Теорема Маркова
3 Формулы и NOT гейтов
4 Теорема Фишера
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 23 / 27
107. Теорема Фишера
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 24 / 27
108. Теорема Фишера
Теорема
Если функция от n переменных может быть вычислена схемой над
базисом {∨, ∧, ¬} размером t, тогда она может быть вычислена
схемой, размер которой не более чем 2t + O(n2 log 2 n) используя не
более чем ⌈log (n + 1)⌉ NOT гейтов.
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 24 / 27
109. Теорема Фишера
Теорема
Если функция от n переменных может быть вычислена схемой над
базисом {∨, ∧, ¬} размером t, тогда она может быть вычислена
схемой, размер которой не более чем 2t + O(n2 log 2 n) используя не
более чем ⌈log (n + 1)⌉ NOT гейтов.
Доказательство
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 24 / 27
110. Теорема Фишера
Теорема
Если функция от n переменных может быть вычислена схемой над
базисом {∨, ∧, ¬} размером t, тогда она может быть вычислена
схемой, размер которой не более чем 2t + O(n2 log 2 n) используя не
более чем ⌈log (n + 1)⌉ NOT гейтов.
Доказательство
Любую схему размера t можно свести к схеме де Моргана
размера 2t
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 24 / 27
111. Теорема Фишера
Теорема
Если функция от n переменных может быть вычислена схемой над
базисом {∨, ∧, ¬} размером t, тогда она может быть вычислена
схемой, размер которой не более чем 2t + O(n2 log 2 n) используя не
более чем ⌈log (n + 1)⌉ NOT гейтов.
Доказательство
Любую схему размера t можно свести к схеме де Моргана
размера 2t
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 24 / 27
112. Теорема Фишера
Теорема
Если функция от n переменных может быть вычислена схемой над
базисом {∨, ∧, ¬} размером t, тогда она может быть вычислена
схемой, размер которой не более чем 2t + O(n2 log 2 n) используя не
более чем ⌈log (n + 1)⌉ NOT гейтов.
Доказательство
Любую схему размера t можно свести к схеме де Моргана
размера 2t
Достаточно показать как вычислить функцию
INVn (x1 , ..., xn ) = (¬x1 , ..., ¬xn )
схемой O(n2 log 2 (n)) используя M(n) = ⌈log (n + 1)⌉ отрицаний.
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 24 / 27
113. Теорема Фишера
Теорема
Если функция от n переменных может быть вычислена схемой над
базисом {∨, ∧, ¬} размером t, тогда она может быть вычислена
схемой, размер которой не более чем 2t + O(n2 log 2 n) используя не
более чем ⌈log (n + 1)⌉ NOT гейтов.
Доказательство
Любую схему размера t можно свести к схеме де Моргана
размера 2t
Достаточно показать как вычислить функцию
INVn (x1 , ..., xn ) = (¬x1 , ..., ¬xn )
схемой O(n2 log 2 (n)) используя M(n) = ⌈log (n + 1)⌉ отрицаний.
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 24 / 27
114. Теорема Фишера
Теорема
Если функция от n переменных может быть вычислена схемой над
базисом {∨, ∧, ¬} размером t, тогда она может быть вычислена
схемой, размер которой не более чем 2t + O(n2 log 2 n) используя не
более чем ⌈log (n + 1)⌉ NOT гейтов.
Доказательство
Любую схему размера t можно свести к схеме де Моргана
размера 2t
Достаточно показать как вычислить функцию
INVn (x1 , ..., xn ) = (¬x1 , ..., ¬xn )
схемой O(n2 log 2 (n)) используя M(n) = ⌈log (n + 1)⌉ отрицаний.
Для векторов, содержащих ровно k единиц, отрицание i-го бита -
¬xi можно заменить пороговой функцией
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 24 / 27
115. Формулы и NOT гейты
Доказательство
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 25 / 27
116. Формулы и NOT гейты
Доказательство
Для остальных векторов вычисление ¬xi ведётся по формуле:
n
⋁︁
fi (x) = (¬Thk (x) ∨ Thk (x − xi ))
k=1
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 25 / 27
117. Формулы и NOT гейты
Доказательство
Для остальных векторов вычисление ¬xi ведётся по формуле:
n
⋁︁
fi (x) = (¬Thk (x) ∨ Thk (x − xi ))
k=1
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 25 / 27
118. Формулы и NOT гейты
Доказательство
Для остальных векторов вычисление ¬xi ведётся по формуле:
n
⋁︁
fi (x) = (¬Thk (x) ∨ Thk (x − xi ))
k=1
Известно что все функции Thk (x) и Thk (x − xi ) можно вычислить
монотонной схемой с размером O(n2 log 2 (n))
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 25 / 27
119. Формулы и NOT гейты
Доказательство
Для остальных векторов вычисление ¬xi ведётся по формуле:
n
⋁︁
fi (x) = (¬Thk (x) ∨ Thk (x − xi ))
k=1
Известно что все функции Thk (x) и Thk (x − xi ) можно вычислить
монотонной схемой с размером O(n2 log 2 (n))
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 25 / 27
120. Формулы и NOT гейты
Доказательство
Для остальных векторов вычисление ¬xi ведётся по формуле:
n
⋁︁
fi (x) = (¬Thk (x) ∨ Thk (x − xi ))
k=1
Известно что все функции Thk (x) и Thk (x − xi ) можно вычислить
монотонной схемой с размером O(n2 log 2 (n))
Остаётся вычислить функцию:
¬T (x) = (¬Th1 (x), ..., ¬Thn (x))
используя не более ⌈log (n + 1)⌉ отрицаний.
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 25 / 27
121. Формулы и NOT гейты
Доказательство
Сперва возьмём схему C1 (x) которая вычисляет:
T (x) = (Th1 (x), ..., Thn (x))
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 26 / 27
122. Формулы и NOT гейты
Доказательство
Сперва возьмём схему C1 (x) которая вычисляет:
T (x) = (Th1 (x), ..., Thn (x))
Полученный вектор от функции T (x) входит в множество
Asort = {1i 0n−i , i = 1, 2, ..., n}
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 26 / 27
123. Формулы и NOT гейты
Доказательство
Сперва возьмём схему C1 (x) которая вычисляет:
T (x) = (Th1 (x), ..., Thn (x))
Полученный вектор от функции T (x) входит в множество
Asort = {1i 0n−i , i = 1, 2, ..., n}
Используя только M(n) отрицаний можно построить схему C2 (y )
размера O(n), которая вычисляет функцию INVn (y ) для всех
векторов из Asort
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 26 / 27
124. Формулы и NOT гейты
Доказательство
Сперва возьмём схему C1 (x) которая вычисляет:
T (x) = (Th1 (x), ..., Thn (x))
Полученный вектор от функции T (x) входит в множество
Asort = {1i 0n−i , i = 1, 2, ..., n}
Используя только M(n) отрицаний можно построить схему C2 (y )
размера O(n), которая вычисляет функцию INVn (y ) для всех
векторов из Asort
Т.о схема C (x) = C2 (C1 (x)) = ¬T (x)
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 26 / 27
125. Спасибо за внимание!
В. Алексеенко (Computer Science в схемах
9. Отрицания клуб) 20.11.2011 27 / 27