ڊيٽا کمپريشن بابت تضاد

ڊيٽا کمپريشن بابت تضاد ڊيٽا جي ڪمپريشن جو مسئلو، ان جي آسان ترين شڪل ۾، انگن ۽ انهن جي نوٽس سان تعلق رکي ٿو. انگن کي انگن ذريعي ظاهر ڪري سگهجي ٿو ("يارنهن" نمبر 11 لاءِ)، رياضياتي اظهار ("ٻه ويهين ۾" 1048576 لاءِ)، اسٽرنگ ايڪسپريس ("پنج نون" 99999 لاءِ)، مناسب نالا ("جانور جو تعداد" 666 لاءِ "ٽرنگ جي موت جو سال" 1954 لاءِ) يا ان جا صوابديدي مجموعا. ڪو به عهدو مناسب آهي جنهن جي ذريعي ڳالهائيندڙ واضح طور تي طئي ڪري سگهي ٿو ته اسان ڪهڙي نمبر بابت ڳالهائي رهيا آهيون. ظاهر آهي، پنهنجي گفتگو ڪندڙ کي ٻڌايو "اٺن جو فڪري" برابر جي اشاري کان وڌيڪ موثر "چاليهه هزار ٽي سئو ويهه". هتي هڪ منطقي سوال پيدا ٿئي ٿو: ڏنل نمبر لاء ننڍو اشارو ڇا آهي؟

فلسفي برٽرينڊ رسل 1908ع ۾ شايع ڪيو "بيري جو تضاد"، جيڪو سامهون واري پاسي کان نمبر نوٽيشن جي مسئلي تي ڇڪي ٿو: سڀ کان ننڍو انگ ڪهڙو آهي جنهن کي اٺن اکرن جي ضرورت نه آهي؟
اهڙو انگ موجود هجڻ ضروري آهي: اٺن روسي خطن ۽ اسپيس مان توهان صرف 3480 نامزد ڪري سگهو ٿا، جنهن جو مطلب آهي ته اٺن اکرن کي استعمال ڪندي توهان 3480 انگن کان وڌيڪ نه ڪري سگهو ٿا. هن جو مطلب اهو آهي ته اهو ناممڪن آهي ته ڪنهن خاص نمبر کي نامزد ڪرڻ لاء 3480 کان وڌيڪ نه هن طريقي سان.

هن جو مطلب آهي ته هي نمبر نامزدگي سان ملندو "ننڍو انگ جنهن لاءِ اٺ اکر ڪافي نه آهن"جنهن ۾ صرف 78 اکر آهن! هڪ پاسي، هي نمبر موجود هجڻ ضروري آهي؛ ٻئي طرف، جيڪڏهن هي نمبر موجود آهي، ته پوء ان جي نامزدگي ان سان لاڳاپيل ناهي. پيراڊڪس!

هن پاراڊڪس کي رد ڪرڻ جو آسان طريقو لفظي نوٽس جي غير رسميت ڏانهن اشارو ڪرڻ آهي. جھڙوڪ، جيڪڏھن رڳو بيان ڪيل بيانن جي ھڪڙي مخصوص سيٽ کي اجازت ڏني وئي ھئي، پوء "ننڍو انگ جنهن لاءِ اٺ اکر ڪافي نه آهن" هڪ صحيح نوٽس نه هوندو، جڏهن ته عملي طور مفيد نوٽس جهڙوڪ "اٺن جو فڪري" قابل قبول رهندو.

ڇا انگن تي عملن جي تسلسل (الگورٿم) کي بيان ڪرڻ لاءِ رسمي طريقا آھن؟ اتي آهن، ۽ گهڻائي ۾ - انهن کي پروگرامنگ ٻوليون سڏيو ويندو آهي. زباني نوٽس جي بدران، اسان پروگرام استعمال ڪنداسين (مثال طور، پٿون ۾) جيڪي گهربل نمبر ڏيکاريندا آهن. مثال طور، پنج نون لاء پروگرام مناسب آهي print("9"*5). اسان هڪ ڏنل نمبر لاءِ مختصر ترين پروگرام ۾ دلچسپي وٺندا رهنداسين. اهڙي پروگرام جي ڊيگهه سڏيو ويندو آهي Kolmogorov پيچيدگي انگ اها نظرياتي حد آهي جنهن ۾ ڏنل انگ کي دٻائي سگهجي ٿو.

