SlideShare a Scribd company logo
1 of 125
Download to read offline
Семинар по сложности булевых функций
      Лекция 9: Отрицания в схемах

                        В. Алексеенко

                 Computer Science клуб при ПОМИ
                     http://compsciclub.ru


                           20.11.2011




 В. Алексеенко      (Computer Science в схемах
                       9. Отрицания клуб)         20.11.2011   1 / 27
План лекции



1   Когда NOT гейты бесполезны


2   Теорема Маркова


3   Формулы и NOT гейтов


4   Теорема Фишера




       В. Алексеенко   (Computer Science в схемах
                          9. Отрицания клуб)        20.11.2011   2 / 27
Введение




    В. Алексеенко   (Computer Science в схемах
                       9. Отрицания клуб)        20.11.2011   3 / 27
Введение



             Главная трудность в нижних оценках размера схемы над
             базисом {∨ ∧ ¬} – присутствие NOT гейтов.




    В. Алексеенко       (Computer Science в схемах
                           9. Отрицания клуб)         20.11.2011   3 / 27
Введение



             Главная трудность в нижних оценках размера схемы над
             базисом {∨ ∧ ¬} – присутствие NOT гейтов.
             Можем доказать экспоненциальные нижние оценки для
             схем без NOT гейтов.




    В. Алексеенко       (Computer Science в схемах
                           9. Отрицания клуб)         20.11.2011   3 / 27
Введение



             Главная трудность в нижних оценках размера схемы над
             базисом {∨ ∧ ¬} – присутствие NOT гейтов.
             Можем доказать экспоненциальные нижние оценки для
             схем без NOT гейтов.
             Для каких классов функций NOT гейты бесполезны.




    В. Алексеенко       (Computer Science в схемах
                           9. Отрицания клуб)         20.11.2011   3 / 27
Введение



             Главная трудность в нижних оценках размера схемы над
             базисом {∨ ∧ ¬} – присутствие NOT гейтов.
             Можем доказать экспоненциальные нижние оценки для
             схем без NOT гейтов.
             Для каких классов функций NOT гейты бесполезны.
             Каково минимальное число NOT гейтов в схеме,
             вычисления f .




    В. Алексеенко       (Computer Science в схемах
                           9. Отрицания клуб)         20.11.2011   3 / 27
Введение



             Главная трудность в нижних оценках размера схемы над
             базисом {∨ ∧ ¬} – присутствие NOT гейтов.
             Можем доказать экспоненциальные нижние оценки для
             схем без NOT гейтов.
             Для каких классов функций NOT гейты бесполезны.
             Каково минимальное число NOT гейтов в схеме,
             вычисления f .
             Как сильно можно уменьшить число NOT гейтов в схеме
             без существенного увеличения её размера




    В. Алексеенко       (Computer Science в схемах
                           9. Отрицания клуб)         20.11.2011   3 / 27
План лекции



1   Когда NOT гейты бесполезны


2   Теорема Маркова


3   Формулы и NOT гейтов


4   Теорема Фишера




       В. Алексеенко   (Computer Science в схемах
                          9. Отрицания клуб)        20.11.2011   4 / 27
K – sline функция




     В. Алексеенко   (Computer Science в схемах
                        9. Отрицания клуб)        20.11.2011   5 / 27
K – sline функция



Определение
Функция f называется K-sline’ой если:




      В. Алексеенко     (Computer Science в схемах
                           9. Отрицания клуб)        20.11.2011   5 / 27
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
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
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
K – sline функция




     В. Алексеенко   (Computer Science в схемах
                        9. Отрицания клуб)        20.11.2011   6 / 27
K – sline функция


Теорема
Если f является K-sline функцией от n переменных, тогда любая схема
де Моргана, вычисляющая f , может быть приведена к монотонной
схеме добавлением не более O(n · log 2 (n)) гейтов.




      В. Алексеенко     (Computer Science в схемах
                           9. Отрицания клуб)          20.11.2011   6 / 27
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
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
K – sline функция

Доказательство
Для векторов, содержащих ровно k единиц (|x| = x1 + · · · + xn = k),
значение функции Thk (x − xi ) легко вычислить:

                          Thk (x − xi ) = ¬xi




      В. Алексеенко      (Computer Science в схемах
                            9. Отрицания клуб)            20.11.2011   7 / 27
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
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
Отрицательные входы как новые переменные


Теорема (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
Отрицательные входы как новые переменные


Утверждение
Для любой булевой функции f , функция gf является монотонной.




     В. Алексеенко     (Computer Science в схемах
                          9. Отрицания клуб)         20.11.2011   9 / 27
Отрицательные входы как новые переменные


Утверждение
Для любой булевой функции 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
Отрицательные входы как новые переменные


Утверждение
Для любой булевой функции f справедливо:

                     gf (x1 , ..., xn , ¬x1 , ..., ¬xn ) = f (x1 , ..., xn )




     В. Алексеенко               (Computer Science в схемах
                                    9. Отрицания клуб)                         20.11.2011   10 / 27
Отрицательные входы как новые переменные


Утверждение
Для любой булевой функции 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
Отрицательные входы как новые переменные

Доказательство




     В. Алексеенко   (Computer Science в схемах
                        9. Отрицания клуб)        20.11.2011   11 / 27
Отрицательные входы как новые переменные

Доказательство
 1) Неравенство C (f ) ≤ C+ (gf ) следует из

                      gf (x1 , ..., xn , ¬x1 , ..., ¬xn ) = f (x1 , ..., xn )




      В. Алексеенко            (Computer Science в схемах
                                  9. Отрицания клуб)                            20.11.2011   11 / 27
