با عرض سلام خدمت دوست عزيز
جسارت نباشه بالاخره شما 1 دهه زحمت کشيدی عمرتو رو اين قضيه گذاشتی ولی خوب نميدونم يا من خيلی از معامله دورم يا شما !!!
تا جايی که من اطلاعات دارم همينطور که ميدونيد و البته اگه يه نگاهی به اين لينک بندازيد (http://mattmahoney.net/dc/dce.html#Section_12) متوجه ميشين که فشرده سازی حد پايين داره يعنی bounded هستش و از همه مهمتر اينکه :
خوب همينطور که دارين ميبينيد البته اين نقل قول از طرف matt mahoney استاد دانشگاه florida و البته پيشتاز در علم فشرده سازی هستش و ديگه فک کنم واضح تو کتابش گفته که هيچ نوع الگوريتمی وجود نداره و نخواهد داشت که بتونه تضمين بکنه که هر فايلی رو بتونه به يه سايز مشخص برسونه و باز از همه مهمتر اينکه هيچ الگوريتمی به صورت بازگشتی(recursive) وجود نداره.اين قضيه از نظر رياضی کاملا اثبات شده پس فکر کنم اگه بيخيال اين پرژه بشين خيلی بهتر باشه.بازم هر جور که صلاح هستش.
Information theory places hard limits on what can and cannot be compressed losslessly, and by how much:
There is no such thing as a "universal" compression algorithm that is guaranteed to compress any input, or even any input above a certain size. In particular, it is not possible to compress random data or compress recursively.
Given a model (probability distribution) of your input data, the best you can do is code symbols with probability p using log2 1/p bits.
حالا منظور از بازگشتی چيه؟؟؟
با يه مثال ميگم.اگه شما بتونی از تو هر 100 byte يک byte رو کم کنيد يعنی اگه هر 100 byte رو بتونيد بکنيد 99 byte، اونوقت هر نوع فايلی رو با هر حجمی ميتونيد تبديل به 99 byte بکنيد!!!(گرفتين قضيه چی شد؟؟؟) .به اين ميگن الگوريتم recursive که البته با اون recursive توی برنامه نويسی يه کمی معنيش فرق داره.
عزيزان اين کار امکان پذير نيست و حد اکثر کاری که ميتونيد بکنيد اين هستش که يک مدل خوب برای داده مون پيدا کنيم