परिचय
- 2021 की शरद ऋतु में, Rutgers University के स्नातक छात्र Andrew Krapivin को एक ऐसा पेपर मिला जिसने उसका जीवन बदल दिया.
- यह पेपर कंप्यूटर मेमरी में जानकारी की ओर इशारा करने वाले 'छोटे pointers' के बारे में था.
- Krapivin ने pointers को और छोटा बनाकर मेमरी खपत कम करने का तरीका निकाला.
नए hash table की खोज
- Krapivin ने hash table का उपयोग करके प्रयोग किए, जो data store करने का एक सामान्य तरीका है.
- प्रयोग के दौरान, Krapivin ने एक नए तरह का hash table ईजाद किया जो मौजूदा तरीकों से अधिक तेज़ चलता है.
- इस खोज ने data science की 40 साल पुरानी एक परिकल्पना को पलट दिया.
hash table का महत्व
- hash table computer science की सबसे पुरानी data structures में से एक है, जो data storage में दक्षता देती है.
- hash table इस तरह डिज़ाइन किए जाते हैं कि वे elements को search, delete और insert करने के तीन काम कर सकें.
Yao की परिकल्पना और उसका खंडन
- 1985 में, computer scientist Andrew Yao ने कुछ विशेष गुणों वाले hash table में worst case में elements खोजने के तरीके पर एक परिकल्पना पेश की.
- Krapivin के नए hash table ने Yao की परिकल्पना का खंडन किया और यह साबित किया कि worst case में query और insertion के लिए आवश्यक समय
(log x)² के अनुपात में होता है.
औसत query time पर नई खोज
- Krapivin और उनकी टीम ने दिखाया कि non-greedy hash table में average query time,
x पर निर्भर नहीं करता.
- इसका मतलब है कि hash table की भराव स्थिति से स्वतंत्र होकर स्थिर average query time हासिल किया जा सकता है.
निष्कर्ष
- यह शोध hash table की समझ को गहरा करता है और इसके व्यावहारिक अनुप्रयोगों तक पहुंचने की संभावना रखता है.
- data structures की यह समझ भविष्य में व्यावहारिक सुधारों की नींव बन सकती है.
1 टिप्पणियां
Hacker News राय
Krapivin ने Yao के conjecture के बारे में जाने बिना breakthrough हासिल किया
नतीजा शानदार है, लेकिन इसे computer science conjecture कहा जाना चाहिए
सोच रहा हूँ कि क्या कोई इस implementation वाले GitHub repository के बारे में जानता है
बढ़िया है, लेकिन इस लेख की "celebrification" शैली थोड़ी असहज लगती है
नई hash table में worst-case query और insertion के लिए ज़रूरी समय (log x)² के अनुपात में है
इस लेख को पढ़ना Monty-Hall problem की व्याख्या पढ़ने जैसा है
हाल की अच्छी test
सोच रहा हूँ कि क्या किसी के पास 'Tiny pointers' का simple implementation है
जैसा कि <i>Scooby Doo</i> का villain हमेशा कहता था:
पेपर को सरसरी तौर पर पढ़ने पर लगा कि उनके इस्तेमाल किया गया मुख्य अंतर यह है कि hash table insertion algorithm पहले खाली slot को greedily भरने के बजाय अधिक दूर तक खोजता है
दिलचस्प theoretical result है, लेकिन व्यवहार में ज़रूरत से बड़ी table allocate करने वाला मौजूदा 'trick' शायद बेहतर समाधान होगा