Отрицательные входы как новые переменные

Доказательство
 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
Отрицательные входы как новые переменные

Доказательство
 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
Отрицательные входы как новые переменные

Доказательство
 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
Отрицательные входы как новые переменные

Доказательство
 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
Отрицательные входы как новые переменные

Доказательство
 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
Отрицательные входы как новые переменные


Доказательство
    Покажем что F ′ (x, y ) = gf (x, y ).




      В. Алексеенко        (Computer Science в схемах
                              9. Отрицания клуб)        20.11.2011   12 / 27
Отрицательные входы как новые переменные


Доказательство
    Покажем что F ′ (x, y ) = gf (x, y ).
    От обратного. Допустим что F ′ отличается от gf на некоторых
    значениях входных векторов a, b.




      В. Алексеенко        (Computer Science в схемах
                              9. Отрицания клуб)        20.11.2011   12 / 27
Отрицательные входы как новые переменные


Доказательство
    Покажем что 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
Отрицательные входы как новые переменные


Доказательство
    Покажем что 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
Отрицательные входы как новые переменные


Доказательство
    Покажем что 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
Отрицательные входы как новые переменные


Доказательство
    Покажем что 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
План лекции



1   Когда NOT гейты бесполезны


2   Теорема Маркова


3   Формулы и NOT гейтов


4   Теорема Фишера




       В. Алексеенко   (Computer Science в схемах
                          9. Отрицания клуб)        20.11.2011   13 / 27
Теорема Маркова




    В. Алексеенко   (Computer Science в схемах
                       9. Отрицания клуб)        20.11.2011   14 / 27
Теорема Маркова
 1 Рассматриваются схемы над базисом ∧, ∨, ¬ (не только схемы де
   Моргана).




    В. Алексеенко     (Computer Science в схемах
                         9. Отрицания клуб)         20.11.2011   14 / 27
Теорема Маркова
  1 Рассматриваются схемы над базисом ∧, ∨, ¬ (не только схемы де
    Моргана).
Определение
Инверсионной сложностью I (f ) булевой функции f называют
минимальное число NOT гейтов в любой схеме вычисляющей f




     В. Алексеенко     (Computer Science в схемах
                          9. Отрицания клуб)         20.11.2011   14 / 27
Теорема Маркова
  1 Рассматриваются схемы над базисом ∧, ∨, ¬ (не только схемы де
    Моргана).
Определение
Инверсионной сложностью I (f ) булевой функции f называют
минимальное число NOT гейтов в любой схеме вычисляющей f

Определение
Цепью     увеличивающаяся последовательность
Y = {y 1 < y 2 ... < y k } векторов в {0, 1}n




     В. Алексеенко     (Computer Science в схемах
                          9. Отрицания клуб)         20.11.2011   14 / 27
Теорема Маркова
  1 Рассматриваются схемы над базисом ∧, ∨, ¬ (не только схемы де
    Моргана).
Определение
Инверсионной сложностью I (f ) булевой функции f называют
минимальное число NOT гейтов в любой схеме вычисляющей f

Определение
Цепью     увеличивающаяся последовательность
Y = {y 1 < y 2 ... < y k } векторов в {0, 1}n

Примеры




     В. Алексеенко     (Computer Science в схемах
                          9. Отрицания клуб)         20.11.2011   14 / 27
Теорема Маркова
  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
Теорема Маркова
  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
Теорема Маркова
  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
Теорема Маркова
  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
Теорема Маркова
  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
Теорема Маркова
  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
Теорема Маркова
  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
Теорема Маркова
  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
Теорема Маркова
  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
Теорема Маркова
  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
Теорема Маркова
  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
Теорема Маркова
  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
Теорема Маркова
Определение
Будем говорить что 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
Теорема Маркова
Определение
Будем говорить что 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
Теорема Маркова
Определение
Будем говорить что 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
Теорема Маркова
Определение
Будем говорить что 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
Теорема Маркова



Теорема
Для любой булевой функции f справедливо:

                         d (f ) = 2I (f ) − 1




     В. Алексеенко    (Computer Science в схемах
                         9. Отрицания клуб)        20.11.2011   16 / 27
Теорема Маркова



Теорема
Для любой булевой функции f справедливо:

                              d (f ) = 2I (f ) − 1

Доказательство
    Доказать d (f ) ≤ 2I (f ) − 1




      В. Алексеенко        (Computer Science в схемах
                              9. Отрицания клуб)        20.11.2011   16 / 27
Теорема Маркова



Теорема
Для любой булевой функции f справедливо:

                              d (f ) = 2I (f ) − 1

Доказательство
    Доказать d (f ) ≤ 2I (f ) − 1
    Доказать d (f ) ≥ 2I (f ) − 1




      В. Алексеенко        (Computer Science в схемах
                              9. Отрицания клуб)        20.11.2011   16 / 27
