Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2013, 19:04   #1
Ирка555
Новичок
Джуниор
 
Регистрация: 28.02.2013
Сообщений: 2
По умолчанию Pascal. нужно написать программу,которая подсчитывает величину информационной энтропии

по формуле Шеннона. вот про нее. http://ru.wikipedia.org/wiki/%D0%98%...BF%D0%B8%D1%8F
т.е. если текст представляет из себя полную бессмыслицу, вроде - СУХЕРРОБЬДЩ ЯЫХВЩИ-ЮАЙЖТЛФВНЗАГФО-ЕНВШТЦР, то величина ее энтропии должна быть максимальной, если текст более упорядочен - ВЕСЕЛ ВРАТЬСЯ НЕ СУХОМ И НЕПО (но смысла не несет) , то энтропия будет меньше и наконец в нормальном тексте она будет минимальна. реально ли написать такую программу вообще?
Ирка555 вне форума Ответить с цитированием
Старый 19.03.2013, 21:31   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Точно вычислить - вопрос сложный, а оценить - это делает любой архиватор.
s-andriano вне форума Ответить с цитированием
Старый 19.03.2013, 23:28   #3
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

А как ты отличаешь "более упорядоченный" текст от "нормального", если с точки зрения распределения символов алфавита они выглядят одинаково, а значит и энтропия отличаться не будет? )
Son Of Pain вне форума Ответить с цитированием
Старый 20.03.2013, 09:36   #4
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Son Of Pain Посмотреть сообщение
А как ты отличаешь "более упорядоченный" текст от "нормального", если с точки зрения распределения символов алфавита они выглядят одинаково, а значит и энтропия отличаться не будет? )
Будет.
Кроме символов есть еще их пары, тройки, четверки и т.д. И они также вносят немалый вклад в энтропию.
Как-то, помнится, попытался написать "генератор псевдотекста", для чего проанализировал несколько десятков Мбайт текста на естественном языке (русском) и подсчитал вероятность символов, пар и троек. Затем составил программу, которая при генерации выхода придерживалась найденных соотношений.
Но полученный таким образом "текст" примерно вдвое хуже сжимался архиватором, что говорит о том, что энтропии в нем было существенно больше, чем в аналогичном объеме обычного текста. А если бы учитывалось только распределение одиночных символов, разница была бы еще больше.
s-andriano вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно написать программу на C#, которая удаляет из текста все слова igrik Помощь студентам 2 16.07.2013 18:13
Написать программу, которая проверяет(Pascal) xhatex Паскаль, Turbo Pascal, PascalABC.NET 1 23.11.2012 00:57
Написать программу которая в зависимости от веденого с клавиатуры числа(C++, Pascal) Armin van Buuren Помощь студентам 8 03.05.2012 21:47
Нужно написать программу матрица n*m {0,1} и величину блока. Senik Общие вопросы по Java, Java SE, Kotlin 3 31.12.2011 02:10
Написать программу которая для заданного символьного ряда подсчитывает количество слов! komarvl Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 11.12.2009 01:42