Алгоритм Блахута–Аримото

Класс алгоритмов в теории информации

Термин алгоритм Блахута–Аримото часто используется для обозначения класса алгоритмов для численного вычисления либо информационно-теоретической емкости канала, функции скорости-искажения источника или кодирования источника (т. е. сжатия для удаления избыточности). Это итеративные алгоритмы , которые в конечном итоге сходятся к одному из максимумов задачи оптимизации , которая связана с этими информационно-теоретическими концепциями.

История и применение

Для случая пропускной способности канала алгоритм был независимо изобретен Сугуру Аримото [1] и Ричардом Блахутом . [2] Кроме того, обработка Блахута дает алгоритмы для вычисления искажения скорости и обобщенной пропускной способности с входными ограничениями (т. е. функция пропускной способности-стоимости, аналогичная функции пропускной способности-искажения). Эти алгоритмы наиболее применимы к случаю произвольных конечных источников алфавита. Большая работа была проделана для его распространения на более общие примеры проблем. [3] [4] Недавно была предложена версия алгоритма, которая учитывает непрерывные и многомерные выходные данные с приложениями в клеточной сигнализации. [5] Существует также версия алгоритма Блахута–Аримото для направленной информации . [6]

Алгоритм расчета пропускной способности канала

Дискретный канал без памяти (DMC) может быть определен с помощью двух случайных величин с алфавитом и закона канала как условного распределения вероятностей . Пропускная способность канала , определяемая как , указывает максимальную эффективность, которую канал может передавать, в единицах бит за использование. [7] Теперь, если мы обозначим мощность , то это матрица, в которой мы обозначим запись строки, столбца как . Для случая пропускной способности канала алгоритм был независимо изобретен Сугуру Аримото [8] и Ричардом Блахутом . [9] Они оба нашли следующее выражение для пропускной способности DMC с законом канала: Х , И {\displaystyle X,Y} Х , И {\displaystyle {\mathcal {X}},{\mathcal {Y}}} п ( у | х ) {\displaystyle p(y|x)} С := Как дела п Х я ( Х ; И ) {\displaystyle C:=\sup _{p\sim X}I(X;Y)} | Х | = н , | И | = м {\displaystyle |{\mathcal {X}}|=n,|{\mathcal {Y}}|=m} п И | Х {\displaystyle p_{Y|X}} н × м {\displaystyle n\times m} я т час {\displaystyle я^{й}} дж т час {\displaystyle j^{th}} ж я дж {\displaystyle w_{ij}}

С = макс п макс В я = 1 н дж = 1 м п я ж я дж бревно ( В дж я п я ) {\displaystyle C=\max _{\mathbf {p} }\max _{Q}\sum _{i=1}^{n}\sum _{j=1}^{m}p_{i}w_{ij}\log \left({\dfrac {Q_{ji}}{p_{i}}}\right)}

где и максимизируются при следующих требованиях: п {\displaystyle \mathbf {п} } В {\displaystyle Q}

  • п {\displaystyle \mathbf {п} } — это распределение вероятностей на , то есть, если мы запишем как Х {\displaystyle X} п {\displaystyle \mathbf {п} } ( п 1 , п 2 . . . , п н ) , я = 1 н п я = 1 {\displaystyle (p_{1},p_{2}...,p_{n}),\sum _{i=1}^{n}p_{i}=1}
  • В = ( д дж я ) {\displaystyle Q=(q_{ji})} — это матрица, которая ведет себя как матрица перехода от к относительно закона канала. То есть, для всех : м × н {\displaystyle m\times n} И {\displaystyle Y} Х {\displaystyle X} 1 я н , 1 дж м {\displaystyle 1\leq i\leq n,1\leq j\leq m}
    • д дж я 0 , д дж я = 0 ж я дж = 0 {\displaystyle q_{ji}\geq 0,q_{ji}=0\Leftrightarrow w_{ij}=0}
    • Сумма всех строк равна 1, т.е. . я = 1 н д дж я = 1 {\displaystyle \sum _{i=1}^{n}q_{ji}=1}

Затем, выбрав случайное распределение вероятностей , мы можем итеративно сгенерировать последовательность следующим образом: п 0 := ( п 1 0 , п 2 0 , . . . п н 0 ) {\displaystyle \mathbf {p} ^{0}:=(p_{1}^{0},p_{2}^{0},...p_{n}^{0})} Х {\displaystyle X} ( п 0 , В 0 , п 1 , В 1 . . . ) {\displaystyle (\mathbf {p} ^{0},Q^{0},\mathbf {p} ^{1},Q^{1}...)}

( д дж я т ) := п я т ж я дж к = 1 н п к т ж к дж {\displaystyle (q_{ji}^{t}):={\dfrac {p_{i}^{t}w_{ij}}{\sum _{k=1}^{n}p_{k}^{t}w_{kj}}}}

п к т + 1 := дж = 1 м ( д дж к т ) ж к дж я = 1 н дж = 1 м ( д дж я т ) ж я дж {\displaystyle p_{k}^{t+1}:={\dfrac {\prod _{j=1}^{m}(q_{jk}^{t})^{w_{kj}}}{\sum _{i=1}^{n}\prod _{j=1}^{m}(q_{ji}^{t})^{w_{ij}}}}}

Для . t = 0 , 1 , 2... {\displaystyle t=0,1,2...}

