SlideShare a Scribd company logo
Семинар по сложности булевых функций
           Лекция 1: Введение

                        А. Куликов

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


                        25.09.2011




 А. Куликов    (Computer Science клуб)
                          1. Введение          25.09.2011   1 / 26
План лекции



1   Булевы функции


2   Булевы схемы


3   Почти все функции имеют большую схемную сложность
      Нижняя оценка
      Верхняя оценка




       А. Куликов     (Computer Science клуб)
                                 1. Введение        25.09.2011   2 / 26
Теория сложности вычислений
Структурная теория сложности изучает следующие вопросы: является
            ли память более мощным ресурсом, чем время?
            улучшают ли случайные числа мощь вычислительных
            ресурсов? легче ли проверить доказательство, чем найти
            его? Мы до сих пор не знаем ответов на эти вопросы.
            Большинство результатов в структурной теории
            сложности условные, то есть опираются на
            недоказанные предположения (такие, как P̸=NP).




      А. Куликов     (Computer Science клуб)
                                1. Введение           25.09.2011   3 / 26
Теория сложности вычислений
Структурная теория сложности изучает следующие вопросы: является
            ли память более мощным ресурсом, чем время?
            улучшают ли случайные числа мощь вычислительных
            ресурсов? легче ли проверить доказательство, чем найти
            его? Мы до сих пор не знаем ответов на эти вопросы.
            Большинство результатов в структурной теории
            сложности условные, то есть опираются на
            недоказанные предположения (такие, как P̸=NP).
Схемная сложность изучает нижние оценки на вычислительную
            сложность конкретных задач (например, умножение
            матриц или проверка наличия больших клик в графе).
            Рассматриваются конкретные модели вычисления
            такие, как разрешающие деревья, ветвящиеся
            программы, булевы формулы, различные классы булевых
            схем, коммуникационные протоколы. Целью данной
            области являются безусловные нижние оценки.
      А. Куликов     (Computer Science клуб)
                                1. Введение           25.09.2011   3 / 26
Нижние оценки

   Простейшие булевы функции: конъюнкция (произведение) x · y ,
   исключающее ИЛИ (сумма по модулю 2) x ⊕ y , ИЛИ x ∨ y ,
   отрицание ¬x = 1 − x.




    А. Куликов      (Computer Science клуб)
                               1. Введение           25.09.2011   4 / 26
Нижние оценки

   Простейшие булевы функции: конъюнкция (произведение) x · y ,
   исключающее ИЛИ (сумма по модулю 2) x ⊕ y , ИЛИ x ∨ y ,
   отрицание ¬x = 1 − x.
   Центральная задача: сколько таких базовых операций необходимо
   для того, чтобы вычислить данную булеву функцию
   f : {0, 1}n → {0, 1}?




    А. Куликов      (Computer Science клуб)
                               1. Введение           25.09.2011   4 / 26
Нижние оценки

   Простейшие булевы функции: конъюнкция (произведение) x · y ,
   исключающее ИЛИ (сумма по модулю 2) x ⊕ y , ИЛИ x ∨ y ,
   отрицание ¬x = 1 − x.
   Центральная задача: сколько таких базовых операций необходимо
   для того, чтобы вычислить данную булеву функцию
   f : {0, 1}n → {0, 1}?
   Сложность доказательства нижних оценок идёт от нашего
   противника схемы. Схемы небольшого размера могут
   производить вычисления очень контринтуитивно.




    А. Куликов      (Computer Science клуб)
                               1. Введение           25.09.2011   4 / 26
Нижние оценки

   Простейшие булевы функции: конъюнкция (произведение) x · y ,
   исключающее ИЛИ (сумма по модулю 2) x ⊕ y , ИЛИ x ∨ y ,
   отрицание ¬x = 1 − x.
   Центральная задача: сколько таких базовых операций необходимо
   для того, чтобы вычислить данную булеву функцию
   f : {0, 1}n → {0, 1}?
   Сложность доказательства нижних оценок идёт от нашего
   противника схемы. Схемы небольшого размера могут
   производить вычисления очень контринтуитивно.
   Как доказать, что нет хитрого способа вычислить функцию?




    А. Куликов      (Computer Science клуб)
                               1. Введение           25.09.2011   4 / 26
Нижние оценки

   Простейшие булевы функции: конъюнкция (произведение) x · y ,
   исключающее ИЛИ (сумма по модулю 2) x ⊕ y , ИЛИ x ∨ y ,
   отрицание ¬x = 1 − x.
   Центральная задача: сколько таких базовых операций необходимо
   для того, чтобы вычислить данную булеву функцию
   f : {0, 1}n → {0, 1}?
   Сложность доказательства нижних оценок идёт от нашего
   противника схемы. Схемы небольшого размера могут
   производить вычисления очень контринтуитивно.
   Как доказать, что нет хитрого способа вычислить функцию?
   Данная задача лежит на стыке математики и computer science:
   нижние оценки очень важны для computer science, а их
   доказательства требуют методов комбинаторики, алгебры, мат.
   анализа и других областей математики.

    А. Куликов      (Computer Science клуб)
                               1. Введение           25.09.2011   4 / 26
План лекции



1   Булевы функции


2   Булевы схемы


3   Почти все функции имеют большую схемную сложность
      Нижняя оценка
      Верхняя оценка




       А. Куликов     (Computer Science клуб)
                                 1. Введение        25.09.2011   5 / 26
Булевы функции


   Bn    это множество всех булевых функций f : {0, 1}n → {0, 1} от
   n переменных.




    А. Куликов       (Computer Science клуб)
                                1. Введение            25.09.2011   6 / 26
Булевы функции


   Bn    это множество всех булевых функций f : {0, 1}n → {0, 1} от
   n переменных.
   Булева функция f ∈ Bn принимает вектор a ∈ {0, 1}n , если
   f (a) = 1, и отвергает в противном случае.




    А. Куликов       (Computer Science клуб)
                                1. Введение            25.09.2011   6 / 26
Булевы функции


   Bn    это множество всех булевых функций f : {0, 1}n → {0, 1} от
   n переменных.
   Булева функция f ∈ Bn принимает вектор a ∈ {0, 1}n , если
   f (a) = 1, и отвергает в противном случае.
   Булева функция зависит от своей i-й переменной xi , если
   найдутся такие константы a1 , . . . , ai−1 , ai+1 , . . . , an , что

      f (a1 , . . . , ai−1 , 0, ai+1 , . . . , an ) ̸= f (a1 , . . . , ai−1 , 1, ai+1 , . . . , an ).




     А. Куликов                (Computer Science клуб)
                                          1. Введение                                25.09.2011         6 / 26
Булевы функции


   Bn    это множество всех булевых функций f : {0, 1}n → {0, 1} от
   n переменных.
   Булева функция f ∈ Bn принимает вектор a ∈ {0, 1}n , если
   f (a) = 1, и отвергает в противном случае.
   Булева функция зависит от своей i-й переменной xi , если
   найдутся такие константы a1 , . . . , ai−1 , ai+1 , . . . , an , что

      f (a1 , . . . , ai−1 , 0, ai+1 , . . . , an ) ̸= f (a1 , . . . , ai−1 , 1, ai+1 , . . . , an ).

   Количество |Bn | различных булевых функций от n переменных
           n
   равно 22 , то есть дважды экспоненциально.




     А. Куликов                (Computer Science клуб)
                                          1. Введение                                25.09.2011         6 / 26
Симметрические булевы функции



   Функция f называется симметрической, если её значение зависит
   только от суммы входных битов.




    А. Куликов      (Computer Science клуб)
                               1. Введение          25.09.2011   7 / 26
Симметрические булевы функции



   Функция f называется симметрической, если её значение зависит
   только от суммы входных битов.
   Всего есть 2n+1 различных симметрических функций.




    А. Куликов      (Computer Science клуб)
                               1. Введение          25.09.2011   7 / 26
Симметрические булевы функции



   Функция f называется симметрической, если её значение зависит
   только от суммы входных битов.
   Всего есть 2n+1 различных симметрических функций.
Примеры




    А. Куликов      (Computer Science клуб)
                               1. Введение          25.09.2011   7 / 26
Симметрические булевы функции



   Функция f называется симметрической, если её значение зависит
   только от суммы входных битов.
   Всего есть 2n+1 различных симметрических функций.
Примеры
   пороговая функция: Thn (x) = 1 ⇔ x1 + · · · + xn ≥ k;
                        k




     А. Куликов         (Computer Science клуб)
                                   1. Введение             25.09.2011   7 / 26
Симметрические булевы функции



   Функция f называется симметрической, если её значение зависит
   только от суммы входных битов.
   Всего есть 2n+1 различных симметрических функций.
Примеры
   пороговая функция: Thn (x) = 1 ⇔ x1 + · · · + xn ≥ k;
                        k

   функция голосования: Majn (x) = 1 ⇔ x1 + · · · + xn ≥ ⌈n/2⌉;




     А. Куликов         (Computer Science клуб)
                                   1. Введение                25.09.2011   7 / 26
Симметрические булевы функции



   Функция f называется симметрической, если её значение зависит
   только от суммы входных битов.
   Всего есть 2n+1 различных симметрических функций.
Примеры
   пороговая функция: Thn (x) = 1 ⇔ x1 + · · · + xn ≥ k;
                        k

   функция голосования: Majn (x) = 1 ⇔ x1 + · · · + xn ≥ ⌈n/2⌉;
   функция чётности: ⊕n (x) = 1 ⇔ x1 + · · · + xn ≡ 1 (mod 2);




     А. Куликов         (Computer Science клуб)
                                   1. Введение                   25.09.2011   7 / 26
Симметрические булевы функции



   Функция f называется симметрической, если её значение зависит
   только от суммы входных битов.
   Всего есть 2n+1 различных симметрических функций.
Примеры
   пороговая функция: Thn (x) = 1 ⇔ x1 + · · · + xn ≥ k;
                        k

   функция голосования: Majn (x) = 1 ⇔ x1 + · · · + xn ≥ ⌈n/2⌉;
   функция чётности: ⊕n (x) = 1 ⇔ x1 + · · · + xn ≡ 1 (mod 2);
   функция остатка по модулю: MODn = 1 ⇔ x1 + · · · + xn ≡ 0 (mod k).
                                 k




     А. Куликов         (Computer Science клуб)
                                   1. Введение                   25.09.2011   7 / 26
Ещё примеры булевых функций
   В общем-то, любое свойство можно задать с помощью булевой
   функции.




    А. Куликов      (Computer Science клуб)
                               1. Введение         25.09.2011   8 / 26
Ещё примеры булевых функций
   В общем-то, любое свойство можно задать с помощью булевой
   функции.
   Например, свойство числа быть простым“ задаёт булеву
                               ”
   функцию PRIME: PRIME(x) = 1 ⇔ n xi 2i−1
                                     ∑︀
                                        i=1      простое число.
   Не так давно было доказано, что эта функция может быть
   детерминированно вычислена за полиномиальное от n время
   [Agrawal, Kayal, Saxena, 2004].




    А. Куликов      (Computer Science клуб)
                               1. Введение          25.09.2011   8 / 26
Ещё примеры булевых функций
   В общем-то, любое свойство можно задать с помощью булевой
   функции.
   Например, свойство числа быть простым“ задаёт булеву
                               ”
   функцию PRIME: PRIME(x) = 1 ⇔ n xi 2i−1
                                     ∑︀
                                        i=1         простое число.
   Не так давно было доказано, что эта функция может быть
   детерминированно вычислена за полиномиальное от n время
   [Agrawal, Kayal, Saxena, 2004].
   Чтобы описать свойство графа, надо задать функцию на Cn   2

   переменных. Каждый вектор x длины Cn   2 задает граф G :
                                                         x
   переменная xij отвечает за наличие ребра между вершинами i и j.




    А. Куликов       (Computer Science клуб)
                                1. Введение           25.09.2011   8 / 26