Теорема Маркова



Теорема
Для любой булевой функции 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
Теорема Маркова
Лемма
Для любой булевой функции f справедливо:

                         d (f ) ≤ 2I (f ) − 1




     В. Алексеенко    (Computer Science в схемах
                         9. Отрицания клуб)        20.11.2011   17 / 27
Теорема Маркова
Лемма
Для любой булевой функции f справедливо:

                         d (f ) ≤ 2I (f ) − 1

Доказательство




     В. Алексеенко    (Computer Science в схемах
                         9. Отрицания клуб)        20.11.2011   17 / 27
Теорема Маркова
Лемма
Для любой булевой функции f справедливо:

                            d (f ) ≤ 2I (f ) − 1

Доказательство
    Индукция по I (f )




      В. Алексеенко      (Computer Science в схемах
                            9. Отрицания клуб)        20.11.2011   17 / 27
Теорема Маркова
Лемма
Для любой булевой функции f справедливо:

                            d (f ) ≤ 2I (f ) − 1

Доказательство
    Индукция по I (f )




      В. Алексеенко      (Computer Science в схемах
                            9. Отрицания клуб)        20.11.2011   17 / 27
Теорема Маркова
Лемма
Для любой булевой функции f справедливо:

                            d (f ) ≤ 2I (f ) − 1

Доказательство
    Индукция по I (f )
    База индукции I (f ) = 0 (иначе ⇒ f – монотонна ⇒ d (f ) = 0 )




      В. Алексеенко      (Computer Science в схемах
                            9. Отрицания клуб)          20.11.2011   17 / 27
Теорема Маркова
Лемма
Для любой булевой функции f справедливо:

                            d (f ) ≤ 2I (f ) − 1

Доказательство
    Индукция по I (f )
    База индукции I (f ) = 0 (иначе ⇒ f – монотонна ⇒ d (f ) = 0 )




      В. Алексеенко      (Computer Science в схемах
                            9. Отрицания клуб)          20.11.2011   17 / 27
Теорема Маркова
Лемма
Для любой булевой функции 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
Теорема Маркова
Лемма
Для любой булевой функции 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
Теорема Маркова
Лемма
Для любой булевой функции 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
Теорема Маркова
Лемма
Для любой булевой функции 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
Теорема Маркова
Лемма
Для любой булевой функции 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
Теорема Маркова
Доказательство




     В. Алексеенко   (Computer Science в схемах
                        9. Отрицания клуб)        20.11.2011   18 / 27
Теорема Маркова
Доказательство
    Фиксируем цепь Y = {y 1 < ... < y k } для которой dY (f ) = d (f )




      В. Алексеенко      (Computer Science в схемах
                            9. Отрицания клуб)             20.11.2011   18 / 27
Теорема Маркова
Доказательство
    Фиксируем цепь Y = {y 1 < ... < y k } для которой dY (f ) = d (f )




      В. Алексеенко      (Computer Science в схемах
                            9. Отрицания клуб)             20.11.2011   18 / 27
Теорема Маркова
Доказательство
    Фиксируем цепь 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
Теорема Маркова
Доказательство
    Фиксируем цепь 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
Теорема Маркова
Доказательство
    Фиксируем цепь 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
Теорема Маркова
Доказательство
    Фиксируем цепь 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
Теорема Маркова
Доказательство
    Фиксируем цепь 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
Теорема Маркова
Доказательство
    Фиксируем цепь 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
Теорема Маркова
Доказательство
    Фиксируем цепь 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
Теорема Маркова
Доказательство
    Фиксируем цепь 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
Теорема Маркова
Доказательство
    Фиксируем цепь 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
Теорема Маркова




Лемма
Для любой булевой функции f справедливо:

                         d (f ) ≥ 2I (f ) − 1




     В. Алексеенко    (Computer Science в схемах
                         9. Отрицания клуб)        20.11.2011   19 / 27
План лекции



1   Когда NOT гейты бесполезны


2   Теорема Маркова


3   Формулы и NOT гейтов


4   Теорема Фишера




       В. Алексеенко   (Computer Science в схемах
                          9. Отрицания клуб)        20.11.2011   20 / 27
Формулы и NOT гейтов




    В. Алексеенко   (Computer Science в схемах
                       9. Отрицания клуб)        20.11.2011   21 / 27
Формулы и NOT гейтов

Определение
Формула - схема, соответствующий граф которой является деревом.




     В. Алексеенко     (Computer Science в схемах
                          9. Отрицания клуб)        20.11.2011   21 / 27
Формулы и NOT гейтов

Определение
Формула - схема, соответствующий граф которой является деревом.

Определение
Инверсионной сложностью IF (f ) булевой функции f в классе формул
называют минимальное число NOT гейтов входящих в формулу для f




      В. Алексеенко    (Computer Science в схемах
                          9. Отрицания клуб)         20.11.2011   21 / 27
Формулы и NOT гейтов

Определение
Формула - схема, соответствующий граф которой является деревом.

Определение
Инверсионной сложностью IF (f ) булевой функции f в классе формул
называют минимальное число NOT гейтов входящих в формулу для f

