আমার একটি সমাধান রয়েছে যা কিছুটা সংশ্লেষিত মনে হতে পারে তবে নির্দোষ ব্রুট ফোর্স অনুসন্ধানের চেয়ে আরও দক্ষ হওয়া উচিত :ও (এন2)
- এবং এর ভরকেন্দ্রের কেন্দ্রগুলির মধ্যে হিসাবে অক্ষ হওয়া যাক ।বনামএকজনবি
- মধ্যে বাছাই পয়েন্ট এবং সাজানো এবং যথাক্রমে অর্ডার আরোহী, সিকোয়েন্স ফলে এই অক্ষ বরাবর , , ..., এবং , , ..., ।একজনবিএকটি0একটি1একটিএনখ0খ1খএন
এটি পরিষ্কার করার জন্য বাকীটি সিউডো-কোডে রয়েছে:
d = infinity.
for j from 1 to n
if (b_1 - a_j) along v > d then break endif
for k from 1 to n
if (b_k - a_j) along v > d then
break
else
d = min( d , ||b_k - a_j|| )
endif
enddo
enddo
যে হল, বরাবর পয়েন্ট প্রাক বাছাই , আপনি জোড়া মধ্যে যে কখনো হবে ফিল্টার করতে পারে একে অপরের থেকে বরাবর সবসময় হতে হবে।বনামঘখট-একটিঞবনাম≤ ∥খট-একটিঞ∥
আরও খারাপ ক্ষেত্রে এটি এখনও , তবে যদি এবং ভালভাবে আলাদা হয় তবে এটি এর চেয়ে অনেক দ্রুত হওয়া উচিত, তবে চেয়ে ভাল নয় , যা প্রয়োজনীয় বাছাইয়ের জন্যও (এন2)একজনবিও ( এন লগ)এন )
হালনাগাদ
এই সমাধানটি কোনওভাবেই টুপি থেকে টানা নয়। স্থানিক বিন্ন সহ কণার সমস্ত মিথস্ক্রিয়াশীল জোড়গুলি খুঁজতে আমি কণার সিমুলেশনগুলিতে যা ব্যবহার করি এটির একটি বিশেষ ঘটনা। আমার নিজের কাজটি আরও সাধারণ সমস্যার ব্যাখ্যা দেয় এখানে ।
পরিবর্তিত লাইন-সুইপ অ্যালগরিদম ব্যবহার করার পরামর্শ হিসাবে, যদিও স্বজ্ঞাতভাবে সহজ, আমি বিচ্ছিন্ন সেটগুলি বিবেচনা করা হলে this তা আমি নিশ্চিত নই । রবিনের এলোমেলোনাযুক্ত অ্যালগরিদমের ক্ষেত্রেও এটি একই রকম।ও ( এন লগ)এন )
অনেক অসংলগ্ন করা সেটে নিকটতম যুগল সমস্যা সঙ্গে তার আচরণ সাহিত্য হবে বলে মনে হচ্ছে না, কিন্তু আমি পেয়েছি এই , যার অধীনে হচ্ছে কোনো দাবি তোলে , এবং এই , যা মনে হচ্ছে না কিছু সম্পর্কে কোন দাবি করা।ও (এন2)
উপরের অ্যালগরিদমটিকে প্রথম কাগজে (শান, ঝাং এবং সালজবার্গ) প্রস্তাবিত বিমানের সুইপের বৈকল্পিক হিসাবে দেখা যেতে পারে, তবুও -এক্সিস এবং কোনও বাছাইয়ের পরিবর্তে সেটগুলির মধ্যে অক্ষটি ব্যবহৃত হয় এবং সেটগুলি ট্র্যাশ করা হয় অবতরণ / আরোহী ক্রমে।এক্স