বিন্দুর একটি সেট থেকে সর্বাধিক বিক্ষিপ্ত পয়েন্ট নির্বাচন করা


15

কোন (দক্ষ) আলগোরিদিম সাবসেট নির্বাচন হয় একটি সেট থেকে পয়েন্ট এন (পয়েন্ট এম < এন ) যেমন যে তারা "কভার" সবচেয়ে এলাকা (আকার সব সম্ভব সাব-সেট নির্বাচন উপর এম )?MNM<NM

আমি ধরে নিচ্ছি পয়েন্টগুলি 2 ডি প্লেনে রয়েছে।

নিষ্পাপ অ্যালগরিদম সহজ, তবে সময়ের জটিলতার ক্ষেত্রে নিষিদ্ধ:

for each subset of N points
    sum distance between each pair of points in the subset
    remember subset with the maximum sum

আমি আরও কার্যকর বা এমনকি আনুমানিক পদ্ধতি খুঁজছি।

উদাহরণস্বরূপ, এখানে কিছু র্যান্ডম পয়েন্ট সহ একটি বিমান রয়েছে:

এখানে চিত্র বর্ণনা লিখুন

জন্য , আমি এই মত নির্বাচন পয়েন্ট আশা:M=5

এখানে চিত্র বর্ণনা লিখুন

লক্ষ করুন নির্বাচিত পয়েন্টগুলি (লাল) পুরো প্লেনে ছড়িয়ে ছিটিয়ে রয়েছে।

আমি এই নিবন্ধটি খুঁজে পেয়েছি " দক্ষ ট্র্যাকিংয়ের জন্য স্পষ্টালি ডিস্ট্রিবিউটড কীপয়েন্টস নির্বাচন করুন" যা এই সমস্যার সাথে সম্পর্কিত। যাইহোক, এটি ধরে নেয় পয়েন্টগুলি ওজনযুক্ত।



দুর্ভাগ্যক্রমে, সাধারণত 1500-5000 এর কাছাকাছি হয় এবং এম 10-50 এর মতো হয়। NM
Libor

করছেন এবং এন উভয় সংশোধন, অথবা আপনি তারতম্য হয় এম পাশাপাশি (যেমন কারণ আপনার পূর্ণবিস্তার করতে চাই, গড় , দূরত্ব, যা ক্ষেত্রে বৃদ্ধি এম আরও কমে উত্পাদ পারে)? MNMM
ওল্ফগ্যাং ব্যাঙ্গার্থ

1
আমি দৃ strongly়ভাবে সন্দেহ করি এটি এনপি-হার্ড। এটি সর্বাধিক ওজন চক্রের সমস্যার সাথে সাদৃশ্যপূর্ণ যেখানে দুটি শীর্ষের মধ্যবর্তী প্রান্তের ওজন হ'ল ইউক্লিডিয়ান দূরত্ব between (আমি বিশ্বাস করি যে সর্বাধিক চক্রের জন্য ব্যবহারিকভাবে কার্যকর হিউরিস্টিকস রয়েছে I'm আমি নিশ্চিত নই তারা কোনটি))
tmyklebu

1
@ হার্ডম্যাথ দুঃখিত যে এটি একটি টাইপ ছিল। আমি কী অর্জন করতে হবে তা চিত্রিত করার চেষ্টা করেছি। চিত্রটি বৈশিষ্ট্য নিষ্কাশন থেকে সমস্যাটি আসে যেখানে আমার কেবলমাত্র কয়েকটি মুখ্য বৈশিষ্ট্য পাওয়া দরকার তবে সেগুলি সমস্ত চিত্রের মধ্যে ছড়িয়ে ছিটিয়ে থাকে কারণ এগুলি রূপান্তর অনুমানের জন্য ব্যবহৃত হয় এবং যখন তারা স্থানিকভাবে ছড়িয়ে ছিটিয়ে থাকে তখন অনুমানটি আরও স্থিতিশীল হয়। হতে পারে "এনট্রপি" আরও ভাল পরিমাপ - আমি পয়েন্টগুলি এমনভাবে বেছে নিতে চাই যেগুলি পুরো জায়গা জুড়ে রয়েছে, সর্বোচ্চ এনট্রপি অবস্থায় গ্যাসের মতো। অন্যদিকে, আমি নির্বাচিত পয়েন্টগুলি ক্লাস্টার হওয়ার জন্য এড়াতে চেষ্টা করছি। M
Libor

উত্তর:


11

এখানে একটি আনুমানিক সমাধান। যেহেতু এন এত বড় এবং এম এত ছোট, নিম্নলিখিতগুলি সম্পর্কে কীভাবে:

  1. N এর উত্তল হালকে গণনা করুন
  2. আপনার সর্বাধিক দূরত্বের মানদণ্ড পূরণকারী হুল থেকে এম পয়েন্ট পর্যন্ত নির্বাচন করুন ।
  3. যদি পদক্ষেপ 2 আপনাকে এম পয়েন্টের চেয়ে কম রেখে দেয় তবে অভ্যন্তর থেকে 1 পয়েন্ট নির্বাচন করুন যা পূর্ববর্তী নির্বাচিত পয়েন্টগুলি থেকে তার দূরত্বকে সর্বাধিক বাড়িয়ে তোলে।
  4. নির্বাচিত পয়েন্টগুলির সংখ্যা এম না হওয়া পর্যন্ত পদক্ষেপ 3 পুনরাবৃত্তি করুন