Теорема
Для любой булевой функции f справедливо:

                            IF (f ) = d (f )




      В. Алексеенко    (Computer Science в схемах
                          9. Отрицания клуб)         20.11.2011   21 / 27
Формулы и NOT гейтов

Определение
Формула - схема, соответствующий граф которой является деревом.

Определение
Инверсионной сложностью IF (f ) булевой функции f в классе формул
называют минимальное число NOT гейтов входящих в формулу для f

Теорема
Для любой булевой функции f справедливо:

                            IF (f ) = d (f )

Доказательство
IF (f ) ≥ d (f ) +

       В. Алексеенко   (Computer Science в схемах
                          9. Отрицания клуб)         20.11.2011   21 / 27
Формулы и 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
Формулы и 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
Формулы и NOT гейт


Лемма
Для любой булевой функции f справедливо:

                           IF (f ) ≥ d (f )




     В. Алексеенко    (Computer Science в схемах
                         9. Отрицания клуб)        20.11.2011   22 / 27
Формулы и NOT гейт


Лемма
Для любой булевой функции f справедливо:

                           IF (f ) ≥ d (f )

Доказательство




     В. Алексеенко    (Computer Science в схемах
                         9. Отрицания клуб)        20.11.2011   22 / 27
Формулы и NOT гейт


Лемма
Для любой булевой функции f справедливо:

                            IF (f ) ≥ d (f )

Доказательство
    Пусть C – формула для f .




     В. Алексеенко     (Computer Science в схемах
                          9. Отрицания клуб)        20.11.2011   22 / 27
Формулы и 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
Формулы и 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
Формулы и 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
Формулы и 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
Формулы и 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
План лекции



1   Когда NOT гейты бесполезны


2   Теорема Маркова


3   Формулы и NOT гейтов


4   Теорема Фишера




       В. Алексеенко   (Computer Science в схемах
                          9. Отрицания клуб)        20.11.2011   23 / 27
Теорема Фишера




    В. Алексеенко   (Computer Science в схемах
                       9. Отрицания клуб)        20.11.2011   24 / 27
Теорема Фишера
Теорема
Если функция от n переменных может быть вычислена схемой над
базисом {∨, ∧, ¬} размером t, тогда она может быть вычислена
схемой, размер которой не более чем 2t + O(n2 log 2 n) используя не
более чем ⌈log (n + 1)⌉ NOT гейтов.




      В. Алексеенко      (Computer Science в схемах
                            9. Отрицания клуб)           20.11.2011   24 / 27
Теорема Фишера
Теорема
Если функция от n переменных может быть вычислена схемой над
базисом {∨, ∧, ¬} размером t, тогда она может быть вычислена
схемой, размер которой не более чем 2t + O(n2 log 2 n) используя не
более чем ⌈log (n + 1)⌉ NOT гейтов.

Доказательство




      В. Алексеенко      (Computer Science в схемах
                            9. Отрицания клуб)           20.11.2011   24 / 27
Теорема Фишера
Теорема
Если функция от n переменных может быть вычислена схемой над
базисом {∨, ∧, ¬} размером t, тогда она может быть вычислена
схемой, размер которой не более чем 2t + O(n2 log 2 n) используя не
более чем ⌈log (n + 1)⌉ NOT гейтов.

Доказательство
    Любую схему размера t можно свести к схеме де Моргана
    размера 2t




      В. Алексеенко      (Computer Science в схемах
                            9. Отрицания клуб)           20.11.2011   24 / 27
Теорема Фишера
Теорема
Если функция от n переменных может быть вычислена схемой над
базисом {∨, ∧, ¬} размером t, тогда она может быть вычислена
схемой, размер которой не более чем 2t + O(n2 log 2 n) используя не
более чем ⌈log (n + 1)⌉ NOT гейтов.

Доказательство
    Любую схему размера t можно свести к схеме де Моргана
    размера 2t




      В. Алексеенко      (Computer Science в схемах
                            9. Отрицания клуб)           20.11.2011   24 / 27
Теорема Фишера
Теорема
Если функция от 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
Теорема Фишера
Теорема
Если функция от 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
Теорема Фишера
Теорема
Если функция от 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
Формулы и NOT гейты

Доказательство




     В. Алексеенко   (Computer Science в схемах
                        9. Отрицания клуб)        20.11.2011   25 / 27
Формулы и NOT гейты

Доказательство
    Для остальных векторов вычисление ¬xi ведётся по формуле:
                                 n
                                ⋁︁
                     fi (x) =         (¬Thk (x) ∨ Thk (x − xi ))
                                k=1




     В. Алексеенко        (Computer Science в схемах
                             9. Отрицания клуб)                    20.11.2011   25 / 27
Формулы и NOT гейты

Доказательство
    Для остальных векторов вычисление ¬xi ведётся по формуле:
                                 n
                                ⋁︁
                     fi (x) =         (¬Thk (x) ∨ Thk (x − xi ))
                                k=1




     В. Алексеенко        (Computer Science в схемах
                             9. Отрицания клуб)                    20.11.2011   25 / 27
Формулы и 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
Формулы и 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
Формулы и 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
Формулы и NOT гейты


