ݺߣ

ݺߣShare a Scribd company logo
Теория кодирования
МФТИ, осень 2013
Александр Дайняк
www.dainiak.com
Граф канала
Можно задать модель канала графом, вершины которого — символы
алфавита канала.
Дуга идёт из 𝑥 в 𝑦, если в канале возможна ошибка замещения 𝑥 на 𝑦.
Если в канале для каждой пары символов 𝑥, 𝑦 возможны либо оба
замещения 𝑥 → 𝑦, 𝑦 → 𝑥, либо ни одно из них, то граф канала можно
считать неориентированным.
Граф канала
Пример: если алфавит канала 0,1,2 , и возможны только
замещения 0 → 1 и 1 → 2, то граф такой:
Если возможны замещения 0 → 1, 1 → 0, 1 → 2 и 2 → 1,
то граф такой:
0 1 2
0 1 2
Граф канала
Пусть 𝐺 — граф канала.
Если считать каждый символ канала отдельным сообщением, то во
избежание ошибок придётся использовать множество символов
𝐶1, являющееся независимым множеством в 𝐺:
При этом в лучшем случае пропускная способность канала
получается такой же, как у канала без ошибок, алфавит которого
имеет мощность 𝛼 𝐺 .
𝟎 1 𝟐
Граф канала
Пусть 𝐺 = 𝑉, 𝐸 — граф канала.
Если по каналу мы посылаем пары символов, то следует выбирать
для использования такое множество пар 𝐶2, чтобы
∄ 𝑥′, 𝑦′ , 𝑥′′, 𝑦′′ ∈ 𝐶2:
𝑥′
= 𝑥′′
∨ 𝑥′
𝑥′′
∈ 𝐸 ∧ 𝑦′
= 𝑦′′
∨ 𝑦′
𝑦′′
∈ 𝐸
Если мы рассмотрим такое 𝐶2, имеющее максимально возможную
мощность, то данный код позволяет достичь пропускной
способности 𝐶2 .
Граф канала
Замечание. В чём смысл извлечения квадратного корня из 𝐶2 :
Это скорость передачи данных в канале в расчёте на один
передаваемый символ.
Если бы у нас был безошибочный канал, в алфавите которого ровно
𝐶2 символов, то мы могли бы передавать по нему как раз 𝐶2
сообщений длины 2.
Граф канала
Если 𝐺 — граф канала, и мы посылаем тройки символов, то следует
выбирать такое множество троек 𝐶3, чтобы в нём не было двух
троек, соответствующие компоненты которых совпадают или
образуют ребро в 𝐺.
Если мы рассмотрим такое 𝐶3, имеющее максимально возможную
мощность, то данный код позволит достичь пропускной
способности
3
𝐶3 .
И так далее…
Шенноновское произведение
Шенноновское произведение графов 𝐺 и 𝐻 — это граф 𝐺 × 𝐻 со
множеством вершин
𝑉 𝐺 × 𝐻 = 𝑥, 𝑦 ∣ 𝑥 ∈ 𝑉 𝐺 , 𝑦 ∈ 𝑉 𝐻
Рёбра в 𝐺 × 𝐻 между парами 𝑥′, 𝑦′ и 𝑥′′, 𝑦′′ , для которых
𝑥′
= 𝑥′′
∨ 𝑥′
𝑥′′
∈ 𝐸 𝐺 ∧ 𝑦′
= 𝑦′′
∨ 𝑦′
𝑦′′
∈ 𝐸 𝐻
Очевидно, 𝐺1 × 𝐺2 × 𝐺3 ≃ 𝐺1 × 𝐺2 × 𝐺3 и 𝐺1 × 𝐺2 ≃ 𝐺2 × 𝐺1
для любых 𝐺1, 𝐺2, 𝐺3.
Шенноновское произведение
Пример:
× =
𝑎
𝑏
𝑐
1 2
𝑎1
𝑏1
𝑐1
𝑎2
𝑏2
𝑐2
Шенноновская ёмкость
Шенноновская ёмкость графа 𝐺:
cap 𝐺 = sup
𝑛∈ℕ
𝑛
𝛼 𝐺 × 𝐺 × ⋯ × 𝐺
Это наибольшая возможная (в пределе) «скорость», с которой
можно передавать без ошибок данные по каналу, моделью
которого является граф 𝐺.
𝑛 раз
Верхняя оценка
шенноновской ёмкости графа
Пусть 𝐺 — произвольный граф.
Будем рассматривать наборы весов 𝒘 на вершинах графа 𝐺, такие,
что
• ∀𝑥 𝑤 𝑥 ≥ 0
• 𝑥∈𝑉 𝐺 𝑤 𝑥 = 1
Для любого множества 𝐴 ⊆ 𝐺 обозначим
𝑤 𝐴 ≔
𝑥∈𝐴
𝑤 𝑥
Верхняя оценка
шенноновской ёмкости графа
Для произвольного графа 𝐺 рассмотрим величину
𝜈 𝐺 ≔ min
𝒘
max
𝐾−клика
в 𝐺
𝑤 𝐾
(ясно, что max достаточно брать только по максимальным по
включению кликам)
Теорема Шеннона о верхней оценке ёмкости:
Для любого 𝐺 справедливо неравенство
cap 𝐺 ≤ 𝜈 𝐺
−1
Доказательство верхней оценки
шенноновской ёмкости графа
Докажем, что
𝑛
𝛼 𝐺 𝑛 ≤ 𝜈 𝐺
−1
для каждого 𝑛.
Пусть 𝐴 ⊆ 𝑉 𝐺 — независимое множество размера 𝛼 𝐺 .
Рассмотрим набор весов 𝒘0, в котором
• 𝑤0 𝑥 ≔ 0, если 𝑥 ∉ 𝐴,
• 𝑤0 𝑥 ≔ 𝛼 𝐺
−1
, если 𝑥 ∈ 𝐴.
Для таких весов получим
𝜈 𝐺 ≤ max
𝐾−клика
в 𝐺
𝑤0 𝐾 = 𝛼 𝐺
−1
откуда 𝛼 𝐺 ≤ 𝜈 𝐺
−1
.
Доказательство верхней оценки
шенноновской ёмкости графа
Итак, 𝜈 𝐺 ≤ 𝛼 𝐺
−1
для любого 𝐺.
Лемма. Для любых графов 𝐺, 𝐻 выполнено
𝜈 𝐺 × 𝐻 = 𝜈 𝐺 ⋅ 𝜈 𝐻
Если докажем лемму, то докажем и теорему:
𝜈 𝐺 𝑛 = 𝜈 𝐺
𝑛
⇒
𝑛
𝛼 𝐺 𝑛 ≤
𝑛
𝜈 𝐺 𝑛 −1
= 𝜈 𝐺
−1
Доказательство верхней оценки
шенноновской ёмкости графа
Лемма. Для любых графов 𝐺, 𝐻 выполнено
𝜈 𝐺 × 𝐻 = 𝜈 𝐺 ⋅ 𝜈 𝐻
Доказательство леммы:
Пусть 𝒘 𝐺
∗
и 𝒘 𝐻
∗
— наборы весов на вершинах графов 𝐺 и 𝐻, на
которых достигаются минимумы в 𝜈 𝐺 и 𝜈 𝐻 .
Рассмотрим набор весов 𝒘 𝐺×𝐻 на вершинах графа 𝐺 × 𝐻, такой,
что
𝑤 𝐺×𝐻 𝑥, 𝑦 ≔ 𝑤 𝐺
∗
𝑥 ⋅ 𝑤 𝐻
∗
𝑦
Доказательство верхней оценки
шенноновской ёмкости графа
Берём набор весов 𝑤 𝐺×𝐻 𝑥, 𝑦 ≔ 𝑤 𝐺
∗
𝑥 ⋅ 𝑤 𝐻
∗
𝑦 .
Любая максимальная по включению клика 𝐾 в графе 𝐺 × 𝐻
является множеством пар вида
𝑥, 𝑦 ∣ 𝑥 ∈ 𝐾 𝐺, 𝑦 ∈ 𝐾 𝐻
где 𝐾 𝐺 и 𝐾 𝐻 — клики в 𝐺 и 𝐻 соответственно. Для таких клик 𝐾
имеем
𝑤 𝐺×𝐻 𝐾 =
𝑥,𝑦 ∈𝐾
𝑤 𝐺
∗
𝑥 ⋅ 𝑤 𝐻
∗
𝑦 =
𝑥∈𝐾 𝐺
𝑤 𝐺
∗
𝑥
𝑦∈𝐾 𝐻
𝑤 𝐻
∗
𝑦 =
= 𝑤 𝐺
∗
𝐾 𝐺 ⋅ 𝑤 𝐻
∗
𝐾 𝐻
Доказательство верхней оценки
шенноновской ёмкости графа
Имеем
𝜈 𝐺 × 𝐻 = min
𝒘
max
𝐾−клика
в 𝐺×𝐻
𝑤 𝐾 ≤
≤ max
𝐾−клика
в 𝐺×𝐻
𝑤 𝐺×𝐻 𝐾 = max
𝐾−клика
в 𝐺×𝐻
𝑤 𝐺
∗
𝐾 𝐺 ⋅ 𝑤 𝐻
∗
𝐾 𝐻 ≤
≤ max
𝐾−клика
в 𝐺
𝑤 𝐺
∗
𝐾 ⋅ max
𝐾−клика
в 𝐻
𝑤 𝐻
∗
𝐾 = 𝜈 𝐺 ⋅ 𝜈 𝐻
В итоге, 𝜈 𝐺 × 𝐻 ≤ 𝜈 𝐺 ⋅ 𝜈 𝐻 .
Доказательство верхней оценки
шенноновской ёмкости графа
Обозначим через 𝒘 набор весов на кликах графа (неотрицательны,
сумма равна единице).
По теореме о свойствах двойственных задач линейного
программирования, для любого графа имеет место равенство
min
𝒘
max
𝐾
𝑥∈𝐾
𝑤 𝑥 = max
𝒘
min
𝑥
𝐾∋𝑥
𝑤 𝐾
Доказательство верхней оценки
шенноновской ёмкости графа
max
𝒘
min
𝑥
𝐾∋𝑥
𝑤 𝐾
Пусть 𝒘 𝐺
∗
и 𝒘 𝐻
∗
— наборы весов, на которых достигается max для
графов 𝐺 и 𝐻.
Построим набор весов 𝑤 𝐺×𝐻 на кликах графа 𝐺 × 𝐻:
• Пусть клика 𝐾 может быть представлена в виде 𝐾 𝐺 × 𝐾 𝐻, где 𝐾 𝐺 и
𝐾 𝐻 — клики в 𝐺 и 𝐻. Тогда полагаем 𝑤 𝐺×𝐻 𝐾 ≔ 𝑤 𝐺
∗
𝐾 𝐺 ⋅ 𝑤 𝐻
∗
𝐾 𝐻 .
• Для остальных клик 𝐾 полагаем 𝑤 𝐺×𝐻 𝐾 ≔ 0.
Доказательство верхней оценки
шенноновской ёмкости графа
Для такого набора весов и для любой фиксированной вершины 𝑥, 𝑦 ∈
𝑉 𝐺 × 𝐻 имеем
𝐾∋ 𝑥,𝑦
𝑤 𝐺×𝐻 𝐾 ≥
𝐾∋ 𝑥,𝑦
∃𝐾 𝐺,𝐾 𝐻: 𝐾=𝐾 𝐺×𝐾 𝐻
𝑤 𝐺×𝐻 𝐾 =
𝐾 𝐺∋𝑥,
𝐾 𝐻∋𝑦
𝑤 𝐺
∗
𝐾 𝐺 ⋅ 𝑤 𝐻
∗
𝐾 𝐻 =
=
𝐾 𝐺∋𝑥
𝑤 𝐺
∗
𝐾 𝐺
𝐾 𝐻∋𝑦
𝑤 𝐻
∗
𝐾 𝐻 ≥ 𝜈 𝐺 ⋅ 𝜈 𝐻
Отсюда следует неравенство 𝜈 𝐺 × 𝐻 ≥ 𝜈 𝐺 ⋅ 𝜈 𝐻 , а значит верно
равенство 𝜈 𝐺 × 𝐻 = 𝜈 𝐺 ⋅ 𝜈 𝐻 .
Пример применения теоремы
Оценим шенноновскую ёмкость цепи на трёх вершинах. Рассмотрим набор
весов на вершинах графа 𝑃3, на котором достигается минимум.
Пусть веса на крайних вершинах цепи равны 𝑥 и 𝑧, а у средней вершины вес
равен 𝑦. Получаем задачу линейного программирования:
𝑥, 𝑦, 𝑧 ≥ 0
𝑥 + 𝑦 + 𝑧 = 1
𝑥 + 𝑦 ≤ 𝜈
𝑦 + 𝑧 ≤ 𝜈
𝜈 → min
Решение этой задачи: 𝑥 = 𝑧 = 1 2 , 𝑦 = 0 и 𝜈 = 1 2. Отсюда cap 𝑃3 ≤ 2.
При этом очевидны соотношения cap 𝑃3 ≥ 𝛼 𝑃3 = 2, а значит cap 𝑃3 = 2.

