Подтвердить что ты не робот

Что такое определение энтропии в компьютерной науке?

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

Каково надлежащее определение компьютерной энциклопедии?

4b9b3361

Ответ 1

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

Вычисление

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

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

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

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

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

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

Ответ 2

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

Энтропия программного обеспечения

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

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

...

...

Сломанное окно.

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

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

Совет 4

Не работать с поврежденными Windows

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

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

Ответ 3

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

Из http://en.wikipedia.org/wiki/Information_entropy:

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

Ответ 4

alt text http://ocw.mit.edu/NR/rdonlyres/Electrical-Engineering-and-Computer-Science/6-050JSpring-2008/9CD33A23-A58F-4CCD-8C34-DF5A83D56435/0/chp_telegraph_1.jpg

из Университет Мексики

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

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

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

Ответ 5

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

Если ваш источник имеет два символа, скажем 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 (исключение) отрицательны.

Ответ 6

Определение Super SIMPLE

Энтропия слова может быть определена в одном предложении:

"Объем информации, необходимой для описания системы".

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

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

Ответ 8

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

Энтропия - это мера <сильной > неопределенности, связанной с созданием прогнозирования.

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

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

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

Ответ 9

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

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

Ответ 10

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

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

Вот третий пример использования, который я тоже вспомнил. В теме имитационного отжига (в отношении информатики) энтропия описывается как количество разложений произошло при оценке алгоритма.

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

Ответ 11

Легко сделать большую энтропию. На мой взгляд, это довольно простая простая и полезная концепция.

В основном он подсчитывает, что в среднем вы узнаете из события, например, переворачиваете монету, берете инструкцию ветвления или индексируете массив.

Как и операция сравнения в середине алгоритма поиска, определенная вероятность P принимает одну ветвь, а 1-P принимает другую.

Предположим, что P равно 1/2, как и в двоичном поиске. Затем, если вы берете эту ветвь, вы знаете 1 бит больше, чем раньше, потому что log (2/1), base 2, равен 1. С другой стороны, если вы берете другую ветку, вы также узнаете 1 бит.

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

1/2 раза 1 бит, плюс 1/2 раза 1 бит, составляет 1/2 бит плюс 1/2 бит или всего 1 бит энтропии. Это то, что вы можете ожидать в среднем от этого решения.

С другой стороны, предположим, что вы выполняете линейный поиск в таблице из 1024 записей.

В первом критерие == вероятность YES равна 1/1024, поэтому энтропия YES при этом решении

1/1024 times log(1024/1)

или 1/1024 * 10 = около 1/100 бит.

Итак, если ответ "ДА", вы узнаете 10 бит, но вероятность этого составляет около 1 в тысячу.

С другой стороны, NO намного более вероятно. Это энтропия

1023/1024 * log(1024/1023)

или примерно 1 раз примерно ноль = около нуля.

Добавьте два вместе, и в среднем вы узнаете о 1/100 бит этого решения.

Вот почему линейный поиск медленный. Энтропия (насколько вы можете ожидать, чтобы учиться) при каждом решении слишком мала, так как вам придется изучить 10 бит, чтобы найти запись в таблице.

Ответ 13

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

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

          Entropy = ∑ pi log(1/pi)

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

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

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

Ответ 14

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

Или

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

Рассмотрим справедливую монету;

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

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

Ответ 15

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

Ответ 16

Я слышал, что люди злоупотребляют термодинамическими определениями энтропии w.r.t CS.

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

Когда они имеют в виду, этот код становится все хуже и хуже!