Какое компьютерное определение энтропии? - PullRequest
62 голосов
/ 04 февраля 2009

Я недавно начал курс по сжатию данных в моем университете. Тем не менее, я нахожу использование термина «энтропия», поскольку оно относится к информатике, довольно неоднозначным. Насколько я могу судить, это примерно соответствует «случайности» системы или структуры.

Какое правильное определение компьютерных наук "энтропия"?

Ответы [ 15 ]

59 голосов
/ 04 февраля 2009

Энтропия может означать разные вещи:

Вычислительный

В вычислительной технике энтропия - это случайность, собранная операционной система или приложение для использования в криптография или другое использование, которое требуют случайных данных. Это случайность часто собирается с оборудования источники, либо уже существующие такие как движения мыши или специально предоставленные генераторы случайностей.

Теория информации

В теории информации энтропия - это мера неопределенности, связанной со случайной величиной. Срок по Сам в этом контексте обычно относится к энтропии Шеннона, которая количественно, в смысле ожидаемое значение, информация содержится в сообщении, обычно в единицы, такие как биты. Эквивалентно, Энтропия Шеннона является мерой средний информационный контент один отсутствует, когда человек не знает значение случайной величины

Энтропия при сжатии данных

Энтропия при сжатии данных может обозначать случайность данных, которые вы вводите в алгоритм сжатия. Чем больше энтропия, тем меньше степень сжатия. Это означает, что чем более случайный текст, тем меньше его можно сжать.

Энтропия Шеннона представляет собой абсолютное ограничение на лучшее из возможных сжатие без потерь любого общение: обработка сообщений для кодируется как последовательность независимых и одинаково распределенный случайный переменные, исходное кодирование Шеннона Теорема показывает, что в пределе средняя длина самого короткого возможное представление для кодирования сообщения в данном алфавите является их энтропия делится на логарифм количество символов в цели алфавит.

16 голосов
/ 04 февраля 2009

Мое любимое определение с более практической направленностью содержится в главе 1 превосходной книги Прагматичный программист: от подмастерье до мастера Эндрю Хант и Дэвид Томас:

Программная энтропия

Пока разработка программного обеспечения не застрахована от почти всех физических законов, энтропии бьет нас сильно. Энтропия это термин из физика, которая относится к количеству «беспорядок» в системе. К несчастью, законы термодинамики гарантируют что энтропия во вселенной имеет тенденцию к максимуму. Когда беспорядок увеличение программного обеспечения, программистов Назовите это «программная гниль».

Есть много факторов, которые могут способствовать программной гнили Большинство Важным, кажется, является психология или культура, на работе на проект. Даже если вы команда Во-первых, психология вашего проекта может быть очень деликатная вещь. Несмотря на лучшие планы и лучшие люди, Проект может по-прежнему испытывать гибель и распад в течение своей жизни. Еще там другие проекты, которые, несмотря на огромные трудности и постоянные неудачи, успешно бороться с природой склонность к расстройству и умению выходи очень хорошо.

...

...

разбитое окно.

Одно разбитое окно, оставленное неотремонтированным для любой существенный отрезок времени, прививает жителям создание чувства покинутости - ощущение того, что силы не заботиться о строительстве. Так еще один окно разбивается. Люди начинают засорение. Граффити появляется. серьезный структурное повреждение начинается. В относительно короткий промежуток времени, здание повреждено за пределами желание владельца исправить это, и чувство покинутости становится реальностью.

"Теория разбитого окна" имеет вдохновленные полицейские управления в Новом Йорк и другие крупные города, чтобы взломать вниз на мелочи, чтобы держись подальше. Оно работает: держать поверх разбитых окон, граффити и другие мелкие нарушения снизил уровень серьезных преступлений.

Совет 4

Не жить с разбитой Windows

Не оставлять "разбитые окна" (плохо дизайн, неправильные решения или плохой код) не ремонтируется. Исправить каждый как можно скорее как это обнаружено. Если там есть недостаточно времени, чтобы исправить это должным образом, тогда сядь на борт. Возможно, вы можете закомментируйте оскорбительный код или отобразить сообщение «Не реализовано», или подставьте вместо фиктивных данных. принимать некоторые меры для предотвращения дальнейшего ущерба и показать, что вы на вершине ситуация.

Текст взят из: http://pragprog.com/the-pragmatic-programmer/extracts/software-entropy

10 голосов
/ 04 февраля 2009

alt text
(источник: mit.edu )

из Мексиканский университет

Информационно-теоретическое понятие Энтропия является обобщением физическое понятие. Есть много способов описать энтропию. Это мера случайности случайного переменная. Это также мера количество информации случайное переменный или случайный процесс содержит. Это также нижняя граница количество сообщения может быть сжат. И, наконец, это среднее количество вопросов да / нет что нужно спросить о случайном юридическое лицо, чтобы определить его стоимость.

Уравнение для энтропии в примере приложения для расчета вероятности:

это сумма по всем значениям rv вероятности этого значения раз журнал этой проблемы (т.е. р (х) LogP (х)). Это уравнение может быть вытекает из первых принципов свойства информации.

9 голосов
/ 04 февраля 2009

Я всегда сталкивался с энтропией в смысле энтропии Шеннона.

С http://en.wikipedia.org/wiki/Information_entropy:

В теории информации энтропия является мерой неопределенности, связанной со случайной величиной. Сам по себе термин в этом контексте обычно относится к энтропии Шеннона, которая количественно в смысле ожидаемого значения определяет информацию, содержащуюся в сообщении, обычно в таких единицах, как биты. Эквивалентно, энтропия Шеннона является мерой среднего информационного содержания, которое отсутствует, если не известно значение случайной величины.