More Related Content

Viewers also liked (6)

Циклические коды БЧХ, Хемминга. Восстановление синхронизации
Циклические коды БЧХ, Хемминга. Восстановление синхронизацииЦиклические коды БЧХ, Хемминга. Восстановление синхронизации
Циклические коды БЧХ, Хемминга. Восстановление синхронизации
Alex Dainiak
Основы теории графов 04: метрики на деревьях
Основы теории графов 04: метрики на деревьяхОсновы теории графов 04: метрики на деревьях
Основы теории графов 04: метрики на деревьях
Alex Dainiak
Основы теории графов 03: связность
Основы теории графов 03: связностьОсновы теории графов 03: связность
Основы теории графов 03: связность
Alex Dainiak
Основы теории графов 05: критерии планарности графов
Основы теории графов 05: критерии планарности графовОсновы теории графов 05: критерии планарности графов
Основы теории графов 05: критерии планарности графов
Alex Dainiak
Эйлеровы и гамильтоновы циклы. Теорема Турана.
Эйлеровы и гамильтоновы циклы. Теорема Турана.Эйлеровы и гамильтоновы циклы. Теорема Турана.
Эйлеровы и гамильтоновы циклы. Теорема Турана.
Alex Dainiak
Основы теории графов 06: триангуляции и трёхсвязные планарные графы
Основы теории графов 06: триангуляции и трёхсвязные планарные графыОсновы теории графов 06: триангуляции и трёхсвязные планарные графы
Основы теории графов 06: триангуляции и трёхсвязные планарные графы
Alex Dainiak
Циклические коды БЧХ, Хемминга. Восстановление синхронизации
Циклические коды БЧХ, Хемминга. Восстановление синхронизацииЦиклические коды БЧХ, Хемминга. Восстановление синхронизации
Циклические коды БЧХ, Хемминга. Восстановление синхронизации
Alex Dainiak
Основы теории графов 04: метрики на деревьях
Основы теории графов 04: метрики на деревьяхОсновы теории графов 04: метрики на деревьях
Основы теории графов 04: метрики на деревьях
Alex Dainiak
Основы теории графов 03: связность
Основы теории графов 03: связностьОсновы теории графов 03: связность
Основы теории графов 03: связность
Alex Dainiak
Основы теории графов 05: критерии планарности графов
Основы теории графов 05: критерии планарности графовОсновы теории графов 05: критерии планарности графов
Основы теории графов 05: критерии планарности графов
Alex Dainiak
Эйлеровы и гамильтоновы циклы. Теорема Турана.
Эйлеровы и гамильтоновы циклы. Теорема Турана.Эйлеровы и гамильтоновы циклы. Теорема Турана.
Эйлеровы и гамильтоновы циклы. Теорема Турана.
Alex Dainiak
Основы теории графов 06: триангуляции и трёхсвязные планарные графы
Основы теории графов 06: триангуляции и трёхсвязные планарные графыОсновы теории графов 06: триангуляции и трёхсвязные планарные графы
Основы теории графов 06: триангуляции и трёхсвязные планарные графы
Alex Dainiak

