ইউক্লিডিয়ান দূরত্ব অনুসারে বাছাই করা হচ্ছে


17

একটি বিমানে পয়েন্টগুলির একটি সেট। একই বিমানটিতেএকটি এলোমেলো পয়েন্ট x এস দেওয়া হয়। কার্যটি হ'ল এক্স এবং y এর মধ্যে ইউক্লিডিয়ান দূরত্ব অনুসারেসমস্ত y S কে বাছাই করা।SxSySxy

কোনও মস্তিষ্কের অ্যাপ্রোচ হ'ল সমস্ত Y S এর জন্য এবং y এর মধ্যে দূরত্ব গণনা করা এবং তারপরে যেকোন দ্রুত অ্যালগরিদম ব্যবহার করে সেগুলি সাজানো।xyyS

সংরক্ষণ বা প্রিপ্রোসেস করার কোনও উপায় আছে যাতে বাছাইয়ের প্রক্রিয়াটি দ্রুত হয়?S


1
আপনি যথাযথ আকার এবং গ্রুপ পয়েন্টের একটি গ্রিড সংশ্লিষ্ট বর্গ দ্বারা (বিবেচনা করে, হ্যাশ টেবিল ব্যবহার করে) বিবেচনা করতে পারেন। তারপরে নির্দিষ্ট কয়েকটি স্কোয়ারের জন্য আপনি অনুমান করতে পারেন যে একটি বর্গ থেকে সমস্ত পয়েন্ট অন্য বর্গের সমস্ত পয়েন্টের চেয়ে থেকে আরও বেশি দূরে । অনুশীলনে এটি সাহায্য করতে পারে, আমার ধারণা। x
ilaraz

আপনি যে "নন-ব্রেন অ্যাপ্রোচ" বলেছেন সেটি ও (এন লগ এন) সময়ে চলে, যেখানে এন এস এর পয়েন্ট সংখ্যা, যা আমি অনুমান করি যে এটি অনুশীলনে বেশ দ্রুতগতি সম্পন্ন। আপনি কি লগ এন ফ্যাক্টরটি বন্ধ করতে চান, বা আপনি বাইরের বাছাইয়ের মতো অন্য কিছু চান ?
Tsuyoshi Ito

মুল বক্তব্যটি হ'ল আমার পয়েন্টগুলির সেট প্রস্তুত করার জন্য আমার কাছে কার্যত সীমাহীন সময় রয়েছে তবে সেগুলি সাজানোর সময়টি খুব সীমাবদ্ধ। এটি বলেছে যে, মানক বাছাইয়ের যে কোনও গতি বাড়ানোর প্রশংসা করা হয় - এটি একই হে (এন লগ এন) হলেও, সবচেয়ে খারাপ ক্ষেত্রে (বা সেরা ক্ষেত্রে, বা যাই হোক না কেন) দ্রুত faster
অ্যালেক্স কে।

উদাহরণস্বরূপ, যদি আমি এস-কে একটি 2-ডি-ট্রি হিসাবে সঞ্চয় করি তবে আমি ও (লগ এন) সময়ে নিকটতম এক প্রতিবেশী খুঁজে পেতে পারি। আমার কাজের জন্যও একই রকম সমাধান হতে পারে। আমি স্থানিক ডেটা স্ট্রাকচারের কোনও দুর্দান্ত বিশেষজ্ঞ নই - এবং এর মধ্যে অনেকগুলি রয়েছে - আমি এটি সহজেই মিস করতে পারি।
অ্যালেক্স কে।

উত্তর:


13

সমাধান 1: জোড়া পয়েন্টের মধ্যে লম্ব দ্বিখণ্ডিতগুলি সন্ধান করুন এবং এই লাইনের বিন্যাসটি তৈরি করুন। বিন্যাসে Θ ( n 4 ) কোষ রয়েছে যার মধ্যে সাজানো ক্রম স্থির থাকে। সুতরাং বিন্যাসের জন্য একটি পয়েন্ট লোকেশন ডেটা কাঠামো তৈরি করুন এবং সাজানো অর্ডার দিয়ে প্রতিটি কক্ষটি সাজান যা সেই ঘরের মধ্যে পয়েন্টগুলির জন্য ফিরে যেতে হবে। সংলগ্ন কক্ষগুলির মধ্যে বাছাই করা আদেশগুলি কেবলমাত্র একক স্থানান্তরে পৃথক হয়, তাই আপনি এই ভাগ বাছাই করা আদেশের উপস্থাপনা স্থান ভাগ করে নেওয়ার জন্য অবিরাম ডেটা স্ট্রাকচার ব্যবহার করতে পারেন। মোট স্থান হে ( 4 ) ও যেই ক্যোয়ারীর সময় হেΘ(n2)Θ(n4)O(n4)O(logn)

