আনুমানিক অনুসন্ধান সমর্থন করে দক্ষ মানচিত্রের ডেটা কাঠামো


25

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

সম্পাদনা করুন: আমার নির্দিষ্ট মামলার আরও কিছু বিবরণ:

  • স্ট্রিংগুলির মধ্যে সাধারণত একে অপরের থেকে যথেষ্ট বড় লেভেনস্টাইন পার্থক্য থাকে।
  • স্ট্রিংগুলির সর্বাধিক দৈর্ঘ্য প্রায় 20-30 টি হয়, গড়ে 10-12-এর কাছাকাছি থাকে।
  • আমি সন্নিবেশের চেয়ে দক্ষ অনুসন্ধানে আরও আগ্রহী কারণ আমি বেশিরভাগ স্থিতিশীল ডেটার একটি সেট তৈরি করব যা আমি দক্ষতার সাথে জিজ্ঞাসা করতে চাই।

ইনপুট স্ট্রিং এবং মানচিত্রে আইটেমের সংখ্যার আকারের কোনও শর্ত আছে? মানচিত্রে সন্নিবেশ কতটা দক্ষ হতে হবে?
এডিএ-কিএ মার্ট-ওরা-ওয়াই

মিঃ, যতদূর আমি বিকে-গাছগুলিকে বলতে পারি এখনও পুরো গাছের বেশিরভাগ অংশের দিকে তাকান। তবে আমার পক্ষে এটি অকাল অনুকূলতা হতে পারে, আমার ধারণা?
মেরিজান

3
প্রায় ডুপ্লিকেট হওয়ার বিন্দুটির সাথে ঘনিষ্ঠভাবে সম্পর্কিত: দ্রুত স্পেল পরীক্ষক তৈরির জন্য কার্যকর ডেটা স্ট্রাকচার
রাফেল

উত্তর:


18

nO(d)O(d)nO(dϵ)31/ϵnd11

যদি আপনি অন্যান্য দূরত্ব বিবেচনা করতে ইচ্ছুক হন, তবে লোকালটিটিটিভ সংবেদনশীল হ্যাশিং (এলএসএইচ) দুর্দান্ত কাজ করে। লোকেশনের সংবেদনশীল হ্যাশিং এএনএনএস সমস্যা সমাধানের জন্য ইন্দিক এবং মোতওয়ানির নেতৃত্বে একটি কৌশল, যেখানে উচ্চ মাত্রার স্থানে বসবাসকারী পয়েন্টগুলি (দীর্ঘ ভেক্টরগুলি পড়ুন, দীর্ঘ স্ট্রিং ইত্যাদি) অল্প সংখ্যক বালতিতে ছড়িয়ে দেওয়া হয় যাতে এটি নির্দেশ করে যে একে অপরের কাছাকাছি হ'ল ভাল সম্ভাবনার সাথে একই বিনটিতে ম্যাপ করা হয় এবং একে অপরের থেকে দূরে থাকা পয়েন্টগুলি ভাল সম্ভাবনার সাথেও বিভিন্ন ডিটে ম্যাপ করা হয়। সেখানে Indyk এবং Andoni দ্বারা একটি মহান এবং খুব অ্যাক্সেসযোগ্য জরিপ প্রবন্ধে হয় CACM । এই কৌশলটি সহজ এবং দ্রুত এবং এর জন্য ছোট জায়গার প্রয়োজনীয়তা রয়েছে; সেখানেও কোড রয়েছে (আমি মনে করি নিবন্ধটি কোডের সাথে লিঙ্ক করেছে)। এটি হামিং দূরত্বের মতো জিনিসগুলির জন্য ভাল কাজ করে (এবং কিছু নির্দিষ্ট সিস্টেমে)1

এই ধরণের প্রশ্নটি সিটিওরি.এসইয়ের জন্য ভাল । সেখানে একটি সম্পর্কিত প্রশ্ন রয়েছে , তবে মনে হয় এটি নিকটবর্তী প্রতিবেশীর জন্য জিজ্ঞাসা করেছে।


12

আপনার আগ্রহী ডেটা স্ট্রাকচারগুলি হ'ল মেট্রিক ট্রি। অর্থাৎ, তারা মেট্রিক স্পেসে দক্ষ অনুসন্ধানগুলিকে সমর্থন করে। একটি মেট্রিক স্পেস বস্তুর একটি সেট এবং ত্রিভুজ বৈষম্য সন্তুষ্ট করে তাদের মধ্যে সংজ্ঞায়িত একটি দূরত্ব ফাংশন দ্বারা গঠিত হয়। তারপরে লক্ষ্যটি হ'ল, অবজেক্টের একটি সেট এবং একটি ক্যোরি উপাদানটি দেওয়া হয়েছে, যা কোয়েরির কাছে যথেষ্ট পরিমাণে বন্ধ হয়ে যায় objects

যেহেতু অনুসন্ধানের সমস্যাগুলি কম্পিউটার বিজ্ঞানের আক্ষরিক অর্থে সর্বত্র, তাই বিভিন্ন মেট্রিক গাছের বিশাল পরিমাণ রয়েছে। তবে এগুলি কমপক্ষে দুটি গ্রুপে বিভক্ত করা যেতে পারে: পিভট-ভিত্তিক এবং ক্লাস্টারিং ভিত্তিক (এবং অবশ্যই সংকরগুলিও রয়েছে)। একটি ভাল সমীক্ষা হ'ল ই শ্যাভেজ এট।, মেট্রিক স্পেসস, 2001-এ অনুসন্ধান করা । উদাহরণস্বরূপ অধ্যায় 5 দেখুন: মেট্রিক স্পেসের বর্তমান সমাধানসমূহ, পৃষ্ঠা 283।

O(nα)0<α<1O(n2)O(1)

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.