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

<p>недавно я начал курс по сжатию данных в моем университете. тем не менее, я нахожу использование термина «энтропия», поскольку оно относится к информатике, довольно неоднозначным. насколько я могу судить, это примерно переводится как «случайность» системы или структуры.</p><p>каково правильное определение информатики "энтропия"?</p>

<p>энтропия может означать разные вещи:</p><p> <a href="http://en.wikipedia.org/wiki/entropy\_(computing)"><strong>computing</strong></a> </p><blockquote> <p>в вычислительной технике энтропия - это случайность, собранная операционной система или приложение для использования в криптография или другие использует это требуют случайных данных. это случайность часто собирается с оборудования источники, либо уже существующие такие как движения мыши или специально предоставлены генераторы случайности.</p> </blockquote><p> <a href="http://en.wikipedia.org/wiki/entropy\_(information\_theory)"><strong>теория информации</strong></a> </p><blockquote> <p>в теории информации энтропия - это мера неопределенности, связанной с со случайной величиной. срок по сам в этом контексте обычно ссылается к энтропии шеннона, которая количественно, в смысле ожидаемое значение, информация содержится в сообщении, обычно в единицы, такие как биты. эквивалентно, энтропия шеннона является мерой среднее содержание информации один отсутствует, когда человек не знает значение случайной величины</p> </blockquote><p><strong>энтропия в сжатии данных</strong></p><p>энтропия при сжатии данных может обозначать случайность данных, которые вы вводите в алгоритм сжатия. чем больше энтропия, тем меньше степень сжатия. это означает, что чем более случайный текст, тем меньше его можно сжать.</p><blockquote> <p>энтропия шеннона представляет собой абсолютное ограничение на лучшее из возможных сжатие без потерь любого общение: обработка сообщений... кодируется как последовательность независимых и одинаково распределенные случайные переменные, исходное кодирование шеннона теорема показывает, что в пределе средняя длина самого короткого возможное представление для кодирования сообщения в данном алфавите являются их энтропия, деленная на логарифм количество символов в цели алфавит.</p> </blockquote>

<p>мое любимое определение с более практической направленностью содержится в главе 1 превосходной книги эндрю ханта и дэвида томаса <a href="http://www.pragprog.com/the-pragmatic-programmer">прагматичный программист: от подмастерья до мастера</a> :</p><blockquote> <p><strong>программная энтропия</strong></p> <p>пока разработка по не застрахована от почти всех физических законов, энтропии бьет нас сильно. энтропия это термин от физика, которая относится к количеству «беспорядок» в системе. к несчастью, законы термодинамики гарантируют что энтропия во вселенной имеет тенденцию к максимуму. когда беспорядок увеличение программного обеспечения, программистов назовите это «программная гниль».</p> <p>есть много факторов, которые могут способствовать программной гнили большинство важным кажется психология или культура, на работе на проект. даже если вы команда во-первых, психология вашего проекта может быть очень деликатная вещь. несмотря на лучшие планы и лучшие люди, а .\_\_ проект все еще может испытать гибель и распад в течение своей жизни. еще нет есть другие проекты, которые, несмотря на огромные трудности и постоянные неудачи, успешно бороться с природой склонность к беспорядку и умению выходи довольно хорошо.</p> <p>...</p> <p>...</p> <p><strong>разбитое окно.</strong></p> <p>одно разбитое окно, оставленное неотремонтированным для любой существенный отрезок времени, прививает жителям формирование чувства покинутости - а .\_\_ чувствую, что силы, которые не будут заботиться о здании. так что еще окно разбивается. люди начинают засорение. граффити появляется. серьезные структурное повреждение начинается. в относительно короткий промежуток времени, здание повреждено за пределами желание владельца исправить это, и чувство покинутости становится реальностью.</p> <p>«теория разбитого окна» имеет вдохновленные отделения полиции в нью йорк и другие крупные города для взлома вниз на мелочи, чтобы держись подальше. оно работает: держать на вершине разбитых окон, граффити и другие мелкие нарушения снизил уровень серьезной преступности.</p> <p>совет 4</p> <p>не живи с разбитой windows</p> <p>не оставляйте «разбитые окна» (плохой дизайн, неправильные решения или плохой код) без ремонта. исправьте каждый как можно скорее как это обнаружено. если там есть недостаточно времени, чтобы исправить это тогда сядь на борт. возможно, вы можете закомментируйте оскорбительный код или отобразить сообщение «не реализовано», или подставьте вместо фиктивных данных. возьмите некоторые действия для предотвращения дальнейшего ущерба и показать, что ты на вершине ситуация.</p> </blockquote><p>текст взят из: <a href="http://pragprog.com/the-pragmatic-programmer/extracts/software-entropy">http://pragprog.com/the-pragmatic-programmer/extracts/software-entropy</a> </p>

