Как стать автором
Обновить

Комментарии 51

Спасибо. Лень-матушка вперед меня родилась)
В русском языке есть хороший термин жесткий диск, чем он вас не устраивает? и не беритесь переводить статью, если не владаете «великим и могучим».
Потому-что холодильник ксерокс
Надеюсь википедия протестует только один день?)
Аналогичный девайс на БЭСМ-6 называли Унитаз :)
Ьерусь предположить, что в результате бурного ночного корпоратива.
Не, сегодня такие ссылки не катят :(.
«Представьте себе мир без свободных знаний...»

О ужас!
Вики в протестах, так что… Одна из моделей HDD (IBM 3340) должна была иметь два шпинделя по 30 Мб, что похоже на 30-30 — так называется калибр охотничьего ружья 30-30 Winchester (ОЧЕНЬ популярен в США, чуть покороче 7.62×51mm NATO, ружья имеют характерную перезарядку lever action / скоба Генри), и директор проекта взял это имя в качестве рабочего. Потом правда HDD вышел с вариантами 35 или 70 Мб, забавно, что 30 Мб варианта так и не было. Источник:

en.wikipedia.org/wiki/IBM_magnetic_disk_drives#IBM_3340
У меня появился весьма абстрактный вопрос о неделимости бит:
Есть 3 цифры (0..9), вместе они формируют число 0...999, для хранения которого достаточно 10 бит.

Если для 3 цифр нужно 10 бит, то для 1 цифры нужно 3,3(3) бит…
Бардак, абстракция, но ведь вполне логично?
Да правильно же все, в чем вопрос-то?
Ну первый вопрос, все ли логично))?

Второй:
Какой предел и есть ли он? Есть ли система, в которой что-то может требовать иррациональное «количество» бит для хранения какой-то информации?

Существуют ли системы использующие такую абстракцию?
Если есть, то чему там равен минимальный размер выделяемой «памяти»…

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

В пределе выходит 0.30103 бита на цифру, при последовательности бесконечной длинны.
Но что то мне подсказывает, что предел — не минимально возможное значение. Точнее не скажу, математик во мне уже умер.
Только наоборот 0.30103 цифры на бит, или 3.321928 бита на цифру.
Долгое время бит считался неделимым. Но советские ученые…
Никакого бардака, в теории информации действительно существуют дробные значения бит. Если для элемента нужно 1.5 бит, то для 10 элементов потребуется 15 бит, всё верно.

Можно погуглить formula of entropy, kolmogorov complexity, arithmetic coding.
2^(10/3) = 10.08, ага
НЛО прилетело и опубликовало эту надпись здесь
Чтобы упростить абстрагирование и сделать конкретный пример максимально простым.
таким образом, упростив — вы и получили умозрительный парадокс. Попробуйте проделать то же самое в двоичной системе счисления. Все будет логично и прозрачно.
Есть 3 числа, от 0000 до 1001. Вместе они формируют число от 0 до 1111100111, для хранения которого достаточно 10 бит.

Если для 3 цифр нужно 10 бит, то для 1 цифры нужно 3,3(3) бит…
Бардак, абстракция, но ведь вполне логично?
Исходные числа неполные (не до 1111), отсюда и экономия двух бит. Для того, чтобы из 10 бит получить исходные числа, вам нужно произвести некоторые вычисления, распаковать данные из представления по определённому алгоритму (путем преобразования систем счисления и выделения разрядов). Поэтому для хранения числел нужно не 4 бита, а 3.3(3).
Упрощая нельзя надеяться на точные результаты, так что бардак останется бардаком.
Логично, но в голове не укладывается, это похоже на статистические эффекты. «Если три землекопа выкапывают за час траншею в два метра, значит для выкапывания метровой траншеи за час нам потребуется полтора землекопа.»
Так и тут все правильно — один будет час работать, другой полчаса. Никаких проблем
Это при условии что они работают независимо.
У меня появился весьма абстрактный вопрос о неделимости бит:
Есть 3 цифры (0..9), вместе они формируют число 0...999, для хранения которого достаточно 10 бит.
Если для 3 цифр нужно 10 бит, то для 1 цифры нужно 3,3(3) бит…
Бардак, абстракция, но ведь вполне логично?


Если автомобиль перевозит 1 тонну груза за раз, то чтобы перевести 3,5 тонны необходимо сделать 4 ходки, а не 3,5. Просто последняя ходка будет полупустая.