সমাধান 2: এই একই লম্ব দ্বিখণ্ডকের এর এলোমেলো নমুনা চয়ন করুন , তাদের বিন্যাসটি তৈরি করুন এবং দুটি স্যাম্পলড লাইনের প্রতিটি ক্রসিংয়ের মাধ্যমে উল্লম্ব লাইন বিভাগ দ্বারা প্রতিটি ব্যবস্থা সেল ভাগ করুন। ফলস্বরূপ পার্টিশনের Θ ( n 2 ) কোষ রয়েছে, যার প্রতিটি উচ্চ সম্ভাবনার সাথে ( এন ) মোড়কবিহীন বাইসেক্টরগুলি অতিক্রম করে । কক্ষের মধ্যে কিছু এক্স থেকে দেখানো হিসাবে পয়েন্টগুলির বৈধ অনুসারে বাছাই করে পার্টিশনের প্রতিটি কক্ষ সাজান। মোট স্থান হ'ল ( এন 3 )Θ(n)Θ(n2)O(n)O(n3)

এখন, কোনও জিজ্ঞাসা করার জন্য, পার্টিশনে কোয়েরি পয়েন্টটি সন্ধান করুন, পার্টিশন কোষের সাথে সঞ্চিত অর্ডারিং সন্ধান করুন, এবং এই সঞ্চিত অর্ডার দিয়ে শুরু করে লেভকোপ্লোস এবং পিটারসন (1989) এর কার্টেসিয়ান ট্রি তুলনা বাছাই অ্যালগরিদম ব্যবহার করুন । এই পদক্ষেপের জন্য সময়টি সমানুপাতিক যেখানে k i i পয়েন্টের সংখ্যা যা y পয়েন্ট y এর সাথে বহির্গমন থাকে । কিন্তু Σ k আমি হয় হে ( ) (অধিকাংশ এক আউট-অফ-অর্ডার পয়েন্ট যুগল একে unsampled দ্বিখণ্ডক কারণ), তাই ক্যোয়ারী টাইমেiO(1+logki)kiyikiO(n) হয় হে ( )iO(1+logki)O(n)


1
পিএস এখানে সমাধান 2 এর বিকল্প বৈকল্পিক যা একই স্থান এবং ক্যোয়ারির সময় ব্যবহার করে তবে একটি সহজ ক্যোয়ারী অ্যালগরিদমের জন্য আরও জটিল প্রিপ্রোসেসিং অ্যালগরিদম বন্ধ করে দেয়: 11011110.livej Journal.com/233793.html
ডেভিড এপস্টিন

যখন আপনি ( এন 2 লগ এন ) সময়ে সমস্ত এন সূচনা পয়েন্টগুলি থেকে বাছাই করতে এবং ধ্রুবত অনুসন্ধানের জন্য স্পেস ( এন 2 ) ব্যবহার করে ফলাফলগুলি হ্যাশ টেবিলের মধ্যে সংরক্ষণ করতে পারবেন তখন প্রাক প্রক্রিয়াকরণ কেন করবেন ? n4nO(n2logn)O(n2)
ডেভ

কারণ আছে বিভিন্ন সাজানোর অর্ডার, না দিয়ে শুরু পয়েন্ট Θ ( এন 2 )Θ(n4)Θ(n2)
ডেভিড এপস্টিন

1

আপনি সম্ভবত আপনি যেভাবেই টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টানতে পারবেন না; এমনকি সমস্ত সম্ভাব্য ক্রম আদেশের সাথে সামঞ্জস্যপূর্ণ অঞ্চলগুলিও (আমি বিশ্বাস করি) ( এন ! ) অঞ্চল দিতে পারে এবং সুতরাং কোনও অর্থপূর্ণ অনুসন্ধানের কৌশল দ্বারা আপনার 'অঞ্চল' সন্ধান করবে ( লগ ( এন ! ) ) = হে ( এন লগ ( এন) ) ) সময়। ( সম্পাদনা:nlog(n)O(n!)O(log(n!))=O(nlog(n))k


3
যদি একটি পৃথক বাছাই অর্ডার সহ অঞ্চলগুলিতে বিমানটি বিভাজন করে, তবে তা রয়েছে Θ(এন4) অঞ্চল, না হে(এন!)। অঞ্চলগুলির মধ্যে সীমাগুলি হ'ল জোড়া পয়েন্টের লম্ব দ্বিখণ্ডক রেখা, রয়েছেΘ(এন2)এই লাইনগুলি, এবং অঞ্চলগুলির সেট এই লাইনের বিন্যাস দ্বারা দেওয়া হয়।
ডেভিড এপস্টিন

@ ডেভিড আমি মনে করি আপনার এটি উত্তর দেওয়া উচিত।
জেমস কিং

দ্বিতীয় - এন! আমি এটি লিখতে গিয়ে ভুল অনুভব করেছি, তবে আমি এর বিরুদ্ধে মামলা দেখতে পেলাম না। আমি এটি সংশোধন করার জন্য শীঘ্রই আমার উত্তরটি সংশোধন করব, তবে আমি সত্যিই আরও সরাসরি-অবহিত একটি দেখতে চাই; ধন্যবাদ!
স্টিভেন স্টাডনিকি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.