Similar to Графовая модель канала связи. Шенноновская ёмкость (20)

Гиперграфы. Покрытия. Жадный алгоритм.
Гиперграфы. Покрытия. Жадный алгоритм.Гиперграфы. Покрытия. Жадный алгоритм.
Гиперграфы. Покрытия. Жадный алгоритм.
Alex Dainiak
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—ШпильманаЗадача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Alex Dainiak
Границы Плоткина и Элайеса—Бассалыго
Границы Плоткина и Элайеса—БассалыгоГраницы Плоткина и Элайеса—Бассалыго
Границы Плоткина и Элайеса—Бассалыго
Alex Dainiak
Теорема Алона о нулях и её применения
Теорема Алона о нулях и её примененияТеорема Алона о нулях и её применения
Теорема Алона о нулях и её применения
Alex Dainiak
Производящие функции
Производящие функцииПроизводящие функции
Производящие функции
Alex Dainiak
Обращение Мёбиуса на ч.у.м.
Обращение Мёбиуса на ч.у.м.Обращение Мёбиуса на ч.у.м.
Обращение Мёбиуса на ч.у.м.
Alex Dainiak
Коды, исправляющие ошибки. Простейшие границы. Коды Варшамова—Тененгольца.
Коды, исправляющие ошибки. Простейшие границы. Коды Варшамова—Тененгольца.Коды, исправляющие ошибки. Простейшие границы. Коды Варшамова—Тененгольца.
Коды, исправляющие ошибки. Простейшие границы. Коды Варшамова—Тененгольца.
Alex Dainiak
Коды Адамара. Каскадные коды Форни.
Коды Адамара. Каскадные коды Форни.Коды Адамара. Каскадные коды Форни.
Коды Адамара. Каскадные коды Форни.
Alex Dainiak
Линейные коды
Линейные кодыЛинейные коды
Линейные коды
Alex Dainiak
ТФРВС - весна 2014 - лекция 4
ТФРВС - весна 2014 - лекция 4ТФРВС - весна 2014 - лекция 4
ТФРВС - весна 2014 - лекция 4
Alexey Paznikov
Алгоритмы и структуры данных осень 2013 лекция 7
Алгоритмы и структуры данных осень 2013 лекция 7Алгоритмы и структуры данных осень 2013 лекция 7
Алгоритмы и структуры данных осень 2013 лекция 7
Technopark
Основы комбинаторики II. Разбор задач
Основы комбинаторики II. Разбор задачОсновы комбинаторики II. Разбор задач
Основы комбинаторики II. Разбор задач
DEVTYPE
Циклические коды. Граница БЧХ
Циклические коды. Граница БЧХЦиклические коды. Граница БЧХ
Циклические коды. Граница БЧХ
Alex Dainiak
Коды на основе многочленов и алгоритмы их декодирования
Коды на основе многочленов и алгоритмы их декодированияКоды на основе многочленов и алгоритмы их декодирования
Коды на основе многочленов и алгоритмы их декодирования
Alex Dainiak
ТФРВС - весна 2014 - лекция 8
ТФРВС - весна 2014 - лекция 8ТФРВС - весна 2014 - лекция 8
ТФРВС - весна 2014 - лекция 8
Alexey Paznikov
Use of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signatureUse of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signature
Andrei Poliakov
ТФРВС - весна 2014 - лекция 10
ТФРВС - весна 2014 - лекция 10ТФРВС - весна 2014 - лекция 10
ТФРВС - весна 2014 - лекция 10
Alexey Paznikov
VOL-1-No-53-2020
VOL-1-No-53-2020VOL-1-No-53-2020
VOL-1-No-53-2020
Sciences of Europe
Informatika nova ya
Informatika nova yaInformatika nova ya
Informatika nova ya
matthewzharecky1998
Гиперграфы. Покрытия. Жадный алгоритм.
Гиперграфы. Покрытия. Жадный алгоритм.Гиперграфы. Покрытия. Жадный алгоритм.
Гиперграфы. Покрытия. Жадный алгоритм.
Alex Dainiak
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—ШпильманаЗадача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Alex Dainiak
Границы Плоткина и Элайеса—Бассалыго
Границы Плоткина и Элайеса—БассалыгоГраницы Плоткина и Элайеса—Бассалыго
Границы Плоткина и Элайеса—Бассалыго
Alex Dainiak
Теорема Алона о нулях и её применения
Теорема Алона о нулях и её примененияТеорема Алона о нулях и её применения
Теорема Алона о нулях и её применения
Alex Dainiak
Производящие функции
Производящие функцииПроизводящие функции
Производящие функции
Alex Dainiak
Обращение Мёбиуса на ч.у.м.
Обращение Мёбиуса на ч.у.м.Обращение Мёбиуса на ч.у.м.
Обращение Мёбиуса на ч.у.м.
Alex Dainiak
Коды, исправляющие ошибки. Простейшие границы. Коды Варшамова—Тененгольца.
Коды, исправляющие ошибки. Простейшие границы. Коды Варшамова—Тененгольца.Коды, исправляющие ошибки. Простейшие границы. Коды Варшамова—Тененгольца.
Коды, исправляющие ошибки. Простейшие границы. Коды Варшамова—Тененгольца.
Alex Dainiak
Коды Адамара. Каскадные коды Форни.
Коды Адамара. Каскадные коды Форни.Коды Адамара. Каскадные коды Форни.
Коды Адамара. Каскадные коды Форни.
Alex Dainiak
Линейные коды
Линейные кодыЛинейные коды
Линейные коды
Alex Dainiak
ТФРВС - весна 2014 - лекция 4
ТФРВС - весна 2014 - лекция 4ТФРВС - весна 2014 - лекция 4
ТФРВС - весна 2014 - лекция 4
Alexey Paznikov
Алгоритмы и структуры данных осень 2013 лекция 7
Алгоритмы и структуры данных осень 2013 лекция 7Алгоритмы и структуры данных осень 2013 лекция 7
Алгоритмы и структуры данных осень 2013 лекция 7
Technopark
Основы комбинаторики II. Разбор задач
Основы комбинаторики II. Разбор задачОсновы комбинаторики II. Разбор задач
Основы комбинаторики II. Разбор задач
DEVTYPE
Циклические коды. Граница БЧХ
Циклические коды. Граница БЧХЦиклические коды. Граница БЧХ
Циклические коды. Граница БЧХ
Alex Dainiak
Коды на основе многочленов и алгоритмы их декодирования
Коды на основе многочленов и алгоритмы их декодированияКоды на основе многочленов и алгоритмы их декодирования
Коды на основе многочленов и алгоритмы их декодирования
Alex Dainiak
ТФРВС - весна 2014 - лекция 8
ТФРВС - весна 2014 - лекция 8ТФРВС - весна 2014 - лекция 8
ТФРВС - весна 2014 - лекция 8
Alexey Paznikov
Use of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signatureUse of eliptic curves for generating digital signature
Use of eliptic curves for generating digital signature
Andrei Poliakov
ТФРВС - весна 2014 - лекция 10
ТФРВС - весна 2014 - лекция 10ТФРВС - весна 2014 - лекция 10
ТФРВС - весна 2014 - лекция 10
Alexey Paznikov