Ещё примеры булевых функций
   В общем-то, любое свойство можно задать с помощью булевой
   функции.
   Например, свойство числа быть простым“ задаёт булеву
                               ”
   функцию PRIME: PRIME(x) = 1 ⇔ n xi 2i−1
                                     ∑︀
                                        i=1         простое число.
   Не так давно было доказано, что эта функция может быть
   детерминированно вычислена за полиномиальное от n время
   [Agrawal, Kayal, Saxena, 2004].
   Чтобы описать свойство графа, надо задать функцию на Cn   2

   переменных. Каждый вектор x длины Cn   2 задает граф G :
                                                         x
   переменная xij отвечает за наличие ребра между вершинами i и j.
   Пример сложного для вычисления свойства графа функция
   клики: CLIQUE(n, k) принимает вектор x тогда и только тогда,
   когда Gx содержит клику размера k.




    А. Куликов       (Computer Science клуб)
                                1. Введение           25.09.2011   8 / 26
Ещё примеры булевых функций
   В общем-то, любое свойство можно задать с помощью булевой
   функции.
   Например, свойство числа быть простым“ задаёт булеву
                               ”
   функцию PRIME: PRIME(x) = 1 ⇔ n xi 2i−1
                                     ∑︀
                                        i=1         простое число.
   Не так давно было доказано, что эта функция может быть
   детерминированно вычислена за полиномиальное от n время
   [Agrawal, Kayal, Saxena, 2004].
   Чтобы описать свойство графа, надо задать функцию на Cn   2

   переменных. Каждый вектор x длины Cn   2 задает граф G :
                                                         x
   переменная xij отвечает за наличие ребра между вершинами i и j.
   Пример сложного для вычисления свойства графа функция
   клики: CLIQUE(n, k) принимает вектор x тогда и только тогда,
   когда Gx содержит клику размера k.
   До сих пор не известно, может ли данная функция быть
   вычислена за полиномиальное время. Из доказательства
   отрицательного ответа будет тут же следовать P̸=NP.
    А. Куликов       (Computer Science клуб)
                                1. Введение           25.09.2011   8 / 26
План лекции



1   Булевы функции


2   Булевы схемы


3   Почти все функции имеют большую схемную сложность
      Нижняя оценка
      Верхняя оценка




       А. Куликов     (Computer Science клуб)
                                 1. Введение        25.09.2011   9 / 26
Пример схемы



                                              x1     x2     x3       1
         g1 = x1 ⊕ x2
                                              g1 ⊕ g2 ∧
         g2 = x2 ∧ x3
         g3 = g1 ∨ g2                              g3 ∨ g4 ∨
         g4 = g2 ∨ 1
         g5 = g3 ≡ g 4                               g5 ≡




    А. Куликов      (Computer Science клуб)
                               1. Введение                     25.09.2011   10 / 26
Формальное определение




    А. Куликов   (Computer Science клуб)
                            1. Введение    25.09.2011   11 / 26
Формальное определение



   Итак, булева схема от n переменных над базисом Φ это
   последовательность g1 , . . . , gt из t ≥ n булевых функций, такая
   что первые n функций являются просто входными переменными
   g1 = x1 , . . . , gn = xn , а каждая следующая функция gi является
   применением gi = ������(gi1 , . . . , gud ) базовой функции ������ ∈ Φ к
   некоторым из предыдущих функций.




    А. Куликов        (Computer Science клуб)
                                 1. Введение             25.09.2011   11 / 26
Формальное определение



   Итак, булева схема от n переменных над базисом Φ это
   последовательность g1 , . . . , gt из t ≥ n булевых функций, такая
   что первые n функций являются просто входными переменными
   g1 = x1 , . . . , gn = xn , а каждая следующая функция gi является
   применением gi = ������(gi1 , . . . , gud ) базовой функции ������ ∈ Φ к
   некоторым из предыдущих функций.
   Размером схемы называется количество (t − n) её гейтов
   (функциональных элементов). Глубиной называется длина самого
   длинного пути от входной переменной до выхода.




    А. Куликов        (Computer Science клуб)
                                 1. Введение             25.09.2011   11 / 26
Формулы и схемы де Моргана




    А. Куликов   (Computer Science клуб)
                            1. Введение    25.09.2011   12 / 26
Формулы и схемы де Моргана


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




    А. Куликов      (Computer Science клуб)
                               1. Введение          25.09.2011   12 / 26
Формулы и схемы де Моргана


   Формулой называется схема, соответствующий граф которой
   является деревом. Основное отличие от схем заключается в том,
   что результат вычислений каждого гейта не может быть
   использован более одного раза. Формула может быть записана в
   одну строчку.
   Схемой де Моргана называется схема над базисом {∧, ∨},
   входами которой являются литералы, то есть переменные и их
   отрицания. Другими словами, отрицания применяются только ко
   входам. Используя правила де Моргана ¬(x ∨ y ) = ¬x ∧ ¬y и
   ¬(x ∧ y ) = ¬x ∨ ¬y , любую схему над базисом {∧, ∨, ¬} можно
   преобразовать в схему де Моргана, увеличив размер не более, чем
   вдвое.



    А. Куликов       (Computer Science клуб)
                                1. Введение          25.09.2011   12 / 26
План лекции



1   Булевы функции


2   Булевы схемы


3   Почти все функции имеют большую схемную сложность
      Нижняя оценка
      Верхняя оценка




       А. Куликов     (Computer Science клуб)
                                 1. Введение       25.09.2011   13 / 26
План лекции



1   Булевы функции


2   Булевы схемы


3   Почти все функции имеют большую схемную сложность
      Нижняя оценка
      Верхняя оценка




       А. Куликов     (Computer Science клуб)
                                 1. Введение       25.09.2011   14 / 26
Функция Шэннона




    А. Куликов    (Computer Science клуб)
                             1. Введение    25.09.2011   15 / 26
Функция Шэннона



   Функция Шэннона (для некоторой модели схем): ������(n) это
   максимальный размер схемной сложности функции от n
   переменных. Другими словами, ������(n) есть такое минимальное
   число t, что любая функция от n переменных может быть
   вычислена схемами размера t.




    А. Куликов      (Computer Science клуб)
                               1. Введение          25.09.2011   15 / 26
Функция Шэннона



   Функция Шэннона (для некоторой модели схем): ������(n) это
   максимальный размер схемной сложности функции от n
   переменных. Другими словами, ������(n) есть такое минимальное
   число t, что любая функция от n переменных может быть
   вычислена схемами размера t.
   Как правило, под функцией f подразумевается бесконечная
   последовательность функций f = {fn | n = 1, 2, . . . }.




    А. Куликов      (Computer Science клуб)
                               1. Введение          25.09.2011   15 / 26
Функция Шэннона



   Функция Шэннона (для некоторой модели схем): ������(n) это
   максимальный размер схемной сложности функции от n
   переменных. Другими словами, ������(n) есть такое минимальное
   число t, что любая функция от n переменных может быть
   вычислена схемами размера t.
   Как правило, под функцией f подразумевается бесконечная
   последовательность функций f = {fn | n = 1, 2, . . . }.
   Замечание: в дальнейшем рассматриваем схемы над полным
   бинарным базисом B2 .




    А. Куликов      (Computer Science клуб)
                               1. Введение          25.09.2011   15 / 26
Схемная сложность случайной функции




    А. Куликов   (Computer Science клуб)
                            1. Введение    25.09.2011   16 / 26
Схемная сложность случайной функции
   Из соображений мощности (Shannon, 1949): оценим, какое
   количество функций от n переменных могут быть вычислены
                                                           n
   схемам размера t, и сравним полученное число с числом 22 всех
   функций от n переменных.




    А. Куликов      (Computer Science клуб)
                               1. Введение          25.09.2011   16 / 26