<p>я всегда сталкивался с энтропией в смысле энтропии шеннона. </p><p>от <a href="http://en.wikipedia.org/wiki/information\_entropy">http://en.wikipedia.org/wiki/information\_entropy</a> :</p><p>в теории информации энтропия является мерой неопределенности, связанной со случайной величиной. сам по себе термин в этом контексте обычно относится к энтропии шеннона, которая количественно в смысле ожидаемого значения определяет информацию, содержащуюся в сообщении, обычно в единицах, таких как биты. эквивалентно, энтропия шеннона является мерой среднего информационного содержания, которое отсутствует, если не известно значение случайной величины.</p>

<p> <a href="https://i.stack.imgur.com/06gid.jpg"> <img src="https://i.stack.imgur.com/06gid.jpg" alt="alt text"> </a> <br> <sub>(источник: <a href="http://ocw.mit.edu/nr/rdonlyres/electrical-engineering-and-computer-science/6-050jspring-2008/9cd33a23-a58f-4ccd-8c34-df5a83d56435/0/chp\_telegraph\_1.jpg">mit.edu</a> )</sub> </p><p>из <a href="http://www.cs.unm.edu/~saia/infotheory.html">университет мексики</a> </p><blockquote> <p>информационно-теоретическое понятие энтропия является обобщением физическое понятие. есть много способов описать энтропию. это мера случайности случайного переменная. это также мера количество информации случайное переменный или случайный процесс содержит. это также нижняя граница сумма сообщения может быть сжат. и, наконец, это среднее количество вопросов да/нет что нужно спросить о случайном юридическое лицо, чтобы определить его стоимость.</p> </blockquote><p>уравнение для энтропии в примере приложения для расчета вероятности: </p><blockquote> <p>это сумма по всем значениям rv вероятности этого значения раз журнал этой проблемы (т. е p (x) logp (x)). это уравнение может быть вытекает из первых принципов свойства информации.</p> </blockquote>

<p>с точки зрения теории сжатия и информации, энтропия источника - это среднее количество информации (в битах), которую могут передавать символы из источника. неформально говоря, чем более маловероятен символ, тем больше удивляет его внешний вид.</p><p>если в вашем источнике есть два символа, скажем <code>a</code> и <code>b</code>, и они одинаково вероятны, то каждый символ передает одинаковое количество информации (один бит). источник с четырьмя одинаково вероятными символами передает два бита на символ.</p><p>для более интересного примера, если ваш источник имеет три символа: <code>a</code>, <code>b</code> и <code>c</code>, где первые два имеют в два раза большую вероятность, чем третий, то третий более удивителен, но также менее вероятен. чистая энтропия для этого источника равна 1,52, как рассчитывается ниже.</p><p>вы вычисляете энтропию как «средний сюрприз», где «сюрприз» для каждого символа - это его вероятность, умноженная на отрицательный двоичный журнал вероятности:</p><pre><code> 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 </code></pre><p>разумеется, используется отрицательный двоичный журнал, поскольку записи значений от 0 до 1 (исключая) являются отрицательными.</p>

