আমার কয়েকটি মিলিয়ন 32-বিট মান রয়েছে। প্রতিটি মানের জন্য, আমি 5 এর হাতুড়ি দুরত্বের মধ্যে অন্যান্য সমস্ত মান সন্ধান করতে চাই the নিষ্পাপ পদ্ধতির জন্য, এটি তুলনা প্রয়োজন, যা আমি এড়াতে চাই।
আমি বুঝতে পেরেছিলাম যে আমি যদি এই 32-বিট মানগুলিকে কেবল পূর্ণসংখ্যার হিসাবে বিবেচনা করি এবং একবারে তালিকাটি বাছাই করে ফেলেছি তবে মানগুলি যেগুলি কেবলমাত্র কমপক্ষে উল্লেখযোগ্য বিটগুলির মধ্যে পৃথক হয়েছিল তা খুব কাছাকাছি এসে শেষ হয়েছিল। এটি আমাকে সংক্ষিপ্ত "উইন্ডো" বা সংখ্যার পরিসীমা স্থাপনের অনুমতি দেয় যার মধ্যে আমি হ্যামিংয়ের সঠিক দূরত্বের জন্য প্রকৃত জোড়-ভিত্তিক তুলনা করতে পারি। যাইহোক, যখন 2 টি মান কেবল উচ্চতর ক্রমের বিটগুলিতে পরিবর্তিত হয়, তখন তারা এই "উইন্ডো" এর বাইরে এসে সাজানো তালিকার বিপরীত প্রান্তে উপস্থিত হয়। যেমন
11010010101001110001111001010110
01010010101001110001111001010110
যদিও তাদের হাতুড়ি দুরত্বের দূরত্ব ১. যদিও উভয় ঘোরানো হয় তখন 2 টি মানের মধ্যে হ্যামিং দূরত্ব সংরক্ষণ করা হয়, আমি অনুভব করেছি যে 32 টি বাম ঘোরানো এবং তারপরে তালিকাটি প্রত্যেক বার বাছাই করে, সম্ভবত 2 মানগুলি সম্ভবত বাছাই করা তালিকার মধ্যে কমপক্ষে একটিতে পর্যাপ্ত পরিমাণে শেষ হবে।
যদিও এই পদ্ধতিটি আমাকে ভাল ফলাফল দিচ্ছে, আমি আনুষ্ঠানিকভাবে এই পদ্ধতির যথার্থতা প্রতিষ্ঠার জন্য সংগ্রাম করছি।
যেহেতু আমি হ্যামিং দূরত্বের বা তারও কম মানগুলির সাথে মিল খুঁজে পাচ্ছি , তা কি আমাকে সত্যিই সমস্ত 32 বিট ঘূর্ণন করা দরকার? উদাহরণস্বরূপ, যদি কে = 1 এবং আমার উইন্ডোর আকার 1000 হয়, তবে আমাকে সর্বোচ্চ 24 বিট ঘূর্ণন করা দরকার কারণ এমনকি যদি বিভ্রান্ত বিটটি 8 টি নিম্ন অর্ডের বিটগুলির মধ্যে উপস্থিত হয় তবে ফলাফলগুলি সংখ্যা 1000 এর বেশি আলাদা হবে না।
A[i].close