Схемная сложность случайной функции
   Из соображений мощности (Shannon, 1949): оценим, какое
   количество функций от n переменных могут быть вычислены
                                                             n
   схемам размера t, и сравним полученное число с числом 22 всех
   функций от n переменных.
   Число F (n, t) схем размера ≤ t от n переменных не превосходит
                                            )︀t
                              16(t + n + 2)2 .
                           (︀

   Каждый из t гейтов вычисляет одну из 16 возможных бинарных
   булевых функций и зависит от двух предыдущих гейтов, которые
   могут быть гейтов (≤ t возможностей) или же переменной или
   константой (≤ n + 2 возможностей).




    А. Куликов      (Computer Science клуб)
                               1. Введение          25.09.2011   16 / 26
Схемная сложность случайной функции
   Из соображений мощности (Shannon, 1949): оценим, какое
   количество функций от n переменных могут быть вычислены
                                                             n
   схемам размера t, и сравним полученное число с числом 22 всех
   функций от n переменных.
   Число F (n, t) схем размера ≤ t от n переменных не превосходит
                                            )︀t
                              16(t + n + 2)2 .
                           (︀

   Каждый из t гейтов вычисляет одну из 16 возможных бинарных
   булевых функций и зависит от двух предыдущих гейтов, которые
   могут быть гейтов (≤ t возможностей) или же переменной или
   константой (≤ n + 2 возможностей).
                                                      n             n
   Для t = 2n /(10n), F (n, t) приблизительно равно 22 /5 , что ≪ 22 .




    А. Куликов        (Computer Science клуб)
                                 1. Введение            25.09.2011   16 / 26
Схемная сложность случайной функции
   Из соображений мощности (Shannon, 1949): оценим, какое
   количество функций от n переменных могут быть вычислены
                                                             n
   схемам размера t, и сравним полученное число с числом 22 всех
   функций от n переменных.
   Число F (n, t) схем размера ≤ t от n переменных не превосходит
                                            )︀t
                              16(t + n + 2)2 .
                           (︀

   Каждый из t гейтов вычисляет одну из 16 возможных бинарных
   булевых функций и зависит от двух предыдущих гейтов, которые
   могут быть гейтов (≤ t возможностей) или же переменной или
   константой (≤ n + 2 возможностей).
                                                      n             n
   Для t = 2n /(10n), F (n, t) приблизительно равно 22 /5 , что ≪ 22 .
   Таким образом, схемная сложность почти всех функций от n
   переменных экспоненциальна по n. В то же время не известно ни
   одной явной функции, требующей схем более чем линейного
   размера.
    А. Куликов        (Computer Science клуб)
                                 1. Введение            25.09.2011   16 / 26
План лекции



1   Булевы функции


2   Булевы схемы


3   Почти все функции имеют большую схемную сложность
      Нижняя оценка
      Верхняя оценка




       А. Куликов     (Computer Science клуб)
                                 1. Введение       25.09.2011   17 / 26
Представление функции многочленом над GF(2)




    А. Куликов   (Computer Science клуб)
                            1. Введение    25.09.2011   18 / 26
Представление функции многочленом над GF(2)

   Любую функцию f ∈ Bn можно представить (причём
   единственным образом) многочленом над GF(2).




    А. Куликов     (Computer Science клуб)
                              1. Введение       25.09.2011   18 / 26
Представление функции многочленом над GF(2)

   Любую функцию f ∈ Bn можно представить (причём
   единственным образом) многочленом над GF(2).
   Чтобы представить функцию многочленом, достаточно взять все
   вектора, принимаемые этой функцией, и сложить
   соответствующие им элементарные конъюнкции.




    А. Куликов      (Computer Science клуб)
                               1. Введение        25.09.2011   18 / 26
Представление функции многочленом над GF(2)

    Любую функцию f ∈ Bn можно представить (причём
    единственным образом) многочленом над GF(2).
    Чтобы представить функцию многочленом, достаточно взять все
    вектора, принимаемые этой функцией, и сложить
    соответствующие им элементарные конъюнкции.

Пример: Thr3
           2




     А. Куликов      (Computer Science клуб)
                                1. Введение        25.09.2011   18 / 26
Представление функции многочленом над GF(2)

    Любую функцию f ∈ Bn можно представить (причём
    единственным образом) многочленом над GF(2).
    Чтобы представить функцию многочленом, достаточно взять все
    вектора, принимаемые этой функцией, и сложить
    соответствующие им элементарные конъюнкции.

Пример: Thr3
           2

    Рассмотрим функцию Thr3 : Thr3 (x1 , x2 , x3 ) = 1 ⇔ x1 + x2 + x3 ≥ 2 .
                          2      2




      А. Куликов         (Computer Science клуб)
                                    1. Введение                  25.09.2011   18 / 26
Представление функции многочленом над GF(2)

    Любую функцию f ∈ Bn можно представить (причём
    единственным образом) многочленом над GF(2).
    Чтобы представить функцию многочленом, достаточно взять все
    вектора, принимаемые этой функцией, и сложить
    соответствующие им элементарные конъюнкции.

Пример: Thr3
           2

    Рассмотрим функцию Thr3 : Thr3 (x1 , x2 , x3 ) = 1 ⇔ x1 + x2 + x3 ≥ 2 .
                          2      2

    Соответствующий многочлен:
    x1 x2 x3 + (1 − x1 )x2 x3 + x1 (1 − x2 )x3 + x1 x2 (1 − x3 ) = x1 x2 + x2 x3 + x3 x1 .




      А. Куликов            (Computer Science клуб)
                                       1. Введение                       25.09.2011   18 / 26
Представление функции многочленом над GF(2)

    Любую функцию f ∈ Bn можно представить (причём
    единственным образом) многочленом над GF(2).
    Чтобы представить функцию многочленом, достаточно взять все
    вектора, принимаемые этой функцией, и сложить
    соответствующие им элементарные конъюнкции.

Пример: Thr3
           2

    Рассмотрим функцию Thr3 : Thr3 (x1 , x2 , x3 ) = 1 ⇔ x1 + x2 + x3 ≥ 2 .
                          2      2

    Соответствующий многочлен:
    x1 x2 x3 + (1 − x1 )x2 x3 + x1 (1 − x2 )x3 + x1 x2 (1 − x3 ) = x1 x2 + x2 x3 + x3 x1 .

    Итак, любая функция представляется многочленом. Чтобы
    понять, что такой многочлен единственен, достаточно заметить,
    что количество различных функций и количество различных
                                     n
    многочленов совпадают и равны 22 .
      А. Куликов            (Computer Science клуб)
                                       1. Введение                       25.09.2011   18 / 26
Очевидная верхняя оценка




    А. Куликов   (Computer Science клуб)
                            1. Введение    25.09.2011   19 / 26
Очевидная верхняя оценка



   Из представления функции многочленом сразу следует, что
   схемная сложность любой функции не превосходит n2n .




    А. Куликов      (Computer Science клуб)
                               1. Введение         25.09.2011   19 / 26
Очевидная верхняя оценка



   Из представления функции многочленом сразу следует, что
   схемная сложность любой функции не превосходит n2n .
   Такую же верхнюю оценку можно получить, заметив, что любую
   функцию можно представить в виде конъюнктивной нормальной
   формы (КНФ), то есть конъюнкции дизъюнкций литералов, или
   конъюнктивной нормальной формы (КНФ), то есть дизъюнкции
   конъюнкций литералов.




    А. Куликов      (Computer Science клуб)
                               1. Введение         25.09.2011   19 / 26
Очевидная верхняя оценка



     Из представления функции многочленом сразу следует, что
     схемная сложность любой функции не превосходит n2n .
     Такую же верхнюю оценку можно получить, заметив, что любую
     функцию можно представить в виде конъюнктивной нормальной
     формы (КНФ), то есть конъюнкции дизъюнкций литералов, или
     конъюнктивной нормальной формы (КНФ), то есть дизъюнкции
     конъюнкций литералов.

Пример: ДНФ для Thr3         2
x1 x2 x3 ∨ x1 x2 x3 ∨ x1 x2 x3 ∨ x1 x2 x3
           ¯             ¯             ¯




        А. Куликов            (Computer Science клуб)
                                         1. Введение    25.09.2011   19 / 26
Улучшение




    А. Куликов   (Computer Science клуб)
                            1. Введение    25.09.2011   20 / 26
Улучшение


   Чтобы получить более сильную оценку, нужно заметить, что
   функцию f ∈ Bn всегда можно представить как

            f (x1 , . . . , xn ) = f0 (x1 , . . . , xn−1 ) + xn fΔ (x1 , . . . , xn−1 ) ,

   где fΔ = f0 + f1 , а f0 = f |xn =0 и f1 = f |xn =1 .




     А. Куликов              (Computer Science клуб)
                                        1. Введение                             25.09.2011   20 / 26
Улучшение


   Чтобы получить более сильную оценку, нужно заметить, что
   функцию f ∈ Bn всегда можно представить как

            f (x1 , . . . , xn ) = f0 (x1 , . . . , xn−1 ) + xn fΔ (x1 , . . . , xn−1 ) ,

   где fΔ = f0 + f1 , а f0 = f |xn =0 и f1 = f |xn =1 .
   Это даёт нам следующее рекуррентное соотношение:

                          ������(n) ≤ 2������(n − 1) + 2, ������(1) = 1 .




     А. Куликов              (Computer Science клуб)
                                        1. Введение                             25.09.2011   20 / 26
Улучшение


   Чтобы получить более сильную оценку, нужно заметить, что
   функцию f ∈ Bn всегда можно представить как

            f (x1 , . . . , xn ) = f0 (x1 , . . . , xn−1 ) + xn fΔ (x1 , . . . , xn−1 ) ,

   где fΔ = f0 + f1 , а f0 = f |xn =0 и f1 = f |xn =1 .
   Это даёт нам следующее рекуррентное соотношение:

                          ������(n) ≤ 2������(n − 1) + 2, ������(1) = 1 .


                                                         3
   Из данного соотношения следует верхняя оценка ������(n) ≤ 4 2n − 2.



     А. Куликов              (Computer Science клуб)
                                        1. Введение                             25.09.2011   20 / 26
Дальнейшее улучшение




    А. Куликов   (Computer Science клуб)
                            1. Введение    25.09.2011   21 / 26
Дальнейшее улучшение


   Идея улучшения (Shannon, 1949): вместо того, чтобы рекурсивно
   спускаться до n = 1, предвычислим все булевы функции от k ≪ n
   переменных.




    А. Куликов      (Computer Science клуб)
                               1. Введение         25.09.2011   21 / 26
Дальнейшее улучшение


   Идея улучшения (Shannon, 1949): вместо того, чтобы рекурсивно
   спускаться до n = 1, предвычислим все булевы функции от k ≪ n
   переменных.
   Это даст нам рекуррентное соотношение вида
   ������′ (n) ≤ 2������′ (n − 1) + 2, ������′ (k) = 0 .




    А. Куликов      (Computer Science клуб)
                               1. Введение         25.09.2011   21 / 26
Дальнейшее улучшение


   Идея улучшения (Shannon, 1949): вместо того, чтобы рекурсивно
   спускаться до n = 1, предвычислим все булевы функции от k ≪ n
   переменных.
   Это даст нам рекуррентное соотношение вида
   ������′ (n) ≤ 2������′ (n − 1) + 2, ������′ (k) = 0 .
   Тогда после предвычисления нам понадобится не более
   ������′ (n) ≤ 2 · 2n−k − 2 гейтов.




    А. Куликов      (Computer Science клуб)
                               1. Введение         25.09.2011   21 / 26
Дальнейшее улучшение


   Идея улучшения (Shannon, 1949): вместо того, чтобы рекурсивно
   спускаться до n = 1, предвычислим все булевы функции от k ≪ n
   переменных.
   Это даст нам рекуррентное соотношение вида
   ������′ (n) ≤ 2������′ (n − 1) + 2, ������′ (k) = 0 .
   Тогда после предвычисления нам понадобится не более
   ������′ (n) ≤ 2 · 2n−k − 2 гейтов.
   Ниже мы покажем, что на предвычисление понадобится не более
     k
   22 гейтов.




    А. Куликов      (Computer Science клуб)
                               1. Введение         25.09.2011   21 / 26
Дальнейшее улучшение


   Идея улучшения (Shannon, 1949): вместо того, чтобы рекурсивно
   спускаться до n = 1, предвычислим все булевы функции от k ≪ n
   переменных.
   Это даст нам рекуррентное соотношение вида
   ������′ (n) ≤ 2������′ (n − 1) + 2, ������′ (k) = 0 .
   Тогда после предвычисления нам понадобится не более
   ������′ (n) ≤ 2 · 2n−k − 2 гейтов.
   Ниже мы покажем, что на предвычисление понадобится не более
     k
   22 гейтов.
                   k
   Тогда ������(n) ≤ 22 + 2 · 2n−k − 2.




    А. Куликов         (Computer Science клуб)
                                  1. Введение      25.09.2011   21 / 26
Дальнейшее улучшение


   Идея улучшения (Shannon, 1949): вместо того, чтобы рекурсивно
   спускаться до n = 1, предвычислим все булевы функции от k ≪ n
   переменных.
   Это даст нам рекуррентное соотношение вида
   ������′ (n) ≤ 2������′ (n − 1) + 2, ������′ (k) = 0 .
   Тогда после предвычисления нам понадобится не более
   ������′ (n) ≤ 2 · 2n−k − 2 гейтов.
   Ниже мы покажем, что на предвычисление понадобится не более
     k
   22 гейтов.
                   k
   Тогда ������(n) ≤ 22 + 2 · 2n−k − 2.
   Взяв k = ⌊log2 n − ������⌋, получим, что ������(n) ≤ 22+������ · 2n /n + o(2n /n).



     А. Куликов        (Computer Science клуб)
                                  1. Введение               25.09.2011   21 / 26
Вычисление всех функций одновременно




    А. Куликов   (Computer Science клуб)
                            1. Введение    25.09.2011   22 / 26
Вычисление всех функций одновременно


   Итак, осталось показать, как вычислить все функции от k
                    k
   переменных за 22 гейтов.




    А. Куликов      (Computer Science клуб)
                               1. Введение           25.09.2011   22 / 26
Вычисление всех функций одновременно


   Итак, осталось показать, как вычислить все функции от k
                    k
   переменных за 22 гейтов.
   Сначала вычислим все мономы, последовательно увеличивая их
   размер. Потом вычислим все суммы мономов, последовательно
   увеличивая количество членов в сумме. Таким образом, получим
         k
   все 22 многочленов от k переменных.




    А. Куликов      (Computer Science клуб)
                               1. Введение           25.09.2011   22 / 26
Вычисление всех функций одновременно


   Итак, осталось показать, как вычислить все функции от k
                    k
   переменных за 22 гейтов.
   Сначала вычислим все мономы, последовательно увеличивая их
   размер. Потом вычислим все суммы мономов, последовательно
   увеличивая количество членов в сумме. Таким образом, получим
         k
   все 22 многочленов от k переменных.
   Мономы степени 0 и 1 у нас уже есть        это просто две константы
   и k входных переменных.




    А. Куликов      (Computer Science клуб)
                               1. Введение               25.09.2011   22 / 26
Вычисление всех функций одновременно


   Итак, осталось показать, как вычислить все функции от k
                    k
   переменных за 22 гейтов.
   Сначала вычислим все мономы, последовательно увеличивая их
   размер. Потом вычислим все суммы мономов, последовательно
   увеличивая количество членов в сумме. Таким образом, получим
         k
   все 22 многочленов от k переменных.
   Мономы степени 0 и 1 у нас уже есть        это просто две константы
   и k входных переменных.
   Чтобы получить моном степени d , достаточно одного гейта:
   нужно взять моном степени d − 1 и домножить его на переменную.




    А. Куликов      (Computer Science клуб)
                               1. Введение               25.09.2011   22 / 26
Вычисление всех функций одновременно


   Итак, осталось показать, как вычислить все функции от k
                    k
   переменных за 22 гейтов.
   Сначала вычислим все мономы, последовательно увеличивая их
   размер. Потом вычислим все суммы мономов, последовательно
   увеличивая количество членов в сумме. Таким образом, получим
         k
   все 22 многочленов от k переменных.
   Мономы степени 0 и 1 у нас уже есть        это просто две константы
   и k входных переменных.
   Чтобы получить моном степени d , достаточно одного гейта:
   нужно взять моном степени d − 1 и домножить его на переменную.
   Чтобы получить сумму s мономов, достаточно одного гейта:
   нужно взять сумму (s − 1) мономов и прибавить к ней моном.


    А. Куликов      (Computer Science клуб)
                               1. Введение               25.09.2011   22 / 26
Более точная оценка




Используя более хитрую конструкцию, Лупанов (1958) доказал, что
                          (︂     (︂       )︂)︂ n
                                    log n     2
                   ������(n) ≤ 1 + O                 .
                                      n        n




      А. Куликов     (Computer Science клуб)
                                1. Введение          25.09.2011   23 / 26
Текущие рекорды




    А. Куликов    (Computer Science клуб)
                             1. Введение    25.09.2011   24 / 26
Текущие рекорды

   Итак, мы узнали, что схемная сложность почти любой функции
   из Bn есть Θ(2n /n).




    А. Куликов      (Computer Science клуб)
                               1. Введение        25.09.2011   24 / 26
Текущие рекорды

   Итак, мы узнали, что схемная сложность почти любой функции
   из Bn есть Θ(2n /n).
   Лучшие доказанные на данный момент оценки для явных
   функций:

                                                  схемы          формулы
    полный бинарный базис B2                    3n − o(n)          n2−o(1)
                                                  [Blum]       [Нечипорук]
    базис U2 = B2 ∖ {⊕, ≡}                      5n − o(n)          n3−o(1)
                                              [Iwama et al.]      [Hastad]
                                                     экспоненциальная
    монотонный базис M2 = {∨, ∧}                 [Разборов; Alon, Boppana;
                                              Андреев; Karchmer, Wigderson]


    А. Куликов      (Computer Science клуб)
                               1. Введение                    25.09.2011   24 / 26
Упражнения




    А. Куликов   (Computer Science клуб)
                            1. Введение    25.09.2011   25 / 26
Упражнения

   Докажите, что для любой функции от n переменных есть
   вычисляющая её формула де Моргана, в которой не более
   4 · 2n − 2 листьев.




    А. Куликов      (Computer Science клуб)
                               1. Введение        25.09.2011   25 / 26
Упражнения

   Докажите, что для любой функции от n переменных есть
   вычисляющая её формула де Моргана, в которой не более
   4 · 2n − 2 листьев.
   Пусть m = ⌈log2 (n + 1)⌉ и пусть Sumn : {0, 1}n → {0, 1}m по входу
   x выдаёт бинарное представление суммы его битов. Рассмотрим
   схемы над полным бинарным базисом.




    А. Куликов       (Computer Science клуб)
                                1. Введение            25.09.2011   25 / 26
Упражнения

   Докажите, что для любой функции от n переменных есть
   вычисляющая её формула де Моргана, в которой не более
   4 · 2n − 2 листьев.
   Пусть m = ⌈log2 (n + 1)⌉ и пусть Sumn : {0, 1}n → {0, 1}m по входу
   x выдаёт бинарное представление суммы его битов. Рассмотрим
   схемы над полным бинарным базисом.
       Покажите, что C (Sum3 ) ≤ 5.




    А. Куликов        (Computer Science клуб)
                                 1. Введение           25.09.2011   25 / 26
Упражнения

   Докажите, что для любой функции от n переменных есть
   вычисляющая её формула де Моргана, в которой не более
   4 · 2n − 2 листьев.
   Пусть m = ⌈log2 (n + 1)⌉ и пусть Sumn : {0, 1}n → {0, 1}m по входу
   x выдаёт бинарное представление суммы его битов. Рассмотрим
   схемы над полным бинарным базисом.
       Покажите, что C (Sum3 ) ≤ 5.
       Покажите, что C (Sumn ) ≤ 5n.




    А. Куликов        (Computer Science клуб)
                                 1. Введение           25.09.2011   25 / 26
Упражнения

   Докажите, что для любой функции от n переменных есть
   вычисляющая её формула де Моргана, в которой не более
   4 · 2n − 2 листьев.
   Пусть m = ⌈log2 (n + 1)⌉ и пусть Sumn : {0, 1}n → {0, 1}m по входу
   x выдаёт бинарное представление суммы его битов. Рассмотрим
   схемы над полным бинарным базисом.
       Покажите, что C (Sum3 ) ≤ 5.
       Покажите, что C (Sumn ) ≤ 5n.
       Покажите, что C (fn ) ≤ 5n + o(n), где fn — симметрическая
       функция от n переменных.




    А. Куликов        (Computer Science клуб)
                                 1. Введение              25.09.2011   25 / 26
Упражнения

   Докажите, что для любой функции от n переменных есть
   вычисляющая её формула де Моргана, в которой не более
   4 · 2n − 2 листьев.
   Пусть m = ⌈log2 (n + 1)⌉ и пусть Sumn : {0, 1}n → {0, 1}m по входу
   x выдаёт бинарное представление суммы его битов. Рассмотрим
   схемы над полным бинарным базисом.
       Покажите, что C (Sum3 ) ≤ 5.
       Покажите, что C (Sumn ) ≤ 5n.
       Покажите, что C (fn ) ≤ 5n + o(n), где fn — симметрическая
       функция от n переменных.
   (Схемы как линейные программы.) Пусть F (x) схема над
   {∨, ∧, ¬} с m гейтами. Покажите, что найдётся система L(x, y ) из
   O(m) линейных неравенств с коэффициентами ±1, такая что для
   всех x ∈ {0, 1}n , F (x) = 1 тогда и только тогда, когда найдётся
   такой вектор y , что все неравенства системы L(x, y ) выполнены.

    А. Куликов        (Computer Science клуб)
                                 1. Введение              25.09.2011   25 / 26
Спасибо за внимание!




А. Куликов   (Computer Science клуб)
                        1. Введение    25.09.2011   26 / 26

More Related Content

What's hot

Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes" Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes" Technosphere1
 
Лекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмовЛекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмовMikhail Kurnosov
 
Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов" Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов" Technosphere1
 
Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии" Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии" Technosphere1
 
L11: Метод ансамблей
L11: Метод ансамблейL11: Метод ансамблей
L11: Метод ансамблейTechnosphere1
 
L2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибокL2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибокTechnosphere1
 
Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"Technosphere1
 
Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"Nikolay Grebenshikov
 
Лекция №4 "Задача классификации"
Лекция №4 "Задача классификации"Лекция №4 "Задача классификации"
Лекция №4 "Задача классификации"Technosphere1
 
Использование GNU OCTAVE для инженерных и математических расчетов
Использование GNU OCTAVE для инженерных и математических расчетовИспользование GNU OCTAVE для инженерных и математических расчетов
Использование GNU OCTAVE для инженерных и математических расчетовТранслируем.бел
 
Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)
Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)
Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)Alexey Paznikov
 