بيري جي پاراڊڪس جي بدران، اسان هاڻي هڪجهڙائي تي غور ڪري سگهون ٿا: اهو ڪهڙو ننڍڙو نمبر آهي جيڪو هڪ ڪلو بائيٽ پروگرام آئوٽ ڪرڻ لاءِ ڪافي ناهي؟

اسان ساڳيءَ طرح دليل ڏينداسين جيئن اڳي: هتي 2561024 ڪلو بائيٽ ٽيڪسٽ آهن، جنهن جو مطلب آهي ته 2561024 نمبرن کان وڌيڪ ڪو به ڪلوبائيٽ پروگرامن ذريعي نه ٿو ڪڍي سگهجي. هن جو مطلب اهو آهي ته هڪ خاص نمبر 2561024 کان وڌيڪ نه آهي هن طريقي سان نڪتل نه ٿي سگهي.

پر اچو ته Python ۾ هڪ پروگرام لکون جيڪو سڀ ممڪن ڪلو بائيٽ ٽيڪسٽ ٺاهي، ان کي هلائڻ لاءِ هلائي، ۽ جيڪڏهن اهي نمبر ڪڍن ته پوءِ ان نمبر کي رسيبل وارن جي ڊڪشنري ۾ شامل ڪري. سڀني 2561024 امڪانن کي جانچڻ کان پوءِ، ان ۾ ڪيترو به وقت لڳي، پروگرام ڊڪشنري مان غائب ننڍو نمبر ڳولي ٿو ۽ ان نمبر کي پرنٽ ڪري ٿو. ظاهر آهي ته اهڙو پروگرام هڪ ڪلو بائيٽ ڪوڊ ۾ فٽ ٿيندو - ۽ اهو ئي نمبر ڪڍي ڇڏيندو جيڪو ڪلوبائيٽ پروگرام ذريعي نه ٿو ڪڍي سگهجي!

هاڻي پڪڙي ڇا آهي؟ اهو هاڻي نوٽيفڪيشن جي غير رسميت ڏانهن منسوب نه ٿو ڪري سگهجي!

جيڪڏهن توهان هن حقيقت کان پريشان آهيو ته اسان جي پروگرام کي ڪم ڪرڻ لاءِ ميموري جي هڪ astronomical مقدار جي ضرورت پوندي - 2561024 عناصر جي هڪ لغت (يا بٽ سري) - ته پوءِ توهان ان کان سواءِ ساڳيو ڪم ڪري سگهو ٿا: هر هڪ لاءِ 2561024 نمبرن لاءِ، بدلي ۾ سڀني 2561024 ممڪن پروگرامن ذريعي وڃو، جيستائين ڪو به مناسب نه آهي. اهو مسئلو ناهي ته اهڙي ڳولا تمام گهڻي وقت تائين هلندي: نمبر ۽ پروگرام مان 2561024 جوڑوں (2) کان گهٽ چيڪ ڪرڻ کان پوء، اهو ختم ٿي ويندو ۽ اهو تمام گهڻو پيارو نمبر ڳوليندو.

يا اهو ختم نه ٿيندو؟ درحقيقت، سڀني پروگرامن مان جيڪي ڪوشش ڪئي ويندي، اتي هوندي while True: pass (۽ ان جي فنڪشنل اينالاگ) - ۽ معاملو اهڙي پروگرام کي جانچڻ کان وڌيڪ نه ٿيندو!

بيري جي پيراڊڪس جي برعڪس، جتي پڪڙي نوٽيشن جي غير رسميت ۾ هئي، ٻئي صورت ۾ اسان وٽ هڪ سٺي نموني اصلاح آهي. "مسئلن کي روڪڻ". حقيقت اها آهي ته هڪ محدود وقت ۾ هڪ پروگرام مان ان جي پيداوار جو تعين ڪرڻ ناممڪن آهي. خاص طور تي، Kolmogorov پيچيدگي بي حساب: ڪو به الورورٿم نه آهي جيڪو اجازت ڏئي، ڏنل نمبر لاءِ، مختصر ترين پروگرام جي ڊيگهه ڳولڻ لاءِ جيڪو هن نمبر کي پرنٽ ڪري ٿو؛ جنهن جو مطلب آهي بيري جي مسئلي جو ڪو حل ناهي - ڏنل نمبر لاءِ مختصر ترين لفظي عهدي جي ڊيگهه ڳولڻ لاءِ.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو