powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Два число в одно и обратно
25 сообщений из 209, страница 4 из 9
Два число в одно и обратно
    #39156135
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ1. Чисто математически никто не доказал что нельзя, более того существование архиваторов доказывает противоположное.

Есть класс задач для которых нет математичкского доказательства. Пример - шахматные эндшпили.
Поэтому я-бы не стал бравировать терминами. Математки засмеют нас. Все мы здесь - работкики
It-сегмента и все читали ТЗ которые написаны далеко не мат. языком. И все мы знаем какую
свободу мысли дают нам текстовые (гуманитарные) формулировки от бизнеса. Вот и кумекаем...
что за смысл был вложен.

И учитываю некоторую недоговорённость или неоднозначность толкований (я уже писал про целые-вещественные
и смысл упаковки-распаковки) решение данной задачи я-бы отложил до выяснения доп-деталей. Очевидно
что автор недоговаривает. Возможно задача решается когда будет известо ограничене на пары {a,b} или
на точность кодирования (аппроксимации) чисел.
...
Рейтинг: 0 / 0
Два число в одно и обратно
    #39156170
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВИзопропилно построители квадратуры круга - не сдаются.
Безумству храбрых поем мы песню! (С)
1. Чисто математически никто не доказал что нельзя, более того существование архиваторов доказывает противоположное.
2. Никто не собирался 34 засунуть в 32. Наверняка существует нечто, многочлен, группа, магические числа и хз еще что зная, что позволит хранить недостающую информацию.

Я уже доказал и успокоился. К сожалению действительно не получится
...
Рейтинг: 0 / 0
Два число в одно и обратно
    #39156173
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А архиваторы доказывают ровно обратное. При любом шифровании(сжатии) должен быть такой вариант что размер целевого файла с учётом дополнительных расходов памяти или без этого учёта не изменится.
Доказать что способа не существует тоже просто.
Пусть у нас часть бит x используется для кодирования какой-либо комбинации исходных чисел, группы, многочлена и чего угодно. Сколько вариантов даёт эта часть бит ? 2^x. Пусть оставшуюся часть бит мы используем на коллизии. На каждый вариант из пространства 2^x у нас есть максимум 2^y коллизий которые могут быть успешно разрешены. В таком случае мы имеем максимум 2^(x+y) вариантов всего. Это очень упрощенный вариант, можно доказать строже но суть не изменится.

Мы могли бы это сделать, но с потерей точности. Тип float, например, о котором говорил Марк
...
Рейтинг: 0 / 0
Два число в одно и обратно
    #39156195
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ1. Чисто математически никто не доказал что нельзя, более того существование архиваторов доказывает противоположное.
Архиваторы работают за счет наличия избыточной информации. После первого сжатия избыточность исчезает и последующие сжатия уже пожатого не дают никакого эффекта.
ЕвгенийВ2. Никто не собирался 34 засунуть в 32. Наверняка существует нечто, многочлен, группа, магические числа и хз еще что зная, что позволит хранить недостающую информацию.
Это только в случае если данные избыточны, т.е. изначально заложен какой-то алгоритм расчета одной части по остальным. Например контрольная сумма и т.п. Тогда эту расчетную часть можно выкинуть и заново рассчитать при восстановлении. Но это должно быть заложено изначально, а не найдено эвристическим образом.
...
Рейтинг: 0 / 0
Два число в одно и обратно
    #39156336
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TЕвгенийВ1. Чисто математически никто не доказал что нельзя, более того существование архиваторов доказывает противоположное.
Архиваторы работают за счет наличия избыточной информации. После первого сжатия избыточность исчезает и последующие сжатия уже пожатого не дают никакого эффекта.
Давно хотел провести эксперимент. Взять хороший генератор шума на базе Secured Random, сформировать
файлих хотя-бы на 1Г. И дать возможноть архиваторам (WinRar,7z) его пожать. Меня интересует - поймет
ли архиватор на основании полного файла или какой-то выборки что его действия были бесполезны.
Или продолжит как ёж-трудяга пыхтеть до победного.
...
Рейтинг: 0 / 0
Два число в одно и обратно
    #39157473
__Avenger__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Арктур Менгск__Avenger__,
Аффтар! Ты куда пропал?
Ты напиши, за каким хреном тебе это понадобилось?
С чего это вообще началось? Мысль эта у тебя как возникла?
Какую задачу решаешь?

Хранение данных паспортов. Пока 96`000`000

http://www.fms.gov.ru/upload/expired-passports/list_of_expired_passports.csv.bz2
...
Рейтинг: 0 / 0
Два число в одно и обратно
    #39157478
