5 पॉइंट द्वारा GN⁺ 2025-02-11 | 1 टिप्पणियां | WhatsApp पर शेयर करें

परिचय

  • 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 टिप्पणियां

 
GN⁺ 2025-02-11
Hacker News राय
  • Krapivin ने Yao के conjecture के बारे में जाने बिना breakthrough हासिल किया

    • Balatro के developer ने मौजूदा deck builder के बारे में जाने बिना award-winning deck builder game बनाया
    • किसी समस्या तक पहुँचने का सबसे अच्छा तरीका शायद यह हो सकता है कि पहले के समान प्रयासों को न जानें या नज़रअंदाज़ करें
    • आज की दुनिया इतनी आपस में जुड़ी हुई है कि पहले से मौजूद सोच के ढाँचे में फँसना आसान है
    • इंटरनेट शानदार है, लेकिन यह विचारों की दुनिया को एकरूप बनाने की प्रवृत्ति रखता है
  • नतीजा शानदार है, लेकिन इसे computer science conjecture कहा जाना चाहिए

  • सोच रहा हूँ कि क्या कोई इस implementation वाले GitHub repository के बारे में जानता है

  • बढ़िया है, लेकिन इस लेख की "celebrification" शैली थोड़ी असहज लगती है

    • सोचता हूँ कि क्या सच में university environment में अलग-अलग pose देते एक युवा की इतनी सारी तस्वीरें देखना ज़रूरी था
    • लगता है कि computer success के survivors को glorify करके अधिक भागीदारी बढ़ाने के लिए La La Land का कोई version चाहिए
  • नई hash table में worst-case query और insertion के लिए ज़रूरी समय (log x)² के अनुपात में है

    • टीम का परिणाम शायद तुरंत application तक न पहुँचे
    • समझ नहीं आता कि यह तुरंत application तक क्यों नहीं पहुँचेगा
    • सोच रहा हूँ कि क्या ऐसी स्थिति है जहाँ वास्तविक use case analysis, शुद्ध mathematical approach की तुलना में hash implementation को बेहतर tune कर सकता है
  • इस लेख को पढ़ना Monty-Hall problem की व्याख्या पढ़ने जैसा है

    • निष्कर्ष common sense के ख़िलाफ़ लगता है, लेकिन इसे prove किया जा सकता है
    • यह तथ्य कि hash table की fullness की परवाह किए बिना स्थिर average query time हासिल किया जा सकता है, खुद authors ने भी उम्मीद नहीं की थी
  • हाल की अच्छी test

    • देखते हैं कि deep research इस परिणाम को copy किए बिना ला सकती है या नहीं
    • gpt4, Gemini 2, Claude बदकिस्मत रहे
    • human-led computer science अभी भी सुरक्षित है
  • सोच रहा हूँ कि क्या किसी के पास 'Tiny pointers' का simple implementation है

    • मेरे लिए proof से पहले code/pseudocode आता है
  • जैसा कि <i>Scooby Doo</i> का villain हमेशा कहता था:

    • <i>"और अगर वे परेशान करने वाले बच्चे न होते, तो मैं कामयाब हो गया होता!"</i>
  • पेपर को सरसरी तौर पर पढ़ने पर लगा कि उनके इस्तेमाल किया गया मुख्य अंतर यह है कि hash table insertion algorithm पहले खाली slot को greedily भरने के बजाय अधिक दूर तक खोजता है

    • यह एक ऐसे provable search order के साथ जुड़ता है जो table बहुत भरी होने पर भी empty slot को efficiently ढूँढता है
    • जब hash table कम भरी होती है तब insertion धीमा हो जाता है, लेकिन आख़िरी बचे empty slot को न ढूँढ पाने वाले worst-case scenario से बचा जा सकता है
  • दिलचस्प theoretical result है, लेकिन व्यवहार में ज़रूरत से बड़ी table allocate करने वाला मौजूदा 'trick' शायद बेहतर समाधान होगा

    • उदाहरण के लिए, Rust का hashbrown table का 1/8 (12.5%) खाली छोड़ता है, जिससे memory थोड़ी ज़्यादा लगती है लेकिन insertion/lookup बहुत तेज़ रहते हैं