16

Click here to load reader

Algorithms Dtime Dspace

Embed Size (px)

Citation preview

Page 1: Algorithms Dtime Dspace

Временная и пространственная сложностьалгоритмов

Н.Н. Кузюрин С.А. Фомин

10 октября 2008 г.

1 / 16

Page 2: Algorithms Dtime Dspace

Теорема об ускорении: упрощение

ТеоремаСуществует разрешимая алгоритмическая задача, для которойвыполнено следующее. Для произвольного алгоритма, решающего этузадачу и имеющего сложность в наихудшем случае t(n), найдетсядругой алгоритм (для этой же задачи) со сложностью t ′(n) такой, что

t ′(n) ≤ log2 t(n)

выполнено для почти всех n (т.е. для всех n, начиная с некоторого).

Теорема об ускорении не позволяет нам определить общеематематическое понятие «оптимального» алгоритма, пригодное длявсех задач, поэтому развитие теории алгоритмов пошло другим путем.Именно, одним из центральных понятий этой теории стало понятиекласса сложности.

2 / 16

Page 3: Algorithms Dtime Dspace

Классы временной сложности

Определение

Язык L ⊂ Σ∗ принадлежит классу DT IME(t(n)), если существуетмашина Тьюринга T, разрешающая данный язык,и ∀n : timeT (n) ≤ t(n).

Определение

P ≡ ∪c>0DT IME(nc).

Определение

EXPT IME ≡ ∪∞k=0DT IME(2nk).

3 / 16

Page 4: Algorithms Dtime Dspace

Классы временной сложности

Определение

Язык L ⊂ Σ∗ принадлежит классу DT IME(t(n)), если существуетмашина Тьюринга T, разрешающая данный язык,и ∀n : timeT (n) ≤ t(n).

Определение

P ≡ ∪c>0DT IME(nc).

Определение

EXPT IME ≡ ∪∞k=0DT IME(2nk).

4 / 16

Page 5: Algorithms Dtime Dspace

Классы временной сложности

Определение

Язык L ⊂ Σ∗ принадлежит классу DT IME(t(n)), если существуетмашина Тьюринга T, разрешающая данный язык,и ∀n : timeT (n) ≤ t(n).

Определение

P ≡ ∪c>0DT IME(nc).

Определение

EXPT IME ≡ ∪∞k=0DT IME(2nk).

5 / 16

Page 6: Algorithms Dtime Dspace

Теорема об иерархии (с упрощением)

В теории сложности «полиномиальный алгоритм»=«эффективныйалгоритм», а P представляет собой класс эффективно решаемыхзадач.

ТеоремаПусть g(n) log g(n) = o(t(n)). Тогда существует язык в DTIME [t(n)],который не принадлежит классу DTIME [g(n)].

В частности, существуют сколь угодно сложные разрешимые задачи.

6 / 16

Page 7: Algorithms Dtime Dspace

Классы пространственной сложностиОпределениеk-ленточная машина Тьюринга (произвольное k > 0) T имеетпространственную сложность s(n), если для любого входного словадлины n T просматривает не более s(n) ячеек на всех рабочих лентах(исключая входную ленту).

Определение

Язык L ⊂ Σ∗ принадлежит классу DSPACE(s(n)), если существуетмашина Тьюринга T, разрешающая данный язык, и пространственнаясложность T не превосходит s(n).

Определение

PSPACE ≡ ∪c>0DSPACE(nc).

7 / 16

Page 8: Algorithms Dtime Dspace

Классы пространственной сложностиОпределениеk-ленточная машина Тьюринга (произвольное k > 0) T имеетпространственную сложность s(n), если для любого входного словадлины n T просматривает не более s(n) ячеек на всех рабочих лентах(исключая входную ленту).

Определение

Язык L ⊂ Σ∗ принадлежит классу DSPACE(s(n)), если существуетмашина Тьюринга T, разрешающая данный язык, и пространственнаясложность T не превосходит s(n).

Определение

PSPACE ≡ ∪c>0DSPACE(nc).

8 / 16

Page 9: Algorithms Dtime Dspace

Классы пространственной сложностиОпределениеk-ленточная машина Тьюринга (произвольное k > 0) T имеетпространственную сложность s(n), если для любого входного словадлины n T просматривает не более s(n) ячеек на всех рабочих лентах(исключая входную ленту).

Определение

Язык L ⊂ Σ∗ принадлежит классу DSPACE(s(n)), если существуетмашина Тьюринга T, разрешающая данный язык, и пространственнаясложность T не превосходит s(n).

Определение

PSPACE ≡ ∪c>0DSPACE(nc).

9 / 16

Page 10: Algorithms Dtime Dspace

УпражнениеПокажите, что PSPACE ⊆ EXPT IME .

Упражнение

Класс LOGSPACE состоит из задач, разрешимых с использованиемO(log n) памяти.Покажите, что LOGSPACE ⊆ P.

Упражнение

Класс LOGSPACE состоит из задач, разрешимых с использованиемO(log n) памяти.Рассмотрим язык «правильно вложенных скобок» L:

∈ L (), ()()((())()), (()()(())), . . ./∈ L )(, . . .

Докажите, что L ∈ LOGSPACE .

10 / 16

Page 11: Algorithms Dtime Dspace

УпражнениеПокажите, что PSPACE ⊆ EXPT IME .

Упражнение

Класс LOGSPACE состоит из задач, разрешимых с использованиемO(log n) памяти.Покажите, что LOGSPACE ⊆ P.

Упражнение

Класс LOGSPACE состоит из задач, разрешимых с использованиемO(log n) памяти.Рассмотрим язык «правильно вложенных скобок» L:

∈ L (), ()()((())()), (()()(())), . . ./∈ L )(, . . .

Докажите, что L ∈ LOGSPACE .

11 / 16

Page 12: Algorithms Dtime Dspace

УпражнениеПокажите, что одно из вложений строгоеP ⊆ PSPACE ⊆ EXPT IME .

Указание: использовать теорему об иерархии.t(n) = 2nk

, g(n) = nc , где c и k — некоторые константы.

Следствие: P 6= EXPT IME .

12 / 16

Page 13: Algorithms Dtime Dspace

УпражнениеПокажите, что одно из вложений строгоеP ⊆ PSPACE ⊆ EXPT IME .

Указание: использовать теорему об иерархии.t(n) = 2nk

, g(n) = nc , где c и k — некоторые константы.

Следствие: P 6= EXPT IME .

13 / 16

Page 14: Algorithms Dtime Dspace

УпражнениеПокажите, что одно из вложений строгоеP ⊆ PSPACE ⊆ EXPT IME .

Указание: использовать теорему об иерархии.t(n) = 2nk

, g(n) = nc , где c и k — некоторые константы.

Следствие: P 6= EXPT IME .

14 / 16

Page 15: Algorithms Dtime Dspace

�Карта памяти� лекции

15 / 16

Page 16: Algorithms Dtime Dspace

Интернет поддержка курса

http://discopal.ispras.ru/

Вопросы?

16 / 16