Контрольная работа
Методические указания и задание на выполнение контрольной работы
Контрольная работа должна выполняться после изучения всего теоретического материала и выполнения всех лабораторных работ.
Правила выполнения и оформления контрольной работы
При выполнении контрольной работы необходимо строго придерживаться указанных ниже правил. Работы, выполненные без соблюдения этих правил, не засчитываются и возвращаются студенту для доработки.
1. Контрольная работа состоит из шести заданий, которые одинаковы для всех студентов, однако входные данные (это набор всех символов ФИО студента) выбираются индивидуально. Частота (вероятность) символа вычисляется как отношение количества вхождений символа в набор на общее количество символов в наборе.
2. В работу должны быть включены все задачи, указанные в задании. Контрольные работы, содержащие не все задачи или задачи, решенные для набора букв ФИО постороннего человека не засчитываются
3. Решения задач необходимо располагать в порядке номеров, указанных в задании, сохраняя номера задач. Перед решением каждой задачи необходимо выписать полностью ее условие. Примеры решения и оформления всех задач контрольной работы есть в электронном конспекте.
4. Работу следует выполнять в редакторе Word с подробным объяснением решения каждого задания, формулы набирать в специальном редакторе формул. Использование фотографий рукописного текста и набор формул в виде текста не допускается.
5. После получения прорецензированной работы с оценкой «незачет» студент должен исправить все отмеченные рецензентом ошибки и недочеты, выполнить все рекомендации и прислать для повторной проверки (комментарии преподавателя не удалять, повторная проверка проводится в укороченные сроки). Без выполненной контрольной работы студент к экзамену не допускается.
Контрольная работа по теории информации
1. Вычислить энтропию Шеннона для символов ФИО.
2. Построить код Хаффмана для набора букв ФИО. Для оценки вероятностей символов использовать частоты вхождения букв в ФИО. Подсчитать среднюю длину кодового слова построенного кода.
3. Построить код Фано для набора букв ФИО. Подсчитать среднюю длину кодового слова построенного кода.
4. Построить код Шеннона для набора букв ФИО. Подсчитать среднюю длину кодового слова построенного кода.
5. Построить код Гилберта-Мура для набора букв ФИО. Подсчитать среднюю длину кодового слова построенного кода.
6. Сравнить между собой энтропию Шеннона, вычисленную в п.1, и величины средних длин кодового слова для построенных кодов.
=============================================
Лабораторная работа №1Вычисление энтропии ШеннонаЦель работы: Экспериментальное изучение свойств энтропии Шеннона.
Среда программирования: любая с С-подобным языком программирования.
Результат: программа, тестовые примеры, отчет.
Задание:1. Для выполнения этой практической работы необходимо иметь три файла. Объем каждого файла больше 10 Кб, формат
txt.
В первом файле должна содержаться последовательность символов (количество различных символов больше 3) с равномерным распределением, т.е. символы в файле встречаются равновероятно и независимо.
Второй файл должен содержать независимую последовательность символов (количество различных символов больше 3) с неравновероятным распределением. Вероятности символов должны быть заданы заранее, до создания файла.
Эти два файла необходимо сгенерировать программно, используя генератор псевдослучайных чисел.
В третьем файле содержится фрагмент художественного текста на русском или английском языке. Для художественных текстов (русский или английский языки) предполагается, что строчные и заглавные символы не отличаются, знаки препинания объединены в один символ, к алфавиту добавлен пробел, для русских текстов буквы «е» и «ё», «ь» и «ъ» совпадают. При использовании текста программы учитываются все символы, кроме знаков табуляции.
2. Составить программу, определяющую оценки энтропии имеющихся текстовых файлов.
Для вычисления оценки энтропии необходимо программно вычислить частоты символов (пар символов) в файле, которые будут оценками реальных вероятностей символов, а затем, используя формулу Шеннона, вычислить оценки энтропии файла.
По желанию можно продолжить процесс вычисления оценок с использованием частот троек, четверок символов и т.д.
Для того чтобы правильно рассчитать частоты двойных комбинаций символов пары символов нужно рассматривать так
Пусть имеется такая последовательность
фывафпро
Под парами понимаются пары соседних символов, т.е.
фы ыв ва аф фп пр ро
Далее для получения оценки энтропии подсчитать частоту встречаемости для каждой пары и подставить в формулу Шеннона. Полученное значение оценки энтропии следует разделить на 2.
3. После тестирования программы необходимо заполнить таблицу для отчета и проанализировать полученные результаты. Сравните полученные оценки между собой. Объясните полученные результаты
Лабораторная работа №2Оптимальное побуквенное кодированиеЦель работы: Изучение метода оптимального кодирования Хаффмана.
Среда программирования: любая с С-подобным языком программирования.
Результат: программа, тестовые примеры, отчет.
Задание:1. Запрограммировать процедуру двоичного кодирования текстового файла методом Хаффмана. Текстовые файлы использовать те же, что и в практической работе №1. Для художественных текстов (русский или английский языки) предполагается, что строчные и заглавные символы не отличаются, знаки препинания объединены в один символ, к алфавиту добавлен пробел, для русских текстов буквы «е» и «ё», «ь» и «ъ» совпадают.
2. Проверить, что полученный код является префиксным.
3. После кодирования текстового файла вычислить оценки энтропии выходной последовательности, используя частоты отдельных символов, пар символов и троек символов.
4. Заполнить таблицу и проанализировать полученные результаты.
Лабораторная работа №3Методы почти оптимального кодированияЦель работы: Изучение метода почти оптимального кодирования Фано. Изучение метода почти оптимального кодирования Шеннона
Среда программирования: любая с С-подобным языком программирования.
Результат: программа, тестовые примеры, отчет.
Задание:1. Запрограммировать процедуры двоичного кодирования текстового файла методом Фано и процедуру двоичного кодирования текстового файла методом Шеннона. Текстовые файлы использовать те же, что и в практической работе №1. Для художественных текстов (русский или английский языки) предполагается, что строчные и заглавные символы не отличаются, знаки препинания объединены в один символ, к алфавиту добавлен пробел, для русских текстов буквы «е» и «ё», «ь» и «ъ» совпадают.
2. Проверить, что полученные коды являются префиксными.
3. Для каждого метода кодирования после кодирования вычислить оценки энтропии выходной последовательности, используя частоты отдельных символов, пар символов и тройки символов.
4. После тестирования программы необходимо заполнить таблицу и проанализировать полученные результаты.