Основы теории графов 07: сепараторы в планарных графахAlex DainiakДоказываем теорему Липтона—Тарджена о существовании хороших разделяющих множеств (сепараторов) в планарных графах.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Основы теории графов 09: раскраски планарных графов, совершенные графыAlex DainiakРассматриваем раскраски планарных графов и другие темы, связанные с раскрасками. Доказываем теорему Томассена о том, что списочное хроматическое число любого планарного графа не превышает пяти. Доказываем теорему Эрдёша о том, что существуют графы с большим хроматическим числом и одновременно большим обхватом.
Рассматриваем совершенные графы и доказываем слабую гипотезу Бержа.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Основы теории графов 10: экстремальная теория графовAlex DainiakДоказываем теорему Турана, а затем теорему Эрдёша—Стоуна—Симоновица(Шимоновича) о связи хроматического числа подграфа с максимальным числом рёбер в графе, его не содержащего.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Основы теории графов 02: факторизация графов (разложение на простые подграфы)Alex DainiakДоказываем теоремы о разложении полных графов на полные двудольные: Грэхема—Поллака и Анселя. Доказываем теорему Татта о критерии существования совершенного паросочетания в произвольном графе.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Основы теории графов 08: раскраски и списочные раскраскиAlex DainiakВводим понятие списочной раскраски. Демонстрируем различие между обчным и списочным хроматическим числом. Доказываем теоремы Брукса и Визинга. Доказываем теорему Алона об оценки списочного хроматического числа через минимальную степень вершин. Доказываем верхнюю оценку на списочное хроматическое число через обычное.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Основы теории графов 11: гамильтоновы циклыAlex DainiakДоказываем достаточные условия существования в графе гамильтоновых циклов: условия Эрдёша—Хватала, Асратяна—Хачатряна, Хватала. Доказываем необходимые условия существования гамильтонова цикла в планарном графе (теорема Гринберга).
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Основы теории графов 01: напоминание определений, теорема Форда—ФалкерсонаAlex DainiakВспоминаем определения изоморфизма, связности, соседства и т.п. Доказываем (напоминаем) теорему Форда—Фалкерсона, из которой на следующей лекции выведем теорему Менгера.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Циклические коды БЧХ, Хемминга. Восстановление синхронизацииAlex DainiakКоды БЧХ.
Задача восстановления синхронизации. Восстановление синхронизации для смежных классов циклических кодов.
Циклическое представление кодов Хемминга. Совершенные коды. Коды Голея. Теорема Васильева.
Основы теории графов 04: метрики на деревьяхAlex DainiakДоказываем теорему Зарецкого о существовании дерева с заданными расстояниями между вершинами.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Основы теории графов 03: связностьAlex DainiakОбсуждаем два определения k-связности. Доказываем теорему Менгера об их эквавалентности (через теорему Форда—Фалкерсона). Доказываем теоремы о построении 2-связных и 3-связных графов. Вводим деревья блоков и точек сочленения. Доказываем теорему Мадера о существовании k-связного подграфа.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Основы теории графов 05: критерии планарности графовAlex DainiakВводим определение укладки, планарных графов, доказываем критерии планарности Вагнера и Понтрягина—Куратовского.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Основы теории графов 06: триангуляции и трёхсвязные планарные графыAlex DainiakВводим понятие триангуляций. Доказываем, что триангуляции трёхсвязны. Доказываем критерий Татта о том, когда множество образует границу грани в трёхсвязном планарном графе. Доказываем теорему Вагнера—Фари о том, что у любого планарного графа существует укладка, в которой рёбра — отрезки прямых линий.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—ШпильманаAlex DainiakСложность задачи декодирования линейных кодов: задача NCP (задачи о ближайшем кодовом слове).
Графы-расширители. Вероятностное доказательство существования расширителей. Коды на основе двудольных графов. Кодовое расстояние кодов на основе расширителей. Алгоритм декодирования Сипсера—Шпильмана.
Границы Плоткина и Элайеса—БассалыгоAlex DainiakГраница Плоткина.
Вложение метрических пространств. Лемма о числе векторов в евклидовом пространстве. Граница Элайеса—Бассалыго.
Коды, исправляющие ошибки. Простейшие границы. Коды Варшамова—Тененгольца.Alex DainiakЗадача исправления и обнаружения ошибок. Геометрическая интерпретация. Типы ошибок. Метрики Хемминга и Левенштейна. Кодовое расстояние. Основные задачи теории кодов, исправляющих ошибки.
Коды Варшамова—Тененгольца, алгоритмы исправления одиночных ошибок выпадения и вставки символов.
Простейшие границы для параметров кодов, исправляющих ошибки замещения: границы сферической упаковки, Синглтона.
Коды Адамара. Каскадные коды Форни.Alex DainiakМатрицы Адамара. Конструкции Сильвестра и Пэли. Коды на основе матриц Адамара.
Каскадные коды. Коды Форни: конструкция и простой алгоритм декодирования.
Линейные кодыAlex DainiakЛинейные коды. Определения. Порождающая и проверочная матрицы. Связь кодового расстояния с проверочной матрицей. Граница Варшамова—Гилберта. Систематическое кодирование. Декодирование по синдрому. Коды Хемминга.
Остаточный код. Граница Грайсмера—Соломона—Штиффлера.
ТФРВС - весна 2014 - лекция 4Alexey PaznikovЛЕКЦИЯ 4. Расчет показателей надежности ВС для стационарного режима
Пазников Алексей Александрович
к.т.н., ст. преп. Кафедры вычислительных системСибирский государственный университеттелекоммуникаций и информатики
Циклические коды. Граница БЧХAlex DainiakЦиклические коды. Проверочный и порождающий многочлены, критерий существования кода с заданным порождающим многочленом. Вид порождающей и проверочной матриц. Систематическое кодирование.
Граница Боуза—Чоудхури—Хоквингема.
Коды на основе многочленов и алгоритмы их декодированияAlex DainiakКоды Рида—Соломона. Алгоритм декодирования Берлекэмпа—Велча.
Коды Рида—Маллера: кодовое расстояние, алгоритм мажоритарного декодирования.
Варианты обобщений конструкции Рида—Маллера. Лемма Липтона—ДеМилло—Шварца—Зиппеля. Понятие об алгеброгеометрических кодах.
ТФРВС - весна 2014 - лекция 8Alexey PaznikovЛЕКЦИЯ 8. Расчёт функций потенциальной живучести распределённых вычислительных систем
Пазников Алексей Александрович
к.т.н., ст. преп. Кафедры вычислительных системСибирский государственный университеттелекоммуникаций и информатики
Циклические коды БЧХ, Хемминга. Восстановление синхронизацииAlex DainiakКоды БЧХ.
Задача восстановления синхронизации. Восстановление синхронизации для смежных классов циклических кодов.
Циклическое представление кодов Хемминга. Совершенные коды. Коды Голея. Теорема Васильева.
Основы теории графов 04: метрики на деревьяхAlex DainiakДоказываем теорему Зарецкого о существовании дерева с заданными расстояниями между вершинами.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Основы теории графов 03: связностьAlex DainiakОбсуждаем два определения k-связности. Доказываем теорему Менгера об их эквавалентности (через теорему Форда—Фалкерсона). Доказываем теоремы о построении 2-связных и 3-связных графов. Вводим деревья блоков и точек сочленения. Доказываем теорему Мадера о существовании k-связного подграфа.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Основы теории графов 05: критерии планарности графовAlex DainiakВводим определение укладки, планарных графов, доказываем критерии планарности Вагнера и Понтрягина—Куратовского.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Основы теории графов 06: триангуляции и трёхсвязные планарные графыAlex DainiakВводим понятие триангуляций. Доказываем, что триангуляции трёхсвязны. Доказываем критерий Татта о том, когда множество образует границу грани в трёхсвязном планарном графе. Доказываем теорему Вагнера—Фари о том, что у любого планарного графа существует укладка, в которой рёбра — отрезки прямых линий.
[Слайды курса, прочитанного в МФТИ в 2013 году.]
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—ШпильманаAlex DainiakСложность задачи декодирования линейных кодов: задача NCP (задачи о ближайшем кодовом слове).
Графы-расширители. Вероятностное доказательство существования расширителей. Коды на основе двудольных графов. Кодовое расстояние кодов на основе расширителей. Алгоритм декодирования Сипсера—Шпильмана.
Границы Плоткина и Элайеса—БассалыгоAlex DainiakГраница Плоткина.
Вложение метрических пространств. Лемма о числе векторов в евклидовом пространстве. Граница Элайеса—Бассалыго.
Коды, исправляющие ошибки. Простейшие границы. Коды Варшамова—Тененгольца.Alex DainiakЗадача исправления и обнаружения ошибок. Геометрическая интерпретация. Типы ошибок. Метрики Хемминга и Левенштейна. Кодовое расстояние. Основные задачи теории кодов, исправляющих ошибки.
Коды Варшамова—Тененгольца, алгоритмы исправления одиночных ошибок выпадения и вставки символов.
Простейшие границы для параметров кодов, исправляющих ошибки замещения: границы сферической упаковки, Синглтона.
Коды Адамара. Каскадные коды Форни.Alex DainiakМатрицы Адамара. Конструкции Сильвестра и Пэли. Коды на основе матриц Адамара.
Каскадные коды. Коды Форни: конструкция и простой алгоритм декодирования.
Линейные кодыAlex DainiakЛинейные коды. Определения. Порождающая и проверочная матрицы. Связь кодового расстояния с проверочной матрицей. Граница Варшамова—Гилберта. Систематическое кодирование. Декодирование по синдрому. Коды Хемминга.
Остаточный код. Граница Грайсмера—Соломона—Штиффлера.
ТФРВС - весна 2014 - лекция 4Alexey PaznikovЛЕКЦИЯ 4. Расчет показателей надежности ВС для стационарного режима
Пазников Алексей Александрович
к.т.н., ст. преп. Кафедры вычислительных системСибирский государственный университеттелекоммуникаций и информатики
Циклические коды. Граница БЧХAlex DainiakЦиклические коды. Проверочный и порождающий многочлены, критерий существования кода с заданным порождающим многочленом. Вид порождающей и проверочной матриц. Систематическое кодирование.
Граница Боуза—Чоудхури—Хоквингема.
Коды на основе многочленов и алгоритмы их декодированияAlex DainiakКоды Рида—Соломона. Алгоритм декодирования Берлекэмпа—Велча.
Коды Рида—Маллера: кодовое расстояние, алгоритм мажоритарного декодирования.
Варианты обобщений конструкции Рида—Маллера. Лемма Липтона—ДеМилло—Шварца—Зиппеля. Понятие об алгеброгеометрических кодах.
ТФРВС - весна 2014 - лекция 8Alexey PaznikovЛЕКЦИЯ 8. Расчёт функций потенциальной живучести распределённых вычислительных систем
Пазников Алексей Александрович
к.т.н., ст. преп. Кафедры вычислительных системСибирский государственный университеттелекоммуникаций и информатики
ТФРВС - весна 2014 - лекция 10Alexey PaznikovЛЕКЦИЯ 10. Осуществимость решения задач на вычислительных системах
Пазников Алексей Александрович
к.т.н., ст. преп. Кафедры вычислительных системСибирский государственный университеттелекоммуникаций и информатики
Конспект лекций по теории кодированияAlex DainiakСобранные в один файл конспекты лекций по теории кодов, исправляющих ошибки. Лекции читаются на факультете ФИВТ МФТИ.
Последняя версия этого файла всегда доступна на www.dainiak.com
Приложения теории кодированияAlex DainiakПриложения кодов, исправляющих ошибки. Рандомизированный протокол в коммуникационной сложности. Криптосхема МакЭлиса. Однородные (псевдослучайные) множества на основе кодов, их приложения к дерандомизации задачи выполнимости и к задаче разделения секрета.
2. Граф канала
Можно задать модель канала графом, вершины которого — символы
алфавита канала.
Дуга идёт из 𝑥 в 𝑦, если в канале возможна ошибка замещения 𝑥 на 𝑦.
Если в канале для каждой пары символов 𝑥, 𝑦 возможны либо оба
замещения 𝑥 → 𝑦, 𝑦 → 𝑥, либо ни одно из них, то граф канала можно
считать неориентированным.
3. Граф канала
Пример: если алфавит канала 0,1,2 , и возможны только
замещения 0 → 1 и 1 → 2, то граф такой:
Если возможны замещения 0 → 1, 1 → 0, 1 → 2 и 2 → 1,
то граф такой:
0 1 2
0 1 2
4. Граф канала
Пусть 𝐺 — граф канала.
Если считать каждый символ канала отдельным сообщением, то во
избежание ошибок придётся использовать множество символов
𝐶1, являющееся независимым множеством в 𝐺:
При этом в лучшем случае пропускная способность канала
получается такой же, как у канала без ошибок, алфавит которого
имеет мощность 𝛼 𝐺 .
𝟎 1 𝟐
5. Граф канала
Пусть 𝐺 = 𝑉, 𝐸 — граф канала.
Если по каналу мы посылаем пары символов, то следует выбирать
для использования такое множество пар 𝐶2, чтобы
∄ 𝑥′, 𝑦′ , 𝑥′′, 𝑦′′ ∈ 𝐶2:
𝑥′
= 𝑥′′
∨ 𝑥′
𝑥′′
∈ 𝐸 ∧ 𝑦′
= 𝑦′′
∨ 𝑦′
𝑦′′
∈ 𝐸
Если мы рассмотрим такое 𝐶2, имеющее максимально возможную
мощность, то данный код позволяет достичь пропускной
способности 𝐶2 .
6. Граф канала
Замечание. В чём смысл извлечения квадратного корня из 𝐶2 :
Это скорость передачи данных в канале в расчёте на один
передаваемый символ.
Если бы у нас был безошибочный канал, в алфавите которого ровно
𝐶2 символов, то мы могли бы передавать по нему как раз 𝐶2
сообщений длины 2.
7. Граф канала
Если 𝐺 — граф канала, и мы посылаем тройки символов, то следует
выбирать такое множество троек 𝐶3, чтобы в нём не было двух
троек, соответствующие компоненты которых совпадают или
образуют ребро в 𝐺.
Если мы рассмотрим такое 𝐶3, имеющее максимально возможную
мощность, то данный код позволит достичь пропускной
способности
3
𝐶3 .
И так далее…
8. Шенноновское произведение
Шенноновское произведение графов 𝐺 и 𝐻 — это граф 𝐺 × 𝐻 со
множеством вершин
𝑉 𝐺 × 𝐻 = 𝑥, 𝑦 ∣ 𝑥 ∈ 𝑉 𝐺 , 𝑦 ∈ 𝑉 𝐻
Рёбра в 𝐺 × 𝐻 между парами 𝑥′, 𝑦′ и 𝑥′′, 𝑦′′ , для которых
𝑥′
= 𝑥′′
∨ 𝑥′
𝑥′′
∈ 𝐸 𝐺 ∧ 𝑦′
= 𝑦′′
∨ 𝑦′
𝑦′′
∈ 𝐸 𝐻
Очевидно, 𝐺1 × 𝐺2 × 𝐺3 ≃ 𝐺1 × 𝐺2 × 𝐺3 и 𝐺1 × 𝐺2 ≃ 𝐺2 × 𝐺1
для любых 𝐺1, 𝐺2, 𝐺3.
10. Шенноновская ёмкость
Шенноновская ёмкость графа 𝐺:
cap 𝐺 = sup
𝑛∈ℕ
𝑛
𝛼 𝐺 × 𝐺 × ⋯ × 𝐺
Это наибольшая возможная (в пределе) «скорость», с которой
можно передавать без ошибок данные по каналу, моделью
которого является граф 𝐺.
𝑛 раз
11. Верхняя оценка
шенноновской ёмкости графа
Пусть 𝐺 — произвольный граф.
Будем рассматривать наборы весов 𝒘 на вершинах графа 𝐺, такие,
что
• ∀𝑥 𝑤 𝑥 ≥ 0
• 𝑥∈𝑉 𝐺 𝑤 𝑥 = 1
Для любого множества 𝐴 ⊆ 𝐺 обозначим
𝑤 𝐴 ≔
𝑥∈𝐴
𝑤 𝑥
12. Верхняя оценка
шенноновской ёмкости графа
Для произвольного графа 𝐺 рассмотрим величину
𝜈 𝐺 ≔ min
𝒘
max
𝐾−клика
в 𝐺
𝑤 𝐾
(ясно, что max достаточно брать только по максимальным по
включению кликам)
Теорема Шеннона о верхней оценке ёмкости:
Для любого 𝐺 справедливо неравенство
cap 𝐺 ≤ 𝜈 𝐺
−1
13. Доказательство верхней оценки
шенноновской ёмкости графа
Докажем, что
𝑛
𝛼 𝐺 𝑛 ≤ 𝜈 𝐺
−1
для каждого 𝑛.
Пусть 𝐴 ⊆ 𝑉 𝐺 — независимое множество размера 𝛼 𝐺 .
Рассмотрим набор весов 𝒘0, в котором
• 𝑤0 𝑥 ≔ 0, если 𝑥 ∉ 𝐴,
• 𝑤0 𝑥 ≔ 𝛼 𝐺
−1
, если 𝑥 ∈ 𝐴.
Для таких весов получим
𝜈 𝐺 ≤ max
𝐾−клика
в 𝐺
𝑤0 𝐾 = 𝛼 𝐺
−1
откуда 𝛼 𝐺 ≤ 𝜈 𝐺
−1
.
14. Доказательство верхней оценки
шенноновской ёмкости графа
Итак, 𝜈 𝐺 ≤ 𝛼 𝐺
−1
для любого 𝐺.
Лемма. Для любых графов 𝐺, 𝐻 выполнено
𝜈 𝐺 × 𝐻 = 𝜈 𝐺 ⋅ 𝜈 𝐻
Если докажем лемму, то докажем и теорему:
𝜈 𝐺 𝑛 = 𝜈 𝐺
𝑛
⇒
𝑛
𝛼 𝐺 𝑛 ≤
𝑛
𝜈 𝐺 𝑛 −1
= 𝜈 𝐺
−1
15. Доказательство верхней оценки
шенноновской ёмкости графа
Лемма. Для любых графов 𝐺, 𝐻 выполнено
𝜈 𝐺 × 𝐻 = 𝜈 𝐺 ⋅ 𝜈 𝐻
Доказательство леммы:
Пусть 𝒘 𝐺
∗
и 𝒘 𝐻
∗
— наборы весов на вершинах графов 𝐺 и 𝐻, на
которых достигаются минимумы в 𝜈 𝐺 и 𝜈 𝐻 .
Рассмотрим набор весов 𝒘 𝐺×𝐻 на вершинах графа 𝐺 × 𝐻, такой,
что
𝑤 𝐺×𝐻 𝑥, 𝑦 ≔ 𝑤 𝐺
∗
𝑥 ⋅ 𝑤 𝐻
∗
𝑦
16. Доказательство верхней оценки
шенноновской ёмкости графа
Берём набор весов 𝑤 𝐺×𝐻 𝑥, 𝑦 ≔ 𝑤 𝐺
∗
𝑥 ⋅ 𝑤 𝐻
∗
𝑦 .
Любая максимальная по включению клика 𝐾 в графе 𝐺 × 𝐻
является множеством пар вида
𝑥, 𝑦 ∣ 𝑥 ∈ 𝐾 𝐺, 𝑦 ∈ 𝐾 𝐻
где 𝐾 𝐺 и 𝐾 𝐻 — клики в 𝐺 и 𝐻 соответственно. Для таких клик 𝐾
имеем
𝑤 𝐺×𝐻 𝐾 =
𝑥,𝑦 ∈𝐾
𝑤 𝐺
∗
𝑥 ⋅ 𝑤 𝐻
∗
𝑦 =
𝑥∈𝐾 𝐺
𝑤 𝐺
∗
𝑥
𝑦∈𝐾 𝐻
𝑤 𝐻
∗
𝑦 =
= 𝑤 𝐺
∗
𝐾 𝐺 ⋅ 𝑤 𝐻
∗
𝐾 𝐻
17. Доказательство верхней оценки
шенноновской ёмкости графа
Имеем
𝜈 𝐺 × 𝐻 = min
𝒘
max
𝐾−клика
в 𝐺×𝐻
𝑤 𝐾 ≤
≤ max
𝐾−клика
в 𝐺×𝐻
𝑤 𝐺×𝐻 𝐾 = max
𝐾−клика
в 𝐺×𝐻
𝑤 𝐺
∗
𝐾 𝐺 ⋅ 𝑤 𝐻
∗
𝐾 𝐻 ≤
≤ max
𝐾−клика
в 𝐺
𝑤 𝐺
∗
𝐾 ⋅ max
𝐾−клика
в 𝐻
𝑤 𝐻
∗
𝐾 = 𝜈 𝐺 ⋅ 𝜈 𝐻
В итоге, 𝜈 𝐺 × 𝐻 ≤ 𝜈 𝐺 ⋅ 𝜈 𝐻 .
18. Доказательство верхней оценки
шенноновской ёмкости графа
Обозначим через 𝒘 набор весов на кликах графа (неотрицательны,
сумма равна единице).
По теореме о свойствах двойственных задач линейного
программирования, для любого графа имеет место равенство
min
𝒘
max
𝐾
𝑥∈𝐾
𝑤 𝑥 = max
𝒘
min
𝑥
𝐾∋𝑥
𝑤 𝐾
19. Доказательство верхней оценки
шенноновской ёмкости графа
max
𝒘
min
𝑥
𝐾∋𝑥
𝑤 𝐾
Пусть 𝒘 𝐺
∗
и 𝒘 𝐻
∗
— наборы весов, на которых достигается max для
графов 𝐺 и 𝐻.
Построим набор весов 𝑤 𝐺×𝐻 на кликах графа 𝐺 × 𝐻:
• Пусть клика 𝐾 может быть представлена в виде 𝐾 𝐺 × 𝐾 𝐻, где 𝐾 𝐺 и
𝐾 𝐻 — клики в 𝐺 и 𝐻. Тогда полагаем 𝑤 𝐺×𝐻 𝐾 ≔ 𝑤 𝐺
∗
𝐾 𝐺 ⋅ 𝑤 𝐻
∗
𝐾 𝐻 .
• Для остальных клик 𝐾 полагаем 𝑤 𝐺×𝐻 𝐾 ≔ 0.
21. Пример применения теоремы
Оценим шенноновскую ёмкость цепи на трёх вершинах. Рассмотрим набор
весов на вершинах графа 𝑃3, на котором достигается минимум.
Пусть веса на крайних вершинах цепи равны 𝑥 и 𝑧, а у средней вершины вес
равен 𝑦. Получаем задачу линейного программирования:
𝑥, 𝑦, 𝑧 ≥ 0
𝑥 + 𝑦 + 𝑧 = 1
𝑥 + 𝑦 ≤ 𝜈
𝑦 + 𝑧 ≤ 𝜈
𝜈 → min
Решение этой задачи: 𝑥 = 𝑧 = 1 2 , 𝑦 = 0 и 𝜈 = 1 2. Отсюда cap 𝑃3 ≤ 2.
При этом очевидны соотношения cap 𝑃3 ≥ 𝛼 𝑃3 = 2, а значит cap 𝑃3 = 2.