20111120 circuit complexity_seminar_lecture09_alexeenko
20111120 circuit complexity_seminar_lecture09_alexeenko20111120 circuit complexity_seminar_lecture09_alexeenko
20111120 circuit complexity_seminar_lecture09_alexeenkoComputer Science Club
 
L3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессияL3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессияTechnosphere1
 
20111023 circuit complexity_seminar_lecture04_mihajlin
20111023 circuit complexity_seminar_lecture04_mihajlin20111023 circuit complexity_seminar_lecture04_mihajlin
20111023 circuit complexity_seminar_lecture04_mihajlinComputer Science Club
 
Лекция 12: Методы разработки алгоритмов. Динамическое программирование. Жадны...
Лекция 12: Методы разработки алгоритмов. Динамическое программирование. Жадны...Лекция 12: Методы разработки алгоритмов. Динамическое программирование. Жадны...
Лекция 12: Методы разработки алгоритмов. Динамическое программирование. Жадны...Mikhail Kurnosov
 
L6: Метод опорных векторов
L6: Метод опорных векторовL6: Метод опорных векторов
L6: Метод опорных векторовTechnosphere1
 
Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining" Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining" Technosphere1
 
презентация с авторским шаблоном и заметками дз 28.03.12
презентация с авторским шаблоном и заметками дз 28.03.12презентация с авторским шаблоном и заметками дз 28.03.12
презентация с авторским шаблоном и заметками дз 28.03.12galinalevna
 
L7:Задача кластеризации. Метрики качества
L7:Задача кластеризации. Метрики качестваL7:Задача кластеризации. Метрики качества
L7:Задача кластеризации. Метрики качестваTechnosphere1
 

What's hot (20)

Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes" Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes"
 
Лекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмовЛекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмов
 
Основы MATLAB. Лекция 1.
Основы MATLAB. Лекция 1.Основы MATLAB. Лекция 1.
Основы MATLAB. Лекция 1.
 
Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов" Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов"
 
Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии" Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии"
 
L11: Метод ансамблей
L11: Метод ансамблейL11: Метод ансамблей
L11: Метод ансамблей
 
L2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибокL2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибок
 
Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"
 
Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"
 
Лекция №4 "Задача классификации"
Лекция №4 "Задача классификации"Лекция №4 "Задача классификации"
Лекция №4 "Задача классификации"
 
Использование GNU OCTAVE для инженерных и математических расчетов
Использование GNU OCTAVE для инженерных и математических расчетовИспользование GNU OCTAVE для инженерных и математических расчетов
Использование GNU OCTAVE для инженерных и математических расчетов
 
Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)
Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)
Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)
 
20111120 circuit complexity_seminar_lecture09_alexeenko
20111120 circuit complexity_seminar_lecture09_alexeenko20111120 circuit complexity_seminar_lecture09_alexeenko
20111120 circuit complexity_seminar_lecture09_alexeenko
 
L3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессияL3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессия
 
20111023 circuit complexity_seminar_lecture04_mihajlin
20111023 circuit complexity_seminar_lecture04_mihajlin20111023 circuit complexity_seminar_lecture04_mihajlin
20111023 circuit complexity_seminar_lecture04_mihajlin
 
Лекция 12: Методы разработки алгоритмов. Динамическое программирование. Жадны...
Лекция 12: Методы разработки алгоритмов. Динамическое программирование. Жадны...Лекция 12: Методы разработки алгоритмов. Динамическое программирование. Жадны...
Лекция 12: Методы разработки алгоритмов. Динамическое программирование. Жадны...
 
L6: Метод опорных векторов
L6: Метод опорных векторовL6: Метод опорных векторов
L6: Метод опорных векторов
 
Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining" Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining"
 
презентация с авторским шаблоном и заметками дз 28.03.12
презентация с авторским шаблоном и заметками дз 28.03.12презентация с авторским шаблоном и заметками дз 28.03.12
презентация с авторским шаблоном и заметками дз 28.03.12
 
L7:Задача кластеризации. Метрики качества
L7:Задача кластеризации. Метрики качестваL7:Задача кластеризации. Метрики качества
L7:Задача кластеризации. Метрики качества
 

Viewers also liked

20100502 computer vision_lempitsky_lectures01-02
20100502 computer vision_lempitsky_lectures01-0220100502 computer vision_lempitsky_lectures01-02
20100502 computer vision_lempitsky_lectures01-02Computer Science Club
 
