SlideShare a Scribd company logo
1 of 24
Download to read offline
Структурная теория сложности

     Эдуард Алексеевич Гирш

http://logic.pdmi.ras.ru/~hirsch

            ПОМИ РАН


       28 сентября 2008 г.




                                   1 / 19
Напоминание: что мы решаем (1)


Работаем в алфавите {0, 1}.
Множество слов длины n в нём: {0, 1}n .
Множество всех (конечных) слов: {0, 1}∗ .
Длина слова x: |x|.

Индивидуальная задача     пара (условие, решение) ∈ {0, 1}∗ × {0, 1}∗ .

Массовая задача некоторое множество индивидуальных задач,
т.е. бинарное отношение на {0, 1}∗ .

Наиболее интересные массовые задачи бесконечные,
с возможностью проверить корректность решения.



                                                                    2 / 19
Напоминание: что мы решаем (2)
Пример (полагаем N ⊂ {0, 1}∗ ):
                                     .
                FACTOR = {(n, d ) | n. , 1 < d < n}.
                                     .d

Алгоритм решает задачу поиска для массовой задачи R, если для
условия x он находит решение w , удовлетворяющее (x, w ) ∈ R.




                                                                3 / 19
Напоминание: что мы решаем (2)
Пример (полагаем N ⊂ {0, 1}∗ ):
                                      .
                 FACTOR = {(n, d ) | n. , 1 < d < n}.
                                      .d

Алгоритм решает задачу поиска для массовой задачи R, если для
условия x он находит решение w , удовлетворяющее (x, w ) ∈ R.

Также решаем (распознаём) задачи распознавания (языки), т.е. задачи
типа “да”/“нет”. Для массовой задачи R

                     L(R) = {x | ∃w (x, w ) ∈ R}.

Например,

            L(FACTOR) = множество всех составных чисел.

                                                                3 / 19
Напоминание: чем мы решаем (ДМТ                                      определение)
Детерминированная машина Тьюринга (ДМТ):
    конечный алфавит (с началом ленты и пробелом): Σ = {0, 1, , _};
    несколько лент, т.е. массивов, бесконечных в одну сторону;
    читающие/пишущие головки, по одной для каждой ленты, каждая
    видит в один момент одну позицию;
    конечное множество состояний, в т.ч. начальное qS , принимающее qY и
    отвергающее qN ;
    управляющее устройство (программу), содержащее для каждых
    q, c1 , . . . , ck одну инструкцию вида (q, c1 , . . .) → (q , c1 , . . . , d1 , . . .), где
    q, q ∈ Q; ci , ci ∈ Σ символы, обозреваемые головками;
    di ∈ {←, →, ·} направление движения.
                          > 0 0 1 0 1 0 0 1 _ _ _ ...


                          > _ _ _ _ _ _ _ _ _ _ _ ...


                          > 1 0 1 0 _ _ _ _ _ _ _ ...                                         4 / 19
Напоминание: чем мы решаем (ДМТ                                              вычисление)
Вычисление на ДМТ:
      начало работы:
             состояние qS ;
             на первой ленте вход (входное слово) и пробелы,
             остальные ленты заполнены пробелами;
             головки в крайней левой позиции;
      шаг за шагом выполняются инструкции программы;
      конец работы: когда машина попадает в состояние qY либо qN .
ДМТ принимает входное слово, если она заканчивает свою работу в qY .
ДМТ отвергает .................................................................................... qN .
ДМТ M распознаёт язык A, если принимает все x ∈ A, отвергает все x ∈ A.
                                                                   /
Пишем A = L(M).
ДМТ может также вычислять функцию (решать задачу поиска).
Значением этой функции на данном входе будем считать
содержимое первой ленты после достижения qY .
                                                                                                          5 / 19
Напоминание: чем мы решаем (ДМТ                сложность)




Время работы машины M на входе x    количество шагов
(применений инструкций) до достижения qY или qN .

Используемая память суммарное крайнее правое положение всех
головок. При сублинейных ограничениях на память первая лента (где
вход) read-only и положение головки на ней не считается.




                                                               6 / 19