Доказательство
    Сперва возьмём схему C1 (x) которая вычисляет:

                      T (x) = (Th1 (x), ..., Thn (x))




     В. Алексеенко     (Computer Science в схемах
                          9. Отрицания клуб)            20.11.2011   26 / 27
Формулы и 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
Формулы и 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
Формулы и 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
Спасибо за внимание!




В. Алексеенко   (Computer Science в схемах
                   9. Отрицания клуб)        20.11.2011   27 / 27

More Related Content

What's hot

Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...Positive Hack Days
 
A Method of Reducing Computational Complexity in Verification of Programming ...
A Method of Reducing Computational Complexity in Verification of Programming ...A Method of Reducing Computational Complexity in Verification of Programming ...
A Method of Reducing Computational Complexity in Verification of Programming ...Iosif Itkin
 
Решение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементовРешение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементовTheoretical mechanics department
 
Derivative lesson
Derivative lessonDerivative lesson
Derivative lessonmarinarum
 
20091129 algorithmsfornphardproblems kulikov_lecture10
20091129 algorithmsfornphardproblems kulikov_lecture1020091129 algorithmsfornphardproblems kulikov_lecture10
20091129 algorithmsfornphardproblems kulikov_lecture10Computer Science Club
 
Линейная алгебра - I
Линейная алгебра - IЛинейная алгебра - I
Линейная алгебра - IDEVTYPE
 
20111002 circuit complexity_seminar_lecture03_kulikov
20111002 circuit complexity_seminar_lecture03_kulikov20111002 circuit complexity_seminar_lecture03_kulikov
20111002 circuit complexity_seminar_lecture03_kulikovComputer Science Club
 
20110204 quantum algorithms_vyali_lecture02
20110204 quantum algorithms_vyali_lecture0220110204 quantum algorithms_vyali_lecture02
20110204 quantum algorithms_vyali_lecture02Computer Science Club
 
Использование GNU OCTAVE для инженерных и математических расчетов
Использование GNU OCTAVE для инженерных и математических расчетовИспользование GNU OCTAVE для инженерных и математических расчетов
Использование GNU OCTAVE для инженерных и математических расчетовТранслируем.бел
 
20130302 np algorithms_kulikov_lecture04-05_sat
20130302 np algorithms_kulikov_lecture04-05_sat20130302 np algorithms_kulikov_lecture04-05_sat
20130302 np algorithms_kulikov_lecture04-05_satComputer Science Club
 
20090913 algorithmsfornphardproblems kulikov_lecture02
20090913 algorithmsfornphardproblems kulikov_lecture0220090913 algorithmsfornphardproblems kulikov_lecture02
20090913 algorithmsfornphardproblems kulikov_lecture02Computer Science Club
 
20111202 machine learning_nikolenko_lecture03
20111202 machine learning_nikolenko_lecture0320111202 machine learning_nikolenko_lecture03
20111202 machine learning_nikolenko_lecture03Computer Science Club
 
Use of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signatureUse of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signatureAndrei Poliakov
 
Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства" Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства" Technosphere1
 
Лекция №5. Линейные структуры данных. Предмет "Структуры и алгоритмы обработк...
Лекция №5. Линейные структуры данных. Предмет "Структуры и алгоритмы обработк...Лекция №5. Линейные структуры данных. Предмет "Структуры и алгоритмы обработк...
Лекция №5. Линейные структуры данных. Предмет "Структуры и алгоритмы обработк...Nikolay Grebenshikov
 
10 a n_r
10 a n_r10 a n_r
10 a n_r4book
 
20091115 algorithmsfornphardproblems kulikov_lecture09
20091115 algorithmsfornphardproblems kulikov_lecture0920091115 algorithmsfornphardproblems kulikov_lecture09
20091115 algorithmsfornphardproblems kulikov_lecture09Computer Science Club
 
Численное решение ОДУ. Метод Эйлера
Численное решение ОДУ. Метод ЭйлераЧисленное решение ОДУ. Метод Эйлера
Численное решение ОДУ. Метод ЭйлераTheoretical mechanics department
 

What's hot (20)

Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
Алгоритмы решения задачи о булевой выполнимости (SAT) и их применение в крипт...
 
A Method of Reducing Computational Complexity in Verification of Programming ...
A Method of Reducing Computational Complexity in Verification of Programming ...A Method of Reducing Computational Complexity in Verification of Programming ...
A Method of Reducing Computational Complexity in Verification of Programming ...
 
Решение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементовРешение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементов
 
Derivative lesson
Derivative lessonDerivative lesson
Derivative lesson
 
20091129 algorithmsfornphardproblems kulikov_lecture10
20091129 algorithmsfornphardproblems kulikov_lecture1020091129 algorithmsfornphardproblems kulikov_lecture10
20091129 algorithmsfornphardproblems kulikov_lecture10
 
Линейная алгебра - I
Линейная алгебра - IЛинейная алгебра - I
Линейная алгебра - I
 
20111002 circuit complexity_seminar_lecture03_kulikov
20111002 circuit complexity_seminar_lecture03_kulikov20111002 circuit complexity_seminar_lecture03_kulikov
20111002 circuit complexity_seminar_lecture03_kulikov
 
