সম্ভাব্য সদৃশ:
কেন জিপ কম্প্রেশন কিছু সংকুচিত করে না?
আমি একটি .exe ফাইল 7zip করার চেষ্টা করেছি তবে এটি আসলে আরও বড় হয়ে উঠেছে।
এটি কি প্রত্যাশিত ফলাফল?
সম্ভাব্য সদৃশ:
কেন জিপ কম্প্রেশন কিছু সংকুচিত করে না?
আমি একটি .exe ফাইল 7zip করার চেষ্টা করেছি তবে এটি আসলে আরও বড় হয়ে উঠেছে।
এটি কি প্রত্যাশিত ফলাফল?
উত্তর:
এটি নেমে আসে এন্ট্রপি নামক একটি ধারণায় । উইকিপিডিয়া দেখুন ।
মূল ধারণাটি হ'ল, যদি কোনও সংকোচন অপারেশন বিদ্যমান থাকে যা সবসময় একটি ফাইলকে ছোট করে তুলতে পারে , তবে যুক্তি অনুসারে নির্দেশ দেয় যে কম্প্রেশন অপারেশন যে কোনও ফাইলকে 0 বাইটে হ্রাস করতে সক্ষম হবে এবং সমস্ত ডেটা ধরে রাখতে সক্ষম হবে। তবে এটি অযৌক্তিক , কারণ আমরা জানি যে 0 বাইট কোনও তথ্য কোনওভাবেই জানাতে পারে না। সুতরাং আমরা কেবল প্রমাণ করেছি যে একটি সংক্ষেপণ অ্যালগরিদম বিদ্যমান থাকতে পারে না যা সর্বদা এর ইনপুটটিকে ছোট করে তোলে, কারণ যদি এমনটি হয় তবে কোনও তথ্য 0 বাইটে সংরক্ষণ করা যেতে পারে - তবে 0 বাইট তথ্যের অনুপস্থিতিকে বোঝায় , তাই আপনি পারেন ' t একই সাথে কোনও তথ্য এবং সমস্ত তথ্য নেই। সুতরাং এটি অযৌক্তিক
এই তাত্ত্বিক ধারণার কারণে, আপনি যে কোনও কম্প্রেশন প্রোগ্রামটি ব্যবহার করেন তা কিছু ইনপুট (বা সর্বোপরি, একই আকারের বজায় রাখতে) বাড়িয়ে তুলবে। এটি হ'ল, আপনি ডিজাইন বা ব্যবহার করেছেন এমন কোনও কম্প্রেশন অ্যালগরিদমের জন্য, কিছু নির্দিষ্ট ইনপুট থাকবে যা ছোট থেকে বেরিয়ে আসবে এবং কিছু এটিরও হবে না।
ইতিমধ্যে সংকুচিত ডেটা সাধারণত আরও সংক্ষেপণের জন্য একটি ভয়ানক প্রার্থী, কারণ বেশিরভাগ ক্ষতিহীন সংকোচনের অ্যালগরিদমগুলি একই তাত্ত্বিক নীতির উপর ভিত্তি করে। এটা তোলে হয় এমনকি আরও দুর্বল সংকুচিত ডেটা কম্প্রেস করা সম্ভব; তবে এটি শুরু করার জন্য মূল ডেটা থেকে সর্বাধিক উপলভ্য অ্যালগরিদম দিয়ে সংকুচিত করার চেয়ে কম দক্ষ।
উদাহরণস্বরূপ, আপনার যদি 100 এমবি টেক্সট ফাইল থাকে এবং এটি নিয়মিত জিপ অ্যালগরিদম ব্যবহার করে সংকুচিত করে, তবে এটি 50 এমবি পর্যন্ত সংকুচিত হতে পারে। তারপরে আপনি যদি জিপ ফাইলটি এলজেডএমএ 2 দিয়ে সংকুচিত করেন তবে আপনি এটিকে 40 বা 45 এমবিতে নামিয়ে আনতে পারেন, কারণ জিপের চেয়ে বেশিরভাগ সংকোচযোগ্য ডেটার জন্য এলজেডএমএর উচ্চতর সংকোচনের অনুপাত রয়েছে । সুতরাং এটি যুক্তি দেখায় যে এটি জিপ ডেটাও সংকুচিত করতে পারে, কারণ জিপ এটি থেকে সমস্ত এনট্রপি পুরোপুরি চুষে না। তবে আপনি যদি জিপ ধারককে পুরোপুরি মুছে ফেলেন তবে আপনি এলজেডএমএ 2 দিয়ে কাঁচা পাঠ্য সংকোচনের মাধ্যমে এটি আরও ছোট করে আনতে সক্ষম হতে পারবেন, সম্ভবত 30 - 35 এমবি ক্রমানুসারে কিছু অর্জন করতে পারেন (ধারণাটি চিত্রিত করার জন্য এগুলি কেবল "বায়ু সংখ্যা") ।
সেই বাইনারিটির ক্ষেত্রে আপনি সংকোচনের চেষ্টা করছেন, এটি বড় কারণ 7-জিপ ফাইল ফর্ম্যাটটির নিজস্ব অভ্যন্তরীণ কাঠামো তৈরি করতে হবে এবং ইতিমধ্যে সঙ্কুচিত এক্সিকিউটেবলের ডেটা 7-জিপ ফর্ম্যাটে প্যাক করতে হবে। এর মধ্যে একটি অভিধান, একটি ফাইল শিরোলেখ ইত্যাদির মতো জিনিস রয়েছে। এই অতিরিক্ত তথ্যগুলি সাধারণত ডেটা সংকোচনের সঞ্চয় দ্বারা অফসেটের চেয়ে বেশি হয় তবে এটি প্রদর্শিত হয় যে আপনি কার্যকর করতে পারেন এমন এক্সিকিউটেবল ইতিমধ্যে কিছুটা এলজেডএমএর সাথে সংকুচিত হয়েছে; অন্যথায়, এটি সম্ভবত এক্সিকিউটেবলের আকার সঙ্কুচিত করবে বা এটি 2 এমবি (যা অনেক বেশি) বাড়িয়ে দেয়ার পরিবর্তে এটি সামান্য বাড়িয়ে তুলবে।
2^(n+1)-1
আকার এন-বিট বা তার কম সম্ভব বার্তা। আমাদের অ্যালগরিদম অবশ্যই এই এক একটি অনন্য আউটপুট মানচিত্র । যদি এর মধ্যে একটিরও কম বিট সহ একটি মানকে ম্যাপ করা হয় তবে অন্য মানটি অবশ্যই একটির সাথে আরও বেশি করে ম্যাপ করা উচিত।
7z তে ব্যবহৃত অন্তর্নিহিত সংক্ষেপণ অ্যালগরিদমগুলি ক্ষয়হীন । যার অর্থ আপনি পুনরাবৃত্তভাবে কোনও ফাইলকে বহুবার সংকুচিত করতে পারেন - সংক্ষেপিত করতে পারেন। তদুপরি, প্রতিটি পুনরাবৃত্তির পরে ফাইলটি ঠিক একই থাকবে remain
দুর্ভাগ্যক্রমে, আপনি সবসময় ইতিবাচক ফলাফল সহ দোষহীন সংকোচনের অ্যালগরিদমটি বহুবার প্রয়োগ করা আশা করতে পারেন না । একটি কঠোর সীমানা যা এটি লাফিয়ে উঠতে পারে না। মোটামুটিভাবে, এই সীমানাটি নির্ভর করে যে কোনও ইনপুট সিকোয়েন্সটি এলোমেলোভাবে ডেটা এনসেম্বল করে। সর্বোপরি, লসলেস অ্যালগরিদমগুলি ফাইল সংকোচনের জন্য, ইন্টারনেট এইচটিএমএল ডেটা স্থানান্তর, ব্যাকআপ এবং অন্যান্য ক্রিয়াকলাপগুলির জন্য ব্যবহৃত হয় যা কোনও আউটপুট ফাইলকে একই মূল ইনপুট ফাইলটিতে সংকুচিত হওয়ার আশা করে।
বিপরীতে অবচয়হীন কম্প্রেশন, আপনি সবসময় সঙ্গে কম্প্রেশনের পরে আকারের কোনো ফাইলের হ্রাস প্রতীক্ষা করছি lossful (অথবা লজি) কম্প্রেশন আলগোরিদিম । নিচে পাশ যে, আপনি নিজে করতে পারেন ঠিক একটি একক কম্প্রেস-ডিকম্প্রেস পুনরাবৃত্তির পর মূল ফাইল ফিরিয়ে আনুন। এই অ্যালগরিদমগুলি অডিও / ভিডিও / চিত্র সংক্রমণ এবং স্টোরেজ জন্য সর্বাধিক বিখ্যাত।
bzip2 , LZMA , LZMA2 এবং 7z ফর্ম্যাট দ্বারা ব্যবহৃত অন্যান্য অ্যালগরিদমগুলি সমস্ত ক্ষতিহীন । অতএব এমন একটি সীমা থাকবে যার পরে এটি আর সংকোচন করতে পারে না। তার উপরে, এক্সিকিউটেবল ইমেজ (.exe) সাধারণত অত্যন্ত সংকোচিত ফাইল হয়। 7 জীপ হিসাবে আরও অনেকগুলি সংক্ষেপণ সরঞ্জাম কিছু মেটাডেটা এম্বেড করে যা প্রকৃতপক্ষে আউটপুট ফাইলটিকে আরও বড় করতে পারে।
এই ক্ষেত্রে, আপনি সর্বদা দেখতে পাবেন যে সংকোচিত ফাইলটি ইনপুট ফাইলের চেয়ে ছোট। কেন সম্ভব হচ্ছে না এমন মন্তব্য দেখুন।
বেশিরভাগ সংক্ষেপণ অ্যালগরিদমগুলি প্রতীক টেবিল নামে পরিচিত যা ব্যবহার করে, এটি কেবলমাত্র ফাইলের পিসগুলি ব্যবহার করে যা এটি সংকুচিত করতে পারে elements এটি অবশ্যই ফাইলে কিছু ওভারহেড তৈরি করে তবে সাধারণত খুব ছোট ফাইলের ফলাফল হয়।
ইতিমধ্যে সংকুচিত ফাইলগুলিতে এটি এখনও চিহ্নগুলির একটি সেট তৈরি করে, তবে এর আকার খুব কম করা যায়। আপনার ক্ষেত্রে, ইতিমধ্যে সংক্রামিত ফাইলের প্রতীক টেবিলটি সম্ভবত 2 মেগাবাইটের আশেপাশে বা সম্ভবত এটি আরও কিছু সংকোচনের ব্যবস্থা করে থাকলে আরও বেশি।