Неравенство Макмиллана — различия между версиями
(→Неравенство Макмиллана) |
|||
Строка 1: | Строка 1: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{Теорема | {{Теорема | ||
+ | |about=Неравенство Макмиллана (англ. McMillan's inequality) | ||
|statement= | |statement= | ||
<tex> \sum\limits_{i = 1}^{|A|} 2^{-l_i} \le 1</tex> (где <tex>l_i</tex> {{---}} длины кодовых слов) выполняется для любого однозначно декодируемого кода. | <tex> \sum\limits_{i = 1}^{|A|} 2^{-l_i} \le 1</tex> (где <tex>l_i</tex> {{---}} длины кодовых слов) выполняется для любого однозначно декодируемого кода. |
Версия 17:30, 14 января 2015
Теорема (Неравенство Макмиллана (англ. McMillan's inequality)): |
(где — длины кодовых слов) выполняется для любого однозначно декодируемого кода. |
Доказательство: |
Докажем теорему способом, приведенным в книге А. Шеня "Программирование: теоремы и задачи". Пусть имеется однозначный код с кодовыми словами . Необходимо доказать, что их длины удовлетворяют неравенству Макмиллана.Для удобства при кодировании вместо нулей и единиц будем использовать и соответственно.Представим сумму всех слов и возведем эту сумму в степень : . Раскроем скобки, подразумевая под умножением конкатенацию двух слов. По определению однозначности никакое слово не может быть получено двумя способами при соединении кодовых слов, следовательно все слова должны получиться разными.Вот пример для однозначного кода со словами Подставим и : Все получившиеся слагаемые различны (соответствует определению однозначности). в неравенство. Для кодового слова длины получим . В левой части получится выражение из неравенства Макмиллана: . Всего имеется не более слагаемых длины равных , следовательно слагаемые данной длины в сумме не превосходят единицы, а правая часть не превосходит максимальной длины слагаемых: . Получаем, что верно для любого . Так как показательная функция растет быстрее линейной, то при основании (сумма ) большем единицы неравенство нарушается. Поэтому, для однозначного кода выполняется неравенство Макмиллана. |
Ссылки
Литература
Шень А. Х. Программирование: теоремы и задачи. — М.: МЦНМО, 2011. С. 206 - 210. ISBN 978-5-94057-696-9