ВУЗы и колледжи
Арифметическое кодирование слова {мама!} Без скобок
.
сходи в дурдом
Ivan Burac
У алкаша не спрашивали
Какой предмет? Программирование? Информатика?
Для арифметического кодирования слова {мама!}, без учета скобок, нужно выполнить следующие шаги:
1. Создать алфавит, состоящий из символов {м, а, !};
2. Создать частотный словарь символов, указав частоту их встречаемости в слове {мама!}:
- символ м встречается 2 раза;
- символ а встречается 2 раза;
- символ ! встречается 1 раз;
3. Вычислить вероятности для каждого символа, разделив частоты на общее число символов:
- вероятность символа м = 2 / 5 = 0,4;
- вероятность символа а = 2 / 5 = 0,4;
- вероятность символа ! = 1 / 5 = 0,2;
4. Создать интервалы для каждого символа на основе его вероятности:
- интервал для символа м: [0; 0,4);
- интервал для символа а: [0,4; 0,8);
- интервал для символа !: [0,8; 1);
5. Создать стартовый интервал [0; 1];
6. Разделить стартовый интервал на подынтервалы, соответствующие интервалам каждого символа, умножив длину стартового интервала на вероятность каждого символа. Получим следующие подынтервалы:
- подынтервал для символа м: длина = 0,4, начало = 0;
- подынтервал для символа а: длина = 0,4, начало = 0,4;
- подынтервал для символа !: длина = 0,2, начало = 0,8;
7. Взять интервал для всего слова как пересечение всех подынтервалов. Получим следующий интервал: [0,8; 0,864);
8. Преобразовать интервал в последовательность битов, используя двоичное разложение числа, соответствующего концу интервала на заданной точности. Например, если используется точность 16 битов, то числа 0,8 и 0,864 должны быть преобразованы в двоичные последовательности "1100110000000000" и "1100111000000000" соответственно.
9. Получившуюся последовательность битов можно записать в файл или передать по сети как сжатый результат кодирования слова {мама!}.
10. Для декодирования достаточно восстановить интервал, используя вероятности символов и битовую последовательность, затем выделить из интервала символ и повторить процедуру для оставшихся символов слова.
1. Создать алфавит, состоящий из символов {м, а, !};
2. Создать частотный словарь символов, указав частоту их встречаемости в слове {мама!}:
- символ м встречается 2 раза;
- символ а встречается 2 раза;
- символ ! встречается 1 раз;
3. Вычислить вероятности для каждого символа, разделив частоты на общее число символов:
- вероятность символа м = 2 / 5 = 0,4;
- вероятность символа а = 2 / 5 = 0,4;
- вероятность символа ! = 1 / 5 = 0,2;
4. Создать интервалы для каждого символа на основе его вероятности:
- интервал для символа м: [0; 0,4);
- интервал для символа а: [0,4; 0,8);
- интервал для символа !: [0,8; 1);
5. Создать стартовый интервал [0; 1];
6. Разделить стартовый интервал на подынтервалы, соответствующие интервалам каждого символа, умножив длину стартового интервала на вероятность каждого символа. Получим следующие подынтервалы:
- подынтервал для символа м: длина = 0,4, начало = 0;
- подынтервал для символа а: длина = 0,4, начало = 0,4;
- подынтервал для символа !: длина = 0,2, начало = 0,8;
7. Взять интервал для всего слова как пересечение всех подынтервалов. Получим следующий интервал: [0,8; 0,864);
8. Преобразовать интервал в последовательность битов, используя двоичное разложение числа, соответствующего концу интервала на заданной точности. Например, если используется точность 16 битов, то числа 0,8 и 0,864 должны быть преобразованы в двоичные последовательности "1100110000000000" и "1100111000000000" соответственно.
9. Получившуюся последовательность битов можно записать в файл или передать по сети как сжатый результат кодирования слова {мама!}.
10. Для декодирования достаточно восстановить интервал, используя вероятности символов и битовую последовательность, затем выделить из интервала символ и повторить процедуру для оставшихся символов слова.
Ivan Burac
Это шенано фано а не арифметическое кодирование
Похожие вопросы
- Определения матриц. Виды матриц, Арифметические действия над матрицами. Ранг матриц. плизззззззз
- Вопрос про среднее арифметическое
- Как связано арифметическая сложение и Xor
- Раскройте скобки, поставив существительные и числительные в нужную форму (числительные запишите словами). К ответу дайте
- Раскройте скобки, употребляя глаголы в Present Simple или Past Simple.
- Помогите пожалуйста Раскройте скобки, вставьте пропущенные буквы и знаки препинания.
- Раскройте скобки; выберите соответствующий контексту пароним.
- Английский срочно (Раскройте скобки, употребляя глаголы в одном из следующих времен)
- I. Раскройте скобки, употребляя глаголы во времени Present Perfect.
- Кодирование данных в ЭВМ? Операционная система MS DOS? Назначение, состав.