Lecture 1. Introduction to Computer Vision
Lecture 1. Introduction to Computer VisionLecture 1. Introduction to Computer Vision
Lecture 1. Introduction to Computer VisionVladimirVolokhov
 
Manifesto of computer game writers
Manifesto of computer game writersManifesto of computer game writers
Manifesto of computer game writersDevGAMM Conference
 
What would I do as a lawyer if I designed a computer game?
What would I do as a lawyer if I designed a computer game?What would I do as a lawyer if I designed a computer game?
What would I do as a lawyer if I designed a computer game?Vladislav Arkhipov
 
Анализ изображений и видео. Построение признаков и сравнение изображений: ло...
Анализ изображений и видео. Построение признаков и сравнение изображений: ло...Анализ изображений и видео. Построение признаков и сравнение изображений: ло...
Анализ изображений и видео. Построение признаков и сравнение изображений: ло...Yandex
 
Magnetic Resonance Imaging
Magnetic Resonance ImagingMagnetic Resonance Imaging
Magnetic Resonance ImagingOğuz Gençer
 
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCVМАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCVPavel Tsukanov
 
Cardiac MRI in hypertrophic cardiomyopathy
Cardiac MRI in hypertrophic cardiomyopathy Cardiac MRI in hypertrophic cardiomyopathy
Cardiac MRI in hypertrophic cardiomyopathy Adolfo Aliaga Quezada
 
MAGNETIC RESONANCE IMAGING; physics
MAGNETIC RESONANCE IMAGING;   physicsMAGNETIC RESONANCE IMAGING;   physics
MAGNETIC RESONANCE IMAGING; physicsArif S
 
MRI - magnetic Imaging resonance
MRI - magnetic Imaging resonanceMRI - magnetic Imaging resonance
MRI - magnetic Imaging resonanceAshim Budhathoki
 
Multidevice Mambo
Multidevice MamboMultidevice Mambo
Multidevice MamboJosh Clark
 
Computer virus (Microsoft Powerpoint)
Computer virus (Microsoft Powerpoint)Computer virus (Microsoft Powerpoint)
Computer virus (Microsoft Powerpoint)ainizbahari97
 
Computer Virus powerpoint presentation
Computer Virus powerpoint presentationComputer Virus powerpoint presentation
Computer Virus powerpoint presentationshohrabkhan
 
Magnetic Resonance Imaging
Magnetic Resonance ImagingMagnetic Resonance Imaging
Magnetic Resonance Imagingguest2d52f2
 

Viewers also liked (20)

Plug computer -- freedombox
Plug computer -- freedomboxPlug computer -- freedombox
Plug computer -- freedombox
 
20100502 computer vision_lempitsky_lectures01-02
20100502 computer vision_lempitsky_lectures01-0220100502 computer vision_lempitsky_lectures01-02
20100502 computer vision_lempitsky_lectures01-02
 
Lecture 1. Introduction to Computer Vision
Lecture 1. Introduction to Computer VisionLecture 1. Introduction to Computer Vision
Lecture 1. Introduction to Computer Vision
 
Manifesto of computer game writers
Manifesto of computer game writersManifesto of computer game writers
Manifesto of computer game writers
 
What would I do as a lawyer if I designed a computer game?
What would I do as a lawyer if I designed a computer game?What would I do as a lawyer if I designed a computer game?
What would I do as a lawyer if I designed a computer game?
 
Анализ изображений и видео. Построение признаков и сравнение изображений: ло...
Анализ изображений и видео. Построение признаков и сравнение изображений: ло...Анализ изображений и видео. Построение признаков и сравнение изображений: ло...
Анализ изображений и видео. Построение признаков и сравнение изображений: ло...
 
Magnetic Resonance Imaging
Magnetic Resonance ImagingMagnetic Resonance Imaging
Magnetic Resonance Imaging
 
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCVМАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
 
Cardiac MRI in hypertrophic cardiomyopathy
Cardiac MRI in hypertrophic cardiomyopathy Cardiac MRI in hypertrophic cardiomyopathy
Cardiac MRI in hypertrophic cardiomyopathy
 
Magnetic Resonance Imaging and Its Benefits
Magnetic Resonance Imaging and Its BenefitsMagnetic Resonance Imaging and Its Benefits
Magnetic Resonance Imaging and Its Benefits
 
Virus
VirusVirus
Virus
 
MAGNETIC RESONANCE IMAGING; physics
MAGNETIC RESONANCE IMAGING;   physicsMAGNETIC RESONANCE IMAGING;   physics
MAGNETIC RESONANCE IMAGING; physics
 
MRI
MRIMRI
MRI
 
Mri physics
Mri physicsMri physics
Mri physics
 
Computer ethics and system security
Computer ethics and system securityComputer ethics and system security
Computer ethics and system security
 
MRI - magnetic Imaging resonance
MRI - magnetic Imaging resonanceMRI - magnetic Imaging resonance
MRI - magnetic Imaging resonance
 
Multidevice Mambo
Multidevice MamboMultidevice Mambo
Multidevice Mambo
 
Computer virus (Microsoft Powerpoint)
Computer virus (Microsoft Powerpoint)Computer virus (Microsoft Powerpoint)
Computer virus (Microsoft Powerpoint)
 
Computer Virus powerpoint presentation
Computer Virus powerpoint presentationComputer Virus powerpoint presentation
Computer Virus powerpoint presentation
 
Magnetic Resonance Imaging
Magnetic Resonance ImagingMagnetic Resonance Imaging
Magnetic Resonance Imaging
 

Similar to 20110925 circuit complexity_seminar_lecture01_kulikov

20090913 algorithmsfornphardproblems kulikov_lecture02
20090913 algorithmsfornphardproblems kulikov_lecture0220090913 algorithmsfornphardproblems kulikov_lecture02
20090913 algorithmsfornphardproblems kulikov_lecture02Computer Science Club
 
20110403 quantum algorithms_vyali_lecture03
20110403 quantum algorithms_vyali_lecture0320110403 quantum algorithms_vyali_lecture03
20110403 quantum algorithms_vyali_lecture03Computer Science Club
 
пугач му по матлогике 2015
пугач му по матлогике 2015пугач му по матлогике 2015
пугач му по матлогике 2015LIPugach
 
ИНТЕГРАЛ ТАЛБАЙ /Integral/
 ИНТЕГРАЛ ТАЛБАЙ /Integral/ ИНТЕГРАЛ ТАЛБАЙ /Integral/
ИНТЕГРАЛ ТАЛБАЙ /Integral/Khishighuu Myanganbuu
 
20111106 circuit complexity_seminar_lecture06_golovnev
20111106 circuit complexity_seminar_lecture06_golovnev20111106 circuit complexity_seminar_lecture06_golovnev
20111106 circuit complexity_seminar_lecture06_golovnevComputer Science Club
 
Многочлены наилучших среднеквадратичных приближений
Многочлены наилучших среднеквадратичных приближенийМногочлены наилучших среднеквадратичных приближений
Многочлены наилучших среднеквадратичных приближенийTheoretical mechanics department
 
Haskell Type System with Dzmitry Ivashnev.
Haskell Type System with Dzmitry Ivashnev.Haskell Type System with Dzmitry Ivashnev.
Haskell Type System with Dzmitry Ivashnev.Sergey Tihon
 
20071111 efficientalgorithms kulikov_lecture05
20071111 efficientalgorithms kulikov_lecture0520071111 efficientalgorithms kulikov_lecture05
20071111 efficientalgorithms kulikov_lecture05Computer Science Club
 
20091115 algorithmsfornphardproblems kulikov_lecture09
20091115 algorithmsfornphardproblems kulikov_lecture0920091115 algorithmsfornphardproblems kulikov_lecture09
20091115 algorithmsfornphardproblems kulikov_lecture09Computer Science Club
 
Методы решения нелинейных уравнений
Методы решения нелинейных уравненийМетоды решения нелинейных уравнений
Методы решения нелинейных уравненийTheoretical mechanics department
 
20091025 algorithmsfornphardproblems kulikov_lecture03
20091025 algorithmsfornphardproblems kulikov_lecture0320091025 algorithmsfornphardproblems kulikov_lecture03
20091025 algorithmsfornphardproblems kulikov_lecture03Computer Science Club
 
логические элементы пк
логические элементы пклогические элементы пк
логические элементы пкRushitech
 
20110409 quantum algorithms_vyali_lecture10
20110409 quantum algorithms_vyali_lecture1020110409 quantum algorithms_vyali_lecture10
20110409 quantum algorithms_vyali_lecture10Computer Science Club
 
20110409 quantum algorithms_vyali_lecture08
20110409 quantum algorithms_vyali_lecture0820110409 quantum algorithms_vyali_lecture08
20110409 quantum algorithms_vyali_lecture08Computer Science Club
 
20110409 quantum algorithms_vyali_lecture08
20110409 quantum algorithms_vyali_lecture0820110409 quantum algorithms_vyali_lecture08
20110409 quantum algorithms_vyali_lecture08Computer Science Club
 
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
 
Метод искусственной пчелиной колонии, алгоритм пчёл
Метод искусственной пчелиной колонии, алгоритм пчёлМетод искусственной пчелиной колонии, алгоритм пчёл
Метод искусственной пчелиной колонии, алгоритм пчёлKirill Netreba
 
20071202 efficientalgorithms kulikov_lecture11
20071202 efficientalgorithms kulikov_lecture1120071202 efficientalgorithms kulikov_lecture11
20071202 efficientalgorithms kulikov_lecture11Computer Science Club
 

Similar to 20110925 circuit complexity_seminar_lecture01_kulikov (20)

20090913 algorithmsfornphardproblems kulikov_lecture02
20090913 algorithmsfornphardproblems kulikov_lecture0220090913 algorithmsfornphardproblems kulikov_lecture02
20090913 algorithmsfornphardproblems kulikov_lecture02
 
20110403 quantum algorithms_vyali_lecture03
20110403 quantum algorithms_vyali_lecture0320110403 quantum algorithms_vyali_lecture03
20110403 quantum algorithms_vyali_lecture03
 
пугач му по матлогике 2015
пугач му по матлогике 2015пугач му по матлогике 2015
пугач му по матлогике 2015
 
ИНТЕГРАЛ ТАЛБАЙ /Integral/
 ИНТЕГРАЛ ТАЛБАЙ /Integral/ ИНТЕГРАЛ ТАЛБАЙ /Integral/
ИНТЕГРАЛ ТАЛБАЙ /Integral/
 
20111106 circuit complexity_seminar_lecture06_golovnev
20111106 circuit complexity_seminar_lecture06_golovnev20111106 circuit complexity_seminar_lecture06_golovnev
20111106 circuit complexity_seminar_lecture06_golovnev
 
Многочлены наилучших среднеквадратичных приближений
Многочлены наилучших среднеквадратичных приближенийМногочлены наилучших среднеквадратичных приближений
Многочлены наилучших среднеквадратичных приближений
 
Haskell Type System with Dzmitry Ivashnev.
Haskell Type System with Dzmitry Ivashnev.Haskell Type System with Dzmitry Ivashnev.
Haskell Type System with Dzmitry Ivashnev.
 
20071111 efficientalgorithms kulikov_lecture05
20071111 efficientalgorithms kulikov_lecture0520071111 efficientalgorithms kulikov_lecture05
20071111 efficientalgorithms kulikov_lecture05
 
Урок 8. Введение в редукцию графов
Урок 8. Введение в редукцию графовУрок 8. Введение в редукцию графов
Урок 8. Введение в редукцию графов
 
20091115 algorithmsfornphardproblems kulikov_lecture09
20091115 algorithmsfornphardproblems kulikov_lecture0920091115 algorithmsfornphardproblems kulikov_lecture09
20091115 algorithmsfornphardproblems kulikov_lecture09
 
