МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего образования «Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева» Институт информатики и телекоммуникаций (институт, факультет, филиал) Кафедра информационно–управляющих систем (кафедра) ЛАБОРАТОРНАЯ РАБОТА № 1 Теория информации Энтропия как мера степени неопределенности системы Руководитель: С.В. Котельникова подпись, дата инициалы, фамилия. Обучающийся: гр. БИС22-01, 211217028 номер группы, зачетной книжки Красноярск 2024 г. инициалы, фамилия Энтропия как мера степени неопределенности системы. Цель работы: закрепить теоретические знания и получить практические навыки при вычислении энтропии. Задание: 1. Получить таблицу значений функции (p) p log 2 p при изменении р от 0.01 до 0.99 с шагом 0.01. 2. Система может находиться в двух состояниях. Вероятность одного состояния Р. Определить значения энтропии при изменении Р от 0,01 до 0,99 с шагом 0,01. Определить максимальное значение энтропии. Построить график. 3. Пользуясь таблицей частот русского языка (таб. 1) определить энтропию одной буквы русского текста. Таблица 1 Буква Вероятность Буква Вероятность Буква Вероятность Буква Вероятность Пробел 0,175 р 0,040 я 0,018 х 0,009 о 0,090 в 0,038 ы 0,016 ж 0,007 е 0,072 л 0,035 з 0,016 ю 0,006 а 0,062 к 0,028 ъ 0,014 ш 0,006 и 0,062 м 0,026 б 0,014 ц 0,004 н 0,053 д 0,025 г 0,013 щ 0,003 т 0,053 п 0,023 ч 0,012 э 0,003 с 0,045 у 0,021 й 0,010 ф 0,001 4. Пользуясь заданным текстовым файлом, определить частоту появления символов в тексте. Определить энтропию одной буквы заданного текста. Ход работы: 1. Создадим таблицу значений функции (p) p log 2 p при изменении р от 0.01 до 0.99 с шагом 0.01 (таб. 2). Таблица 2 p 0,01 0,02 0,03 0,04 0,05 0,06 0,07 0,08 0,09 0,1 0,11 0,12 0,13 0,14 F(p) 0,0664 0,1129 0,1518 0,1858 0,2161 0,2435 0,2686 0,2915 0,3127 0,3322 0,3503 0,3671 0,3826 0,3971 p 0,21 0,22 0,23 0,24 0,25 0,26 0,27 0,28 0,29 0,3 0,31 0,32 0,33 0,34 F(p) 0,4728 0,4806 0,4877 0,4941 0,5000 0,5053 0,5100 0,5142 0,5179 0,5211 0,5238 0,5260 0,5278 0,5292 p 0,41 0,42 0,43 0,44 0,45 0,46 0,47 0,48 0,49 0,5 0,51 0,52 0,53 0,54 F(p) 0,5274 0,5256 0,5236 0,5211 0,5184 0,5153 0,5120 0,5083 0,5043 0,5000 0,4954 0,4906 0,4854 0,4800 1 p 0,61 0,62 0,63 0,64 0,65 0,66 0,67 0,68 0,69 0,7 0,71 0,72 0,73 0,74 F(p) 0,4350 0,4276 0,4199 0,4121 0,4040 0,3956 0,3871 0,3783 0,3694 0,3602 0,3508 0,3412 0,3314 0,3215 p 0,81 0,82 0,83 0,84 0,85 0,86 0,87 0,88 0,89 0,9 0,91 0,92 0,93 0,94 F(p) 0,2462 0,2348 0,2231 0,2113 0,1993 0,1871 0,1748 0,1623 0,1496 0,1368 0,1238 0,1107 0,0974 0,0839 p 0,15 0,16 0,17 0,18 0,19 0,2 F(p) 0,4105 0,4230 0,4346 0,4453 0,4552 0,4644 p 0,35 0,36 0,37 0,38 0,39 0,4 F(p) 0,5301 0,5306 0,5307 0,5305 0,5298 0,5288 p 0,55 0,56 0,57 0,58 0,59 0,6 F(p) 0,4744 0,4684 0,4623 0,4558 0,4491 0,4422 p 0,75 0,76 0,77 0,78 0,79 0,8 F(p) 0,3113 0,3009 0,2903 0,2796 0,2687 0,2575 p 0,95 0,96 0,97 0,98 0,99 F(p) 0,0703 0,0565 0,0426 0,0286 0,0144 2. Максимальное значение энтропии H(x) = 1, при изменении Р от 0,01 до 0,99 (таб. 3) с шагом 0,01, достигается при значении p1=0,5 и p2=0,5 (рис. 1): Таблица 3 p1 0,01 0,02 0,03 0,04 0,05 0,06 0,07 0,08 0,09 0,1 0,11 0,12 0,13 0,14 0,15 0,16 0,17 0,18 0,19 0,2 0,21 0,22 0,23 0,24 0,25 0,26 0,27 0,28 0,29 0,3 0,31 0,32 0,33 0,34 F(p1) 0,0664 0,1129 0,1518 0,1858 0,2161 0,2435 0,2686 0,2915 0,3127 0,3322 0,3503 0,3671 0,3826 0,3971 0,4105 0,4230 0,4346 0,4453 0,4552 0,4644 0,4728 0,4806 0,4877 0,4941 0,5000 0,5053 0,5100 0,5142 0,5179 0,5211 0,5238 0,5260 0,5278 0,5292 p2 0,99 0,98 0,97 0,96 0,95 0,94 0,93 0,92 0,91 0,9 0,89 0,88 0,87 0,86 0,85 0,84 0,83 0,82 0,81 0,8 0,79 0,78 0,77 0,76 0,75 0,74 0,73 0,72 0,71 0,7 0,69 0,68 0,67 0,66 F(p2) 0,0144 0,0286 0,0426 0,0565 0,0703 0,0839 0,0974 0,1107 0,1238 0,1368 0,1496 0,1623 0,1748 0,1871 0,1993 0,2113 0,2231 0,2348 0,2462 0,2575 0,2687 0,2796 0,2903 0,3009 0,3113 0,3215 0,3314 0,3412 0,3508 0,3602 0,3694 0,3783 0,3871 0,3956 p1 H(p) 0,0808 0,1414 0,1944 0,2423 0,2864 0,3274 0,3659 0,4022 0,4365 0,4690 0,4999 0,5294 0,5574 0,5842 0,6098 0,6343 0,6577 0,6801 0,7015 0,7219 0,7415 0,7602 0,7780 0,7950 0,8113 0,8267 0,8415 0,8555 0,8687 0,8813 0,8932 0,9044 0,9149 0,9248 0,51 0,52 0,53 0,54 0,55 0,56 0,57 0,58 0,59 0,6 0,61 0,62 0,63 0,64 0,65 0,66 0,67 0,68 0,69 0,7 0,71 0,72 0,73 0,74 0,75 0,76 0,77 0,78 0,79 0,8 0,81 0,82 0,83 0,84 2 F(p1) p2 F(p2) 0,4954 0,4906 0,4854 0,4800 0,4744 0,4684 0,4623 0,4558 0,4491 0,4422 0,4350 0,4276 0,4199 0,4121 0,4040 0,3956 0,3871 0,3783 0,3694 0,3602 0,3508 0,3412 0,3314 0,3215 0,3113 0,3009 0,2903 0,2796 0,2687 0,2575 0,2462 0,2348 0,2231 0,2113 0,49 0,48 0,47 0,46 0,45 0,44 0,43 0,42 0,41 0,4 0,39 0,38 0,37 0,36 0,35 0,34 0,33 0,32 0,31 0,3 0,29 0,28 0,27 0,26 0,25 0,24 0,23 0,22 0,21 0,2 0,19 0,18 0,17 0,16 0,5043 0,5083 0,5120 0,5153 0,5184 0,5211 0,5236 0,5256 0,5274 0,5288 0,5298 0,5305 0,5307 0,5306 0,5301 0,5292 0,5278 0,5260 0,5238 0,5211 0,5179 0,5142 0,5100 0,5053 0,5000 0,4941 0,4877 0,4806 0,4728 0,4644 0,4552 0,4453 0,4346 0,4230 H(p) 0,9997 0,9988 0,9974 0,9954 0,9928 0,9896 0,9858 0,9815 0,9765 0,9710 0,9648 0,9580 0,9507 0,9427 0,9341 0,9248 0,9149 0,9044 0,8932 0,8813 0,8687 0,8555 0,8415 0,8267 0,8113 0,7950 0,7780 0,7602 0,7415 0,7219 0,7015 0,6801 0,6577 0,6343 p1 0,35 0,36 0,37 0,38 0,39 0,4 0,41 0,42 0,43 0,44 0,45 0,46 0,47 0,48 0,49 0,5 F(p1) 0,5301 0,5306 0,5307 0,5305 0,5298 0,5288 0,5274 0,5256 0,5236 0,5211 0,5184 0,5153 0,5120 0,5083 0,5043 0,5000 p2 0,65 0,64 0,63 0,62 0,61 0,6 0,59 0,58 0,57 0,56 0,55 0,54 0,53 0,52 0,51 0,5 F(p2) 0,4040 0,4121 0,4199 0,4276 0,4350 0,4422 0,4491 0,4558 0,4623 0,4684 0,4744 0,4800 0,4854 0,4906 0,4954 0,5000 p1 0,85 0,86 0,87 0,88 0,89 0,9 0,91 0,92 0,93 0,94 0,95 0,96 0,97 0,98 0,99 H(p) 0,9341 0,9427 0,9507 0,9580 0,9648 0,9710 0,9765 0,9815 0,9858 0,9896 0,9928 0,9954 0,9974 0,9988 0,9997 1,0000 F(p1) p2 F(p2) 0,1993 0,15 0,4105 0,1871 0,14 0,3971 0,1748 0,13 0,3826 0,1623 0,12 0,3671 0,1496 0,11 0,3503 0,1368 0,1 0,3322 0,1238 0,09 0,3127 0,1107 0,08 0,2915 0,0974 0,07 0,2686 0,0839 0,06 0,2435 0,0703 0,05 0,2161 0,0565 0,04 0,1858 0,0426 0,03 0,1518 0,0286 0,02 0,1129 0,0144 0,01 0,0664 Энтропия системы H(p) 0,6098 0,5842 0,5574 0,5294 0,4999 0,4690 0,4365 0,4022 0,3659 0,3274 0,2864 0,2423 0,1944 0,1414 0,0808 72,1165 1,2 H(p) 1 0,8 0,6 0,4 0,2 0 0 0,2 0,4 0,6 0,8 P 1 1,2 рисунок 1 – график энтропии системы 3. Вычислим значение энтропии буквы русского текста (таб. 4): Таблица 4 символ пробел о е а и н p 0,175 0,09 0,072 0,062 0,062 0,053 𝜂 0,4401 0,3127 0,2733 0,2487 0,2487 0,2246 символ к м д п у я p 0,028 0,026 0,025 0,023 0,021 0,018 3 𝜂 0,1444 0,1369 0,1330 0,1252 0,1170 0,1043 символ ч й х ж ю ш p 0,012 0,01 0,009 0,007 0,006 0,006 𝜂 0,0766 0,0664 0,0612 0,0501 0,0443 0,0443 символ т с р в л p 0,053 0,045 0,04 0,038 0,035 𝜂 0,2246 0,2013 0,1858 0,1793 0,1693 символ ы з ъ б г p 0,016 0,016 0,014 0,014 0,013 𝜂 0,0955 0,0955 0,0862 0,0862 0,0814 символ p ц 0,004 щ 0,003 э 0,003 ф 0,002 Энтропия системы 𝜂 0,0319 0,0251 0,0251 0,0179 4,3569 4. Определим частоту появления символов и энтропию одной буквы текста. Рассмотрим следующий текст: Вариант 12 Слишком много желающих узнать наши реальные имена. Оборотень шумно втягивает воздух, хмурится: - Она пыталась тебя пометить! - Я знаю. Не беспокойся, это просто журналистка. Ромка садится, кивает бармену. Тот корчит жуткую рожу - но подает ему граненый стакан, наполненный "Абсолютом-пеппер". Мне даже смотреть тяжело, как Роман пьет. А он, слегка морщась, вытирает рот и возвращает стакан. Может быть, он в реальности - алкоголик? Не знаю. Мы таимся друг от друга точно так же, как от врагов. Мы слишком ценный товар. Глубоководные рыбы, мерцающие колдовским светом уроды, которых мечтает попробовать каждая акула. - Ты донес яблочко? - спрашивает Роман. - Все в порядке, - откидываю полу пиджака, хлопаю по карману рубашки, где лежит дискета. - Товар на месте. Оборотень чуть расслабляется. - А покупатель? Смотрю на часы. - Через десять минут. Рядышком, у реки. - Пошли? - Роман берет стакан. Я подхватываю свой, и мы выходим в ту дверь ресторана, что прорублена в каменной стене. В маленьком тамбуре я тихо говорю: - Индивидуальное пространство для нас обоих. Допуск для человека, назвавшего код "серый-серый-черный". - Принято, - слышится из потолка. Теперь, сколько бы посетителей не захотело погулять в виртуальном пространстве "Трех поросят", их мы не увидим. Только покупателя, которому я загодя сообщил код. 4 За второй дверью - лес. Дремучий, первобытный, северный. Холодный ветер пронизывает до костей, я ежусь. Мой спутник к холоду совершенно равнодушен. Может быть, у него более простой шлем - без кондиционера? Бог знает... Зарабатывает он не меньше моего, но, может быть, у него огромная семья. Или Роман и впрямь алкоголик, проматывающий тысячи зеленых за считанные недели? За нашей спиной - маленький каменный домик, так выглядят "Три поросенка" с этой стороны. Идем по тропинке, помаленьку отхлебывая из бокалов. - Тебе нравится перцовка? - мимоходом спрашиваю у оборотня. - Да. Сухо и без малейших комментариев. Хотел бы я знать, Роман, кто ты на самом деле. Но это невозможно. Виртуальность жестока к неосторожным. Выходим к реке. Крутой обрыв, схваченный цепким покровом низкого кустарника. Очень сильный ветер, я щурюсь. Небо затянуто тучами. Река не то чтобы горная, но порожистая и быстрая. Вдали вьется стая каких-то крупных птиц - не знаю, каких именно, они никогда не подлетают близко. Над обрывом - столик, на нем стоят бутылки джина, тоника и "Абсолют-пеппера". Еще никелированный термос, в нем, я знаю, глинтвейн. Вкусный, с корицей, ванилью, мускатным орехом, перцем, кориандром. Рядом три плетеных стула. Садимся рядом, смотрим на реку. Красиво. Белая пена на камнях, холодный ветер, полный бокал в руке, сизые тучи, клубящиеся над головой. Завтра наверняка пойдет снег. Но в виртуальности не бывает "завтра". - Хотел бы я знать, - делаю глоток, - откуда взята эта река. - Места красивее не видал я в своей жизни... - странным тоном произносит оборотень. Вот так всегда. У каждого свои ассоциации и аналогии. Для Романа, явно, этот пейзаж что-то означает. Для меня - просто красивое место. - Ты здесь бывал? - В какой-то мере. Интересно. - Что это за птицы, Роман? - Гарпии, - не глядя отвечает он. Хлоп - и его стакан пуст. Но он все равно не пьянеет. 5 Как я ненавижу тайну, которая окружает нас. Мы боимся друг друга. Мы боимся всего. - А погода приятная, - бросаю наугад. - Снежное нынче лето... - говорит оборотень. И смотрит на меня с иронией. Он узнает эту местность. Она отзывается чем-то в его душе. Мне не дано узнать, чем именно. Наливаю себе глинтвейна в тяжелую керамическую чашу. Вдыхаю аромат. Снежное лето? Пускай. Нет ничего лучше плохой погоды. - Леня, ты куришь травку? - Роман протягивает мне портсигар. - Нет. Наверное, он и впрямь алкоголик и наркоман... - Говорят, куда безвреднее алкоголя и табака. - Говорят, что в Москве кур доят. Роман колеблется, но закуривает. Блин. Надины доводы начинают казаться мне не такими уж безумными. Я пью глинтвейн, Роман курит анашу. Минуты через две щелчком отправляет недокуренную сигарету вниз и говорит: - Детская забава. Плесни мне вина. - Это глинтвейн. - Какая, фиг, разница... Теперь мы оба потягиваем горячее вино с пряностями. Роман кивает: - Рулез! Я согласно киваю. "Рулез" - это что-то хорошее. Холодное пиво, компьютер седьмого поколения, юная красавица, удачно обезвреженный вирус... глинтвейн. Сидим над обрывом и нам хорошо. - Что было в том яблочке? - Новое лекарство от простуды. Очень эффективное. Роман хмурится. - Это стоит шесть тысяч? - Это стоит сто. - А... - Роман меняется в лице. - Давай дождемся покупателя. Оборотень кивает: - Твоя операция, тебе решать. Покупатель появляется минут через десять, когда я уже начинаю беспокоиться. Я знал его лишь под кличкой "Тертый", а он меня - под прозвищем "Стрелок". Покупатель опрятен и неприметен, простой костюм, незапоминающееся лицо. Молодой парень с дипломатом в руке. - Добрый вечер, Стрелок! - говорит он мне. Голос излишне ровен - Тертый общается 6 через программу-переводчик. Для решения задачи разработаем программу на языке C++, которая будет подсчитывать как сами символы, так и их относительную частоту. Пример компиляции программы приведен ниже (рис. 2). Результаты занесем в таблицу (таб. 5). рисунок 2 – пример компиляции программы 7 Таблица 5 симв. а б в г д е ж з и й к n 306 68 149 65 100 340 31 58 201 55 155 p 𝜂 0,0672 0,2618 0,0149 0,0906 0,0327 0,1614 0,0143 0,0875 0,0220 0,1210 0,0747 0,2795 0,0068 0,0490 0,0127 0,0802 0,0441 0,1987 0,0121 0,0770 0,0340 0,1660 симв. л м н о п р с т у ф х n 132 150 279 429 107 210 163 289 102 3 37 p 0,0290 0,0329 0,0613 0,0942 0,0235 0,0461 0,0358 0,0635 0,0224 0,0007 0,0081 𝜂 0,1481 0,1622 0,2468 0,3211 0,1271 0,2047 0,1720 0,2524 0,1228 0,0070 0,0564 симв. n p ц 16 0,0035 ч 46 0,0101 ш 28 0,0061 щ 13 0,0029 ъ 65 0,0193 ы 88 0,0193 э 12 0,0026 ю 35 0,0077 я 113 0,0248 пробел 709 0,1557 Энтропия системы 𝜂 0,0286 0,0670 0,0452 0,0241 0,0875 0,1100 0,0226 0,0540 0,1323 0,4178 4,3821 n Энтропия для данного текста составит H ( x ) pi log 2 pi = 4,3821. i 1 Вывод: в ходе работы мы закрепили теоретические знания и получили практические навыки при вычислении энтропии физических систем различной степенью неопределенности. 8