20110204 quantum algorithms_vyali_lecture02
20110204 quantum algorithms_vyali_lecture0220110204 quantum algorithms_vyali_lecture02
20110204 quantum algorithms_vyali_lecture02
 
Использование GNU OCTAVE для инженерных и математических расчетов
Использование GNU OCTAVE для инженерных и математических расчетовИспользование GNU OCTAVE для инженерных и математических расчетов
Использование GNU OCTAVE для инженерных и математических расчетов
 
20130302 np algorithms_kulikov_lecture04-05_sat
20130302 np algorithms_kulikov_lecture04-05_sat20130302 np algorithms_kulikov_lecture04-05_sat
20130302 np algorithms_kulikov_lecture04-05_sat
 
20090913 algorithmsfornphardproblems kulikov_lecture02
20090913 algorithmsfornphardproblems kulikov_lecture0220090913 algorithmsfornphardproblems kulikov_lecture02
20090913 algorithmsfornphardproblems kulikov_lecture02
 
20111202 machine learning_nikolenko_lecture03
20111202 machine learning_nikolenko_lecture0320111202 machine learning_nikolenko_lecture03
20111202 machine learning_nikolenko_lecture03
 
Use of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signatureUse of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signature
 
Pr i-7
Pr i-7Pr i-7
Pr i-7
 
Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства" Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства"
 
Лекция №5. Линейные структуры данных. Предмет "Структуры и алгоритмы обработк...
Лекция №5. Линейные структуры данных. Предмет "Структуры и алгоритмы обработк...Лекция №5. Линейные структуры данных. Предмет "Структуры и алгоритмы обработк...
Лекция №5. Линейные структуры данных. Предмет "Структуры и алгоритмы обработк...
 
10 a n_r
10 a n_r10 a n_r
10 a n_r
 
Сплайн интерполяция
Сплайн интерполяцияСплайн интерполяция
Сплайн интерполяция
 
20091115 algorithmsfornphardproblems kulikov_lecture09
20091115 algorithmsfornphardproblems kulikov_lecture0920091115 algorithmsfornphardproblems kulikov_lecture09
20091115 algorithmsfornphardproblems kulikov_lecture09
 
Численное решение ОДУ. Метод Эйлера
Численное решение ОДУ. Метод ЭйлераЧисленное решение ОДУ. Метод Эйлера
Численное решение ОДУ. Метод Эйлера
 

Viewers also liked

ShriVShashankShekharAppt_171114.PDF
ShriVShashankShekharAppt_171114.PDFShriVShashankShekharAppt_171114.PDF
ShriVShashankShekharAppt_171114.PDFrajeev kumar tiwari
 
Thong Tin Lien He Vpdd Cac Cong Ty Nuoc Ngoai O Ha Noi
Thong Tin Lien He Vpdd Cac Cong Ty Nuoc Ngoai O Ha NoiThong Tin Lien He Vpdd Cac Cong Ty Nuoc Ngoai O Ha Noi
Thong Tin Lien He Vpdd Cac Cong Ty Nuoc Ngoai O Ha Noibuiduongduong
 
Unidad 1 guia 2- 3º electivo js - 2012
Unidad 1   guia 2- 3º electivo js - 2012Unidad 1   guia 2- 3º electivo js - 2012
Unidad 1 guia 2- 3º electivo js - 2012María Espinoza A
 
Principios de-vida
Principios de-vidaPrincipios de-vida
Principios de-vidatrecal
 
Best photos ΔΙΑΦΗΜΙΣΕΙΣ (reklamas)
Best photos ΔΙΑΦΗΜΙΣΕΙΣ (reklamas)Best photos ΔΙΑΦΗΜΙΣΕΙΣ (reklamas)
Best photos ΔΙΑΦΗΜΙΣΕΙΣ (reklamas)Ioannis Papanikolaou
 
Apresentação - Reunião de Comitê 2013/1
Apresentação - Reunião de Comitê 2013/1Apresentação - Reunião de Comitê 2013/1
Apresentação - Reunião de Comitê 2013/1forumsustentar
 
Свой проект на drupal.org от идеи до первого релиза.
Свой проект на drupal.org от идеи до первого релиза.Свой проект на drupal.org от идеи до первого релиза.
Свой проект на drupal.org от идеи до первого релиза.PVasili
 
ADEVERINTA DE ABSOLVIRE - FACULTATE
ADEVERINTA DE ABSOLVIRE - FACULTATEADEVERINTA DE ABSOLVIRE - FACULTATE
ADEVERINTA DE ABSOLVIRE - FACULTATEPirvu Alina-Maria
 

Viewers also liked (20)

Twitter
TwitterTwitter
Twitter
 
ShriVShashankShekharAppt_171114.PDF
ShriVShashankShekharAppt_171114.PDFShriVShashankShekharAppt_171114.PDF
ShriVShashankShekharAppt_171114.PDF
 
Donosti
DonostiDonosti
Donosti
 
Napoleon 1
Napoleon 1Napoleon 1
Napoleon 1
 
Sermao de casamento ok
Sermao de casamento   okSermao de casamento   ok
Sermao de casamento ok
 