Методы решения нелинейных уравнений
Методы решения нелинейных уравненийМетоды решения нелинейных уравнений
Методы решения нелинейных уравнений
 
20091025 algorithmsfornphardproblems kulikov_lecture03
20091025 algorithmsfornphardproblems kulikov_lecture0320091025 algorithmsfornphardproblems kulikov_lecture03
20091025 algorithmsfornphardproblems kulikov_lecture03
 
Урок 6. Чистое лямбда-исчисление.
Урок 6. Чистое лямбда-исчисление. Урок 6. Чистое лямбда-исчисление.
Урок 6. Чистое лямбда-исчисление.
 
логические элементы пк
логические элементы пклогические элементы пк
логические элементы пк
 
20110409 quantum algorithms_vyali_lecture10
20110409 quantum algorithms_vyali_lecture1020110409 quantum algorithms_vyali_lecture10
20110409 quantum algorithms_vyali_lecture10
 
20110409 quantum algorithms_vyali_lecture08
20110409 quantum algorithms_vyali_lecture0820110409 quantum algorithms_vyali_lecture08
20110409 quantum algorithms_vyali_lecture08
 
20110409 quantum algorithms_vyali_lecture08
20110409 quantum algorithms_vyali_lecture0820110409 quantum algorithms_vyali_lecture08
20110409 quantum algorithms_vyali_lecture08
 
20111002 circuit complexity_seminar_lecture03_kulikov
20111002 circuit complexity_seminar_lecture03_kulikov20111002 circuit complexity_seminar_lecture03_kulikov
20111002 circuit complexity_seminar_lecture03_kulikov
 
Метод искусственной пчелиной колонии, алгоритм пчёл
Метод искусственной пчелиной колонии, алгоритм пчёлМетод искусственной пчелиной колонии, алгоритм пчёл
Метод искусственной пчелиной колонии, алгоритм пчёл
 
20071202 efficientalgorithms kulikov_lecture11
20071202 efficientalgorithms kulikov_lecture1120071202 efficientalgorithms kulikov_lecture11
20071202 efficientalgorithms kulikov_lecture11
 

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
 