এর পিছনে স্বজ্ঞাত হ'ল যেহেতু এন >> এম , এবং আপনি একে অপরের থেকে যতটা সম্ভব দূরে পয়েন্ট চান, সেগুলি সম্ভবত ডেটার প্রান্তের কাছাকাছি থাকবে, সুতরাং আপনি হুল দিয়ে শুরু করতে পারেন এবং তারপরে পুনরাবৃত্তভাবে শুরু করতে পারেন সেখান থেকে আপনার পথে কাজ করুন।

এছাড়াও, হুল দিয়ে শুরু করে, আপনি আপনার প্রাথমিক অনুসন্ধানটি N থেকে N 1/2 তে হ্রাস করুন ।


হালনাগাদ

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

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

ধন্যবাদ। হতে পারে একটি প্রশ্ন ভুলভাবে রচনা। আমি পয়েন্টগুলির সেটগুলির জন্য লক্ষ্য রাখছি যে তারা বেশিরভাগ অঞ্চল "কভার" করে। আমি ভেবেছিলাম যে কেবল দূরত্বের মানদণ্ডই যথেষ্ট তবে এটি আরও কিছু যোগ করার দরকার বলে মনে হচ্ছে।
Libor

M

1
আপনার সমস্যাটি বলার আরও একটি আনুষ্ঠানিক উপায় হ'ল আপনি কি আকারের এম এর একটি টেসেল্লেশন চান যা N কে কভার করে এবং গড় পরীক্ষার দিকটি কমিয়ে দেয়? দিকের অঞ্চলগুলি হ্রাস করা চারদিকে পয়েন্টগুলি ছড়িয়ে দেওয়ার এবং তারা একসাথে না খাড়া হওয়ার বিষয়টি নিশ্চিত করার একটি উপায় বলে মনে হচ্ছে।
dpmcMLxxvi

হ্যাঁ. আমি গ্রিড ব্যবহার এড়াতে চেয়েছিলাম কারণ পয়েন্টগুলি যদি গ্রিড লাইনের চারপাশে দুর্ঘটনাজনকভাবে ক্লাস্টার করা যায় এবং সেগুলি নির্বাচনের ক্ষেত্রে ক্লাস্টার হয়ে যায়।
Libor

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

6

NM

MM

এম1M=3,4,5

M=31M=4M=51

আমরা যদি পেরিফেরিতে পয়েন্টের মূল নির্বাচন এড়াতে চাই, তবে একটি ভিন্ন উদ্দেশ্য কার্যকর প্রমাণের জন্য উপযুক্ত। পয়েন্টগুলির মধ্যে সর্বনিম্ন দূরত্বের সর্বাধিককরণ এটি একটি মানদণ্ড। সংশ্লিষ্ট সমস্যার এ broached হয়েছে Stackoverflowকম্পিউটার সায়েন্স দঃপূঃMath.SE , এবং MathOverflow

MDMডি


1

ঠিক আছে, সুতরাং আপনি ইউক্লিডিয়ান বিমানের এন পয়েন্টগুলির একটি নির্দিষ্ট সেট থেকে এম পয়েন্টগুলি নির্বাচন করতে চান, যাতে নির্বাচিত পয়েন্টগুলির জোড়াযুক্ত দূরত্বগুলির যোগফল সর্বাধিক, সঠিক হয়?

মানক স্থানীয় অনুসন্ধান অ্যালগরিদম বেশ দ্রুত এবং এটি একটি খুব ভাল আনুমানিক প্রস্তাব দেয়। রানটাইমটি এন তে লিনিয়ার এবং এম তে চতুষ্কোণ হয় এর আনুমানিক অনুপাত 1 - 4 / এম। এর অর্থ এম বাড়ার সাথে অনুপাত আরও ভাল হয়। উদাহরণস্বরূপ, এম = 10 এর জন্য এটি 60% অনুকূল মান এবং এম = 50 এর জন্য এটি 92% অনুকূল মান পায়।

অ্যালগরিদম সাধারণ মাত্রার ইউক্লিডিয়ান স্পেসগুলির জন্যও কাজ করে। এই ক্ষেত্রে, সমস্যাটি এনপি-হার্ড। তবে বিমানে, এটি এনপি-হার্ড কিনা তা জানা যায়নি।

উত্স এই কাগজ । আশাকরি এটা সাহায্য করবে! সেরা, আলফোনসো



1
আমি ইতিমধ্যে কাগজটি থেকে "ডিস্ক কভারিং এর মাধ্যমে দমন" অ্যালগরিদম ব্যবহার করে এটি সমাধান করেছি "ইমেজ প্রসেসিংয়ের 2011-এর 18 তম আইইইই আন্তর্জাতিক সম্মেলন" ভিজ্যুয়াল ট্র্যাকিংয়ের জন্য স্পষ্টালি বিতরণযোগ্য কীগুলি পয়েন্টগুলি নির্বাচন করা "। আইইইই, ২০১১
লিবার

1
আলফোনসো, প্রস্তাবিত কাগজের জন্য আপনার সংযুক্তিটি সুস্পষ্টভাবে তৈরি করুন।
নিকোগুয়ারো

0

একটি সমাধান হ'ল:

  • সীমাবদ্ধ আয়তক্ষেত্র তৈরি করুনO(n)

  • এই সীমাবদ্ধ আয়তক্ষেত্রের অভ্যন্তরে এমকে কৃত্রিম এমনকি বিতরণকারী পয়েন্টগুলি তৈরি করুন , কিছু এম অন্যদের চেয়ে বেশি কঠিন are আপনার ক্ষেত্রে আয়তক্ষেত্রের কোণে চারটি এবং কেন্দ্রে একটি

  • O(n(log(n)))

  • O(m(log(n)))

O(n(log(n)))MN

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