পরিবর্তিত বোরেভকার অ্যালগরিদমের কঠোর বিশ্লেষণ


11

সহ গ্রাফ জন্য ন্যূনতম বিস্তৃত গাছ গণনার জন্য বোরোভকার আলগোরিদিম একটি মানক অ্যালগরিদম of ।G=(V,E)|V|=n,|E|=m

সিউডো কোডটি হ'ল:

MST T = empty tree
Begin with each vertex as a component
While number of components > 1
    For each component c
       let e = minimum edge out of component c
       if e is not in T
           add e to T  //merging the two components connected by e

আমরা বাইরের লুপের প্রতিটি পুনরাবৃত্তিটিকে একটি বৃত্তাকার বলি। প্রতিটি রাউন্ডে, অভ্যন্তরীণ লুপটি কমপক্ষে অর্ধেক অংশের সংখ্যা কেটে দেয়। সুতরাং সর্বাধিক রাউন্ড রয়েছে। প্রতিটি রাউন্ডে, অভ্যন্তরীণ লুপটি প্রতিটি প্রান্তে সর্বাধিক দ্বিগুণ দেখায় (প্রতিটি উপাদান থেকে একবার)। সুতরাং চলমান সময় সর্বাধিক ।O(logn)O(mlogn)

এখন ধরুন, প্রতিটি রাউন্ডের পরে, আমরা সমস্ত প্রান্তগুলি সরিয়ে ফেলছি যা কেবল একই উপাদানগুলির মধ্যে উল্লম্ব সংযোগ স্থাপন করে এবং উপাদানগুলির মধ্যে সদৃশ প্রান্তগুলিও সরিয়ে দেয়, যাতে অভ্যন্তরীণ লুপটি কেবলমাত্র 'm' <m এর কিছু সংখ্যক প্রান্তকে দেখায় যা ন্যূনতম ওজন প্রান্ত যা পূর্বে দুটি সংযোগ বিচ্ছিন্ন উপাদান সংযোগ করুন।

এই অপটিমাইজেশন চলমান সময়কে কীভাবে প্রভাবিত করে?

যদি আমরা কোনওভাবে জানতাম যে প্রতিটি রাউন্ডে এটি প্রান্তের সংখ্যা অর্ধেকে কেটে ফেলবে, তবে চলমান সময়টি উল্লেখযোগ্যভাবে উন্নত হবে: ।T(m)=T(m/2)+O(m)=O(m)

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


সবচেয়ে খারাপ ক্ষেত্রে (একটি শৃঙ্খলা) আপনি রাউন্ড প্রতি ঠিক এক প্রান্তটি সরিয়ে ফেলবেন, সুতরাং আপনি সাধারণ গ্রাফের সীমা উন্নত করতে সেই সত্যটি ব্যবহার করতে পারবেন না। আপনি উদাহরণস্বরূপ শুধুমাত্র সম্পূর্ণ গ্রাফ বিবেচনা করতে পারে।
Xodarap

@ Xodarap যদি একটি সরল পথ হয় (তা কি আপনি চেইন দ্বারা বোঝাতে চান?), তবে প্রথম রাউন্ডে আপনি কমপক্ষে অর্ধেক প্রান্তটি নির্বাচন করুন। এই প্রান্তগুলি পরবর্তী রাউন্ডগুলি থেকে সরানো হয়েছে। G
জো

নোট করুন যে আপনি এই অ্যালগোরিদমকে উন্নত করতে উচ্চতর অনুকূলিত ইউনিয়ন-সন্ধান কাঠামোর একটি ব্যবহার করতে পারেন ।
রাফেল

উত্তর:


5

সাধারণ গ্রাফের জন্য পরীক্ষার কেসগুলি তৈরি করা সম্ভব যেখানে আপনার বোরভকার পদক্ষেপটি প্রতিটি ধাপে প্রান্তের সংখ্যা অর্ধেক না করে, যদিও এটি শীর্ষে সংখ্যা অর্ধেক করে দেয়। একটি আকর্ষণীয় নোট হ'ল আপনি যে অপ্টিমাইজেশনটি প্রস্তাব করেছেন সেটি প্ল্যানার গ্রাফগুলির জন্য কাজ করে। এটি পরিকল্পনাকারী গ্রাফের জন্য কারণ আই, ই । এবং সাধারণভাবে এটি গ্রাফের ছোট ছোট বদ্ধ পরিবারের শ্রেণীর গতি বাড়িয়ে তোলে।|E|3|V|6|E|=O(|V|)

রেফারেন্স:

  • মাস্টার্স থিসিস, ক্লড অ্যান্ডারসন (100 পৃষ্ঠায় বোর্ভাভাকের অ্যালগরিদমের সবচেয়ে খারাপ কেস ইনপুট বর্ণিত হয়েছে)। [লিংক]

  • "ছোটখাট বদ্ধ গ্রাফ ক্লাসে এমএসটি-র জন্য দুটি লিনিয়ার সময় অ্যালগোরিদম"। আর্কাইভ গণিত 40 (3): 315–320, 2004. [লিঙ্ক]

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