4 голосов
/ 17 января 2016

Вот отличное альтернативное объяснение энтропии в теории информации.

Энтропия является мерой неопределенности, связанной с предсказание .

Мы также можем описать энтропию как то, как удивится , если бы мы получили результат после того, как сделали наш первоначальный прогноз.

Допустим, у нас есть согнутая монета, которая дает нам голову 99% времени и хвост 1% времени. Поскольку есть только один процент шансов получить хвост, мы были бы очень удивлены, если бы мы действительно получили хвост. С другой стороны, это не будет слишком удивительно, если мы получим голову, поскольку у нас уже есть 99-процентный шанс получить голову.

давайте предположим, что у нас есть функция с именем Surprise(x), которая даст нам неожиданность для каждого результата; тогда мы можем усреднить количество неожиданности по распределению вероятности. Это среднее количество сюрпризов также может быть использовано как показатель того, насколько мы неуверенны. Эта неопределенность называется энтропия .

4 голосов
/ 07 февраля 2009

С точки зрения теории сжатия и информации, энтропия источника - это среднее количество информации (в битах), которую могут передавать символы из источника. Неформально говоря, чем менее вероятен символ, тем больше удивляет его появление.

Если у вашего источника есть два символа, скажем A и B, и они одинаково вероятны, то каждый символ передает одинаковое количество информации (один бит). Источник с четырьмя одинаково вероятными символами передает два бита на символ.

Для более интересного примера, если ваш источник имеет три символа, A, B и C, где первые два в два раза чаще, чем третий, то третий более удивителен, но также менее вероятно. Чистая энтропия для этого источника равна 1,52, как рассчитано ниже.

Вы вычисляете энтропию как «средний сюрприз», где «сюрприз» для каждого символа - это его вероятность, умноженная на отрицательный двоичный логарифм вероятности:

                            binary
symbol  weight  probability   log    surprise
  A        2        0.4      -1.32    0.53
  B        2        0.4      -1.32    0.53
  C        1        0.2      -2.32    0.46
total      5        1.0               1.52

Используется отрицательный знак двоичного журнала (конечно), поскольку записи значений от 0 до 1 (исключая) являются отрицательными.

3 голосов
/ 20 мая 2014

Супер простое определение

Слово энтропия может быть определено в одном предложении:

«Количество информации, необходимое для описания системы.»

Представьте для примера расширение Вселенной: с самого начала вся материя была собрана в маленькой точке перед большим взрывом, поэтому мы могли бы описать систему так: «вся материя находится в одной точке». Хотя сегодня для описания системы (то есть Вселенной) требуется значительно больше информации, необходимо описать все положения планет, их движение, что на них и т. Д. С точки зрения теории информации определение также работает: Например: чем больше букв вы добавляете в пароль (систему), тем больше информации требуется для описания пароля. Затем вы можете измерить его в разных единицах, например, битах или символах, например, "привет" = 5 символов энтропии = 40 битов энтропии (если charsize равен 8 битам).

Отсюда также следует, что чем больше у вас информации, тем больше способов ее упорядочить. Если у вас есть 40 битов, есть 2 ^ 40 различных способов их размещения. Если мы говорим здесь пароли, то чем больше возможных вариантов информации (битов), тем больше времени потребуется для взлома (с помощью грубой силы или словарных атак).

1 голос
/ 27 июня 2017

энтропия относится к степени, в которой программное обеспечение время от времени изменяется в зависимости от требований клиента, поэтому стоимость его преобразования в соответствии с требованиями клиента становится максимальной.

1 голос
/ 05 февраля 2016

Проще говоря, энтропия определяет случайность. Это больше похоже на то, как непредсказуемо что-то. В более технических словах: «В вычислениях энтропия - это случайность, собираемая операционной системой или приложением для использования в криптографии или других целях, требующих случайных данных. Эту случайность часто собирают из аппаратных источников, либо ранее существовавших, таких как движения мыши, либо специально предоставленных генераторов случайности ». Как определено в Википедии.

Теперь можно легко заключить значение энтропии в отношении файла как измерения того, насколько беспорядочными являются байты в файле. Существуют различные единицы измерения энтропии, такие как nat, shannon или hartley. Ну, самая распространенная единица измерения - это Шеннон. Диапазон значений, в которые должна входить энтропия файла согласно алгоритму Шеннона, составляет от 0 до 8. Таким образом, когда значение энтропии равно нулю, можно сказать, что результат определен. Напротив, когда значение энтропии равно 8, результат может быть самым непредсказуемым. Формула, данная Шенноном для измерения случайности в исходе событий:

          Entropy = ∑ pi log(1/pi)

, где i - событие с вероятностью pi .

Это уравнение всегда будет в диапазоне от 0 до 8.

Для получения дополнительной информации перейдите по ссылке: https://www.talentcookie.com/2016/02/file-entropy-in-malware-analysis/

0 голосов
/ 21 марта 2017

Простыми словами, если вы знаете вероятности символов в языке, можно вычислить среднее информационное содержание символа в языке.

или

Энтропия языка - это мера информативности среднего символа в языке

Рассмотрим честную монету;

Есть два символа, каждый с вероятностью 1/2 поэтому энтропия рассчитывается как

h = - (1/2 * log1 / 2 + 1/2 * log1 / 2) = 1

...