John pavlik democracia digital
John pavlik democracia digitalJohn pavlik democracia digital
John pavlik democracia digital
 
Thong Tin Lien He Vpdd Cac Cong Ty Nuoc Ngoai O Ha Noi
Thong Tin Lien He Vpdd Cac Cong Ty Nuoc Ngoai O Ha NoiThong Tin Lien He Vpdd Cac Cong Ty Nuoc Ngoai O Ha Noi
Thong Tin Lien He Vpdd Cac Cong Ty Nuoc Ngoai O Ha Noi
 
Unidad 1 guia 2- 3º electivo js - 2012
Unidad 1   guia 2- 3º electivo js - 2012Unidad 1   guia 2- 3º electivo js - 2012
Unidad 1 guia 2- 3º electivo js - 2012
 
Principios de-vida
Principios de-vidaPrincipios de-vida
Principios de-vida
 
La cot 0
La cot 0La cot 0
La cot 0
 
Christina Carvalho
Christina CarvalhoChristina Carvalho
Christina Carvalho
 
Socialismos e anarquismo
Socialismos e anarquismoSocialismos e anarquismo
Socialismos e anarquismo
 
Best photos ΔΙΑΦΗΜΙΣΕΙΣ (reklamas)
Best photos ΔΙΑΦΗΜΙΣΕΙΣ (reklamas)Best photos ΔΙΑΦΗΜΙΣΕΙΣ (reklamas)
Best photos ΔΙΑΦΗΜΙΣΕΙΣ (reklamas)
 
Apresentação - Reunião de Comitê 2013/1
Apresentação - Reunião de Comitê 2013/1Apresentação - Reunião de Comitê 2013/1
Apresentação - Reunião de Comitê 2013/1
 
Referance fra Palfinger Dreggen - English
Referance fra Palfinger Dreggen - EnglishReferance fra Palfinger Dreggen - English
Referance fra Palfinger Dreggen - English
 
Свой проект на drupal.org от идеи до первого релиза.
Свой проект на drupal.org от идеи до первого релиза.Свой проект на drupal.org от идеи до первого релиза.
Свой проект на drupal.org от идеи до первого релиза.
 
Guida
GuidaGuida
Guida
 
ADEVERINTA DE ABSOLVIRE - FACULTATE
ADEVERINTA DE ABSOLVIRE - FACULTATEADEVERINTA DE ABSOLVIRE - FACULTATE
ADEVERINTA DE ABSOLVIRE - FACULTATE
 
ΑΡΚΑΣ Σταυρόλεξα
ΑΡΚΑΣ ΣταυρόλεξαΑΡΚΑΣ Σταυρόλεξα
ΑΡΚΑΣ Σταυρόλεξα
 
Obedoed
ObedoedObedoed
Obedoed
 

Similar to 20111120 circuit complexity_seminar_lecture09_alexeenko

20110403 quantum algorithms_vyali_lecture03
20110403 quantum algorithms_vyali_lecture0320110403 quantum algorithms_vyali_lecture03
20110403 quantum algorithms_vyali_lecture03Computer Science Club
 
Podgotovka k egje_po_matematike_zadacha_v8
Podgotovka k egje_po_matematike_zadacha_v8Podgotovka k egje_po_matematike_zadacha_v8
Podgotovka k egje_po_matematike_zadacha_v8Dimon4
 
пугач му по матлогике 2015
пугач му по матлогике 2015пугач му по матлогике 2015
пугач му по матлогике 2015LIPugach
 
20101007 proof complexity_hirsch_lecture04
20101007 proof complexity_hirsch_lecture0420101007 proof complexity_hirsch_lecture04
20101007 proof complexity_hirsch_lecture04Computer Science Club
 
20110409 quantum algorithms_vyali_lecture09
20110409 quantum algorithms_vyali_lecture0920110409 quantum algorithms_vyali_lecture09
20110409 quantum algorithms_vyali_lecture09Computer Science Club
 
20110409 quantum algorithms_vyali_lecture09
20110409 quantum algorithms_vyali_lecture0920110409 quantum algorithms_vyali_lecture09
20110409 quantum algorithms_vyali_lecture09Computer Science Club
 
Методы решения нелинейных уравнений
Методы решения нелинейных уравненийМетоды решения нелинейных уравнений
Методы решения нелинейных уравненийTheoretical mechanics department
 
Многочлены наилучших среднеквадратичных приближений
Многочлены наилучших среднеквадратичных приближенийМногочлены наилучших среднеквадратичных приближений
Многочлены наилучших среднеквадратичных приближенийTheoretical mechanics department
 
Структурные формулы и функциональные схемы
Структурные формулы и функциональные схемыСтруктурные формулы и функциональные схемы
Структурные формулы и функциональные схемыaleksashka3
 
20071202 efficientalgorithms kulikov_lecture11
20071202 efficientalgorithms kulikov_lecture1120071202 efficientalgorithms kulikov_lecture11
20071202 efficientalgorithms kulikov_lecture11Computer Science Club
 
20111023 csseminar geometry_algorithms_implementation_kovalev
20111023 csseminar geometry_algorithms_implementation_kovalev20111023 csseminar geometry_algorithms_implementation_kovalev
20111023 csseminar geometry_algorithms_implementation_kovalevComputer Science Club
 
