Ёмкость Шеннона

Материал из testwiki
Перейти к навигации Перейти к поиску

Ёмкость Шеннона (шенноновская ёмкость) — характеристика неориентированного графа, описывающая предельную плотность кодирования с возможностью гарантированного отслеживания ошибок в канале связи, модель которого представляет данный граф.

В этой модели вершины графа соответствуют символам алфавита, а наличие ребра между двумя вершинами означает, что при передаче первый символ может быть заменён на второй, а второй — на первый. Вероятности или частота, с которыми это происходит, в модели не рассматриваются, целью является построение оптимального способа кодирования, устойчивого к сколь угодно непредсказуемым ошибкам такого рода.

Несмотря на "практичную" формулировку, задача определения шенноновской ёмкости того или иного графа на текущий момент носит сугубо теоретический характер.

Мотивация к изучению

Граф C5 с выделенным максимальным независимым множеством

Пусть по каналу связи передаётся текст, записанный с помощью алфавита из пяти символов: {0,1,2,3,4}, причём физически чтение передаваемых символов реализовано через дискретизацию аналогового сигнала (взятие ближайшего из граничных значений). Из-за погрешностей в передаче сигнала могут перепутываться соседние символы, а также последний (4) перепутываться с первым (0). Граф G, описывающий возможные ошибки этого канала связи, будет циклом длины 5.

Если передавать текст "как есть", то, получив символ 2, получатель не сможет понять, был ли передан отправителем символ 2 или это был переданный отправителем символ 1, при передаче которого произошла ошибка и он превратился в символ 2.

Такая неоднозначность может возникать всегда когда используются хотя бы два символа, соединённые ребром в графе ошибок. Чтобы этого не происходило, можно выбрать независимое множество вершин этого графа и кодировать текст только с помощью символов, соответствующих этим вершинам. При этом, чтобы информационная ценность каждого символа страдала как можно меньше, уместно брать максимальное по размеру из таких множеств (его размер обозначается как α(G)).

В рассматриваемом примере, очевидно, α(G)=2 и поэтому текст нужно кодировать двумя символами (например, 1 и 3). Если длина передаваемого текста (количество символов исходного алфавита) равна n, то существует всего 5n вариантов этого текста и чтобы закодировать их все символами двубуквенного алфавита понадобится не менее log2(5n)=nlog25 бит, то есть размер текста увеличится не менее чем в log25 раз.

Граф C52 c выделенным максимальным независимым множеством

Этот результат можно улучшить если рассматривать не множество ошибок передачи каждого отдельного символа, а ошибки при передаче пары символов. Граф пар символов, которые могут подменяться друг другом (его обозначают как G2) будет иметь не меньшее число независимости.

В рассматриваемом примере α(G2)=5 и одно из максимальных независимых множеств - {(0,3),(1,0),(2,2),(3,4),(4,1)}. Это означает, что в передаваемом сообщении можно использовать все пять символов, но с условием, что при объединении их в последовательные пары будут образовываться только пары из этого множества (например, текст 00 использовать нельзя, потому что он может быть образован из текста 10, который тоже используется). Если изначально в передаваемом тексте было n символов, то каждый из них можно перевести в одну из этих пар и получить текст длины 2n с требуемыми свойствами отслеживания ошибок. Поскольку 2<log25, то этот способ кодирования эффективнее первого.

Естественным образом возникает вопрос, можно ли улучшить этот результат, рассматривая не пары, а последовательные тройки, четвёрки и бо́льшее количество символов, и какого наилучшего результата можно достичь этим методом. Формализация этого вопроса и приводит к понятию ёмкости Шеннона.

Формальное определение

Для определения ёмкости Шеннона используется вспомогательное определение прямого произведения графов:

G1×G2=(V1,E1)×(V2,E2)=(V,E), где

V=V1×V2
((v1,w1),(v2,w2))E((v1,v2)E1v1=v2)((w1,w2)E2w1=w2)((v1,w1)=(v2,w2))

Это операция с точностью до изоморфизма является ассоциативной и коммутативной, так что можно естественным образом определить степень графа:

Gk=G×Gk1

Шаблон:Рамка Определение

Ёмкость Шеннона графа G равна[1]

c(G)=sup\limits nα(Gn)n=lim\limits nα(Gn)n

Шаблон:Конец рамки

Последнее равенство обусловлено тем, что α(G×H)α(G)α(H)[2].

Характер сходимости

Достижимость предела

Предел последовательности α(Gn)n достигается не всегда. Например, когда G представляет собой объединение цикла длины 5 (C5) и изолированной вершины, то c(G)=5+1, но α(Gn)n<5+1

Это обусловлено тем, что α(Gn)=k=1n(nk)α(C5k)+1 и α(C5)<c(C5), так что аналогичное верно для объединения изолированной вершины с любым графом H, для которого α(H)<c(H)

Скорость роста

Актуален вопрос о том, насколько быстро значения αn=α(Gn)n приближаются к c(G). В 2006 году Алон и Любецкий показали. что при достаточно большом размере графа конечного числа значений αn недостаточно чтобы узнать G с точностью хотя бы до |G|εϵ>0. В той же работе они выдвинули несколько гипотез на эту тему.[3]

Шаблон:Рамка Теорема

Для любого целого v существует сколь угодно большое N и граф G размера N такие, что

αk=O(logN) при k<v

αv=N1v Шаблон:Конец рамки


Шаблон:Hider

Оценки и методы изучения

Общих алгоритмов вычисления шенноновской ёмкости по состоянию на 2019 год неизвестно. Это связано не только с тем, что сама задача о числе независимости NP-полна и потому вычислительно трудна, но и с тем, что при вычисленных значениях α(Gk) для малых k задача предсказания дальнейшего роста этих величин также остаётся нетривиальной.

Более того, неизвестно даже точное значение ёмкости для цикла длины 7 или большей нечётной длины.[4][5] Однако для циклов нечётной длины известен предельный закон[6]:

c(C2n+1)=n+12+o(1)

Число Ловаса

Шаблон:Основная статья

Ласло Ловас в 1979 году показал, что c(C5)=α(C52)=5.[7] Для доказательства он вывел общую верхнюю оценку для ёмкости Шеннона через характеристику системы векторов (ui)iV, структура которой связана со структурой графа G=(V,E), а именно

uiTuj={1,i=j,0,(i,j)E.

При таком подходе чтобы получить верхнюю оценку достаточно предъявить хотя бы одну систему векторов c нужными свойствами, то есть происходит переход от задачи доказательства к задаче предъявления контрпримера.

В конструкции Ловаса с размером графа должно совпадать только количество векторов, но не размерность пространства. Например, для доказательства c(C5)=5 использовались трёхмерные вектора.

Алгебраические оценки

Haemers получил оценку ёмкости через ранг матриц, похожих по структуре на матрицу смежности, а именно

c(G)R(G)=minBrank(B),

где минимум берётся по всем матрицам B размера n×n в произвольном поле таким, что:

  • bii=0
  • (i,j)∉Ebij=0

Таким образом, для верхней оценки также достаточно предъявить хотя бы одну матрицу B, имеющую малый ранг.[8]

См. также

Примечания

Шаблон:Примечания

  1. Иногда также используется обозначение Θ(G)
  2. Шаблон:Cite web
  3. Шаблон:Citation.
  4. см. например, arXiv:1504.01472 Шаблон:Wayback, где численное улучшение оценок на них представляется как тема отдельной работы
  5. Шаблон:Cite web
  6. Шаблон:Citation
  7. Шаблон:Citation
  8. Шаблон:Citation Шаблон:Cite web. The definition here corrects a typo in this paper.