Затем, используя теорию оптимизации, а именно метод спуска по координатам , Йенг [10] показал, что последовательность действительно сходится к требуемому максимуму. То есть,

lim t i = 1 n j = 1 m p i t w i j log ( Q j i t p i t ) = C {\displaystyle \lim _{t\to \infty }\sum _{i=1}^{n}\sum _{j=1}^{m}p_{i}^{t}w_{ij}\log \left({\dfrac {Q_{ji}^{t}}{p_{i}^{t}}}\right)=C} .

Таким образом, учитывая закон канала , пропускную способность можно оценить численно с произвольной точностью. p ( y | x ) {\displaystyle p(y|x)}

Алгоритм для скорости-искажения

Предположим, у нас есть источник с вероятностью любого заданного символа. Мы хотим найти кодировку , которая генерирует сжатый сигнал из исходного сигнала, минимизируя ожидаемое искажение , где ожидание берется по совместной вероятности и . Мы можем найти кодировку, которая минимизирует функционал скорости-искажения локально, повторяя следующую итерацию до сходимости: X {\displaystyle X} p ( x ) {\displaystyle p(x)} p ( x ^ | x ) {\displaystyle p({\hat {x}}|x)} X ^ {\displaystyle {\hat {X}}} d ( x , x ^ ) {\displaystyle \langle d(x,{\hat {x}})\rangle } X {\displaystyle X} X ^ {\displaystyle {\hat {X}}}

p t + 1 ( x ^ | x ) = p t ( x ^ ) exp ( β d ( x , x ^ ) ) x ^ p t ( x ^ ) exp ( β d ( x , x ^ ) ) {\displaystyle p_{t+1}({\hat {x}}|x)={\frac {p_{t}({\hat {x}})\exp(-\beta d(x,{\hat {x}}))}{\sum _{\hat {x}}p_{t}({\hat {x}})\exp(-\beta d(x,{\hat {x}}))}}}
p t + 1 ( x ^ ) = x p ( x ) p t + 1 ( x ^ | x ) {\displaystyle p_{t+1}({\hat {x}})=\sum _{x}p(x)p_{t+1}({\hat {x}}|x)}

где — параметр, связанный с наклоном кривой «скорость-искажение», на который мы ориентируемся, и, таким образом, связанный с тем, насколько мы отдаем предпочтение сжатию по сравнению с искажением (чем выше, тем меньше сжатие). β {\displaystyle \beta } β {\displaystyle \beta }

Ссылки

  1. ^ Аримото, Сугуру (1972), «Алгоритм вычисления пропускной способности произвольных дискретных каналов без памяти», IEEE Transactions on Information Theory , 18 (1): 14–20, doi :10.1109/TIT.1972.1054753, S2CID  8408706.
  2. ^ Блахут, Ричард (1972), «Вычисление пропускной способности канала и функций скорости-искажения», IEEE Transactions on Information Theory , 18 (4): 460–473, CiteSeerX 10.1.1.133.7174 , doi :10.1109/TIT.1972.1054855 .
  3. ^ Vontobel, Pascal O. (2003). "Обобщенный алгоритм Блахута–Аримото". Труды Международного симпозиума IEEE по теории информации, 2003. стр. 53. doi :10.1109/ISIT.2003.1228067. ISBN 0-7803-7728-1.
  4. ^ Иддо Найсс; Хаим Пермутер (2010). «Расширение алгоритма Блахута-Аримото для максимизации направленной информации». arXiv : 1012.5071v2 [cs.IT].
  5. ^ Томаш Йетка; Кароль Ниенальтовски; Томаш Винарски; Славомир Блонски; Михал Коморовски (2019), "Информационно-теоретический анализ многомерных одноклеточных сигнальных реакций", PLOS Computational Biology , 15 (7): e1007132, arXiv : 1808.05581 , Bibcode : 2019PLSCB..15E7132J, doi : 10.1371/journal.pcbi.1007132 , PMC 6655862 , PMID  31299056 
  6. ^ Naiss, Iddo; Permuter, Haim H. (январь 2013 г.). «Расширение алгоритма Блахута–Аримото для максимизации направленной информации». Труды IEEE по теории информации . 59 (1): 204–222. arXiv : 1012.5071 . doi : 10.1109/TIT.2012.2214202. S2CID  3115749.
  7. ^ Cover, TM (2006). Элементы теории информации. Джой А. Томас (2-е изд.). Хобокен, Нью-Джерси: Wiley-Interscience. ISBN 0-471-24195-4. OCLC  59879802.
  8. ^ Аримото, Сугуру (1972), «Алгоритм вычисления пропускной способности произвольных дискретных каналов без памяти», IEEE Transactions on Information Theory , 18 (1): 14–20, doi :10.1109/TIT.1972.1054753, S2CID  8408706.
  9. ^ Блахут, Ричард (1972), «Вычисление пропускной способности канала и функций скорости-искажения», IEEE Transactions on Information Theory , 18 (4): 460–473, CiteSeerX 10.1.1.133.7174 , doi :10.1109/TIT.1972.1054855 .
  10. ^ Yeung, Raymond W. (2008). Теория информации и сетевое кодирование. Нью-Йорк: Springer. ISBN 978-0-387-79234-7. OCLC  288469056.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Blahut–Arimoto_algorithm&oldid=1253315384"