Огляд судової практики Касаційного цивільного суду у складі Верховного СудуPravotv
В огляді відображено важливі правові висновки Касаційного цивільного суду у складі Верховного Суду, висловлені під час розгляду цивільних справ у спорах про захист прав споживачів туристичних послуг
Інтернет-конференція Арсенія Яценюка від 06.04.2009р.Yaroslav Vedmid
Запитання були зібрані і згруповані ініціативною групою прибічників. Арсеній Яценюк давав відповіді в прямому ефірі. Трансляція відбувалася 6 квітня з 12:30 до 13:30 на сайті frontzmin.org. Відеозапис конференції можна завантажити тут: http://upload.com.ua/get/900792673
Огляд судової практики Касаційного цивільного суду у складі Верховного СудуPravotv
В огляді відображено важливі правові висновки Касаційного цивільного суду у складі Верховного Суду, висловлені під час розгляду цивільних справ у спорах про захист прав споживачів туристичних послуг
Інтернет-конференція Арсенія Яценюка від 06.04.2009р.Yaroslav Vedmid
Запитання були зібрані і згруповані ініціативною групою прибічників. Арсеній Яценюк давав відповіді в прямому ефірі. Трансляція відбувалася 6 квітня з 12:30 до 13:30 на сайті frontzmin.org. Відеозапис конференції можна завантажити тут: http://upload.com.ua/get/900792673
Теория ограничений и Линейное программированиеStas Fomin
Краткое введение в математическое моделирование и задачи линейного программирования.
Показана связь Теории Ограничений Др. Голдратта с линейным программированием, показаны решения компьютером модельных задач из «Синдрома стога сена», даже найдены ошибки в решениях Др. Голдратта.
2. Труднорешаемые задачи
Определение
Алгоритмическая задача называется труднорешаемой, если для нее
не существует полиномиального алгоритма.
Существуют ли разрешимые задачи, которые тем не менее не
принадлежат классу P. Ответ — «теорема об иерархии».
Теорема
Существует алгоритмическая задача, разрешимая некоторым
алгоритмом сложности nO(log n) , но не принадлежащая классу P.
2 / 29
3. Сводимость по Куку
Определение
Алгоритмическая задача P1 полиномиально сводится к задаче P2 ,
если существует полиномиальный алгоритм для решения задачи P1 ,
возможно вызывающий в ходе своей работы процедуру для решения
задачи P2 .
Проблема — переполнение памяти.
t
Вычисление 22
Вход: Натуральное t
R←2
for all i ∈ 1..t do
R ←R ×R
end for
P получается незамкнут. Выход: рассматривать только «задачи
разрешения».
3 / 29
4. Дискретные задачи оптимизации
Задача
«Коммивояжер», «TSPa ». Заданы неориентированный граф из n
вершин-городов, и dij ≡ d(vi , vj ) — положительные целые расстояния
между городами.
Чему равна наименьшая возможная длина кольцевого маршрута,
проходящего по одному разу через все города? Т.е. нужно найти
минимально возможное значение суммы
n−1
min dpi ,pi+1 + dpn ,p1 , (1)
1 2 . . . n i=1
p∈
. . . .
где минимум берется по всем перестановкам p чисел 1, . . . , n.
a
В англоязычной литературе — Traveling Salesman Problem.
4 / 29
5. Переборные задачи разрешения
Задача
«TSP-разрешимость». Заданы n городов c1 , . . . , cn и попарные
расстояния dij ≡ d(ci , cj ) между ними, являющиеся положительными
целыми числами, и положительное целое B.
Верно ли, что минимально возможное значение суммы (1) меньше B?
5 / 29
6. Сведение бинарным поиском
Вход: m > 0, dij > 0, ∀i, j ∈ (1, . . . , m)
Выход: Перестановка πopt , такая, что сумма (1) минимальна.
{ Используется процедура TSPbool (m, D, B) для задачи «TSP-разрешимость»}
Bmin ← 0
Bmax ← m · max1≤i<j≤m d(ci , cj ) {Bmin ≤ (1) ≤ Bmax , где TSPbool (m, d)}
while Bmax − Bmin > 1 do
B ← (Bmin + Bmax )/2
if TSPbool (m, D, B) then
Bmax ← B
else
Bmin ← B
end if
end while
if TSPbool (m, D, Bmin ) then
return Bmin
else
return Bmax
end if
6 / 29
7. Недетерминированная машина Тьюринга
Определение
Недетерминированная машина Тьюринга (НМТ) — это набор
T = k, Σ, Γ, Φ , где k ≥ 1 — натуральное число (число лент),
Σ, Γ — конечные множества, ∈ Σ, START , STOP ∈ Γ,
а Φ — произвольное отношение:
Φ ⊂ (Γ × Σk ) × (Γ × Σk × {−1, 0, 1}k ).
Переход из состояния g , с символами на лентах h1 , . . . , hk будет
допустим, если новое состояние g , записанные символы h1 , . . . , hk и
смещения головок ε1 , . . . , εk удовлетворяют соотношению
(g , h1 , . . . , hk , g , h1 , . . . , hk , ε1 , . . . , εk ) ∈ Φ.
Недетерминированный алгоритм по определению выдает
окончательный ответ 1, если существует хотя бы один путь развития
вычисления, на котором выдается ответ 1,
и 0 — в противном случае. 7 / 29
8. Временная сложность для НМТ
Классы N T IME(f (n)), N SPACE(f (n)) определяются аналогично
классам DT IME(f (n)), DSPACE(f (n)).
Но для МТ классы сложности языков замкнуты относительно
дополнения.
coDT IME(f (n)) ≡ {L|L ∈ DT IME(f (n))}
coDT IME(f (n)) = DT IME(f (n))
А классы сложность НМТ — нет.
?
coN T IME(f (n)) = N T IME(f (n))
?
coN SPACE(f (n)) = N SPACE(f (n))
8 / 29
9. Классы N P и coN P
Определение
N P = ∪c>0 N T IME(nc ),
coN P = {L|L ∈ N P}.
Упражнение
Покажите, что P ⊆ N P ∩ coN P.
Упражнение
Покажите, что N P ⊆ PSPACE
9 / 29
10. Определение N P через ДМТ
Определение
Язык L ⊆ Σ∗ принадлежит классу N P, если существуют
полиномиальная детерминированная машина Тьюринга M и полином
p(·), такие, что L = {x ∈ Σ∗ : ∃ y , |y | < p(|x|)& M(x, y ) = 1}.
Слово y называется обычно «подсказкой», «свидетелем» (witness),
«доказательством» (proof ).
Теорема
Определения «N P/НМТ» и «N P/ДМТ» эквивалентны.
10 / 29
11. «N P/НМТ» ⇔ «N P/ДМТ»
Доказательство.
⇒: ∀x ∈ L → подсказка y : закодированный кратчайший протокол
выполнения-подтверждения НМТ T, определяющей L, в смысле
определения «N P/НМТ».
Длина кратчайшего пути-подтверждения T(x) полиномиально
ограничена ⇒ y (x) — полиномиально ограничена.
Проверка протокола y (x): полиномиальное время.
⇐: Пусть НМТ T, недетерминированно дописывает разделитель #
и некоторое слово y , к входному слову x, а затем работает над словом
x#y , как полиномиальная детерминированная машины Тьюринга из
определения «N P/ДМТ».
11 / 29
12. «N P/НМТ» ⇔ «N P/ДМТ»
Доказательство.
⇒: ∀x ∈ L → подсказка y : закодированный кратчайший протокол
выполнения-подтверждения НМТ T, определяющей L, в смысле
определения «N P/НМТ».
Длина кратчайшего пути-подтверждения T(x) полиномиально
ограничена ⇒ y (x) — полиномиально ограничена.
Проверка протокола y (x): полиномиальное время.
⇐: Пусть НМТ T, недетерминированно дописывает разделитель #
и некоторое слово y , к входному слову x, а затем работает над словом
x#y , как полиномиальная детерминированная машины Тьюринга из
определения «N P/ДМТ».
12 / 29
13. «N P/НМТ» ⇔ «N P/ДМТ»
Доказательство.
⇒: ∀x ∈ L → подсказка y : закодированный кратчайший протокол
выполнения-подтверждения НМТ T, определяющей L, в смысле
определения «N P/НМТ».
Длина кратчайшего пути-подтверждения T(x) полиномиально
ограничена ⇒ y (x) — полиномиально ограничена.
Проверка протокола y (x): полиномиальное время.
⇐: Пусть НМТ T, недетерминированно дописывает разделитель #
и некоторое слово y , к входному слову x, а затем работает над словом
x#y , как полиномиальная детерминированная машины Тьюринга из
определения «N P/ДМТ».
13 / 29
14. «N P/НМТ» ⇔ «N P/ДМТ»
Доказательство.
⇒: ∀x ∈ L → подсказка y : закодированный кратчайший протокол
выполнения-подтверждения НМТ T, определяющей L, в смысле
определения «N P/НМТ».
Длина кратчайшего пути-подтверждения T(x) полиномиально
ограничена ⇒ y (x) — полиномиально ограничена.
Проверка протокола y (x): полиномиальное время.
⇐: Пусть НМТ T, недетерминированно дописывает разделитель #
и некоторое слово y , к входному слову x, а затем работает над словом
x#y , как полиномиальная детерминированная машины Тьюринга из
определения «N P/ДМТ».
14 / 29
15. Сводимость по Куку: незамкнутость N P и coN P
Задача разрешения «Comm(m, d) > B» (в которой спрашивается
верно ли, что любой маршрут коммивояжера имеет длину по крайней
мере (B + 1)), принадлежит классу coN P и не принадлежит классу
N P, при общепринятой гипотезе P = N P.
В то же время она очевидным образом сводится по Куку к переборной
задаче «TSP-разрешимость», принадлежащей классу N P.
15 / 29
16. Сводимость по Карпу
Определение
Задача разрешения P1 полиномиально сводится к задаче
разрешения P2 , если существует полиномиально вычислимая функция
f , перерабатывающая массивы входных данных I1 для задачи P1
в массивы входных данных I2 ≡ f (I1 ) для задачи P2 таким образом,
что для любого I1 ответ в задаче P1 совпадает с ответом задачи P2
для входных данных f (I1 ).
16 / 29
17. N P-полные задачи
Определение
Задача разрешения называется N P-полнойa , если она сама
принадлежит классу N P, а с другой стороны, произвольная задача из
N P сводится к ней полиномиально (См. определение «Сводимость
по Карпу»). Класс N P-полных задач обозначается N PC.
a
Чтобы не перегружать лекции излишней терминологией, мы будем называть
в дальнейшем оптимизационную задачу N P-полной, если N P-полна
соответствующая задача разрешения.
Обратите внимание, что в определение задачи N PC обязательно
входит принадлежность классу N P — если опустить это условие,
получится класс N P-трудных (N P-hard ) задач, включающих N PC,
но выходящих за границы класса N P (при гипотезе P = N P).
17 / 29
18. Первая N P-полная задача
Задача
«Выполнимость/SAT»a . Дано булевское выражение, являющееся
коньюнктивной нормальной формой (КНФ):
m
CNF = Ci , (2)
i=1
где Ci — элементарные дизъюнкции вида
xjσ1 ∨ . . . ∨ xjσk ,
1 k
(3)
1 ≤ k ≤ n, σj ∈ {0, 1}, x 1 = x и x 0 = (¬x).
Существует ли (булевский) набор переменных xj , обращающий эту
форму в 1 (т.е. в «Истину»)?
a
В англоязычной литературе — Satisfiability или просто SAT.
18 / 29
19. Задача «SAT» — N P-полна.
Доказательство.
∀x, кодирующего выполнимую входную КНФ, ∃y — значения
переменных, при которых эта КНФ выполняется, это проверяется за
полиномиальное время ⇒ задача «SAT»∈N P.
Рассмотрим произвольный язык L ∈ N P: ⇒
∀x ∈ L, ∃y (x) : |y (x)| < poly (|x|), и ∃ МТ M, распознающая
Ly = {x#y (x)|x ∈ L} за полиномиальное время (и полиномиальную
память).
Процесс вычисления на x длины n можно представить таблицей
вычисления размера T × S, где T = poly(n), S = poly(n).
19 / 29
20. Задача «SAT» — N P-полна.
Доказательство.
t=0 Γ0,1
t=1
...
t=j Γleft Γ Γright
t =j +1 Γ
...
t=T ...
S клеток
Ячейка (i, j): если головка на i-й позиции, то состояние МТ, иначе ∅.
Ячейки, кодирующие часть клеток нулевой строки, определяются x,
Результат вычисления в ячейке (t, 0).
20 / 29
21. Задача «SAT» — N P-полна.
Доказательство.
Ячейки ≡ переменные, вся таблица ≡ формула (в форме КНФ).
Чтобы таблица вычисления соответствовала правильно проведённому
успешному (с ответом 1) вычислению, должны выполняться
локальные правила согласования для каждой четвёрки клеток вида
и результат должен быть 1.
ϕx — конъюнкция всех этих формул, первая строка — x#y ,
x# – константы, остальные ячейки — переменные (y и z).
M распознает x#y ⇒ ∃z(x, y ) : ϕx (y , z(x, y )) = 1.
M не распознает x#y ⇒ ϕx (y , z) ≡ 0.
21 / 29
22. Доказательство через сводимость
Если N P-полная задача P1 полиномиально сводится к переборной
задаче P2 , то P2 также N P-полна.
Задача
«3-Выполнимость/3SAT».
Вариант задачи «SAT», где каждая элементарная дизъюнкция (3)
имеет длину k ≤ 3. Соответствующие КНФ называются 3-КНФ.
Заменим каждую элементарную дизъюнкцию с k > 3 на:
σ
yi2 ≡ (xjσ1 ∨ xjσ2 ) ∧ yi3 ≡ (yi2 ∨ xjσ3 ) ∧ ... ∧ yik ≡ (yi,k−1 ∨ xj k ) ∧ yik ,
1 2 3 k
где yi2 , . . . , yik — новые булевы переменные, и трансформируем
yiν ≡ (yi,ν−1 ∨ xjσν ) в 3-КНФ.
ν
Задача «3SAT» — N P-полна.
22 / 29
23. «2SAT» ∈ P
Задача
«2-Выполнимость»(2SAT). Частный случай задачи «SAT», в котором
каждая элементарная дизъюнкция имеет длину k ≤ 2.
Соответствующие КНФ называются 2-КНФ.
Можно исключить все дизъюнкции, состоящие из одного терма:
Если (xi ) ⇒ xi ≡ 1 ⇒ выкидываем все дизъюнкты с xi
в положительной степени, а из дизъюнктов содержащих ¬xi ,
выкидываем ¬xi (т.к. ¬xi ≡ 0). Если есть дизъюнкт (¬xi ) — формула
неразрешима.
Аналогично для (¬xi ).
⇒ все дизъюнкты в КНФ из двух термов.
23 / 29
24. «2SAT» ∈ P
x ∨ y ≡ (¬x → y ) ∧ (¬y → x)
2SAT-формула, с n переменных xi ⇒ ориентированный граф:
2n узлов: ∀i xi , ¬xi
2m дуг: дизъюнкция (x ∨ y ) → дуги (¬x → y ) и (¬y → x).
(x ∨ y ) ∧ (y ∨ z) ∧ (x ∨ z) (x ∨ y ) ∧ (y ∨ z) ∧ (x ∨ z) ∧ (x ∨ z) ∧ (y ∨ z)
24 / 29
25. «Вершинное покрытие»
Задача
«Вершинное покрытие»a .
Дан граф G = (V , E ) и положительное целое число K , K ≤ |V |.
Имеется ли в графе G вершинное покрытие не более чем из K
элементов, т.е. такое подмножество V ⊆ V , что |V | ≤ K и каждое
ребро из E содержит хотя бы одну вершину из V ?
a
В англоязычной литературе — Vertex Covering.
Лемма
Задача «Vertex Covering» лежит в N PC.
25 / 29
26. Задача «Vertex Covering» ∈ N PC
3-КНФ от x1 , . . . , xn , k = 3 для всех (m) ЭД.
∀j xj ⇒ дуга (xj , ¬xj )
∀ ЭД ⇒ треугольник (vi1 , vi2 , vi3 )
соединяем дугами vi1 c xjσ1 , vi2 — c xjσ2 и vi3 — c xjσ3 .
1 2 3
Вершинное покрытие должно иметь
(x1 ∨ x2 ∨ x4 ) ∧ (x2 ∨ x3 ∨ x4 ) ∧ (x1 ∨ x2 ∨ x4 )
размер не менее (n + 2m) (n вершин на
(xj , ¬xj ) и 2m на (vi1 , vi2 , vi3 )).
Если есть выполняющий набор для
3КНФ, то существует вершинное
покрытие размера (n + 2m): xj если xj = 1
(иначе ¬xj ), этим «покрываем» по одной
вершине в каждом треугольнике.
Чтобы покрыть остальные, нужно + две
Выполнимо при x1 = 0, x2 = 1
вершины, чтобы покрыть треугольник.
(x3 , x4 — любые).
26 / 29
27. ?
P = NP
N P-трудные задачи
N PC-задача
N PC
NP P coN P
Сводимость по Карпу
N P-задача
«Экспертное мнение» считает, что P = N P.
27 / 29