Графовая модель канала связи. Шенноновская ёмкость
DESCRIPTION
Графовая модель канала. Шенноновское произведение графов, шенноновская ёмкость. Теорема о верхней оценке шенноновской ёмкости.TRANSCRIPT
Теория кодированияМФТИ, осень 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.