__Avenger__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И + минимальный размер файла, потому-что его рассылка идет на удаленные точки по медленным каналам.
...
Рейтинг: 0 / 0
Два число в одно и обратно
    #39157487
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Avenger__Арктур Менгск__Avenger__,
Аффтар! Ты куда пропал?
Ты напиши, за каким хреном тебе это понадобилось?
С чего это вообще началось? Мысль эта у тебя как возникла?
Какую задачу решаешь?

Хранение данных паспортов. Пока 96`000`000

http://www.fms.gov.ru/upload/expired-passports/list_of_expired_passports.csv.bz2

Вероятно, не все возможные серии используются.
Тогда используемые серии хранить в отдельном массиве, а кодировать индекс.
...
Рейтинг: 0 / 0
Два число в одно и обратно
    #39157671
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr SharahovВероятно, не все возможные серии используются.
Первые две цифры серии паспорта соответствуют коду ОКАТО региона, в котором выдан паспорт; третья и четвертая цифры серии паспорта соответствуют последним двум цифрам года выпуска бланка паспорта
...
Рейтинг: 0 / 0
Два число в одно и обратно
    #39157698
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилAleksandr SharahovВероятно, не все возможные серии используются.
Первые две цифры серии паспорта соответствуют коду ОКАТО региона, в котором выдан паспорт; третья и четвертая цифры серии паспорта соответствуют последним двум цифрам года выпуска бланка паспорта
Регионов ~90
Как вариант сначала брать год, но в 2043 году все наестся.
...
Рейтинг: 0 / 0
Два число в одно и обратно
    #39157706
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TКак вариант сначала брать год, но в 2043 году все наестся.
в базе - DECIMAL(10) и не брать в голову

а вот при передаче данных если нужно просто передать список - со сжатием можно хорошо развлечься
...
Рейтинг: 0 / 0
Два число в одно и обратно
    #39157709
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Avenger__Арктур Менгск__Avenger__,
Аффтар! Ты куда пропал?
Ты напиши, за каким хреном тебе это понадобилось?
С чего это вообще началось? Мысль эта у тебя как возникла?
Какую задачу решаешь?

Хранение данных паспортов. Пока 96`000`000

http://www.fms.gov.ru/upload/expired-passports/list_of_expired_passports.csv.bz2
Судя по расширению файла csv (не могу пока скачать) данные хранятся в текстовом виде, то есть на
xxxx xxxxxx - тратится минимум 10 байт, а то и 20 если в unicode. + перевод строки.

Подобные штуки здорово ужмутся в размере, если применить префиксное дерево.

http://citforum.ru/database/articles/bst/
...
Рейтинг: 0 / 0
Два число в одно и обратно
    #39157725
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВxxxx xxxxxx - тратится минимум 10 байт, а то и 20 если в unicode. + перевод строки.
ascii, серия от номера запятой отделена(лидирующие нули присутсвуют), перевод строки - 0A
...
Рейтинг: 0 / 0
Два число в одно и обратно
    #39157738
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилЕвгенийВxxxx xxxxxx - тратится минимум 10 байт, а то и 20 если в unicode. + перевод строки.
ascii, серия от номера запятой отделена(лидирующие нули присутсвуют), перевод строки - 0A
12 байт на номер, а можно short и int, разделитель - позиция в файле, итого 6 байт. Легким движением уменьшаем в 2 раза.
Можно серию в имя файла и тупо список номеров в сам файл (как int), еще сильнее уменьшим.
Хотя для номера хватит 5 байт.
...
Рейтинг: 0 / 0
Два число в одно и обратно
    #39157745
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Avenger__Хранение данных паспортов.Тогда, имхо, хранить строкой.
А то введут, например, буквы, которые в Int неудобно запихивать.

Да и экономия мизерная выходит на фоне всего остального объема паспортных данных.
...
Рейтинг: 0 / 0
Два число в одно и обратно
    #39157754
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft__Avenger__Хранение данных паспортов.Тогда, имхо, хранить строкой.
А то введут, например, буквы, которые в Int неудобно запихивать.

Да и экономия мизерная выходит на фоне всего остального объема паспортных данных.
О как!
А я то по названию файла предположил, что там недействительные паспорта и акромя нумеру белее ничего не треба...
...
Рейтинг: 0 / 0
Два число в одно и обратно
    #39157775
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очевидно что для баз данных никакой особо экономии перевод в int не даст.
Там - свои накладные расходы на кортежи, блоки и потерянное пространство
экстентов (практически во всех DBMS).

А с точки зрения memory на app-уровне.. ну можно сэкономить.
Только как усложниться при этом доступ?

