Линейное программирование − 2 (20-е марта 2024)
- Паросочетание (произвольный граф)
- Задача поиска чётного простого пути min веса
- Примеры (один на симплекс, другой на поиск начального решения; цель = закрепеление симплекса вторым проходом)
- x1 + 2x2 + x3 ≤ 3, 2x1 + x2 + x3 ≤ 3, x1 + x2 - x3 → max (x1, x2, x3 ≥ 0)
- x1 - x2 ≤ -1, x1 + x2 ≤ 9, 2x1 + x2 → max (x1, x2 ≥ 0)
- Обучение Перцептрона
- Формулировка: нейрон/перцептрон, отделимость точек плоскостью, форма ∀i <ai,x> >0
- Алгоритм для Ax > 0: начинаем с x0 = 0, пока ∃ aij <xj, ai> ≤ 0, xj+1 = xj + aij
- Конечность числа итераций: |ai| = 1, |xk|2 = |xk-1 + aik|2 ≤ |xk-1|2 + 1 ≤ k
- Конечность числа итераций: x* − ответ, |x*| = 1, тогда <xk,x*> ≤ k * mini<ai,x*> и <xk,x*> ≤ |xk|
- Точность сходимости (проблема проявляется уже в 2D, когда ∃ ai, aj: <ai, aj> мало)
- Сведения разных форм LP, частные случаи LP (m уравнений, n неизвестных)
- (cx → max) ↔ (cx → min)
- (cx → max) → поиск произвольного решения (бинпоиск по ответу)
- Ax = b, x ≥ 0 ⇒ m ≤ n (линейно независимые строки)
- Ax ≥ b ⇒ m ≥ n (линейно независимые столбцы)
- ♥ Ax ≤ b для малых n − пересечение полуплоскостей, полупространств.
- Решение для n=1 за O(m)
- Рандомизированное решение для n=2 за O(m)
- Рандомизированное решение за O(m×n!)