More from Alex Dainiak (10)

Конспект лекций по теории кодирования
Конспект лекций по теории кодированияКонспект лекций по теории кодирования
Конспект лекций по теории кодирования
Alex Dainiak
Приложения теории кодирования
Приложения теории кодированияПриложения теории кодирования
Приложения теории кодирования
Alex Dainiak
Алфавитное кодирование. Коды с минимальной избыточностью. Теорема Макмиллана.
Алфавитное кодирование. Коды с минимальной избыточностью. Теорема Макмиллана.Алфавитное кодирование. Коды с минимальной избыточностью. Теорема Макмиллана.
Алфавитное кодирование. Коды с минимальной избыточностью. Теорема Макмиллана.
Alex Dainiak
Визуализация графов: left-right алгоритм распознавания планарности
Визуализация графов: left-right алгоритм распознавания планарностиВизуализация графов: left-right алгоритм распознавания планарности
Визуализация графов: left-right алгоритм распознавания планарности
Alex Dainiak
Визуализация графов: укладки деревьев
Визуализация графов: укладки деревьевВизуализация графов: укладки деревьев
Визуализация графов: укладки деревьев
Alex Dainiak
Визуализация графов: теорема Татта о барицентрической укладке
Визуализация графов: теорема Татта о барицентрической укладкеВизуализация графов: теорема Татта о барицентрической укладке
Визуализация графов: теорема Татта о барицентрической укладке
Alex Dainiak
Визуализация графов: история
Визуализация графов: историяВизуализация графов: история
Визуализация графов: история
Alex Dainiak
Визуализация графов: нижние оценки и NP-трудность
Визуализация графов: нижние оценки и NP-трудностьВизуализация графов: нижние оценки и NP-трудность
Визуализация графов: нижние оценки и NP-трудность
Alex Dainiak
Размерность Вапника—Червоненкиса
Размерность Вапника—ЧервоненкисаРазмерность Вапника—Червоненкиса
Размерность Вапника—Червоненкиса
Alex Dainiak
Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...
Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...
Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...
Alex Dainiak
Конспект лекций по теории кодирования
Конспект лекций по теории кодированияКонспект лекций по теории кодирования
Конспект лекций по теории кодирования
Alex Dainiak
Приложения теории кодирования
Приложения теории кодированияПриложения теории кодирования
Приложения теории кодирования
Alex Dainiak
Алфавитное кодирование. Коды с минимальной избыточностью. Теорема Макмиллана.
Алфавитное кодирование. Коды с минимальной избыточностью. Теорема Макмиллана.Алфавитное кодирование. Коды с минимальной избыточностью. Теорема Макмиллана.
Алфавитное кодирование. Коды с минимальной избыточностью. Теорема Макмиллана.
Alex Dainiak
Визуализация графов: left-right алгоритм распознавания планарности
Визуализация графов: left-right алгоритм распознавания планарностиВизуализация графов: left-right алгоритм распознавания планарности
Визуализация графов: left-right алгоритм распознавания планарности
Alex Dainiak
Визуализация графов: укладки деревьев
Визуализация графов: укладки деревьевВизуализация графов: укладки деревьев
Визуализация графов: укладки деревьев
Alex Dainiak
Визуализация графов: теорема Татта о барицентрической укладке
Визуализация графов: теорема Татта о барицентрической укладкеВизуализация графов: теорема Татта о барицентрической укладке
Визуализация графов: теорема Татта о барицентрической укладке
Alex Dainiak
Визуализация графов: история
Визуализация графов: историяВизуализация графов: история
Визуализация графов: история
Alex Dainiak
Визуализация графов: нижние оценки и NP-трудность
Визуализация графов: нижние оценки и NP-трудностьВизуализация графов: нижние оценки и NP-трудность
Визуализация графов: нижние оценки и NP-трудность
Alex Dainiak
Размерность Вапника—Червоненкиса
Размерность Вапника—ЧервоненкисаРазмерность Вапника—Червоненкиса
Размерность Вапника—Червоненкиса
Alex Dainiak
Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...
Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...
Частично-упорядоченные множества, булеан, теоремы о разложении на цепи и анти...
Alex Dainiak