int + short одна статистика. Одни свойства.
long int - другая. Другие свойства.
Можно и просто в char[] оставить. На мой взгляд вполне себе неплохо.
...
Рейтинг: 0 / 0
Два число в одно и обратно
    #39157781
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВА я то по названию файла предположил, что там недействительные паспорта и акромя нумеру белее ничего не треба...Конкретно в этом файле, может быть, больше ничего и нет. Не смотрел.
Но он же не будет существовать один в вакууме. Наверняка будут и другие данные, с которым будет происходить сверка этого списка. А даже банальный JOIN становится куда более сложным (а то и сильно медленнее), если форматы данных не совпадают.
...
Рейтинг: 0 / 0
Два число в одно и обратно
    #39157786
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Писать как строку и паковать чем-нибудь хорошо жмущим (7z, rar). Чтобы лучше паковалось - отсортировать.

Такой текст должен жаться раз в 10. Т.е. если имеем 12 байт на строку, то после запаковки будет 10 бит на один номер.

Набор из 32-битных номеров особо жаться не будет архиватором. Думаю после запаковки будет 25-30 бит на номер.

Если проблема в медленных каналах, то как вариант слать только изменения. Не так уж и много паспортов теряют.
По сути стандартная репликация. Клиент засылает свое текущее состояние, сервер скидывает ему изменения.
Периодически можно засылать полное состояние.

PS Кто-нибудь нажимал на ссылку тут 18740263 ? Я ткнул, firefox ушел в аут, начал усиленно отжирать память и молотить процом. За пять минут занял пару гигов оперативки, дальше я задачу снял.
...
Рейтинг: 0 / 0
Два число в одно и обратно
    #39157790
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TPS Кто-нибудь нажимал на ссылку тут 18740263 ? Я ткнул, firefox ушел в аут, начал усиленно отжирать память и молотить процом. За пять минут занял пару гигов оперативки, дальше я задачу снял.Там сервер отдает неверный заголовок Content-Type text/plain; charset=utf-8, поэтому браузер пытается скачать его весь и показать его как текстовый файл.
Нужно жать ПКМ и "Сохранить объект как..."
...
Рейтинг: 0 / 0
Два число в одно и обратно
    #39157812
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TPS Кто-нибудь нажимал на ссылку тут 18740263 ?
да. скачался архив
...
Рейтинг: 0 / 0
Два число в одно и обратно
    #39157815
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нормально скачался. 1гиг.

96 383 652 номеров.
...
Рейтинг: 0 / 0
Два число в одно и обратно
    #39157819
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T

Набор из 32-битных номеров особо жаться не будет архиватором. Думаю после запаковки будет 25-30 бит на номер.

Набор случайных не жмется вообще, после сортировки - 43% от начального уровня ужался.
...
Рейтинг: 0 / 0
Два число в одно и обратно
    #39157842
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВDima T
Набор из 32-битных номеров особо жаться не будет архиватором. Думаю после запаковки будет 25-30 бит на номер.

Набор случайных не жмется вообще, после сортировки - 43% от начального уровня ужался.
Осталось затестить тоже самое в тексте: XXXX XXXXXX<enter>

Для чистоты эксперимента попробую сейчас тот гиг скачать, как понимаю они там открытым текстом без сжатия.
...
Рейтинг: 0 / 0
Два число в одно и обратно
    #39157871
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скачал, отсортировал.
Код: sql
1.
sort list_of_expired_passports.csv > pass_sort.csv


правда переводы строк стали двухбайтовыми (0xA 0xD), файл чуть увеличился.

Из интересных наблюдений:
там все в UTF и лажа из нереальных номеров серии 0000, как понял Советские паспорта тоже естьР_-Р_Р_586151Р_-Р_Р_608275Р_Р_ЕР685239Р_ЕР637039Р_Р_Р'Р_601006РЇР"013332Р_Р_0686885Р'Р"30275311Р"ЕР574471Р_2ЕР73260700000000010000000002......XVР_Р"553080XVР'Р_721378XVР'Р"617824XVР'Р"719576XVЕР590580XVЕР656803XVР_Р_528150XVР>Р_706956XVР>Р_721957XVI-575246XVIРў693061XVII524858XVII645989XX-Р_519379XX-Р_559701XX-Р_646649XX-Р_654615XXР_Р"548495XXР_Р"587957XXР_Р"706757XXР'Р_736496XXР-Р"557014XXР-Р"582132XXР_РR707099XXI-719712XXV-746623

Там одними цифрами все не ограничивается, про перегон в int можно забыть.

Жму раром исходный файл и сортированный. Максимальное сжатие. Говорит 50 минут осталось.
...
Рейтинг: 0 / 0
25 сообщений из 209, страница 4 из 9
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Два число в одно и обратно
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]