Метод Шеннона-Фано

  Рет қаралды 70,749

Roman Tsarev

Roman Tsarev

Күн бұрын

Метод оптимального кодирования Шеннона-Фано позволяет минимизировать избыточность кода. Под кодированием понимается процесс отображения одного набора знаков в другой: представление символов одного (исходного) алфавита в виде символов другого (кодового) алфавита. никакое кодовое слово не должно быть началом никакого другого кодового слова. Код, полученный методом Шеннона-Фано, удовлетворяет условию Фано или принципу префиксности: никакое кодовое слово не должно быть началом никакого другого кодового слова.

Пікірлер: 48
@nahodkiWB309
@nahodkiWB309 7 жыл бұрын
Спасибо за понятное объяснение!
@romantsarev1145
@romantsarev1145 7 жыл бұрын
Вера, рад что Вам понравилось.
@infup
@infup 2 жыл бұрын
Отличное объяснение! Спасибо.
@romantsarev1145
@romantsarev1145 2 жыл бұрын
Спасибо
@Artem-u5e9c
@Artem-u5e9c Жыл бұрын
Спасибо большое. Очень понятное объяснение.
@romantsarev1145
@romantsarev1145 Жыл бұрын
Пожалуйста
@Sasha-bm1df
@Sasha-bm1df 5 жыл бұрын
Очень доходчиво. Спасибо !
@romantsarev1145
@romantsarev1145 5 жыл бұрын
Пожалуйста.
@den-ned
@den-ned 2 жыл бұрын
Спасибо. Скоро начну изучать программирование, пока не знаю пригодится ли мне эта тема, но посмотреть было интересно.
@romantsarev1145
@romantsarev1145 Жыл бұрын
Ну, как, пригодилось?
@den-ned
@den-ned Жыл бұрын
@@romantsarev1145 Нет, программирование стало менее актуальным с тех пор, и с осени прошлого года перестал его изучать и занялся другой деятельностью, вполне успешно)
@НікітаПронов
@НікітаПронов 2 жыл бұрын
Здравствуйте, замечательный разбор, а не подскажете как делятся группы например при вероятностях 0.4 0.2 0.4? В какую группу относим второй элемент, к первому или к последнему? Просто разность вероятности 2ух групп в таком случае одинакова
@romantsarev1145
@romantsarev1145 2 жыл бұрын
Здравствуйте! На Ваше усмотрение.
@Bezon4ik
@Bezon4ik 5 жыл бұрын
Спасибо, помог
@romantsarev1145
@romantsarev1145 5 жыл бұрын
Пожалуйста
@ЧеловекБезСлезинки
@ЧеловекБезСлезинки 3 жыл бұрын
Спасибо за хорошее объяснение, но есть вопрос. Чем Шеррон-Фано отличается от Хаффмана? Просто записано буквально одинаково.
@romantsarev1145
@romantsarev1145 3 жыл бұрын
В метода Хаффмана мы всегда выбираем минимальные вероятности (сначала среди вероятностей отдельных символов, потом уже и сумм вероятностей). При этом, сортировать предварительно вообще не обязательно. В методе же Ш-A это обязательное условие. Например, этим отличается. В большинстве случаев длина последовательности, сжатой по методу Шеннона - Фано, равна длине сжатой последовательности с использованием кодирования Хаффмана. Однако на некоторых последовательностях могут сформироваться неоптимальные коды Шеннона - Фано, поэтому более эффективным считается сжатие методом Хаффмана (с) Википедия: ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%A8%D0%B5%D0%BD%D0%BD%D0%BE%D0%BD%D0%B0_%E2%80%94_%D0%A4%D0%B0%D0%BD%D0%BE
@oxygensss4390
@oxygensss4390 4 жыл бұрын
Тему понял, но я не знаю зачем это и где пригодится. Объясните пожалуйста
@perfpg8691
@perfpg8691 3 жыл бұрын
В моем институте в ближайшее время мы будем писать архиватор на си, с помощью этого метода
@raydenshow9952
@raydenshow9952 6 жыл бұрын
Спасибо вам большое за объеснение
@romantsarev1145
@romantsarev1145 6 жыл бұрын
Пожалуйста
@markysermak6546
@markysermak6546 5 жыл бұрын
ничего не понятно, но очень интересно
@romantsarev1145
@romantsarev1145 5 жыл бұрын
Твой комментарий порадовал меня
@psbd758
@psbd758 4 жыл бұрын
Благодарочку кидаю
@Вадим-ъ2р8э
@Вадим-ъ2р8э 3 жыл бұрын
Здравствуйте Роман могли бы мне помочь с решением похожей задачи?
@romantsarev1145
@romantsarev1145 Жыл бұрын
Полагаю, что уже не актуально. Что-то не заметил Вашего комментария в свое время. Лучше было на биржу фриланса обратиться. Там бы точно помогли.
@qwiy5955
@qwiy5955 4 жыл бұрын
в конце не понял, как добиваются однозначности декодирования?
@romantsarev1145
@romantsarev1145 4 жыл бұрын
Ни одно кодовое слово не является началом другого кодового слова. То есть, нет ситуации, когда один символ закодирован, например, как 11, а другой - 110, и непонятно при считывании второй единицы (при декодировании) это уже первый символ закончился или второй еще идет. Это называется выполнением принципа префиксности или соблюдением условия Фано.
@РинатИдрисов-ч8ъ
@РинатИдрисов-ч8ъ 4 жыл бұрын
такой вопрос : я получил кодовые значения для каждого символа но я не могу понять надо считывать длину кодовой комбинации ? Просто мне надо использовать формулу для уменьшения средней длины кодовой комбинации.
@romantsarev1145
@romantsarev1145 4 жыл бұрын
Метод Шеннона-Фано дает оптимальный код. Код тем оптимальнее, чем средняя длина кодового слова ближе к минимально возможной. Так что, если Вы хотите узнать насколько код оптимален, то нужно посчитать одно и второе.
@РинатИдрисов-ч8ъ
@РинатИдрисов-ч8ъ 4 жыл бұрын
@@romantsarev1145 Спасибо большое за ответ !
@priest_of_art
@priest_of_art 6 ай бұрын
А доказательство эффективности где?
@romantsarev1145
@romantsarev1145 6 ай бұрын
Нету. Не ставил такой цели
@levkornev1013
@levkornev1013 3 жыл бұрын
Не совсем понятно как двоичный код может обеспечить префиксность если количество элементов больше 8
@romantsarev1145
@romantsarev1145 3 жыл бұрын
Принцип префиксности - ни одно кодовое слово не может быть началом другого кодового слова. Одно должно выполняться всегда и не зависит ни от системы счисления, ни от числа элементов.
@levkornev1013
@levkornev1013 3 жыл бұрын
@@romantsarev1145 тогда не понимаю, как в двоичном коде можно соблюсти этот принцип невзирая на количество кодируемых символов... (на сколько я понял, префиксность проявляется при записи двоичного кода в ряд без разделения)
@romantsarev1145
@romantsarev1145 3 жыл бұрын
@@levkornev1013 Вы поняли верно. Принцип префиксности позволяет ОДНОЗНАЧНО декодировать символы закодированного сообщения, которые идут сплошняком. Но мне не понятно, что Вам не понятно. Возможно повторный просмотр видео снимет возникшие вопросы. Если нет, задайте их более развернуто.
@levkornev1013
@levkornev1013 3 жыл бұрын
@@romantsarev1145 спасибо за ответ, разобрал пример и понял что трактуется однозначно
@mihrankhachatryan3693
@mihrankhachatryan3693 4 жыл бұрын
Вот почему не можно в универе так объяснить?????????
@romantsarev1145
@romantsarev1145 4 жыл бұрын
Отчего же?! Именно так в Сибирском федеральном университете и преподаю.
@almazmukushev5993
@almazmukushev5993 4 жыл бұрын
У кого есть готовый код на джаве. Шеннона фано??? Или Хаффмана?
@nanashi106
@nanashi106 3 жыл бұрын
Есть на с++
@almazmukushev5993
@almazmukushev5993 3 жыл бұрын
@@nanashi106 можешь скинуть
@almazmukushev5993
@almazmukushev5993 3 жыл бұрын
@@nanashi106 А код Хэмминга есть?
@nanashi106
@nanashi106 3 жыл бұрын
@@almazmukushev5993 Нет, только Шеннона-фано и Хаффмана
@zhanabaizhuzupov3031
@zhanabaizhuzupov3031 3 жыл бұрын
@@nanashi106 можете ли мне отпр
@stivensti2031
@stivensti2031 Жыл бұрын
автору западло пример привести?
@romantsarev1145
@romantsarev1145 Жыл бұрын
Приятно, что на зоне нас тоже смотрят. Для невнимательных: пример начинается на 0:30 и заканчивается на 3:40. И уже потом описание метода в общем виде.
Равномерные коды
4:40
Roman Tsarev
Рет қаралды 3,4 М.
Spongebob ate Patrick 😱 #meme #spongebob #gmod
00:15
Mr. LoLo
Рет қаралды 13 МЛН
Шок. Никокадо Авокадо похудел на 110 кг
00:44
АЗАРТНИК 4 |СЕЗОН 3 Серия
30:50
Inter Production
Рет қаралды 994 М.
Код Хаффмана
15:04
Kirsanov2011
Рет қаралды 23 М.
решение задачи на алгоритм фано-шеннона
20:32
Денис Грунев
Рет қаралды 8 М.
Алгоритм Дейкстры
10:35
Kirsanov2011
Рет қаралды 150 М.
Код Шеннона-Фано
15:51
Алексей Сергеев
Рет қаралды 8 М.
Роевой интеллект. Муравьиный алгоритм.
20:57
foo52ru ТехноШаман
Рет қаралды 371 М.
Spongebob ate Patrick 😱 #meme #spongebob #gmod
00:15
Mr. LoLo
Рет қаралды 13 МЛН