Графовая модель канала связи. Шенноновская ёмкость

  • 1. Теория кодирования МФТИ, осень 2013 Александр Дайняк www.dainiak.com
  • 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.
  • 20. Доказательство верхней оценки шенноновской ёмкости графа Для такого набора весов и для любой фиксированной вершины 𝑥, 𝑦 ∈ 𝑉 𝐺 × 𝐻 имеем 𝐾∋ 𝑥,𝑦 𝑤 𝐺×𝐻 𝐾 ≥ 𝐾∋ 𝑥,𝑦 ∃𝐾 𝐺,𝐾 𝐻: 𝐾=𝐾 𝐺×𝐾 𝐻 𝑤 𝐺×𝐻 𝐾 = 𝐾 𝐺∋𝑥, 𝐾 𝐻∋𝑦 𝑤 𝐺 ∗ 𝐾 𝐺 ⋅ 𝑤 𝐻 ∗ 𝐾 𝐻 = = 𝐾 𝐺∋𝑥 𝑤 𝐺 ∗ 𝐾 𝐺 𝐾 𝐻∋𝑦 𝑤 𝐻 ∗ 𝐾 𝐻 ≥ 𝜈 𝐺 ⋅ 𝜈 𝐻 Отсюда следует неравенство 𝜈 𝐺 × 𝐻 ≥ 𝜈 𝐺 ⋅ 𝜈 𝐻 , а значит верно равенство 𝜈 𝐺 × 𝐻 = 𝜈 𝐺 ⋅ 𝜈 𝐻 .
  • 21. Пример применения теоремы Оценим шенноновскую ёмкость цепи на трёх вершинах. Рассмотрим набор весов на вершинах графа 𝑃3, на котором достигается минимум. Пусть веса на крайних вершинах цепи равны 𝑥 и 𝑧, а у средней вершины вес равен 𝑦. Получаем задачу линейного программирования: 𝑥, 𝑦, 𝑧 ≥ 0 𝑥 + 𝑦 + 𝑧 = 1 𝑥 + 𝑦 ≤ 𝜈 𝑦 + 𝑧 ≤ 𝜈 𝜈 → min Решение этой задачи: 𝑥 = 𝑧 = 1 2 , 𝑦 = 0 и 𝜈 = 1 2. Отсюда cap 𝑃3 ≤ 2. При этом очевидны соотношения cap 𝑃3 ≥ 𝛼 𝑃3 = 2, а значит cap 𝑃3 = 2.