akry: (16 tons)
[personal profile] akry

Во Вселенной сто миллиардов галактик, в каждой по сто миллиардов звёзд (±). Размеры Вселенной — 1.56×1011 световых лет, размеры галактики, кажем сто тысяч световых лет. Предположим, что нам достаточно точности в 0.00001 световой год (~0.5 ае).

Вариант 1. «Сквозная» навигация. Для хранения координат в каждом из трёх измерений потребуется 54 бита (log2 {размер Вселенной / точность}), всего 162 бита.  Координаты для всех звёзд займут 14 733 814 Тб. Это примерно пять миллионов HDD по 3 Tb весом в 2500 тонн и стоимостью в миллиард долларов.

Вариант 2. Отдельно галактики, отдельно звёзды внутри галактик. Размер сетки для галактик можно положить в 100 000 св. л. Тогда для хранения координат галактик понадобятся 21-битные значения, всего 58 Гб. Для звёзд же понадобятся 32-битные значения, 9 Гб на галактику, всего 9 276 846 Тб на все звёзды во всех галактиках. Около трёх миллионов 3Tb HDD, полмиллиарда долларов, полторы тысячи тонн.

Второй вариант предпочтительнее. Можно подумать про дальнейшую оптимизацию:

  • Не все галактики сферические (третья координата займёт меньше места). Вообще можно ввести несколько размерных групп.
  • Звёзды в галактике разнесены неравномерно, как и галактики во Вселенной: можно ввести ещё несколько уровней типа «скопление», «сверхскопление» и т. п.
  • Размер ячейки сетки для звёзд тоже можно увелчить, шансы что две звезды окажутся в пределах нескольких ае не так уж велики, и их можно выделить в особые случаи.

UPD. Пересчитал для полярных координат и с учётом того, что 70% галактик не сферические. Выигрыш минимальный: процентов пять.

Процитировать в LiveJournal! Процитировать в LiveInternet! Процитировать в Twitter! Добавить блог в GoogleReader!    

Date: 2011-09-20 04:35 pm (UTC)
From: [identity profile] epliss.livejournal.com
А ещё всё движется по точно неизвестным законам, модели вселенной меняются, а сфера наблюдения расширяется. Тут пригодится расширяющийся с той же скоростью HDD.

Date: 2011-09-20 05:42 pm (UTC)
From: [identity profile] zmeyman.livejournal.com
Осталось данные заархивировать и уменьшить объём (учитывая пустоты) на 95-98%.
Хрен нули на винт складировать?..
)))

Date: 2011-09-21 09:09 am (UTC)
From: [identity profile] akry.livejournal.com
Пустот тут по идее в явном виде нет. Ведь это не куб с ячейками, а просто несколько квардильонов наборов из трёх чисел — координат конкретных звёзд. Для пустых мест координаты не будем записывать.

Date: 2011-09-21 04:53 pm (UTC)
From: [identity profile] zmeyman.livejournal.com
Это понятно, я о другом.

Вот есть у нас векторный рисунок, тот же набор точек. Так же не учитываются пустоты.
Архивируем раром - упс, легче в десяток раз.

То есть, имхо, и для вселенной можно найти алгоритм сжатия.

Date: 2011-09-21 04:57 pm (UTC)
From: [identity profile] akry.livejournal.com
Наверняка можно. Я тут думаю, не будет ли экономией переход на полярные координаты.
А с точками видимо я что-то не понял.
Каждая трёхкоординатная ячейка = звезде. Вероятно в потоке битов можно найти повторяющиеся последовательности и сжать их, но наверное только так?

Date: 2011-09-21 05:57 pm (UTC)
From: [identity profile] zmeyman.livejournal.com
Да бог с ними, с точками...

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

Вот в идеале, при правильном алгоритме, нам понадобится 2-5% от расчётного кол-ва винтов.

Date: 2011-09-20 05:48 pm (UTC)
From: [identity profile] acristi.livejournal.com

Да уж, оптимизация. А потмо пидет специалист по СУБД и тонко намекнет, что неплохо бы все нафиг переделать, плюс добавиь индексные таблички и т. п. :)

Date: 2011-09-21 09:10 am (UTC)
From: [identity profile] akry.livejournal.com
Да, в этом виде доступ к данным наверняка будет морочным. Индексы обязательно будут нужны, по классам звёзд, по наличию планет и т. п.

Date: 2011-09-20 06:04 pm (UTC)
From: [identity profile] kalabuhov.livejournal.com
Ниасилил:))

April 2017

S M T W T F S
      1
2345678
9101112131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 30th, 2025 12:17 am
Powered by Dreamwidth Studios