Аналогично и с битом на практике. Чтобы хранить цифру (что на практике является числом от 0 до 9) необходимо 4 бита и у нас есть резерв ещё для 6 чисел.
Спасибо, приблизительно к такому выводу я уже и пришел. Но вопрос на этом не закончен, едем далее:

Во избежания полупустых грузовиков, мы делаем систему для хранения различных диапазонов 0… а. Допустим у нас есть n диапазонов и массив [a1, a2,…, an]. n — сколь угодно большое.

Вопрос, как, хоть приблизительно, реализовать систему, которая может хранить такие числа наиболее эффективным образом с точки зрения потребления памяти. Так, чтобы оно ела ресурсов не более log2(a1*a2*a3*...*an) + 1 + C, где С — константа, память под вспомогательные системы…
"… или как написать курсовую с помощью Хабра" :)
Зря вы так, я уже давно не студент, и суть вопроса — интерес, а не лаба / курсач / диплом / диссертация.
Я вижу по профилю и прошу прощения если обидел! Просто уж очень на троллинг было похоже :)
Похожу для общего случая — не возможно. Нужно хотя бы хранить информацию о диапазонах, что не допустимо для условий, которые я поставил. Я для частного случая — слишком очевидно.
Во избежания полупустых грузовиков, мы делаем систему для хранения различных диапазонов 0… а. Допустим у нас есть n диапазонов и массив [a1, a2,…, an]. n — сколь угодно большое.

Очень часто экономически выгоднее прислать полупустой грузовик вместо того, чтобы делать грузовик нестандартного размера под особый случай.
Я постарался сразу сделать акцент на том, что проблема абстрактная, и возможно не имеет областей применения.
Это же задача об упаковке в контейнеры. Согласно вики она NP-трудная, так что не мучайтесь.
Нет, не похоже. У него там несколько иной контекст.
Думаю, по аналогии с существующими системами счисления. На примере примерно так

Пусть диапазоны
[0..9], [0..12], [0..6], [0..2]
и числа
2, 5, 3, 1.
Теоритически, нужно log2(10*13*7*3) = 11,42 бита.
Будем хранить значение выражения
2*13*7*3 + 5*7*3 + 3*3 + 2 = 662
Обошлись 10 битами.
Другими словами, чтобы хранить число 0 от 999, где хранимое число 1 нужно
0*100 + 0*10 + 1 = 1. Обошлось 1 битом?
Я правильно вас понял?
Даже не знаю. Скорее всего, именно так. Мы просто применили алгоритм архивации «Кодируем десятибитное число. Опускаем лидирующие нулевые биты».
Скорее, я просто хотел показать, как решить вашу задачу по хранению массива чисел используя не более log2(a1*a2*a3*...*an) + 1 бит.
Ну это не правильно. Памяти должно выделяться столько, чтобы хватило для любого набора чисел.
Каменнотопорное упрощение алгоритма Хаффмана со статически заданной таблицей частот…
Вполне логично. Для одной цифры нужно четыре бита. В gif'e есть методы плотной упаковки — там эти лишние 0.(6) бит используются
Я думаю, что spin crossover molecules--это вовсе не «вращения пересекающихся молекул», а что-то типа молекулы с кроссовером спина. Спин здесь--это специальная характеристика квантовой системы, а spin crossover--специальный эффект. Правда, как это переводится на русский, я не знаю.

Тем не менее, спасибо за статью.
На русский будет переводится примерно, как «спин-переменные молекулы».
А в статье случае не было ли написано, что это всё делается а) в глубоком вакууме или б) при низких температурах?!
Про температурные условия как раз написано. Смысл супермагнитного барьера в том и заключается, что минимальный размер домена ограничен воздействиями тепловых колебаний. А в случае комбинации спинотроники в обрамлении органической молекулой «домен», если его можно так назвать, становится более устойчив к температурным воздействиям. Что касается вакуума — про это ничего не сказано, но думаю условия стандартные — инертная среда при атмосферном давлении.
НЛО прилетело и опубликовало эту надпись здесь
Главное его вовремя кормить и периодически выгуливать.
НЛО прилетело и опубликовало эту надпись здесь
Молекулярная память и сканирующий туннельный микроскоп в маленькой коробочке за сотню баксов через пять лет у всех дома, ох.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории