Поиск в глубину-3 и начало сложности (21 января 2024)
- 2-связность: продолжение
- Поиск мостов за O(V+E)
- Поиск точек сочленения за O(V+E)
- Сами компоненты двусвязности: снимаем со стека
- 2-SAT
- Формулировка задачи
- Переборное решения
- Граф следствий. Решение за O(VE).
- Наблюдение через компоненты сильной связности: когда решений не существует
- Решение за O(V+E), корректность
- Сложность
- Цель: наконец разобраться с тем, какие по сложности задачи бывают
- Алгоритмически не разрешимая задача (halting). Доказательство (диагонализация). Ещё пример: пуст ли язык regexp.
- P: поиск пути; NP: поиск гамильтонова пути
- Классы: DTime, P, EXP, NP (NP без формализма)
- Сведения на примере IS и VC; ## NP-hard; NP-complete
- Примеры NP-полных задач: SAT, Clique, IS, VC, SUBSETSUM, HAMPATH, 3-COLORING
- Формальные определения NP, coNP; Decision-задача = множество = язык; Примеры: HAMPATH, PRIME.
- [skipped] Сложность, не вошедшее
- [skipped] Полиномиальная иерархия: DTIME[f] строго в DTIME[f*log2(f)] (запуск с будильником). Следствие P ≠ EXP.
- [skipped] Разрешимые: decision, search. Decision-задача = множество = язык.
- [skipped] Класс NP, примеры (k-CLIQUE & MAX-CLIQUE, BOUNDED-HALTING = BH, HAM-PATH, PRIME & coPRIME, IS-SORTED)
- [skipped] Классы NP-hard (NPh), NP-complete (NPc), полиномиальное сведение