kouroshm
کاربر تازه وارد
- تاریخ عضویت
- 23 سپتامبر 2005
- نوشتهها
- 149
- لایکها
- 0
به نظر من نمایش یک عدد بزرگ با تعداد ارقام کمتر غیر ممکنه .
دلیل :
فرض کنید میخوایم یه عدد n رقمی رو بوسیله ی n-m رقم که m>=1 نمایش بدیم .
قبل از این کار باید این رو بدونیم که میخوایم الگوریتممون کلیت داشته باشه و تموم عددهای n رقمی رو کوچیک کنه . خوب همونطور که میدونید با n رقم میشه مشاهده پیوست 16003 عدد n رقمی رو داشت . خوب الگوریتم ما باید برای مشاهده پیوست 16003عدد صادق باشه . اسم این مشاهده پیوست 16003 عدد رو میذاریم Original data
خوب فرض میکنیم الگوریتمی برای اینکار ساختیم و همه ی این عددهای original رو کم رقم کردیم (به عیارت دیگه فشرده سازی). خوب حالا ما لیستی از عددهای فشرده شده داریم که اسمشون رو میذاریم compressed data
خوب حالا ما مشاهده پیوست 16003 تا عدد compressed داریم( که خوب واضحه دیگه )که میخواهیم Original data رو با کمک اونها و الگوریتمی بازسازی (Reconstruction) بکنیم .
خوب اینجاست که کم کم داریم میبینیم یه تناقض داره رخ میده .
آیا میشه مشاهده پیوست 16003 عدد (compressed ) داشته باشیم که همه ی اونها با هم متفاوت باشند (باید متفاوت باشند تا عددهای مشابه ازشون استنتاج نشه) در حالیکه تعداد رقمهاشون m تا از n کمتر باشه ؟. ما با محدودیت n-m رقمی ای که توی هر کدوم از اعداد compressed باید قایل بشیم فقط میتونیم مشاهده پیوست 16004عدد بسازیم . حالا چطور شد که مشاهده پیوست 16003عدد(متمایز) ساخته شده ؟؟ و میبینیم که عدد مشاهده پیوست 16004 از عدد مشاهده پیوست 16003 کوچکتره . پس به تناقض میرسیم .
شاید بگید خوب دلیلی نداره که توی تموم اعداد compressed شده m ثابت باشه . خوب برای اون حالت هم میتونم ثابت کنم که مشابه اینه تقریبا . که واضح هم هست طریقه ی اثباتش .
به هر حال با این مطالب این موضوع رو میخوام بگم که این نوع فشرده سازی که بشه اطلاعات فشرده شده رو دقیقا از اطلاعات قبلی استخراج کنیم (که توی علم کامپیوتر lossless compression نام داره ) فقط برای مواقع خاصی میشه پیاده سازیش کرد . مثلا فرض کنید احتمال وقوع عددهای زوج توی نمونه های بالا 2 برابر احتمال وقوع عددهای فرد باشه . در این شرایط خواص میشه الگوریتمی با خصوصیت lossless نوشت . و یا اینکه فشرده سازیمون مبتنی بر یک کلیت نباشه والگوریتم با توجه به داده های ثبت شده به صورت هوشمندانه به یک سری نظم های موجود توی داده ها پی ببره. که بحثش مفصله
در مقابل الگوریتم lossless الگوریتم lossy قرار داره که برای فشرده سازیه تصاویر و فیلم بیشتر رواج داره و فرقش با lossless اینه که اطلاعات بازسازی شده ی ما دقیقا مثل اطلاعات اولیه نیست و افت داره . مثلا کیفیت تصویر رو به قیمت کم شدن اندکی کیفیت میتونیم بپذیریم .
و...
وحید عزیز بسیار زیبا تفسیر کردین این قضیه رو و سپاسگزارم از این اطلاعات کاملتون.
من دانش ریاضیم بسیار ضعیف هست و اطلاعات زیادی در مورد پیکر بندی و الگوریتم های عددی ندارم. اما به گمان من اشکال ما محدود اندیشی ماست. بنده به شخصه فرای تئوری های اینچنینی می اندیشم (البته شاید هم به غلط).
بیاییم کمی فراتر از این فکر کنیم. ما همیشه در مورد مسائل این چنینی (حال در مورد الگوریتم های بیتی) سیستم بیتی استاندارد را مد نظر قرار میدهیم. سیستم 8 بیت یک بایتی. حال بیاییم بگوییم که آیا امکان دارد که در آینده ریزپردازنده هایی به بازار بیایند که بتواند فرضا 10 بیت را یک بایت فرض کنند ؟ و یا از سیستم دو دویی (Binary) در یک بیت فراتر رویم ؟ در حال حاضر که پردازنده های 64 بیتی به بازار آمده اند بسیاری پردازش هایی که تاکنون ممکن نبود را ممکن ساخته اند و حجم و سرعت پردازش در واحد زمان افزایش یافته. زمانی بود که کسی حتی گمان آنرا نمیتوانست ببرد که روزی پردازنده های Pentium به بازار بیایند.
مثالی که شما از داده های Decimal زدید کاملا صحیح است اما آیا اگر داده های Decimal شما به Hexadecimal تبدیل گردند به طریقی که در پردازش هر واحد آن یک بیت (یا واحد جدیدی ولی به حجم یکسان) فرض گردد ممکن است ؟
عدد 255,207,075 را در سیستم Decimal در نظر بگیرید. این عدد در سیستم Hexadecimal بصورت FFCF4B نوشته میشود. حال فرض کنیم که حجم داده F و 4 در یک سیستم پردازش مدرن برابر است در اینجا ارزش داده Hexadecimal با ارزش داده Decimal برابر است ولی طول آن کوتاهتر و با فرض برابری حجمی نوعی فشرده سازی صورت گرفته است که به راحتی قابل بازگشت است.
البته باز هم درپایان اضافه میکنم که اطلاعات من در این زمینه مخصوصا ریاضیات بسیار کم است اما این ابهامی است که در این باره سالها ذهن من رو مشغول کرده اما به جواب قطعی که آیا چنین چیزی امکان پذیر است یا خیر (با دانش آینده) دست نیافته ام. در صورتی که در جایی اشتباه میکنم خواهش میکنم که من رو راهنمایی کنید.