Привет! Сегодня я расскажу тебе о том, как я использовал процедуру Шеннона-Фано для закодирования ансамбля из 7 сообщений.Для начала, давай определим вероятности появления каждого сообщения⁚ p1 0.01, p2 0.05, p3 0.15, p4 0.35, p5 0.1 и p6 0.2. Нам также нужно найти вероятность p7, но она не указана, поэтому определим ее самостоятельно.
Для удобства приведу вероятности в убывающем порядке⁚ p4 > p6 > p3 > p5 > p2 > p7 > p1.Теперь давай закодируем наши сообщения по процедуре Шеннона-Фано.
Вначале, разделим ансамбль пополам, пытаясь сделать сумму вероятностей в каждой из двух подгрупп равной. Поскольку вероятности уже упорядочены, мы можем просто разделить их по порядку⁚
Группа 1⁚ p4, p6, p3 0.35 0.2 0.15 0.7
Группа 2⁚ p5, p2, p7, p1 0.1 0;05 p7 0.01 0.16 p7
Теперь выберем наиболее близкое значение к 0.5 в каждой из групп и отметим его символом ″1″. Остальные значения в каждой группе отметим символом ″0″.Группа 1⁚ p4, p6 1
Группа 2⁚ p5٫ p2٫ p7 1
Теперь разделим каждую из полученных групп на две новые, чтобы снова сумма вероятностей была равна в каждой из подгрупп.
Группа 11⁚ p4 1
Группа 12⁚ p6 1
Группа 21⁚ p5 1
Группа 22⁚ p2, p7 1
Продолжим этот процесс, пока у нас не останется одно значение в каждой группе.Группа 111⁚ p4 1
Группа 112⁚ p6 1
Группа 211⁚ p5 1
Группа 221⁚ p2 1
Группа 222⁚ p7 1
Мы получили окончательную кодировку для наших сообщений. Теперь посчитаем среднюю длину кодировки сообщений. Средняя длина кодировки в данном случае ⎯ это сумма произведений вероятности каждого сообщения на его длину кодировки.Средняя длина кодировки p4*1 p6*1 p3*2 p5*2 p2*3 p7*3 p1*4
Давай посчитаем ее. Подставим вероятности в формулу⁚
Средняя длина кодировки 0.35 * 1 0.2 * 1 0.15 * 2 0.1 * 2 0.05 * 3 p7 * 3 0.01 * 4
Средняя длина кодировки 0.35 0.2 0.3 0.2 0.15 3 * p7 0.04
Средняя длина кодировки 1.04 3 * p7
Итак, средняя длина кодировки нашего ансамбля из 7 сообщений составляет 1.04 3 * p7.
Все что осталось ― это найти значение p7 и вычислить среднюю длину кодировки.Для этого выполни следующее равенство⁚ 1.04 3 * p7 4.35
Из этого равенства можем найти p7⁚
3 * p7 4.35 ― 1.04
3 * p7 3.31
p7 3.31 / 3
p7 ≈ 1.10
Теперь подставим найденное значение p7 в выражение для средней длины кодировки⁚
Средняя длина кодировки 1.04 3 * 1.10
Средняя длина кодировки ≈ 1.04 3.3
Средняя длина кодировки ≈ 4.34
Итак, средняя длина кодировки нашего ансамбля из 7 сообщений с использованием процедуры Шеннона-Фано составляет примерно 4..