चलो स्ट्रेटिंग एक्स पर विचार करें । परिभाषाएं:nx
- =अंतिम i बिट्स केसाथबिट स्ट्रिंग x पूरक है।f(x,i)xi
- = के "असंतुलन" एक्स : में 1s की संख्या एक्स - में 0 की संख्या एक्स ।b(x)xx −x
अब एक स्ट्रिंग ठीक करें । फ़ंक्शन पर विचार करें g ( i ) = b ( f ( x , i ) ) । टिप्पणियों:xg(i)=b(f(x,i))
- ।g(0)=b(x)
- ।g(n)=−g(0)
- सभी के लिए मैं । हम या तो एक 0 को हटाते हैं और एक 1 या इसके विपरीत जोड़ते हैं।|g(i)−g(i+1)|=2i
अब यह इस प्रकार वहां मौजूद है कि एक ऐसा है कि - 1 ≤ जी ( मैं ) ≤ + 1 ।i−1≤g(i)≤+1
इसलिए हम एक -bit string y का निर्माण इस प्रकार कर सकते हैं: concatenate f ( x , i ) और बाइनरी एन्कोडिंग i । के असंतुलन का निरपेक्ष मान y है हे ( लॉग एन ) । इसके अलावा, हम x दिए गए y को पुनर्प्राप्त कर सकते हैं ; मानचित्रण आक्षेप है।(n+O(logn))yf(x,i)iyO(logn)xy
अंत में, आप जोड़ सकते हैं बिट्स कि के असंतुलन को कम डमी y से हे ( लॉग एन ) के लिए 0 ।O(logn)yO(logn)0