20110925 circuit complexity_seminar_lecture01_kulikov

  • 1. Семинар по сложности булевых функций Лекция 1: Введение А. Куликов Computer Science клуб при ПОМИ http://compsciclub.ru 25.09.2011 А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 1 / 26
  • 2. План лекции 1 Булевы функции 2 Булевы схемы 3 Почти все функции имеют большую схемную сложность Нижняя оценка Верхняя оценка А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 2 / 26
  • 3. Теория сложности вычислений Структурная теория сложности изучает следующие вопросы: является ли память более мощным ресурсом, чем время? улучшают ли случайные числа мощь вычислительных ресурсов? легче ли проверить доказательство, чем найти его? Мы до сих пор не знаем ответов на эти вопросы. Большинство результатов в структурной теории сложности условные, то есть опираются на недоказанные предположения (такие, как P̸=NP). А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 3 / 26
  • 4. Теория сложности вычислений Структурная теория сложности изучает следующие вопросы: является ли память более мощным ресурсом, чем время? улучшают ли случайные числа мощь вычислительных ресурсов? легче ли проверить доказательство, чем найти его? Мы до сих пор не знаем ответов на эти вопросы. Большинство результатов в структурной теории сложности условные, то есть опираются на недоказанные предположения (такие, как P̸=NP). Схемная сложность изучает нижние оценки на вычислительную сложность конкретных задач (например, умножение матриц или проверка наличия больших клик в графе). Рассматриваются конкретные модели вычисления такие, как разрешающие деревья, ветвящиеся программы, булевы формулы, различные классы булевых схем, коммуникационные протоколы. Целью данной области являются безусловные нижние оценки. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 3 / 26
  • 5. Нижние оценки Простейшие булевы функции: конъюнкция (произведение) x · y , исключающее ИЛИ (сумма по модулю 2) x ⊕ y , ИЛИ x ∨ y , отрицание ¬x = 1 − x. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 4 / 26
  • 6. Нижние оценки Простейшие булевы функции: конъюнкция (произведение) x · y , исключающее ИЛИ (сумма по модулю 2) x ⊕ y , ИЛИ x ∨ y , отрицание ¬x = 1 − x. Центральная задача: сколько таких базовых операций необходимо для того, чтобы вычислить данную булеву функцию f : {0, 1}n → {0, 1}? А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 4 / 26
  • 7. Нижние оценки Простейшие булевы функции: конъюнкция (произведение) x · y , исключающее ИЛИ (сумма по модулю 2) x ⊕ y , ИЛИ x ∨ y , отрицание ¬x = 1 − x. Центральная задача: сколько таких базовых операций необходимо для того, чтобы вычислить данную булеву функцию f : {0, 1}n → {0, 1}? Сложность доказательства нижних оценок идёт от нашего противника схемы. Схемы небольшого размера могут производить вычисления очень контринтуитивно. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 4 / 26
  • 8. Нижние оценки Простейшие булевы функции: конъюнкция (произведение) x · y , исключающее ИЛИ (сумма по модулю 2) x ⊕ y , ИЛИ x ∨ y , отрицание ¬x = 1 − x. Центральная задача: сколько таких базовых операций необходимо для того, чтобы вычислить данную булеву функцию f : {0, 1}n → {0, 1}? Сложность доказательства нижних оценок идёт от нашего противника схемы. Схемы небольшого размера могут производить вычисления очень контринтуитивно. Как доказать, что нет хитрого способа вычислить функцию? А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 4 / 26
  • 9. Нижние оценки Простейшие булевы функции: конъюнкция (произведение) x · y , исключающее ИЛИ (сумма по модулю 2) x ⊕ y , ИЛИ x ∨ y , отрицание ¬x = 1 − x. Центральная задача: сколько таких базовых операций необходимо для того, чтобы вычислить данную булеву функцию f : {0, 1}n → {0, 1}? Сложность доказательства нижних оценок идёт от нашего противника схемы. Схемы небольшого размера могут производить вычисления очень контринтуитивно. Как доказать, что нет хитрого способа вычислить функцию? Данная задача лежит на стыке математики и computer science: нижние оценки очень важны для computer science, а их доказательства требуют методов комбинаторики, алгебры, мат. анализа и других областей математики. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 4 / 26
  • 10. План лекции 1 Булевы функции 2 Булевы схемы 3 Почти все функции имеют большую схемную сложность Нижняя оценка Верхняя оценка А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 5 / 26
  • 11. Булевы функции Bn это множество всех булевых функций f : {0, 1}n → {0, 1} от n переменных. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 6 / 26
  • 12. Булевы функции Bn это множество всех булевых функций f : {0, 1}n → {0, 1} от n переменных. Булева функция f ∈ Bn принимает вектор a ∈ {0, 1}n , если f (a) = 1, и отвергает в противном случае. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 6 / 26
  • 13. Булевы функции Bn это множество всех булевых функций f : {0, 1}n → {0, 1} от n переменных. Булева функция f ∈ Bn принимает вектор a ∈ {0, 1}n , если f (a) = 1, и отвергает в противном случае. Булева функция зависит от своей i-й переменной xi , если найдутся такие константы a1 , . . . , ai−1 , ai+1 , . . . , an , что f (a1 , . . . , ai−1 , 0, ai+1 , . . . , an ) ̸= f (a1 , . . . , ai−1 , 1, ai+1 , . . . , an ). А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 6 / 26
  • 14. Булевы функции Bn это множество всех булевых функций f : {0, 1}n → {0, 1} от n переменных. Булева функция f ∈ Bn принимает вектор a ∈ {0, 1}n , если f (a) = 1, и отвергает в противном случае. Булева функция зависит от своей i-й переменной xi , если найдутся такие константы a1 , . . . , ai−1 , ai+1 , . . . , an , что f (a1 , . . . , ai−1 , 0, ai+1 , . . . , an ) ̸= f (a1 , . . . , ai−1 , 1, ai+1 , . . . , an ). Количество |Bn | различных булевых функций от n переменных n равно 22 , то есть дважды экспоненциально. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 6 / 26
  • 15. Симметрические булевы функции Функция f называется симметрической, если её значение зависит только от суммы входных битов. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 7 / 26
  • 16. Симметрические булевы функции Функция f называется симметрической, если её значение зависит только от суммы входных битов. Всего есть 2n+1 различных симметрических функций. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 7 / 26
  • 17. Симметрические булевы функции Функция f называется симметрической, если её значение зависит только от суммы входных битов. Всего есть 2n+1 различных симметрических функций. Примеры А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 7 / 26
  • 18. Симметрические булевы функции Функция f называется симметрической, если её значение зависит только от суммы входных битов. Всего есть 2n+1 различных симметрических функций. Примеры пороговая функция: Thn (x) = 1 ⇔ x1 + · · · + xn ≥ k; k А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 7 / 26
  • 19. Симметрические булевы функции Функция f называется симметрической, если её значение зависит только от суммы входных битов. Всего есть 2n+1 различных симметрических функций. Примеры пороговая функция: Thn (x) = 1 ⇔ x1 + · · · + xn ≥ k; k функция голосования: Majn (x) = 1 ⇔ x1 + · · · + xn ≥ ⌈n/2⌉; А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 7 / 26
  • 20. Симметрические булевы функции Функция f называется симметрической, если её значение зависит только от суммы входных битов. Всего есть 2n+1 различных симметрических функций. Примеры пороговая функция: Thn (x) = 1 ⇔ x1 + · · · + xn ≥ k; k функция голосования: Majn (x) = 1 ⇔ x1 + · · · + xn ≥ ⌈n/2⌉; функция чётности: ⊕n (x) = 1 ⇔ x1 + · · · + xn ≡ 1 (mod 2); А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 7 / 26
  • 21. Симметрические булевы функции Функция f называется симметрической, если её значение зависит только от суммы входных битов. Всего есть 2n+1 различных симметрических функций. Примеры пороговая функция: Thn (x) = 1 ⇔ x1 + · · · + xn ≥ k; k функция голосования: Majn (x) = 1 ⇔ x1 + · · · + xn ≥ ⌈n/2⌉; функция чётности: ⊕n (x) = 1 ⇔ x1 + · · · + xn ≡ 1 (mod 2); функция остатка по модулю: MODn = 1 ⇔ x1 + · · · + xn ≡ 0 (mod k). k А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 7 / 26
  • 22. Ещё примеры булевых функций В общем-то, любое свойство можно задать с помощью булевой функции. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 8 / 26
  • 23. Ещё примеры булевых функций В общем-то, любое свойство можно задать с помощью булевой функции. Например, свойство числа быть простым“ задаёт булеву ” функцию PRIME: PRIME(x) = 1 ⇔ n xi 2i−1 ∑︀ i=1 простое число. Не так давно было доказано, что эта функция может быть детерминированно вычислена за полиномиальное от n время [Agrawal, Kayal, Saxena, 2004]. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 8 / 26
  • 24. Ещё примеры булевых функций В общем-то, любое свойство можно задать с помощью булевой функции. Например, свойство числа быть простым“ задаёт булеву ” функцию PRIME: PRIME(x) = 1 ⇔ n xi 2i−1 ∑︀ i=1 простое число. Не так давно было доказано, что эта функция может быть детерминированно вычислена за полиномиальное от n время [Agrawal, Kayal, Saxena, 2004]. Чтобы описать свойство графа, надо задать функцию на Cn 2 переменных. Каждый вектор x длины Cn 2 задает граф G : x переменная xij отвечает за наличие ребра между вершинами i и j. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 8 / 26
  • 25. Ещё примеры булевых функций В общем-то, любое свойство можно задать с помощью булевой функции. Например, свойство числа быть простым“ задаёт булеву ” функцию PRIME: PRIME(x) = 1 ⇔ n xi 2i−1 ∑︀ i=1 простое число. Не так давно было доказано, что эта функция может быть детерминированно вычислена за полиномиальное от n время [Agrawal, Kayal, Saxena, 2004]. Чтобы описать свойство графа, надо задать функцию на Cn 2 переменных. Каждый вектор x длины Cn 2 задает граф G : x переменная xij отвечает за наличие ребра между вершинами i и j. Пример сложного для вычисления свойства графа функция клики: CLIQUE(n, k) принимает вектор x тогда и только тогда, когда Gx содержит клику размера k. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 8 / 26
  • 26. Ещё примеры булевых функций В общем-то, любое свойство можно задать с помощью булевой функции. Например, свойство числа быть простым“ задаёт булеву ” функцию PRIME: PRIME(x) = 1 ⇔ n xi 2i−1 ∑︀ i=1 простое число. Не так давно было доказано, что эта функция может быть детерминированно вычислена за полиномиальное от n время [Agrawal, Kayal, Saxena, 2004]. Чтобы описать свойство графа, надо задать функцию на Cn 2 переменных. Каждый вектор x длины Cn 2 задает граф G : x переменная xij отвечает за наличие ребра между вершинами i и j. Пример сложного для вычисления свойства графа функция клики: CLIQUE(n, k) принимает вектор x тогда и только тогда, когда Gx содержит клику размера k. До сих пор не известно, может ли данная функция быть вычислена за полиномиальное время. Из доказательства отрицательного ответа будет тут же следовать P̸=NP. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 8 / 26
  • 27. План лекции 1 Булевы функции 2 Булевы схемы 3 Почти все функции имеют большую схемную сложность Нижняя оценка Верхняя оценка А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 9 / 26
  • 28. Пример схемы x1 x2 x3 1 g1 = x1 ⊕ x2 g1 ⊕ g2 ∧ g2 = x2 ∧ x3 g3 = g1 ∨ g2 g3 ∨ g4 ∨ g4 = g2 ∨ 1 g5 = g3 ≡ g 4 g5 ≡ А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 10 / 26
  • 29. Формальное определение А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 11 / 26
  • 30. Формальное определение Итак, булева схема от n переменных над базисом Φ это последовательность g1 , . . . , gt из t ≥ n булевых функций, такая что первые n функций являются просто входными переменными g1 = x1 , . . . , gn = xn , а каждая следующая функция gi является применением gi = ������(gi1 , . . . , gud ) базовой функции ������ ∈ Φ к некоторым из предыдущих функций. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 11 / 26
  • 31. Формальное определение Итак, булева схема от n переменных над базисом Φ это последовательность g1 , . . . , gt из t ≥ n булевых функций, такая что первые n функций являются просто входными переменными g1 = x1 , . . . , gn = xn , а каждая следующая функция gi является применением gi = ������(gi1 , . . . , gud ) базовой функции ������ ∈ Φ к некоторым из предыдущих функций. Размером схемы называется количество (t − n) её гейтов (функциональных элементов). Глубиной называется длина самого длинного пути от входной переменной до выхода. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 11 / 26
  • 32. Формулы и схемы де Моргана А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 12 / 26
  • 33. Формулы и схемы де Моргана Формулой называется схема, соответствующий граф которой является деревом. Основное отличие от схем заключается в том, что результат вычислений каждого гейта не может быть использован более одного раза. Формула может быть записана в одну строчку. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 12 / 26
  • 34. Формулы и схемы де Моргана Формулой называется схема, соответствующий граф которой является деревом. Основное отличие от схем заключается в том, что результат вычислений каждого гейта не может быть использован более одного раза. Формула может быть записана в одну строчку. Схемой де Моргана называется схема над базисом {∧, ∨}, входами которой являются литералы, то есть переменные и их отрицания. Другими словами, отрицания применяются только ко входам. Используя правила де Моргана ¬(x ∨ y ) = ¬x ∧ ¬y и ¬(x ∧ y ) = ¬x ∨ ¬y , любую схему над базисом {∧, ∨, ¬} можно преобразовать в схему де Моргана, увеличив размер не более, чем вдвое. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 12 / 26
  • 35. План лекции 1 Булевы функции 2 Булевы схемы 3 Почти все функции имеют большую схемную сложность Нижняя оценка Верхняя оценка А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 13 / 26
  • 36. План лекции 1 Булевы функции 2 Булевы схемы 3 Почти все функции имеют большую схемную сложность Нижняя оценка Верхняя оценка А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 14 / 26
  • 37. Функция Шэннона А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 15 / 26
  • 38. Функция Шэннона Функция Шэннона (для некоторой модели схем): ������(n) это максимальный размер схемной сложности функции от n переменных. Другими словами, ������(n) есть такое минимальное число t, что любая функция от n переменных может быть вычислена схемами размера t. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 15 / 26
  • 39. Функция Шэннона Функция Шэннона (для некоторой модели схем): ������(n) это максимальный размер схемной сложности функции от n переменных. Другими словами, ������(n) есть такое минимальное число t, что любая функция от n переменных может быть вычислена схемами размера t. Как правило, под функцией f подразумевается бесконечная последовательность функций f = {fn | n = 1, 2, . . . }. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 15 / 26
  • 40. Функция Шэннона Функция Шэннона (для некоторой модели схем): ������(n) это максимальный размер схемной сложности функции от n переменных. Другими словами, ������(n) есть такое минимальное число t, что любая функция от n переменных может быть вычислена схемами размера t. Как правило, под функцией f подразумевается бесконечная последовательность функций f = {fn | n = 1, 2, . . . }. Замечание: в дальнейшем рассматриваем схемы над полным бинарным базисом B2 . А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 15 / 26
  • 41. Схемная сложность случайной функции А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 16 / 26
  • 42. Схемная сложность случайной функции Из соображений мощности (Shannon, 1949): оценим, какое количество функций от n переменных могут быть вычислены n схемам размера t, и сравним полученное число с числом 22 всех функций от n переменных. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 16 / 26
  • 43. Схемная сложность случайной функции Из соображений мощности (Shannon, 1949): оценим, какое количество функций от n переменных могут быть вычислены n схемам размера t, и сравним полученное число с числом 22 всех функций от n переменных. Число F (n, t) схем размера ≤ t от n переменных не превосходит )︀t 16(t + n + 2)2 . (︀ Каждый из t гейтов вычисляет одну из 16 возможных бинарных булевых функций и зависит от двух предыдущих гейтов, которые могут быть гейтов (≤ t возможностей) или же переменной или константой (≤ n + 2 возможностей). А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 16 / 26
  • 44. Схемная сложность случайной функции Из соображений мощности (Shannon, 1949): оценим, какое количество функций от n переменных могут быть вычислены n схемам размера t, и сравним полученное число с числом 22 всех функций от n переменных. Число F (n, t) схем размера ≤ t от n переменных не превосходит )︀t 16(t + n + 2)2 . (︀ Каждый из t гейтов вычисляет одну из 16 возможных бинарных булевых функций и зависит от двух предыдущих гейтов, которые могут быть гейтов (≤ t возможностей) или же переменной или константой (≤ n + 2 возможностей). n n Для t = 2n /(10n), F (n, t) приблизительно равно 22 /5 , что ≪ 22 . А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 16 / 26
  • 45. Схемная сложность случайной функции Из соображений мощности (Shannon, 1949): оценим, какое количество функций от n переменных могут быть вычислены n схемам размера t, и сравним полученное число с числом 22 всех функций от n переменных. Число F (n, t) схем размера ≤ t от n переменных не превосходит )︀t 16(t + n + 2)2 . (︀ Каждый из t гейтов вычисляет одну из 16 возможных бинарных булевых функций и зависит от двух предыдущих гейтов, которые могут быть гейтов (≤ t возможностей) или же переменной или константой (≤ n + 2 возможностей). n n Для t = 2n /(10n), F (n, t) приблизительно равно 22 /5 , что ≪ 22 . Таким образом, схемная сложность почти всех функций от n переменных экспоненциальна по n. В то же время не известно ни одной явной функции, требующей схем более чем линейного размера. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 16 / 26
  • 46. План лекции 1 Булевы функции 2 Булевы схемы 3 Почти все функции имеют большую схемную сложность Нижняя оценка Верхняя оценка А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 17 / 26
  • 47. Представление функции многочленом над GF(2) А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 18 / 26
  • 48. Представление функции многочленом над GF(2) Любую функцию f ∈ Bn можно представить (причём единственным образом) многочленом над GF(2). А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 18 / 26
  • 49. Представление функции многочленом над GF(2) Любую функцию f ∈ Bn можно представить (причём единственным образом) многочленом над GF(2). Чтобы представить функцию многочленом, достаточно взять все вектора, принимаемые этой функцией, и сложить соответствующие им элементарные конъюнкции. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 18 / 26
  • 50. Представление функции многочленом над GF(2) Любую функцию f ∈ Bn можно представить (причём единственным образом) многочленом над GF(2). Чтобы представить функцию многочленом, достаточно взять все вектора, принимаемые этой функцией, и сложить соответствующие им элементарные конъюнкции. Пример: Thr3 2 А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 18 / 26
  • 51. Представление функции многочленом над GF(2) Любую функцию f ∈ Bn можно представить (причём единственным образом) многочленом над GF(2). Чтобы представить функцию многочленом, достаточно взять все вектора, принимаемые этой функцией, и сложить соответствующие им элементарные конъюнкции. Пример: Thr3 2 Рассмотрим функцию Thr3 : Thr3 (x1 , x2 , x3 ) = 1 ⇔ x1 + x2 + x3 ≥ 2 . 2 2 А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 18 / 26
  • 52. Представление функции многочленом над GF(2) Любую функцию f ∈ Bn можно представить (причём единственным образом) многочленом над GF(2). Чтобы представить функцию многочленом, достаточно взять все вектора, принимаемые этой функцией, и сложить соответствующие им элементарные конъюнкции. Пример: Thr3 2 Рассмотрим функцию Thr3 : Thr3 (x1 , x2 , x3 ) = 1 ⇔ x1 + x2 + x3 ≥ 2 . 2 2 Соответствующий многочлен: x1 x2 x3 + (1 − x1 )x2 x3 + x1 (1 − x2 )x3 + x1 x2 (1 − x3 ) = x1 x2 + x2 x3 + x3 x1 . А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 18 / 26
  • 53. Представление функции многочленом над GF(2) Любую функцию f ∈ Bn можно представить (причём единственным образом) многочленом над GF(2). Чтобы представить функцию многочленом, достаточно взять все вектора, принимаемые этой функцией, и сложить соответствующие им элементарные конъюнкции. Пример: Thr3 2 Рассмотрим функцию Thr3 : Thr3 (x1 , x2 , x3 ) = 1 ⇔ x1 + x2 + x3 ≥ 2 . 2 2 Соответствующий многочлен: x1 x2 x3 + (1 − x1 )x2 x3 + x1 (1 − x2 )x3 + x1 x2 (1 − x3 ) = x1 x2 + x2 x3 + x3 x1 . Итак, любая функция представляется многочленом. Чтобы понять, что такой многочлен единственен, достаточно заметить, что количество различных функций и количество различных n многочленов совпадают и равны 22 . А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 18 / 26
  • 54. Очевидная верхняя оценка А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 19 / 26
  • 55. Очевидная верхняя оценка Из представления функции многочленом сразу следует, что схемная сложность любой функции не превосходит n2n . А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 19 / 26
  • 56. Очевидная верхняя оценка Из представления функции многочленом сразу следует, что схемная сложность любой функции не превосходит n2n . Такую же верхнюю оценку можно получить, заметив, что любую функцию можно представить в виде конъюнктивной нормальной формы (КНФ), то есть конъюнкции дизъюнкций литералов, или конъюнктивной нормальной формы (КНФ), то есть дизъюнкции конъюнкций литералов. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 19 / 26
  • 57. Очевидная верхняя оценка Из представления функции многочленом сразу следует, что схемная сложность любой функции не превосходит n2n . Такую же верхнюю оценку можно получить, заметив, что любую функцию можно представить в виде конъюнктивной нормальной формы (КНФ), то есть конъюнкции дизъюнкций литералов, или конъюнктивной нормальной формы (КНФ), то есть дизъюнкции конъюнкций литералов. Пример: ДНФ для Thr3 2 x1 x2 x3 ∨ x1 x2 x3 ∨ x1 x2 x3 ∨ x1 x2 x3 ¯ ¯ ¯ А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 19 / 26
  • 58. Улучшение А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 20 / 26
  • 59. Улучшение Чтобы получить более сильную оценку, нужно заметить, что функцию f ∈ Bn всегда можно представить как f (x1 , . . . , xn ) = f0 (x1 , . . . , xn−1 ) + xn fΔ (x1 , . . . , xn−1 ) , где fΔ = f0 + f1 , а f0 = f |xn =0 и f1 = f |xn =1 . А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 20 / 26
  • 60. Улучшение Чтобы получить более сильную оценку, нужно заметить, что функцию f ∈ Bn всегда можно представить как f (x1 , . . . , xn ) = f0 (x1 , . . . , xn−1 ) + xn fΔ (x1 , . . . , xn−1 ) , где fΔ = f0 + f1 , а f0 = f |xn =0 и f1 = f |xn =1 . Это даёт нам следующее рекуррентное соотношение: ������(n) ≤ 2������(n − 1) + 2, ������(1) = 1 . А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 20 / 26
  • 61. Улучшение Чтобы получить более сильную оценку, нужно заметить, что функцию f ∈ Bn всегда можно представить как f (x1 , . . . , xn ) = f0 (x1 , . . . , xn−1 ) + xn fΔ (x1 , . . . , xn−1 ) , где fΔ = f0 + f1 , а f0 = f |xn =0 и f1 = f |xn =1 . Это даёт нам следующее рекуррентное соотношение: ������(n) ≤ 2������(n − 1) + 2, ������(1) = 1 . 3 Из данного соотношения следует верхняя оценка ������(n) ≤ 4 2n − 2. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 20 / 26
  • 62. Дальнейшее улучшение А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 21 / 26
  • 63. Дальнейшее улучшение Идея улучшения (Shannon, 1949): вместо того, чтобы рекурсивно спускаться до n = 1, предвычислим все булевы функции от k ≪ n переменных. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 21 / 26
  • 64. Дальнейшее улучшение Идея улучшения (Shannon, 1949): вместо того, чтобы рекурсивно спускаться до n = 1, предвычислим все булевы функции от k ≪ n переменных. Это даст нам рекуррентное соотношение вида ������′ (n) ≤ 2������′ (n − 1) + 2, ������′ (k) = 0 . А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 21 / 26
  • 65. Дальнейшее улучшение Идея улучшения (Shannon, 1949): вместо того, чтобы рекурсивно спускаться до n = 1, предвычислим все булевы функции от k ≪ n переменных. Это даст нам рекуррентное соотношение вида ������′ (n) ≤ 2������′ (n − 1) + 2, ������′ (k) = 0 . Тогда после предвычисления нам понадобится не более ������′ (n) ≤ 2 · 2n−k − 2 гейтов. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 21 / 26
  • 66. Дальнейшее улучшение Идея улучшения (Shannon, 1949): вместо того, чтобы рекурсивно спускаться до n = 1, предвычислим все булевы функции от k ≪ n переменных. Это даст нам рекуррентное соотношение вида ������′ (n) ≤ 2������′ (n − 1) + 2, ������′ (k) = 0 . Тогда после предвычисления нам понадобится не более ������′ (n) ≤ 2 · 2n−k − 2 гейтов. Ниже мы покажем, что на предвычисление понадобится не более k 22 гейтов. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 21 / 26
  • 67. Дальнейшее улучшение Идея улучшения (Shannon, 1949): вместо того, чтобы рекурсивно спускаться до n = 1, предвычислим все булевы функции от k ≪ n переменных. Это даст нам рекуррентное соотношение вида ������′ (n) ≤ 2������′ (n − 1) + 2, ������′ (k) = 0 . Тогда после предвычисления нам понадобится не более ������′ (n) ≤ 2 · 2n−k − 2 гейтов. Ниже мы покажем, что на предвычисление понадобится не более k 22 гейтов. k Тогда ������(n) ≤ 22 + 2 · 2n−k − 2. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 21 / 26
  • 68. Дальнейшее улучшение Идея улучшения (Shannon, 1949): вместо того, чтобы рекурсивно спускаться до n = 1, предвычислим все булевы функции от k ≪ n переменных. Это даст нам рекуррентное соотношение вида ������′ (n) ≤ 2������′ (n − 1) + 2, ������′ (k) = 0 . Тогда после предвычисления нам понадобится не более ������′ (n) ≤ 2 · 2n−k − 2 гейтов. Ниже мы покажем, что на предвычисление понадобится не более k 22 гейтов. k Тогда ������(n) ≤ 22 + 2 · 2n−k − 2. Взяв k = ⌊log2 n − ������⌋, получим, что ������(n) ≤ 22+������ · 2n /n + o(2n /n). А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 21 / 26
  • 69. Вычисление всех функций одновременно А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 22 / 26
  • 70. Вычисление всех функций одновременно Итак, осталось показать, как вычислить все функции от k k переменных за 22 гейтов. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 22 / 26
  • 71. Вычисление всех функций одновременно Итак, осталось показать, как вычислить все функции от k k переменных за 22 гейтов. Сначала вычислим все мономы, последовательно увеличивая их размер. Потом вычислим все суммы мономов, последовательно увеличивая количество членов в сумме. Таким образом, получим k все 22 многочленов от k переменных. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 22 / 26
  • 72. Вычисление всех функций одновременно Итак, осталось показать, как вычислить все функции от k k переменных за 22 гейтов. Сначала вычислим все мономы, последовательно увеличивая их размер. Потом вычислим все суммы мономов, последовательно увеличивая количество членов в сумме. Таким образом, получим k все 22 многочленов от k переменных. Мономы степени 0 и 1 у нас уже есть это просто две константы и k входных переменных. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 22 / 26
  • 73. Вычисление всех функций одновременно Итак, осталось показать, как вычислить все функции от k k переменных за 22 гейтов. Сначала вычислим все мономы, последовательно увеличивая их размер. Потом вычислим все суммы мономов, последовательно увеличивая количество членов в сумме. Таким образом, получим k все 22 многочленов от k переменных. Мономы степени 0 и 1 у нас уже есть это просто две константы и k входных переменных. Чтобы получить моном степени d , достаточно одного гейта: нужно взять моном степени d − 1 и домножить его на переменную. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 22 / 26
  • 74. Вычисление всех функций одновременно Итак, осталось показать, как вычислить все функции от k k переменных за 22 гейтов. Сначала вычислим все мономы, последовательно увеличивая их размер. Потом вычислим все суммы мономов, последовательно увеличивая количество членов в сумме. Таким образом, получим k все 22 многочленов от k переменных. Мономы степени 0 и 1 у нас уже есть это просто две константы и k входных переменных. Чтобы получить моном степени d , достаточно одного гейта: нужно взять моном степени d − 1 и домножить его на переменную. Чтобы получить сумму s мономов, достаточно одного гейта: нужно взять сумму (s − 1) мономов и прибавить к ней моном. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 22 / 26
  • 75. Более точная оценка Используя более хитрую конструкцию, Лупанов (1958) доказал, что (︂ (︂ )︂)︂ n log n 2 ������(n) ≤ 1 + O . n n А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 23 / 26
  • 76. Текущие рекорды А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 24 / 26
  • 77. Текущие рекорды Итак, мы узнали, что схемная сложность почти любой функции из Bn есть Θ(2n /n). А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 24 / 26
  • 78. Текущие рекорды Итак, мы узнали, что схемная сложность почти любой функции из Bn есть Θ(2n /n). Лучшие доказанные на данный момент оценки для явных функций: схемы формулы полный бинарный базис B2 3n − o(n) n2−o(1) [Blum] [Нечипорук] базис U2 = B2 ∖ {⊕, ≡} 5n − o(n) n3−o(1) [Iwama et al.] [Hastad] экспоненциальная монотонный базис M2 = {∨, ∧} [Разборов; Alon, Boppana; Андреев; Karchmer, Wigderson] А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 24 / 26
  • 79. Упражнения А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 25 / 26
  • 80. Упражнения Докажите, что для любой функции от n переменных есть вычисляющая её формула де Моргана, в которой не более 4 · 2n − 2 листьев. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 25 / 26
  • 81. Упражнения Докажите, что для любой функции от n переменных есть вычисляющая её формула де Моргана, в которой не более 4 · 2n − 2 листьев. Пусть m = ⌈log2 (n + 1)⌉ и пусть Sumn : {0, 1}n → {0, 1}m по входу x выдаёт бинарное представление суммы его битов. Рассмотрим схемы над полным бинарным базисом. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 25 / 26
  • 82. Упражнения Докажите, что для любой функции от n переменных есть вычисляющая её формула де Моргана, в которой не более 4 · 2n − 2 листьев. Пусть m = ⌈log2 (n + 1)⌉ и пусть Sumn : {0, 1}n → {0, 1}m по входу x выдаёт бинарное представление суммы его битов. Рассмотрим схемы над полным бинарным базисом. Покажите, что C (Sum3 ) ≤ 5. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 25 / 26
  • 83. Упражнения Докажите, что для любой функции от n переменных есть вычисляющая её формула де Моргана, в которой не более 4 · 2n − 2 листьев. Пусть m = ⌈log2 (n + 1)⌉ и пусть Sumn : {0, 1}n → {0, 1}m по входу x выдаёт бинарное представление суммы его битов. Рассмотрим схемы над полным бинарным базисом. Покажите, что C (Sum3 ) ≤ 5. Покажите, что C (Sumn ) ≤ 5n. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 25 / 26
  • 84. Упражнения Докажите, что для любой функции от n переменных есть вычисляющая её формула де Моргана, в которой не более 4 · 2n − 2 листьев. Пусть m = ⌈log2 (n + 1)⌉ и пусть Sumn : {0, 1}n → {0, 1}m по входу x выдаёт бинарное представление суммы его битов. Рассмотрим схемы над полным бинарным базисом. Покажите, что C (Sum3 ) ≤ 5. Покажите, что C (Sumn ) ≤ 5n. Покажите, что C (fn ) ≤ 5n + o(n), где fn — симметрическая функция от n переменных. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 25 / 26
  • 85. Упражнения Докажите, что для любой функции от n переменных есть вычисляющая её формула де Моргана, в которой не более 4 · 2n − 2 листьев. Пусть m = ⌈log2 (n + 1)⌉ и пусть Sumn : {0, 1}n → {0, 1}m по входу x выдаёт бинарное представление суммы его битов. Рассмотрим схемы над полным бинарным базисом. Покажите, что C (Sum3 ) ≤ 5. Покажите, что C (Sumn ) ≤ 5n. Покажите, что C (fn ) ≤ 5n + o(n), где fn — симметрическая функция от n переменных. (Схемы как линейные программы.) Пусть F (x) схема над {∨, ∧, ¬} с m гейтами. Покажите, что найдётся система L(x, y ) из O(m) линейных неравенств с коэффициентами ±1, такая что для всех x ∈ {0, 1}n , F (x) = 1 тогда и только тогда, когда найдётся такой вектор y , что все неравенства системы L(x, y ) выполнены. А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 25 / 26
  • 86. Спасибо за внимание! А. Куликов (Computer Science клуб) 1. Введение 25.09.2011 26 / 26