<p>вот отличное альтернативное объяснение <em>entropy</em> в теории информации.</p><blockquote> <p>энтропия является мерой<strong> неопределенности, связанной с созданием прогноз </strong>.</p> </blockquote><p>мы также можем описать энтропию как то, каким <em>удивленным</em> мы были бы, если бы получили результат после того, как сделали наш первоначальный прогноз.</p><p>допустим, у нас есть согнутая монета, которая дает нам голову 99% времени и хвост 1% времени. поскольку есть только один процент шансов получить хвост, мы были бы очень удивлены, если бы мы действительно получили хвост. с другой стороны, это не будет слишком удивительно, если мы получим голову, поскольку у нас уже есть 99-процентный шанс получить голову.</p><p>давайте предположим, что у нас есть функция с именем <code>surprise(x)</code>, которая даст нам неожиданность для каждого результата; тогда мы можем усреднить количество неожиданности по распределению вероятности. это среднее количество сюрпризов также может быть использовано как показатель того, насколько мы неуверенны. эта неопределенность называется<strong> <em>entropy</em> </strong>.</p>

<h1>супер простое определение</h1><p>слово энтропия может быть определено в одном предложении:<br></p><h2>«количество информации, необходимое для описания системы».</h2><p>представьте для примера расширение вселенной: с самого начала вся материя была собрана за небольшую точку перед большим взрывом, поэтому мы могли бы описать систему так: «вся материя находится в одной точке». в то время как сегодня значительно больше информации требуется для описания системы (то есть вселенной), необходимо описать все положения планет, их движение, что на них и т.д. .... в терминах теории информации определение также работает : например: чем больше букв вы добавляете к паролю (системе), тем больше информации требуется для описания пароля. затем вы можете измерить его в разных единицах, например, битах или символах, например "hello" = 5 символов, энтропия = 40 битов энтропии (если charsize равен 8 битам).<br><br> из этого также следует, что чем больше у вас информации, тем больше способов ее упорядочить. если у вас 40 битов, есть 2 ^ 40 разных способов их размещения. если мы говорим здесь пароли, то чем больше возможных вариантов информации (битов), тем больше времени потребуется для взлома (с помощью грубой силы или атак по словарю).</p>

<p> <a href="http://en.wikipedia.org/wiki/entropy\_(information\_theory)">http://en.wikipedia.org/wiki/entropy\_(information\_theory)</a> </p>

<p>проще говоря, энтропия определяет случайность. это больше похоже на то, как непредсказуемо что-то. другими словами: «в вычислениях энтропия - это случайность, собираемая операционной системой или приложением для использования в криптографии или других целях, требующих случайных данных. эта случайность часто собирается из аппаратных источников, либо ранее существовавших, таких как движения мыши, либо специально предоставленных генераторов случайности ». как определено в википедии.</p><p>теперь можно легко заключить значение энтропии в отношении файла как измерения того, насколько беспорядочными являются байты в файле. существуют различные единицы измерения энтропии, такие как nat, shannon или hartley. ну, самая распространенная единица измерения - это шеннон. диапазон значений, в которые должна входить энтропия файла в соответствии с алгоритмом шеннона, составляет от 0 до 8. таким образом, когда значение энтропии равно нулю, можно сказать, что результат определен. напротив, когда значение энтропии равно 8, результат может быть самым непредсказуемым. формула, данная шенноном для измерения случайности в исходе событий:</p><pre><code> entropy = ∑ pi log(1/pi) </code></pre><p>где <em>i</em> - событие с вероятностью <em>pi</em>. </p><p>это уравнение всегда будет в диапазоне от 0 до 8.</p><p>для получения дополнительной информации перейдите по ссылке: <a href="https://www.talentcookie.com/2016/02/file-entropy-in-malware-analysis/">https://www.talentcookie.com/2016/02/file-entropy-in-malware-analysis/</a> </p>

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

