Уже не первое десятилетие программисты и инженеры во всём мире двигаются в одном направлении: превращают всё массивное в нечто миниатюрное. Достаточно вспомнить гигантские ЭВМ, которые раньше занимали целые здания и сравнить их с современным ноутбуком или планшетом. Параллельно шла работа с носителями информации. От перфокарт и дискет человечество пришло к облачным хранилищам. И только одну вещь учёным никак не удаётся уменьшить, а точнее сжать. Речь о файлах, например, о фотографиях, видеозаписях, фильмах. Их научились слегка «уплотнять», но, как все мы знаем, очень сильное сжатие документа частенько приводит к потере его качества.
Разные компании время от времени проводят конкурсы среди программистов, предлагая им «впихнуть невпихуемое», то есть создать технологию, позволяющую сжать файл до минимального размера и не потерять при этом качества при «распаковке».
Ещё в 2006 году такую задачку для своих пользователей задала Википедия. Условия конкурса тогда сформулировал профессор Маркус Хаттлер, известный немецкий учёный, специалист в области искусственного интеллекта и компрессии данных.
Чтобы претендовать на денежный приз от Хаттлера надо было побить существующий рекорд сжатия сто мегабайтного текстового файла в самораспаковывающийся архив под Linux или Windows. Рекорд равняется 18.324.887 байтам. С тех пор прошло достаточно много времени и за задачку взялся программист из Серпухова Михаил Ясинский, выпускник школы № 7 и механико-математического факультета МГУ им. Ломоносова.
Его работа над заданием Википедии, в конце концов, обернулась настоящим открытием о котором, портал «OKA.FM», похоже, расскажет первым.
- У меня есть прикладной опыт по «компрессии» баз данных. Ранее я написал программу, которая позволяет сжимать объем баз данных гарантированно от 3 до 10 раз и, соответственно, увеличивать быстродействие программ до 10 раз. Благодаря этому быстрее формируются отчёты, быстрее открываются, формируются документы и т.д. Разработка была внедрена в Серпухове на заводах «Артпласт» (база уменьшилась в 10 раз) и «Никатор» (база уменьшилась в 12 раз), в московской компании МЕПСИ моя технология позволила сжать базы в 30 раз , освободив почти полностью дисковое пространство сервера, - рассказывает Михаил Владимирович. - Программа позволяет из обычного компьютера сделать рабочий сервер, что весьма экономно, уменьшить плату за аренду облачного сервера, на этих предприятиях увеличилась скорость формирования отчётов, скорость работы с документами. В случае сбоя сервера восстановление базы, использующей эту технологию, происходит в 10 раз быстрее так как скорость восстановления зависит от объёма архива.
- С этой программой вы решали задачку от Википедии?
- Для этого была использована немного другая технология. Применив её, мне удалось побить самый последний рекорд, установленный ранее кем-то из моих коллег. Изначальный файл я сжал в 40 раз и распаковал его без потери качества. Написал ребятам-организаторам. Они заинтересовались, но стали просить так сказать исходники, то есть просили описать суть технологии. Я не стал этого делать по понятной причине: не хотел передавать кому-то постороннему суть своей разработки. Но самое главное, что сжатие файла в 40 раз для этой программы является не пределом возможностей...
- Получается, мы с вами говорим о революционной технологии? На что способна ваша разработка?
- Алгоритм программы одинаково работает с разными типами данных. Он сжимает терабайтные файлы до размера порядка 100 МБ. Логика текущего архиватора отлична от существующих, поэтому входной файл для сжатия может быть уже сжат обычным архиватором.
- Стоп! Правильно я вас понимаю: условный сериал «Игра престолов» или «Доктор Кто» реально сжать до такой степени, что он свободно отправится по электронной почте или его можно будет хранить у себя в телефоне?
- Совершенно верно и подчеркну ещё раз, архиватор сжимает данные без потерь.
- Но как такое возможно?
- Саму технологию я раскрывать не стану. Ну суть её примерно такая же, как в биологии: вся информация о живом организме хранится в ДНК. Взяв крохотную клетку вымени у обычной овечки, генетики смогли воссоздать её клон - Долли. Тут принцип отчасти такой же: информационные базы, файлы можно сжать до «размеров ДНК», а потом воссоздать их. Есть, правда, один нюанс: мой архиватор не работает с маленькими по объёму файлами, а коэффициент сжатия увеличивается с ростом объёма файла к которому применяется сжатие. То есть, чем массивнее файл, тем плотнее программа его запаковывает.
- Сколько занимает времени сжатие-разжатие?
- Алгоритм этого архиватора тестировался на бумаге: были произведены расчёты для разных файлов, получена статистика его работы, области применения. Написана программа, работа которой подтвердила теоретические расчёты. Скорость сжатия примерно равна скорости распаковки. На данный момент программа работает медленно, но процесс можно ускорить до мгновений. И я знаю как это сделать, но для этого нужна доработка продукта.
- Если говорить совсем упрощённо: у вас есть потрясающая формула, которая может стать революцией в информационной сфере и изменить жизнь сотен миллионов людей на планете. Но чтобы это произошло формуле, как и любому продукту, нужно придать «товарный вид»: сделать «упаковку», «наладить производство», разрекламировать, где-то «подшлифовать»...
- По большому счёту всё так. Чтобы вывести этот продукт на рынок и, как вы говорите, совершить революцию, требуются определённые вложения. Людям, не знакомым с программированием, будет сложно это понять, но специалисты знают о чём я говорю. Прежде чем такой архиватор можно будет скачать в GooglePlay или AppStore, необходимо оптимизировать алгоритм в ключе численных методов для повышения скорости работы программы, оптимизировать под разные условия работы (размер и вид сжимаемого файла, тип данных), под фоновые параллельные вычисления, под горизонтальную в вертикальную масштабируемость мощностей ПК, адаптировать под операционные системы... Одним словом, это как раз и есть то, о чём вы говорите - «наладить производство», «сделать упаковку», оформить лицензию и не забыть создать красивую иконку для смартфона. Другой вопрос, что для реализации этого требуются средства.
- Вы же обращались к представителям IT-компаний?
- Разумеется я связывался и с российскими и с зарубежными разработчиками программного обеспечения. Большинство из них, как и Википедия, хотят сразу получить «формулу», чтобы самим проверить мои расчёты и повторить эксперименты. Но при этом я не исключаю, что какой-то IT-гигант может просто присвоить себе эту технологию. Естественно, я переживаю и мне нужны гарантии. Сейчас к «формуле» проявила интерес крупная российская корпорация, недавно ездил на встречу с их представителем, надеюсь всё «срастётся».
- Помимо сериалов на смартфоне, какие ещё области применения возможны в случае внедрения вашей технологии?
- Если мы начали со смартфонов, то потеряется смысл изготовлять и, соответственно, покупать дорогие модели с большим объёмом памяти. Классические 64 Гб пользователь сможет заполнять своими фото и видеозаписями годами. Другие области применения - рациональное использование серверов, облачных устройств хранения, передача огромных массивов данных через интернет и телефон (через те же мессенджеры). Ещё - криптография (кодирование декодирование информации), развитие технологии нейронных сетей и искусственного интеллекта, развитие технологий поисковых систем, сайтостроения и социальных сетевых ресурсов, а также технология позволит повысить энергоэффективность мобильных устройств.
Источник: oka.fm/amp/new/read/social/Programmist-iz-Serpuhova-gotov-nachat-revolyutciyu/