Классы P и NP
Массовая задача R полиномиально ограничена, если существует
полином p, ограничивающий длину кратчайшего решения:
          ∀x(∃u(x, u) ∈ R ⇒ ∃w ((x, w ) ∈ R ∧ |w | ≤ p(|x|)).

Массовая задача R полиномиально проверяема, если существует
полином q, ограничивающий время проверки решения: для любой
пары (x, w ) можно проверить принадлежность (x, w ) ∈? R за время
q(|(x, w )|).

NP класс задач поиска, задаваемых полиномиально ограниченными
полиномиально проверяемыми массовыми задачами.




                                                                    7 / 19
Классы P и NP
Массовая задача R полиномиально ограничена, если существует
полином p, ограничивающий длину кратчайшего решения:
          ∀x(∃u(x, u) ∈ R ⇒ ∃w ((x, w ) ∈ R ∧ |w | ≤ p(|x|)).

Массовая задача R полиномиально проверяема, если существует
полином q, ограничивающий время проверки решения: для любой
пары (x, w ) можно проверить принадлежность (x, w ) ∈? R за время
q(|(x, w )|).

NP класс задач поиска, задаваемых полиномиально ограниченными
полиномиально проверяемыми массовыми задачами.
P класс задач поиска из NP, разрешимых за полиномиальное
время, т.е. задаваемых отношениями R, такими, что ∀x ∈ {0, 1}∗ за
полиномиальное время можно найти w , для которого (x, w ) ∈ R.

     Ключевой вопрос теории сложности: P = NP.
                                         ?
                                         =                          7 / 19
Классы P и NP

NP класс задач распознавания (языков), задаваемых
полиномиально ограниченными полиномиально проверяемыми
массовыми задачами, т.е. NP = {L(R) | R ∈ NP}.

Иначе говоря, L ∈ NP, если имеется п.о. п.п. R, такая, что

               ∀x ∈ {0, 1}∗ x ∈ L ⇐⇒ ∃w (x, w ) ∈ R.

P класс задач распознавания (языков), разрешимых за
полиномиальное время; ясно, что P = {L(R) | R ∈ P}.

Очевидно, P ⊆ NP.

Ключевой вопрос теории сложности: P = NP.
                                    ?
                                    =

                                                             8 / 19
НМТ
Инструкции k-ленточной ДМТ можно записать как функцию (таблицу)

                  δ : Q × Σk → Q × Σk × {←, →, ·}k .


Недетерминированная машина Тьюринга (НМТ) допускает больше
одной инструкции для данных q ∈ Q и c1 , . . . , ck ∈ Σ, т.е. δ для неё
многозначная функция.

Так появляется дерево вычислений. . . [см. на доску]

В машины (ДМТ, НМТ) с заведомо ограниченным временем работы
можно встроить будильник и считать время вычислений на входах
одной длины всегда одним и тем же.

НМТ принимает вход, если ∃ путь в дереве вычислений,
заканчивающийся qY .
                                                                          9 / 19
НМТ и NP         другие определения


Недетерминированная машина Тьюринга (НМТ) это просто ДМТ, у
которой есть дополнительный аргумент (подсказка w на второй ленте).

НМТ M принимает вход x, если ∃w , для которой вычисление
заканчивается в qY (пишем M(x, w ) = 1).

Вычислительный путь в старом определении ∼ подсказка в новом.
Можно считать, что длина подсказки определяется длиной входа.




                                                                10 / 19
НМТ и NP          другие определения


Недетерминированная машина Тьюринга (НМТ) это просто ДМТ, у
которой есть дополнительный аргумент (подсказка w на второй ленте).

НМТ M принимает вход x, если ∃w , для которой вычисление
заканчивается в qY (пишем M(x, w ) = 1).

Вычислительный путь в старом определении ∼ подсказка в новом.
Можно считать, что длина подсказки определяется длиной входа.

Ещё одно определение NP:
NP класс языков, принимаемых полиномиальными по времени НМТ.

Определения эквивалентны. . . [см. на доску].


                                                                10 / 19
Свед´ния
    е


Сведение языков по Карпу: L1 →L2 , если
имеется полиномиально вычислимая f :
    ∀x x ∈ L1 ⇔ f (x) ∈ L2 .

Сведение задач поиска по Левину: R1 →R2 , если ∃f , g , h ∀x1 , y1 , y2
    R1 (x1 , y1 ) ⇒ R2 (f (x1 ), g (x1 , y1 )),
    R1 (x1 , h(f (x1 ), y2 )) ⇐ R2 (f (x1 ), y2 ),
    f и h полиномиально вычислимы, а g ограничена полиномом.

Классы P, NP, P, NP замкнуты относительно этих сведений.



                                                                          11 / 19
Свед´ния
    е



Оракульная МТ имеет доступ к оракулу, который за 1 шаг даёт ей
ответ на вопрос.

Формально: состояния qin , qout и “фантастический переход” из
qin в qout , заменяющий содержимое [третьей] ленты на ответ оракула.

MB    оракульная машина M, которой дали конкретный оракул B.

Сведение чего угодно по Тьюрингу: A→B, если имеется оракульная
полиномиальная по времени машина M • , такая, что A = L(M B ).




                                                                 11 / 19
Свед´ния
    е
Сведение языков по Карпу: L1 →L2 , если
имеется полиномиально вычислимая f :
    ∀x x ∈ L1 ⇔ f (x) ∈ L2 .

Сведение задач поиска по Левину: R1 →R2 , если ∃f , g , h ∀x1 , y1 , y2
    R1 (x1 , y1 ) ⇒ R2 (f (x1 ), g (x1 , y1 )),
    R1 (x1 , h(f (x1 ), y2 )) ⇐ R2 (f (x1 ), y2 ),
    f и h полиномиально вычислимы, а g ограничена полиномом.


Сведение чего угодно по Тьюрингу: A→B, если имеется оракульная
полиномиальная по времени машина M • , такая, что A = L(M B ).

Классы P, P замкнуты относительно этих сведений.
Классы NP, NP могут быть незамкнуты относительно сведений по
Тьюрингу.
                                                                          11 / 19
Трудные и полные задачи
Задача A     трудная для класса C, если ∀C ∈ C C → A.
Задача     полная для C, если она трудная и принадлежит C.

Теорема
Если
   A       NP-трудная,
   A ∈ P,
то P = NP.

Следствие
Если A     NP-полная, то

                           A ∈ P ⇔ P = NP.

                                                             12 / 19
NP-полная задача: BH

Задача об ограниченной остановке:

BH( M, x, 1t , w ) = НМТ M с подсказкой w принимает вход x за ≤ t шагов.

Теорема
Задача об ограниченной остановке NP-полная,
а соответствующий язык NP-полный.

Замечание
Принадлежность NP использует существование универсальной ДМТ,
которая может промоделировать вычисление ДМТ, описание которой
дано ей на вход. Причём с лишь линейным замедлением.


                                                                 13 / 19
Булева схема


   Ориентированный граф без циклов.
   Бинарные (и унарные) операции над битами: ∧, ∨, ⊕, . . .
   Пример (4 гейта):
                       x1         x2            x3


                            ⊕            ⊕


                            ∨            ⊕


                            u1           u2


                                                              14 / 19
NP-полная задача: CIRCUIT_SAT
CIRCUIT_SAT = {(C , x) | C             схема, C (x) = 1}.
BH → CIRCUIT_SAT:
   этаж схемы конфигурация ДМТ;
   время t ⇒ t больших этажей схемы;
   время t ⇒ t ячеек на этаже;
   переход между этажами реализует один шаг ДМТ:
                  (q , ci , di ) ← (q, ci−1 , ci , ci+1 , di−1 , di , di+1 ),
    где dj , dj    головка в j-й позиции :
                     c : c1 c2 . . . ci−1              ci    ci+1 . . .
                     d: ·    ·         ·               ↑       ·
                                                       q
    входы схемы        подсказка НМТ (вход НМТ уже подставлен).
    выход схемы        попадание в qY .
                                                                                15 / 19
NP-полная задача: 3-SAT
3-SAT = {(F , A) | F   в 3-КНФ, F (A) = 1}.

Пример:
((¬x ∨ ¬y ∨ ¬z) ∧ (y ∨ ¬z) ∧ (z), [x = 0, y = 1, z = 1]) ∈ 3-SAT.

    по переменной для каждого гейта;
    гейт g (x, y ) → клозы, выражающие g = g (x, y ),
    например (g = ⊕):

                           (x    ∨ y     ∨ ¬g )
                           (¬x   ∨ ¬y    ∨ ¬g )
                           (x    ∨ ¬y    ∨  g)
                           (¬x   ∨ y     ∨  g)

    для последнего гейта g клоз (g ).
                                                                    16 / 19
NP vs NP


Теорема
R ∈ NP, R(L)   NP-полон ⇒ R → R(L).

R → SAT → SAT → R(L).

Какое значение переменной x1 в выполняющем наборе для F ?
Спросим про F [x1 = 0] ∈ SAT и F [x1 = 1] ∈ SAT.

Перейдём к нужной формуле F [x1 = v ] и спросим про следующую
переменную.
Замечание
“Контрпример” без NP-полноты: FACTOR.


                                                                17 / 19
Не NP-полные задачи в NP  P
M1 , M2 , . . .    все полиномиальные ДМТ с “будильниками”,
R1 , R2 , . . .   все полиномиальные сведения с “будильниками”.
                                                  .
                        K = {x | x ∈ SAT ∧ f (|x|). }.
                                                  .2
f (n):
 (I) за n шагов: вычисляем f (0), f (1), . . . , f (i) =: k сколько успеем;
(II) за n шагов:
              .
     (a) if k . if ∃z: Mk/2 (z) = K(z), return k + 1
              .2,
     (если не успели, return k);
                .
     (b) if k . if ∃z: K(R(k−1)/2 (z)) = SAT(z), return k + 1;
                .2,
     (если не успели, return k);
                              .
K ∈ P ⇒ навсегда (IIa) ⇒ f. п.в. ⇒ K ≈ SAT.
                              .2
                                      .
K NP-полон ⇒ навсегда (IIb) ⇒ f . п.в. ⇒ |K| < ∞.
                                      .2
                                                                        18 / 19
Оптимальный алгоритм для NP-задачи



   Перебираем все машины (не только полиномиальные).
   На шаге номер i = 2l (1 + 2k) моделируем k-ый шаг машины Ml .
   Если выдан ответ, проверяем его.
   Сравним со временем работы Mi :
   t(x) ≤ consti · ti (x) + p(|x|) (на проверку),
   если моделировать шаг-в-шаг;
   На ДМТ шаг будет стоить дорого, т.к. машин много
   одновременно, поэтому t(x) ≤ consti · p(ti (x))).




                                                              19 / 19

More Related Content

What's hot

Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"Nikolay Grebenshikov
 
20090913 algorithmsfornphardproblems kulikov_lecture02
20090913 algorithmsfornphardproblems kulikov_lecture0220090913 algorithmsfornphardproblems kulikov_lecture02
20090913 algorithmsfornphardproblems kulikov_lecture02Computer Science Club
 
Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...
Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...
Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...Nikolay Grebenshikov
 
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...Nikolay Grebenshikov
 
Факторизационные модели в рекомендательных системах
Факторизационные модели в рекомендательных системахФакторизационные модели в рекомендательных системах
Факторизационные модели в рекомендательных системахromovpa
 
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...Nikolay Grebenshikov
 
05 динамическое программирование
05 динамическое программирование05 динамическое программирование
05 динамическое программированиеFedor Tsarev
 
05 динамическое программирование
05 динамическое программирование05 динамическое программирование
05 динамическое программированиеFedor Tsarev
 
04 динамическое программирование - основные концепции
04 динамическое программирование - основные концепции04 динамическое программирование - основные концепции
04 динамическое программирование - основные концепцииFedor Tsarev
 
20091101 algorithmsfornphardproblems kulikov_lecture06
20091101 algorithmsfornphardproblems kulikov_lecture0620091101 algorithmsfornphardproblems kulikov_lecture06
20091101 algorithmsfornphardproblems kulikov_lecture06Computer Science Club
 
Лекция №13. Графы: сильно связные компоненты и остовные деревья. Предмет "Стр...
Лекция №13. Графы: сильно связные компоненты и остовные деревья. Предмет "Стр...Лекция №13. Графы: сильно связные компоненты и остовные деревья. Предмет "Стр...
Лекция №13. Графы: сильно связные компоненты и остовные деревья. Предмет "Стр...Nikolay Grebenshikov
 
Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"Nikolay Grebenshikov
 
L5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмыL5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмыTechnosphere1
 
Use of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signatureUse of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signatureAndrei Poliakov
 
L7:Задача кластеризации. Метрики качества
L7:Задача кластеризации. Метрики качестваL7:Задача кластеризации. Метрики качества
L7:Задача кластеризации. Метрики качестваTechnosphere1
 

What's hot (20)

Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
 
20090913 algorithmsfornphardproblems kulikov_lecture02
20090913 algorithmsfornphardproblems kulikov_lecture0220090913 algorithmsfornphardproblems kulikov_lecture02
20090913 algorithmsfornphardproblems kulikov_lecture02
 
Pr i-2
Pr i-2Pr i-2
Pr i-2
 
Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...
Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...
Лекция №14. Графы: кратчайшие пути и максимальные потоки. Предмет "Структуры ...
 
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...
 
Факторизационные модели в рекомендательных системах
Факторизационные модели в рекомендательных системахФакторизационные модели в рекомендательных системах
Факторизационные модели в рекомендательных системах
 
Pr i-3
Pr i-3Pr i-3
Pr i-3
 
Pr i-3
Pr i-3Pr i-3
Pr i-3
 
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
 
10474
1047410474
10474
 
05 динамическое программирование
05 динамическое программирование05 динамическое программирование
05 динамическое программирование
 
05 динамическое программирование
05 динамическое программирование05 динамическое программирование
05 динамическое программирование
 
04 динамическое программирование - основные концепции
04 динамическое программирование - основные концепции04 динамическое программирование - основные концепции
04 динамическое программирование - основные концепции
 
Метод конечных разностей
Метод конечных разностейМетод конечных разностей
Метод конечных разностей
 
20091101 algorithmsfornphardproblems kulikov_lecture06
20091101 algorithmsfornphardproblems kulikov_lecture0620091101 algorithmsfornphardproblems kulikov_lecture06
20091101 algorithmsfornphardproblems kulikov_lecture06
 
Лекция №13. Графы: сильно связные компоненты и остовные деревья. Предмет "Стр...
Лекция №13. Графы: сильно связные компоненты и остовные деревья. Предмет "Стр...Лекция №13. Графы: сильно связные компоненты и остовные деревья. Предмет "Стр...
Лекция №13. Графы: сильно связные компоненты и остовные деревья. Предмет "Стр...
 
Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"
 
L5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмыL5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмы
 
Use of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signatureUse of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signature
 
L7:Задача кластеризации. Метрики качества
L7:Задача кластеризации. Метрики качестваL7:Задача кластеризации. Метрики качества
L7:Задача кластеризации. Метрики качества
 

Viewers also liked

Mod b ngay 5 phan 2 policy execution (vietnam)
Mod b ngay 5 phan 2 policy execution (vietnam)Mod b ngay 5 phan 2 policy execution (vietnam)
Mod b ngay 5 phan 2 policy execution (vietnam)Hung Nguyen Quang
 
Questionnaire results
Questionnaire resultsQuestionnaire results
Questionnaire resultsEloiseHatton
 
Italian Conference on Nagios: Michael Medin on Windows Monitoring
Italian Conference on Nagios: Michael Medin on Windows MonitoringItalian Conference on Nagios: Michael Medin on Windows Monitoring
Italian Conference on Nagios: Michael Medin on Windows MonitoringWürth Phoenix
 
Metodos de encuadernación.
Metodos de encuadernación.Metodos de encuadernación.
Metodos de encuadernación.Nathaly Correa
 
SOCIAL MEDIA ADOPTION BY U.S. SMALL BUSINESSES DOUBLES SINCE 2009
SOCIAL MEDIA ADOPTION BY U.S. SMALL BUSINESSES DOUBLES SINCE 2009SOCIAL MEDIA ADOPTION BY U.S. SMALL BUSINESSES DOUBLES SINCE 2009
SOCIAL MEDIA ADOPTION BY U.S. SMALL BUSINESSES DOUBLES SINCE 2009Web.com
 
Marcus Taylor - Getting Practical: Facebook Marketing (Darker Music Talks Jun...
Marcus Taylor - Getting Practical: Facebook Marketing (Darker Music Talks Jun...Marcus Taylor - Getting Practical: Facebook Marketing (Darker Music Talks Jun...
Marcus Taylor - Getting Practical: Facebook Marketing (Darker Music Talks Jun...Tommy Darker
 
Introduction to NeatCloud
Introduction to NeatCloudIntroduction to NeatCloud
Introduction to NeatCloudDeb Lee
 
Two Keys to Analytic Success: Cooperation, Collaboration
Two Keys to Analytic Success: Cooperation, CollaborationTwo Keys to Analytic Success: Cooperation, Collaboration
Two Keys to Analytic Success: Cooperation, CollaborationInside Analysis
 
Bhovara (Marathi Bestseller Autofiction) Dr. Shriniwas Kashalikar
Bhovara (Marathi Bestseller Autofiction) Dr. Shriniwas KashalikarBhovara (Marathi Bestseller Autofiction) Dr. Shriniwas Kashalikar
Bhovara (Marathi Bestseller Autofiction) Dr. Shriniwas Kashalikarshivsr5
 
Mapping Your Salesforce Career - Amanda Bailey
Mapping Your Salesforce Career - Amanda BaileyMapping Your Salesforce Career - Amanda Bailey
Mapping Your Salesforce Career - Amanda BaileySalesforce Admins
 

Viewers also liked (20)

Writing a questionnaire
Writing a questionnaireWriting a questionnaire
Writing a questionnaire
 
DeeDeeMikasa Resume
DeeDeeMikasa ResumeDeeDeeMikasa Resume
DeeDeeMikasa Resume
 
Mod b ngay 5 phan 2 policy execution (vietnam)
Mod b ngay 5 phan 2 policy execution (vietnam)Mod b ngay 5 phan 2 policy execution (vietnam)
Mod b ngay 5 phan 2 policy execution (vietnam)
 
Questionnaire results
Questionnaire resultsQuestionnaire results
Questionnaire results
 
Italian Conference on Nagios: Michael Medin on Windows Monitoring
Italian Conference on Nagios: Michael Medin on Windows MonitoringItalian Conference on Nagios: Michael Medin on Windows Monitoring
Italian Conference on Nagios: Michael Medin on Windows Monitoring
 
Metodos de encuadernación.
Metodos de encuadernación.Metodos de encuadernación.
Metodos de encuadernación.
 
SOCIAL MEDIA ADOPTION BY U.S. SMALL BUSINESSES DOUBLES SINCE 2009
SOCIAL MEDIA ADOPTION BY U.S. SMALL BUSINESSES DOUBLES SINCE 2009SOCIAL MEDIA ADOPTION BY U.S. SMALL BUSINESSES DOUBLES SINCE 2009
SOCIAL MEDIA ADOPTION BY U.S. SMALL BUSINESSES DOUBLES SINCE 2009
 
Expresion oral cero papel
Expresion oral  cero papelExpresion oral  cero papel
Expresion oral cero papel
 
Mcdi u1 a3_lula
Mcdi u1 a3_lulaMcdi u1 a3_lula
Mcdi u1 a3_lula
 
Marcus Taylor - Getting Practical: Facebook Marketing (Darker Music Talks Jun...
Marcus Taylor - Getting Practical: Facebook Marketing (Darker Music Talks Jun...Marcus Taylor - Getting Practical: Facebook Marketing (Darker Music Talks Jun...
Marcus Taylor - Getting Practical: Facebook Marketing (Darker Music Talks Jun...
 
Dissertation
DissertationDissertation
Dissertation
 
Introduction to NeatCloud
Introduction to NeatCloudIntroduction to NeatCloud
Introduction to NeatCloud
 
Algebra
AlgebraAlgebra
Algebra
 
Mevoyalacama
MevoyalacamaMevoyalacama
Mevoyalacama
 
Smart impact
Smart impactSmart impact
Smart impact
 
Two Keys to Analytic Success: Cooperation, Collaboration
Two Keys to Analytic Success: Cooperation, CollaborationTwo Keys to Analytic Success: Cooperation, Collaboration
Two Keys to Analytic Success: Cooperation, Collaboration
 
Conf conafet
Conf conafetConf conafet
Conf conafet
 
Bhovara (Marathi Bestseller Autofiction) Dr. Shriniwas Kashalikar
Bhovara (Marathi Bestseller Autofiction) Dr. Shriniwas KashalikarBhovara (Marathi Bestseller Autofiction) Dr. Shriniwas Kashalikar
Bhovara (Marathi Bestseller Autofiction) Dr. Shriniwas Kashalikar
 
Mapping Your Salesforce Career - Amanda Bailey
Mapping Your Salesforce Career - Amanda BaileyMapping Your Salesforce Career - Amanda Bailey
Mapping Your Salesforce Career - Amanda Bailey
 
La placa madre sesión 05
La placa madre sesión 05La placa madre sesión 05
La placa madre sesión 05
 

Similar to 20080928 structuralcomplexitytheory lecture01-02

Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и кодыГригорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и кодыYandex
 
Мезенцев Павел - Машинное обучение на MapReduce
Мезенцев Павел - Машинное обучение на MapReduceМезенцев Павел - Машинное обучение на MapReduce
Мезенцев Павел - Машинное обучение на MapReducePavel Mezentsev
 
20101007 proof complexity_hirsch_lecture04
20101007 proof complexity_hirsch_lecture0420101007 proof complexity_hirsch_lecture04
20101007 proof complexity_hirsch_lecture04Computer Science Club
 
20101021 proof complexity_hirsch_lecture05
20101021 proof complexity_hirsch_lecture0520101021 proof complexity_hirsch_lecture05
20101021 proof complexity_hirsch_lecture05Computer Science Club
 
практика 14
практика 14практика 14
практика 14student_kai
 
L2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибокL2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибокTechnosphere1
 
Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes" Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes" Technosphere1
 
20101125 proof complexity_hirsch_lecture08
20101125 proof complexity_hirsch_lecture0820101125 proof complexity_hirsch_lecture08
20101125 proof complexity_hirsch_lecture08Computer Science Club
 
L6: Метод опорных векторов
L6: Метод опорных векторовL6: Метод опорных векторов
L6: Метод опорных векторовTechnosphere1
 
Лекция 12 Теоретико-числовые алгоритмы Часть 1
Лекция 12 Теоретико-числовые алгоритмы Часть 1Лекция 12 Теоретико-числовые алгоритмы Часть 1
Лекция 12 Теоретико-числовые алгоритмы Часть 1simple_people
 
20110224 systems of_typed_lambda_calculi_moskvin_lecture01
20110224 systems of_typed_lambda_calculi_moskvin_lecture0120110224 systems of_typed_lambda_calculi_moskvin_lecture01
20110224 systems of_typed_lambda_calculi_moskvin_lecture01Computer Science Club
 
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
 
Лекция 16 Вычислительная геометрия
Лекция 16 Вычислительная геометрияЛекция 16 Вычислительная геометрия
Лекция 16 Вычислительная геометрияsimple_people
 
Задачи Пятой олимпиады Эйлера учителей Санкт-Петербурга
Задачи Пятой олимпиады Эйлера учителей Санкт-ПетербургаЗадачи Пятой олимпиады Эйлера учителей Санкт-Петербурга
Задачи Пятой олимпиады Эйлера учителей Санкт-Петербургаeekdiary
 
20101030 reals and_integers_matiyasevich_ekb_lecture05-06
20101030 reals and_integers_matiyasevich_ekb_lecture05-0620101030 reals and_integers_matiyasevich_ekb_lecture05-06
20101030 reals and_integers_matiyasevich_ekb_lecture05-06Computer Science Club
 
20081123 structuralcomplexitytheory lecture11-12
20081123 structuralcomplexitytheory lecture11-1220081123 structuralcomplexitytheory lecture11-12
20081123 structuralcomplexitytheory lecture11-12Computer Science Club
 
Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1Technopark
 
Кванторы. Квантор всеобщности. Квантор существования.Равносильные формулы лог...
Кванторы. Квантор всеобщности. Квантор существования.Равносильные формулы лог...Кванторы. Квантор всеобщности. Квантор существования.Равносильные формулы лог...
Кванторы. Квантор всеобщности. Квантор существования.Равносильные формулы лог...aleksashka3
 
Fractal Geometry
Fractal GeometryFractal Geometry
Fractal GeometrySSA KPI
 

Similar to 20080928 structuralcomplexitytheory lecture01-02 (20)

Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и кодыГригорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
Григорий Анатольевич Кабатянский - Конечные алгебры, геометрии и коды
 
Get Ft
Get FtGet Ft
Get Ft
 
Мезенцев Павел - Машинное обучение на MapReduce
Мезенцев Павел - Машинное обучение на MapReduceМезенцев Павел - Машинное обучение на MapReduce
Мезенцев Павел - Машинное обучение на MapReduce
 
20101007 proof complexity_hirsch_lecture04
20101007 proof complexity_hirsch_lecture0420101007 proof complexity_hirsch_lecture04
20101007 proof complexity_hirsch_lecture04
 
20101021 proof complexity_hirsch_lecture05
20101021 proof complexity_hirsch_lecture0520101021 proof complexity_hirsch_lecture05
20101021 proof complexity_hirsch_lecture05
 
практика 14
практика 14практика 14
практика 14
 
L2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибокL2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибок
 
Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes" Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes"
 
20101125 proof complexity_hirsch_lecture08
20101125 proof complexity_hirsch_lecture0820101125 proof complexity_hirsch_lecture08
20101125 proof complexity_hirsch_lecture08
 
L6: Метод опорных векторов
L6: Метод опорных векторовL6: Метод опорных векторов
L6: Метод опорных векторов
 
Лекция 12 Теоретико-числовые алгоритмы Часть 1
Лекция 12 Теоретико-числовые алгоритмы Часть 1Лекция 12 Теоретико-числовые алгоритмы Часть 1
Лекция 12 Теоретико-числовые алгоритмы Часть 1
 
20110224 systems of_typed_lambda_calculi_moskvin_lecture01
20110224 systems of_typed_lambda_calculi_moskvin_lecture0120110224 systems of_typed_lambda_calculi_moskvin_lecture01
20110224 systems of_typed_lambda_calculi_moskvin_lecture01
 
20111023 circuit complexity_seminar_lecture04_mihajlin
20111023 circuit complexity_seminar_lecture04_mihajlin20111023 circuit complexity_seminar_lecture04_mihajlin
20111023 circuit complexity_seminar_lecture04_mihajlin
 
Лекция 16 Вычислительная геометрия
Лекция 16 Вычислительная геометрияЛекция 16 Вычислительная геометрия
Лекция 16 Вычислительная геометрия
 
Задачи Пятой олимпиады Эйлера учителей Санкт-Петербурга
Задачи Пятой олимпиады Эйлера учителей Санкт-ПетербургаЗадачи Пятой олимпиады Эйлера учителей Санкт-Петербурга
Задачи Пятой олимпиады Эйлера учителей Санкт-Петербурга
 
20101030 reals and_integers_matiyasevich_ekb_lecture05-06
20101030 reals and_integers_matiyasevich_ekb_lecture05-0620101030 reals and_integers_matiyasevich_ekb_lecture05-06
20101030 reals and_integers_matiyasevich_ekb_lecture05-06
 
20081123 structuralcomplexitytheory lecture11-12
20081123 structuralcomplexitytheory lecture11-1220081123 structuralcomplexitytheory lecture11-12
20081123 structuralcomplexitytheory lecture11-12
 
Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1
 
Кванторы. Квантор всеобщности. Квантор существования.Равносильные формулы лог...
Кванторы. Квантор всеобщности. Квантор существования.Равносильные формулы лог...Кванторы. Квантор всеобщности. Квантор существования.Равносильные формулы лог...
Кванторы. Квантор всеобщности. Квантор существования.Равносильные формулы лог...
 
Fractal Geometry
Fractal GeometryFractal Geometry
Fractal Geometry
 

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
 

20080928 structuralcomplexitytheory lecture01-02

  • 1. Структурная теория сложности Эдуард Алексеевич Гирш http://logic.pdmi.ras.ru/~hirsch ПОМИ РАН 28 сентября 2008 г. 1 / 19
  • 2. Напоминание: что мы решаем (1) Работаем в алфавите {0, 1}. Множество слов длины n в нём: {0, 1}n . Множество всех (конечных) слов: {0, 1}∗ . Длина слова x: |x|. Индивидуальная задача пара (условие, решение) ∈ {0, 1}∗ × {0, 1}∗ . Массовая задача некоторое множество индивидуальных задач, т.е. бинарное отношение на {0, 1}∗ . Наиболее интересные массовые задачи бесконечные, с возможностью проверить корректность решения. 2 / 19
  • 3. Напоминание: что мы решаем (2) Пример (полагаем N ⊂ {0, 1}∗ ): . FACTOR = {(n, d ) | n. , 1 < d < n}. .d Алгоритм решает задачу поиска для массовой задачи R, если для условия x он находит решение w , удовлетворяющее (x, w ) ∈ R. 3 / 19
  • 4. Напоминание: что мы решаем (2) Пример (полагаем N ⊂ {0, 1}∗ ): . FACTOR = {(n, d ) | n. , 1 < d < n}. .d Алгоритм решает задачу поиска для массовой задачи R, если для условия x он находит решение w , удовлетворяющее (x, w ) ∈ R. Также решаем (распознаём) задачи распознавания (языки), т.е. задачи типа “да”/“нет”. Для массовой задачи R L(R) = {x | ∃w (x, w ) ∈ R}. Например, L(FACTOR) = множество всех составных чисел. 3 / 19
  • 5. Напоминание: чем мы решаем (ДМТ определение) Детерминированная машина Тьюринга (ДМТ): конечный алфавит (с началом ленты и пробелом): Σ = {0, 1, , _}; несколько лент, т.е. массивов, бесконечных в одну сторону; читающие/пишущие головки, по одной для каждой ленты, каждая видит в один момент одну позицию; конечное множество состояний, в т.ч. начальное qS , принимающее qY и отвергающее qN ; управляющее устройство (программу), содержащее для каждых q, c1 , . . . , ck одну инструкцию вида (q, c1 , . . .) → (q , c1 , . . . , d1 , . . .), где q, q ∈ Q; ci , ci ∈ Σ символы, обозреваемые головками; di ∈ {←, →, ·} направление движения. > 0 0 1 0 1 0 0 1 _ _ _ ... > _ _ _ _ _ _ _ _ _ _ _ ... > 1 0 1 0 _ _ _ _ _ _ _ ... 4 / 19
  • 6. Напоминание: чем мы решаем (ДМТ вычисление) Вычисление на ДМТ: начало работы: состояние qS ; на первой ленте вход (входное слово) и пробелы, остальные ленты заполнены пробелами; головки в крайней левой позиции; шаг за шагом выполняются инструкции программы; конец работы: когда машина попадает в состояние qY либо qN . ДМТ принимает входное слово, если она заканчивает свою работу в qY . ДМТ отвергает .................................................................................... qN . ДМТ M распознаёт язык A, если принимает все x ∈ A, отвергает все x ∈ A. / Пишем A = L(M). ДМТ может также вычислять функцию (решать задачу поиска). Значением этой функции на данном входе будем считать содержимое первой ленты после достижения qY . 5 / 19
  • 7. Напоминание: чем мы решаем (ДМТ сложность) Время работы машины M на входе x количество шагов (применений инструкций) до достижения qY или qN . Используемая память суммарное крайнее правое положение всех головок. При сублинейных ограничениях на память первая лента (где вход) read-only и положение головки на ней не считается. 6 / 19
  • 8. Классы P и NP Массовая задача R полиномиально ограничена, если существует полином p, ограничивающий длину кратчайшего решения: ∀x(∃u(x, u) ∈ R ⇒ ∃w ((x, w ) ∈ R ∧ |w | ≤ p(|x|)). Массовая задача R полиномиально проверяема, если существует полином q, ограничивающий время проверки решения: для любой пары (x, w ) можно проверить принадлежность (x, w ) ∈? R за время q(|(x, w )|). NP класс задач поиска, задаваемых полиномиально ограниченными полиномиально проверяемыми массовыми задачами. 7 / 19
  • 9. Классы P и NP Массовая задача R полиномиально ограничена, если существует полином p, ограничивающий длину кратчайшего решения: ∀x(∃u(x, u) ∈ R ⇒ ∃w ((x, w ) ∈ R ∧ |w | ≤ p(|x|)). Массовая задача R полиномиально проверяема, если существует полином q, ограничивающий время проверки решения: для любой пары (x, w ) можно проверить принадлежность (x, w ) ∈? R за время q(|(x, w )|). NP класс задач поиска, задаваемых полиномиально ограниченными полиномиально проверяемыми массовыми задачами. P класс задач поиска из NP, разрешимых за полиномиальное время, т.е. задаваемых отношениями R, такими, что ∀x ∈ {0, 1}∗ за полиномиальное время можно найти w , для которого (x, w ) ∈ R. Ключевой вопрос теории сложности: P = NP. ? = 7 / 19
  • 10. Классы P и NP NP класс задач распознавания (языков), задаваемых полиномиально ограниченными полиномиально проверяемыми массовыми задачами, т.е. NP = {L(R) | R ∈ NP}. Иначе говоря, L ∈ NP, если имеется п.о. п.п. R, такая, что ∀x ∈ {0, 1}∗ x ∈ L ⇐⇒ ∃w (x, w ) ∈ R. P класс задач распознавания (языков), разрешимых за полиномиальное время; ясно, что P = {L(R) | R ∈ P}. Очевидно, P ⊆ NP. Ключевой вопрос теории сложности: P = NP. ? = 8 / 19
  • 11. НМТ Инструкции k-ленточной ДМТ можно записать как функцию (таблицу) δ : Q × Σk → Q × Σk × {←, →, ·}k . Недетерминированная машина Тьюринга (НМТ) допускает больше одной инструкции для данных q ∈ Q и c1 , . . . , ck ∈ Σ, т.е. δ для неё многозначная функция. Так появляется дерево вычислений. . . [см. на доску] В машины (ДМТ, НМТ) с заведомо ограниченным временем работы можно встроить будильник и считать время вычислений на входах одной длины всегда одним и тем же. НМТ принимает вход, если ∃ путь в дереве вычислений, заканчивающийся qY . 9 / 19
  • 12. НМТ и NP другие определения Недетерминированная машина Тьюринга (НМТ) это просто ДМТ, у которой есть дополнительный аргумент (подсказка w на второй ленте). НМТ M принимает вход x, если ∃w , для которой вычисление заканчивается в qY (пишем M(x, w ) = 1). Вычислительный путь в старом определении ∼ подсказка в новом. Можно считать, что длина подсказки определяется длиной входа. 10 / 19
  • 13. НМТ и NP другие определения Недетерминированная машина Тьюринга (НМТ) это просто ДМТ, у которой есть дополнительный аргумент (подсказка w на второй ленте). НМТ M принимает вход x, если ∃w , для которой вычисление заканчивается в qY (пишем M(x, w ) = 1). Вычислительный путь в старом определении ∼ подсказка в новом. Можно считать, что длина подсказки определяется длиной входа. Ещё одно определение NP: NP класс языков, принимаемых полиномиальными по времени НМТ. Определения эквивалентны. . . [см. на доску]. 10 / 19
  • 14. Свед´ния е Сведение языков по Карпу: L1 →L2 , если имеется полиномиально вычислимая f : ∀x x ∈ L1 ⇔ f (x) ∈ L2 . Сведение задач поиска по Левину: R1 →R2 , если ∃f , g , h ∀x1 , y1 , y2 R1 (x1 , y1 ) ⇒ R2 (f (x1 ), g (x1 , y1 )), R1 (x1 , h(f (x1 ), y2 )) ⇐ R2 (f (x1 ), y2 ), f и h полиномиально вычислимы, а g ограничена полиномом. Классы P, NP, P, NP замкнуты относительно этих сведений. 11 / 19
  • 15. Свед´ния е Оракульная МТ имеет доступ к оракулу, который за 1 шаг даёт ей ответ на вопрос. Формально: состояния qin , qout и “фантастический переход” из qin в qout , заменяющий содержимое [третьей] ленты на ответ оракула. MB оракульная машина M, которой дали конкретный оракул B. Сведение чего угодно по Тьюрингу: A→B, если имеется оракульная полиномиальная по времени машина M • , такая, что A = L(M B ). 11 / 19
  • 16. Свед´ния е Сведение языков по Карпу: L1 →L2 , если имеется полиномиально вычислимая f : ∀x x ∈ L1 ⇔ f (x) ∈ L2 . Сведение задач поиска по Левину: R1 →R2 , если ∃f , g , h ∀x1 , y1 , y2 R1 (x1 , y1 ) ⇒ R2 (f (x1 ), g (x1 , y1 )), R1 (x1 , h(f (x1 ), y2 )) ⇐ R2 (f (x1 ), y2 ), f и h полиномиально вычислимы, а g ограничена полиномом. Сведение чего угодно по Тьюрингу: A→B, если имеется оракульная полиномиальная по времени машина M • , такая, что A = L(M B ). Классы P, P замкнуты относительно этих сведений. Классы NP, NP могут быть незамкнуты относительно сведений по Тьюрингу. 11 / 19
  • 17. Трудные и полные задачи Задача A трудная для класса C, если ∀C ∈ C C → A. Задача полная для C, если она трудная и принадлежит C. Теорема Если A NP-трудная, A ∈ P, то P = NP. Следствие Если A NP-полная, то A ∈ P ⇔ P = NP. 12 / 19
  • 18. NP-полная задача: BH Задача об ограниченной остановке: BH( M, x, 1t , w ) = НМТ M с подсказкой w принимает вход x за ≤ t шагов. Теорема Задача об ограниченной остановке NP-полная, а соответствующий язык NP-полный. Замечание Принадлежность NP использует существование универсальной ДМТ, которая может промоделировать вычисление ДМТ, описание которой дано ей на вход. Причём с лишь линейным замедлением. 13 / 19
  • 19. Булева схема Ориентированный граф без циклов. Бинарные (и унарные) операции над битами: ∧, ∨, ⊕, . . . Пример (4 гейта): x1 x2 x3 ⊕ ⊕ ∨ ⊕ u1 u2 14 / 19
  • 20. NP-полная задача: CIRCUIT_SAT CIRCUIT_SAT = {(C , x) | C схема, C (x) = 1}. BH → CIRCUIT_SAT: этаж схемы конфигурация ДМТ; время t ⇒ t больших этажей схемы; время t ⇒ t ячеек на этаже; переход между этажами реализует один шаг ДМТ: (q , ci , di ) ← (q, ci−1 , ci , ci+1 , di−1 , di , di+1 ), где dj , dj головка в j-й позиции : c : c1 c2 . . . ci−1 ci ci+1 . . . d: · · · ↑ · q входы схемы подсказка НМТ (вход НМТ уже подставлен). выход схемы попадание в qY . 15 / 19
  • 21. NP-полная задача: 3-SAT 3-SAT = {(F , A) | F в 3-КНФ, F (A) = 1}. Пример: ((¬x ∨ ¬y ∨ ¬z) ∧ (y ∨ ¬z) ∧ (z), [x = 0, y = 1, z = 1]) ∈ 3-SAT. по переменной для каждого гейта; гейт g (x, y ) → клозы, выражающие g = g (x, y ), например (g = ⊕): (x ∨ y ∨ ¬g ) (¬x ∨ ¬y ∨ ¬g ) (x ∨ ¬y ∨ g) (¬x ∨ y ∨ g) для последнего гейта g клоз (g ). 16 / 19
  • 22. NP vs NP Теорема R ∈ NP, R(L) NP-полон ⇒ R → R(L). R → SAT → SAT → R(L). Какое значение переменной x1 в выполняющем наборе для F ? Спросим про F [x1 = 0] ∈ SAT и F [x1 = 1] ∈ SAT. Перейдём к нужной формуле F [x1 = v ] и спросим про следующую переменную. Замечание “Контрпример” без NP-полноты: FACTOR. 17 / 19
  • 23. Не NP-полные задачи в NP P M1 , M2 , . . . все полиномиальные ДМТ с “будильниками”, R1 , R2 , . . . все полиномиальные сведения с “будильниками”. . K = {x | x ∈ SAT ∧ f (|x|). }. .2 f (n): (I) за n шагов: вычисляем f (0), f (1), . . . , f (i) =: k сколько успеем; (II) за n шагов: . (a) if k . if ∃z: Mk/2 (z) = K(z), return k + 1 .2, (если не успели, return k); . (b) if k . if ∃z: K(R(k−1)/2 (z)) = SAT(z), return k + 1; .2, (если не успели, return k); . K ∈ P ⇒ навсегда (IIa) ⇒ f. п.в. ⇒ K ≈ SAT. .2 . K NP-полон ⇒ навсегда (IIb) ⇒ f . п.в. ⇒ |K| < ∞. .2 18 / 19
  • 24. Оптимальный алгоритм для NP-задачи Перебираем все машины (не только полиномиальные). На шаге номер i = 2l (1 + 2k) моделируем k-ый шаг машины Ml . Если выдан ответ, проверяем его. Сравним со временем работы Mi : t(x) ≤ consti · ti (x) + p(|x|) (на проверку), если моделировать шаг-в-шаг; На ДМТ шаг будет стоить дорого, т.к. машин много одновременно, поэтому t(x) ≤ consti · p(ti (x))). 19 / 19