<p>это легко сделать из энтропии. на мой взгляд, это довольно <a href="https://stackoverflow.com/questions/3255/big-o-how-do-you-calculate-approximate-it/630142#630142">простая и полезная концепция</a> .</p><p>по сути, это количественная оценка того, что в среднем вы узнаете из события, такого как подбрасывание монеты, выполнение инструкции ветвления или индексация массива.</p><p>подобно операции сравнения в середине алгоритма поиска, есть определенная вероятность p взятия одной ветви и 1-p взятия другой.</p><p>предположим, что p равно 1/2, как в бинарном поиске. затем, если вы берете эту ветвь, вы знаете на 1 бит больше, чем раньше, потому что log (2/1), основание 2, равно 1. с другой стороны, если вы берете другую ветку, вы также изучаете 1 бит.</p><p>чтобы получить среднее количество информации, которую вы изучите, умножьте то, что вы изучаете в первой ветви, на вероятность, которую вы выберете для этой ветви, плюс на то, что вы узнали во второй ветви, умножьте на вероятность этой ветви.</p><p>1/2 раз 1 бит, плюс 1/2 раз 1 бит, это 1/2 бит плюс 1/2 бит или всего 1 бит энтропии. это то, что вы можете ожидать усвоить в среднем из этого решения.</p><p>с другой стороны, предположим, что вы выполняете линейный поиск в таблице из 1024 записей.</p><p>в первом == тесте вероятность да равна 1/1024, поэтому энтропия да при этом решении равна</p><pre><code>1/1024 times log(1024/1) </code></pre><p>или 1/1024 * 10 = около 1/100 бит.</p><p>таким образом, если ответ да, вы изучите 10 битов, но вероятность этого составляет около 1 на тысячу.</p><p>с другой стороны, нет гораздо более вероятно. это энтропия</p><pre><code>1023/1024 * log(1024/1023) </code></pre><p>или примерно 1 раз примерно ноль = около нуля.</p><p>сложите их вместе, и в среднем вы узнаете примерно 1/100 от этого решения.</p><p>вот почему линейный поиск идет медленно. энтропия (сколько вы можете ожидать усвоить) при каждом решении слишком мала, так как вам нужно будет выучить 10 битов, чтобы найти запись в таблице.</p>

<p>энтропия в информатике обычно относится к тому, насколько случайна цепочка битов .. следующий вопрос касается уточнения:</p><p> <a href="https://stackoverflow.com/questions/2979174/how-do-i-compute-the-approximate-entropy-of-a-bit-string">как я могу вычислить приблизительную энтропию битовой строки?</a> </p>

<p>проще говоря, если вы знаете вероятности символов в языке, можно вычислить среднее информационное содержание символа в языке.</p><p>или же </p><p>энтропия языка - это мера информативности среднего символа в языке.</p><p>рассмотрим честную монету;</p><p>есть два символа, каждый с вероятностью 1/2 , поэтому энтропия рассчитывается как</p><p>h = - (1/2 * log1/2 + 1/2 * log1/2) = 1 </p>

<p>энтропия имеет много значений, как правило, в области компьютерных наук. это зависит от контекста. термин «энтропия безопасности» означает, какую степень случайности вы помещаете, например, когда вы генерируете закрытый ключ, многие приложения просят вас переместить мышь, чтобы генерировать энтропию. это порождает энтропию, беря «человеческий» элемент случайности и добавляет его в процесс хеширования генерации ключа.</p><p>в настоящее время существует также определение для разработки программного обеспечения энтропии. это определение представляет устаревший код или код, который написали многие разработчики. обычно используется в отношении того, когда наступит время для реорганизации вашего программного проекта. «код для этого проекта обладает огромным количеством энтропии, потому что многие из тех, кто поддерживал его, в настоящее время не участвуют в проекте».</p><p>вот третий пример использования, который я тоже запомнил. в теме смоделированного отжига (в том, что касается информатики) энтропия описывается как количество распада, произошедшего во время оценки алгоритма.</p><p>я думаю, чтобы ответить на ваш вопрос, хотя, нет конкретного определения слова «энтропия», кроме тех, которые вы можете найти в словаре. то, как компьютерные науки склонны применять этот термин, зависит от контекста используемого термина и того, к чему он применяется.</p>

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