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

Поділитися
Вставка
  • Опубліковано 14 січ 2025

КОМЕНТАРІ • 53

  • @nahodkiWB309
    @nahodkiWB309 7 років тому +45

    Спасибо за понятное объяснение!

    • @romantsarev1145
      @romantsarev1145  7 років тому +2

      Вера, рад что Вам понравилось.

  • @infup
    @infup 2 роки тому +12

    Отличное объяснение! Спасибо.

  • @Artem-u5e9c
    @Artem-u5e9c Рік тому +5

    Спасибо большое. Очень понятное объяснение.

  • @Sasha-bm1df
    @Sasha-bm1df 6 років тому +9

    Очень доходчиво. Спасибо !

  • @den-ned
    @den-ned 2 роки тому

    Спасибо. Скоро начну изучать программирование, пока не знаю пригодится ли мне эта тема, но посмотреть было интересно.

    • @romantsarev1145
      @romantsarev1145  Рік тому +1

      Ну, как, пригодилось?

    • @den-ned
      @den-ned Рік тому

      @@romantsarev1145 Нет, программирование стало менее актуальным с тех пор, и с осени прошлого года перестал его изучать и занялся другой деятельностью, вполне успешно)

  • @Bezon4ik
    @Bezon4ik 6 років тому +3

    Спасибо, помог

  • @НікітаПронов
    @НікітаПронов 3 роки тому +1

    Здравствуйте, замечательный разбор, а не подскажете как делятся группы например при вероятностях 0.4 0.2 0.4?
    В какую группу относим второй элемент, к первому или к последнему? Просто разность вероятности 2ух групп в таком случае одинакова

    • @romantsarev1145
      @romantsarev1145  3 роки тому +1

      Здравствуйте! На Ваше усмотрение.

  • @raydenshow9952
    @raydenshow9952 6 років тому +1

    Спасибо вам большое за объеснение

  • @masterenot
    @masterenot 3 місяці тому

    спасибо

  • @SLENDER_FOL
    @SLENDER_FOL 2 місяці тому

    а чем тогда метод Хаффмана отличается от Шеннона-Фано, если вычисляются они рубрь в рубль ???

    • @romantsarev1145
      @romantsarev1145  2 місяці тому

      Вот именно, что "рубрь в рубль". Вроде и одинаково, но разница все же есть. Писать долго. На вики это расписано.

    • @SLENDER_FOL
      @SLENDER_FOL 2 місяці тому

      @romantsarev1145 на сколько мне известно, Хаффману нужно составлять таблицу в порядке убывания числа и делить на +- равные половины, потом за пределами таблицы есть ещё какие-то вычисления, что-то типа "равномерные" и "не равномерные" ... в общем ДА, действительно геморройный метод Хаффмана

  • @oxygensss4390
    @oxygensss4390 4 роки тому +2

    Тему понял, но я не знаю зачем это и где пригодится. Объясните пожалуйста

    • @perfpg8691
      @perfpg8691 4 роки тому

      В моем институте в ближайшее время мы будем писать архиватор на си, с помощью этого метода

    • @mikhailsokovykkh637
      @mikhailsokovykkh637 Місяць тому

      @@perfpg8691 ис ?

  • @markysermak6546
    @markysermak6546 6 років тому +4

    ничего не понятно, но очень интересно

    • @romantsarev1145
      @romantsarev1145  6 років тому

      Твой комментарий порадовал меня

  • @ЧеловекБезСлезинки

    Спасибо за хорошее объяснение, но есть вопрос.
    Чем Шеррон-Фано отличается от Хаффмана? Просто записано буквально одинаково.

    • @romantsarev1145
      @romantsarev1145  4 роки тому +5

      В метода Хаффмана мы всегда выбираем минимальные вероятности (сначала среди вероятностей отдельных символов, потом уже и сумм вероятностей). При этом, сортировать предварительно вообще не обязательно. В методе же Ш-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

  • @Вадим-ъ2р8э
    @Вадим-ъ2р8э 4 роки тому

    Здравствуйте Роман могли бы мне помочь с решением похожей задачи?

    • @romantsarev1145
      @romantsarev1145  Рік тому

      Полагаю, что уже не актуально. Что-то не заметил Вашего комментария в свое время. Лучше было на биржу фриланса обратиться. Там бы точно помогли.

  • @psbd758
    @psbd758 4 роки тому

    Благодарочку кидаю

  • @qwiy5955
    @qwiy5955 4 роки тому

    в конце не понял, как добиваются однозначности декодирования?

    • @romantsarev1145
      @romantsarev1145  4 роки тому +1

      Ни одно кодовое слово не является началом другого кодового слова. То есть, нет ситуации, когда один символ закодирован, например, как 11, а другой - 110, и непонятно при считывании второй единицы (при декодировании) это уже первый символ закончился или второй еще идет. Это называется выполнением принципа префиксности или соблюдением условия Фано.

  • @РинатИдрисов-ч8ъ
    @РинатИдрисов-ч8ъ 4 роки тому

    такой вопрос : я получил кодовые значения для каждого символа но я не могу понять надо считывать длину кодовой комбинации ? Просто мне надо использовать формулу для уменьшения средней длины кодовой комбинации.

    • @romantsarev1145
      @romantsarev1145  4 роки тому

      Метод Шеннона-Фано дает оптимальный код. Код тем оптимальнее, чем средняя длина кодового слова ближе к минимально возможной. Так что, если Вы хотите узнать насколько код оптимален, то нужно посчитать одно и второе.

    • @РинатИдрисов-ч8ъ
      @РинатИдрисов-ч8ъ 4 роки тому

      @@romantsarev1145 Спасибо большое за ответ !

  • @priest_of_art
    @priest_of_art 10 місяців тому

    А доказательство эффективности где?

    • @romantsarev1145
      @romantsarev1145  10 місяців тому

      Нету. Не ставил такой цели

  • @levkornev1013
    @levkornev1013 4 роки тому

    Не совсем понятно как двоичный код может обеспечить префиксность если количество элементов больше 8

    • @romantsarev1145
      @romantsarev1145  4 роки тому

      Принцип префиксности - ни одно кодовое слово не может быть началом другого кодового слова. Одно должно выполняться всегда и не зависит ни от системы счисления, ни от числа элементов.

    • @levkornev1013
      @levkornev1013 4 роки тому

      @@romantsarev1145 тогда не понимаю, как в двоичном коде можно соблюсти этот принцип невзирая на количество кодируемых символов... (на сколько я понял, префиксность проявляется при записи двоичного кода в ряд без разделения)

    • @romantsarev1145
      @romantsarev1145  4 роки тому

      @@levkornev1013 Вы поняли верно. Принцип префиксности позволяет ОДНОЗНАЧНО декодировать символы закодированного сообщения, которые идут сплошняком. Но мне не понятно, что Вам не понятно. Возможно повторный просмотр видео снимет возникшие вопросы. Если нет, задайте их более развернуто.

    • @levkornev1013
      @levkornev1013 4 роки тому

      @@romantsarev1145 спасибо за ответ, разобрал пример и понял что трактуется однозначно

  • @mihrankhachatryan3693
    @mihrankhachatryan3693 4 роки тому +1

    Вот почему не можно в универе так объяснить?????????

    • @romantsarev1145
      @romantsarev1145  4 роки тому +4

      Отчего же?! Именно так в Сибирском федеральном университете и преподаю.

  • @almazmukushev5993
    @almazmukushev5993 4 роки тому

    У кого есть готовый код на джаве. Шеннона фано??? Или Хаффмана?

    • @nanashi106
      @nanashi106 4 роки тому

      Есть на с++

    • @almazmukushev5993
      @almazmukushev5993 4 роки тому

      @@nanashi106 можешь скинуть

    • @almazmukushev5993
      @almazmukushev5993 4 роки тому

      @@nanashi106 А код Хэмминга есть?

    • @nanashi106
      @nanashi106 4 роки тому

      @@almazmukushev5993 Нет, только Шеннона-фано и Хаффмана

    • @zhanabaizhuzupov3031
      @zhanabaizhuzupov3031 3 роки тому

      @@nanashi106 можете ли мне отпр

  • @stivensti2031
    @stivensti2031 2 роки тому

    автору западло пример привести?

    • @romantsarev1145
      @romantsarev1145  2 роки тому +2

      Приятно, что на зоне нас тоже смотрят. Для невнимательных: пример начинается на 0:30 и заканчивается на 3:40. И уже потом описание метода в общем виде.