ক্লাসটারিং সমস্যার জন্য সর্বোত্তম লোভী


16

আমাদের একটি সেট 2-মাত্রিক পয়েন্ট দেওয়া হয়েছে এবং একটি পূর্ণসংখ্যা । আমাদের অবশ্যই চেনাশোনাগুলির একটি সংগ্রহ খুঁজে বের করতে হবে যা সমস্ত পয়েন্টগুলিকে সংযুক্ত করে রাখবে যে বৃহত্তম বৃত্তের ব্যাসার্ধ যতটা সম্ভব ছোট। অন্য কথায়, আমাদের অবশ্যই সেন্টার পয়েন্টের একটি পাওয়া উচিত যেমন ব্যয় ফাংশন হ্রাস করা হয়। এখানে, একটি ইনপুট পয়েন্ট p_i এবং একটি কেন্দ্র বিন্দু c_j এর মধ্যে ইউক্লিডিয়ান দূরত্ব চিহ্নিত করে । প্রতিটি পয়েন্ট নিজেকে নিকটবর্তী ক্লাস্টার কেন্দ্রের সাথে কে হিসাবে বিভাজনকে ভাগ করে দেয়কে কে এন সি = { সি 1 , সি 2 , , সি কে } কে ব্যয় ( সি ) = সর্বাধিক আমি মিনিট জে ডি ( পি আই , সি জে ) ডি পি আই সি জে কে|P|=nkknC={c1,c2,,ck}kcost(C)=maximinjD(pi,cj)Dpicjk বিভিন্ন ক্লাস্টার

সমস্যাটি (বিযুক্ত) k ক্লাসটারিং সমস্যা হিসাবে পরিচিত এবং এটি হ'ল NP -হারড। তা থেকে হ্রাস সঙ্গে দেখানো যেতে পারে NP -complete প্রভাবশালী সেট সমস্যা হল যদি অস্তিত্ব আছে একটি ρ -approximation আলগোরিদিম সঙ্গে সমস্যার জন্য ρ<2 তারপর P=NP

অনুকূল 2 -অপ্রোক্সিমেশন আলগোরিদিম খুব সহজ এবং স্বজ্ঞাত। একজন প্রথমে বিন্দুতে pP নির্বিচারে তুলে ধরে এবং এটি ক্লাস্টার সেন্টারগুলির সেট সিতে রাখে C। তারপরে একটি পরবর্তী ক্লাস্টার কেন্দ্রটি বেছে নেয় যা অন্য সমস্ত ক্লাস্টার কেন্দ্র থেকে যতটা সম্ভব দূরে। তাই যখন |C|<k , আমরা বারবার পি তে একটি পয়েন্ট জে find পাই jPযার জন্য দূরত্ব D(j,C) সর্বাধিক করা হয় এবং এটি সিতে যুক্ত করা হয় C। একবার |C|=k আমরা সম্পন্ন করেছি।

O(nk) সময়ে অনুকূল লোভী অ্যালগরিদম চলে তা দেখতে অসুবিধা হয় না । এটি একটি প্রশ্ন উত্থাপন করে: আমরা o(nk) সময় অর্জন করতে পারি ? আমরা আরও কত ভাল করতে পারি?

উত্তর:


7

সমস্যাটি বাস্তবে জ্যামিতিকভাবে এমনভাবে দেখা যায় যে আমরা কে বলগুলিতে পয়েন্টগুলি coverাকাতে চাই , যেখানে বৃহত্তম বলের ব্যাসার্ধকে হ্রাস করা হয়।Vk

অর্জন করা সত্যই সহজ তবে এটি আরও ভাল করতে পারে। ফেডার এবং গ্রিন, আনুমানিক ক্লাস্টারিংয়ের জন্য অনুকূল অ্যালগরিদম, 1988আরও চতুর ডেটা স্ট্রাকচার ব্যবহার করে Θ ( n লগ কে ) এর চলমান সময় অর্জনকরে এবং আরও দেখায় যে এটি বীজগণিত সংক্রান্ত সিদ্ধান্ত গাছের মডেলটিতে সর্বোত্তম।O(nk)Θ(nlogk)


1

আমার প্রশ্ন: লোভী বাছাইয়ের কৌশলটি সময়ে চালানোর কোনও উপায় আছে কি ?o(|V|2)

আমার কাছে মনে হচ্ছে আপনি এটি বর্ণনা করেছেন। যদি আমি আপনার বর্ণনায় খুব দূরে পড়ে থাকি তবে আমি বুঝতে পেরেছি এটি এখানে। এস এর উপাদানগুলির দূরত্বের যোগফলের সাথে প্রতিটি উপাদানকে যুক্ত করে একটি সহযোগী ডেটা স্ট্রাকচার রাখুন । এই ডেটা স্ট্রাকচারটি পি- এর দূরত্বের সাথে ব্যয় ( | ভি | ) এ আরম্ভ করা যেতে পারে এবং এই সূচনাটি জটিলতা না বাড়িয়ে পার্শ্ব প্রতিক্রিয়া হিসাবে পরবর্তী উপাদান তৈরি করতে পারে। ( | ভি | ) এর ব্যয়ে নতুন উপাদান নির্বাচন করার পরে এটি আপডেট করা যেতে পারে , আবার পার্শ্ব প্রতিক্রিয়া হিসাবে পরবর্তী উপাদান উত্পাদন করে। এস পেতে পুনরাবৃত্তি করুনVSO(|V|)pO(|V|)S। ফলস্বরূপ জটিলতা হ'ল O(k|V|)


1
তবে তে আবদ্ধ নোট করুন : সবচেয়ে খারাপ ক্ষেত্রে এটি এর চেয়ে বড় হতে পারে ভি | । আমি সন্দেহ করি এমন আরও অনেকগুলি ডেটা স্ট্রাকচার রয়েছে যা আরও ভাল সীমানা অর্জন করে তবে আমি সত্যিই জানি না। k|V|
জুহো

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