20101125 proof complexity_hirsch_lecture08
20101125 proof complexity_hirsch_lecture0820101125 proof complexity_hirsch_lecture08
20101125 proof complexity_hirsch_lecture08Computer Science Club
 
Fractal Geometry
Fractal GeometryFractal Geometry
Fractal GeometrySSA KPI
 
Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes" Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes" Technosphere1
 
20081026 structuralcomplexitytheory lecture05-06
20081026 structuralcomplexitytheory lecture05-0620081026 structuralcomplexitytheory lecture05-06
20081026 structuralcomplexitytheory lecture05-06Computer Science Club
 

Similar to 20111120 circuit complexity_seminar_lecture09_alexeenko (20)

20110403 quantum algorithms_vyali_lecture03
20110403 quantum algorithms_vyali_lecture0320110403 quantum algorithms_vyali_lecture03
20110403 quantum algorithms_vyali_lecture03
 
Урок 8. Введение в редукцию графов
Урок 8. Введение в редукцию графовУрок 8. Введение в редукцию графов
Урок 8. Введение в редукцию графов
 
Podgotovka k egje_po_matematike_zadacha_v8
Podgotovka k egje_po_matematike_zadacha_v8Podgotovka k egje_po_matematike_zadacha_v8
Podgotovka k egje_po_matematike_zadacha_v8
 
пугач му по матлогике 2015
пугач му по матлогике 2015пугач му по матлогике 2015
пугач му по матлогике 2015
 
20101007 proof complexity_hirsch_lecture04
20101007 proof complexity_hirsch_lecture0420101007 proof complexity_hirsch_lecture04
20101007 proof complexity_hirsch_lecture04
 
20110409 quantum algorithms_vyali_lecture09
20110409 quantum algorithms_vyali_lecture0920110409 quantum algorithms_vyali_lecture09
20110409 quantum algorithms_vyali_lecture09
 
23
2323
23
 
20110409 quantum algorithms_vyali_lecture09
20110409 quantum algorithms_vyali_lecture0920110409 quantum algorithms_vyali_lecture09
20110409 quantum algorithms_vyali_lecture09
 
Методы решения нелинейных уравнений
Методы решения нелинейных уравненийМетоды решения нелинейных уравнений
Методы решения нелинейных уравнений
 
Многочлены наилучших среднеквадратичных приближений
Многочлены наилучших среднеквадратичных приближенийМногочлены наилучших среднеквадратичных приближений
Многочлены наилучших среднеквадратичных приближений
 
Структурные формулы и функциональные схемы
Структурные формулы и функциональные схемыСтруктурные формулы и функциональные схемы
Структурные формулы и функциональные схемы
 
20071202 efficientalgorithms kulikov_lecture11
20071202 efficientalgorithms kulikov_lecture1120071202 efficientalgorithms kulikov_lecture11
20071202 efficientalgorithms kulikov_lecture11
 
Урок 7. Интерпретация и компиляция функциональных программ.
Урок 7. Интерпретация и компиляция функциональных программ.Урок 7. Интерпретация и компиляция функциональных программ.
Урок 7. Интерпретация и компиляция функциональных программ.
 
20111023 csseminar geometry_algorithms_implementation_kovalev
20111023 csseminar geometry_algorithms_implementation_kovalev20111023 csseminar geometry_algorithms_implementation_kovalev
20111023 csseminar geometry_algorithms_implementation_kovalev
 
20101125 proof complexity_hirsch_lecture08
20101125 proof complexity_hirsch_lecture0820101125 proof complexity_hirsch_lecture08
20101125 proof complexity_hirsch_lecture08
 
Fractal Geometry
Fractal GeometryFractal Geometry
Fractal Geometry
 
Урок 6. Чистое лямбда-исчисление.
Урок 6. Чистое лямбда-исчисление. Урок 6. Чистое лямбда-исчисление.
Урок 6. Чистое лямбда-исчисление.
 
Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes" Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes"
 
20081026 structuralcomplexitytheory lecture05-06
20081026 structuralcomplexitytheory lecture05-0620081026 structuralcomplexitytheory lecture05-06
20081026 structuralcomplexitytheory lecture05-06
 
Основы SciPy
Основы SciPyОсновы SciPy
Основы SciPy
 

More from Computer Science Club

20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugsComputer Science Club
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugsComputer Science Club
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugsComputer Science Club
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12Computer Science Club
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11Computer Science Club
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10Computer Science Club
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09Computer Science Club
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02Computer Science Club
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01Computer Science Club
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04Computer Science Club
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01Computer Science Club
 

More from Computer Science Club (20)

20141223 kuznetsov distributed
20141223 kuznetsov distributed20141223 kuznetsov distributed
20141223 kuznetsov distributed
 
Computer Vision
Computer VisionComputer Vision
Computer Vision
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04
 
20140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-0320140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-03
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01
 
20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 

20111120 circuit complexity_seminar_lecture09_alexeenko

  • 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
  • 77. Теорема Маркова Доказательство В. Алексеенко (Computer Science в схемах 9. Отрицания клуб) 20.11.2011 18 / 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