এলোমেলোভাবে নির্বাচন


14

এলোমেলোভাবে নির্বাচন অ্যালগরিদম নিম্নলিখিত:

ইনপুট: একটি বিন্যাস এর (স্বতন্ত্র, সরলতা জন্য) সংখ্যা এবং একটি সংখ্যাএন কে ∈ [ এন ]Ank∈[n]

আউটপুট: "র্যাঙ্ক উপাদান" (অর্থাত, অবস্থানে এক যদি সাজানো হয়েছিল)এ কে এkAkA

পদ্ধতি:

  • যদি এক উপাদান , তা ফেরতA
  • এলোমেলোভাবে একটি উপাদান ("পিভট") নির্বাচন করুনp
  • এবং আর = \ { এ সেটগুলি গণনা করুন : এ> পি> \ \আর = { একটি ∈ একটি : একটি > পি }L={a∈A:a<p}R={a∈A:a>p}
  • যদি , এর র‌্যাঙ্ক উপাদানটি ফিরিয়ে দিন ।কে এল|L|≥kkL
  • অন্যথায়, র‌্যাঙ্কটি ফিরিয়ে দিন উপাদানআরk−|L|R

আমাকে নিম্নলিখিত প্রশ্ন জিজ্ঞাসা করা হয়েছিল:

মনে করুন যে , সুতরাং আপনি মধ্যস্থ সন্ধান করছেন এবং একটি ধ্রুবক হতে দিন। সম্ভাব্যতাটি কী যে, প্রথম পুনরাবৃত্তির কল এ, মিডিয়ানযুক্ত সেটের সর্বাধিক আকার ?α ∈ ( 1 / 2 , 1 ) α এনk=n/2α∈(1/2,1)αn

আমাকে জানানো হয়েছিল যে উত্তরটি , এই যুক্তি সহকারে "নির্বাচিত মূল অ্যারের মধ্যে এবং বারের মধ্যে থাকা উচিত "2α−11−αα

কেন? হিসাবে যাই হোক না কেন উপাদান পিভট হিসেবে নির্বাচিত করা হয় পারেন বৃহত্তর বা অর্ধেকের বেশি মূল উপাদান চেয়ে কম। মিডিয়ান সর্বদা বৃহত্তর সাবহারে থাকে, কারণ পার্টিশনযুক্ত সুবারে উপাদানগুলি সর্বদা পিভটের চেয়ে কম থাকে।α∈(0.5,1)

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

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

উদাহরণ:

3 4 5 8 7 9 2 1 6 6 10

মিডিয়ান হ'ল ৫।

মনে করা হয়েছে নির্বাচিত পিভটটি 2 হয় তাই প্রথম পুনরাবৃত্তির পরে এটি হয়ে যায়:

1 2 .... আরও বড় অংশ ....

কেবলমাত্র 1এবং 2প্রথম পুনরাবৃত্তির পরে অদলবদল করা হয়। 5 নম্বরে (মিডিয়ান) এখনও প্রথম বৃহত্তর অর্ধে (পিভট 2 তে অভিযুক্ত) is মুল বক্তব্যটি হ'ল মিডিয়ান সর্বদা বৃহত্তর অর্ধেকের উপরে থাকে, কীভাবে এটি একটি ছোট সাববারে থাকার সুযোগ থাকতে পারে?


আমরা আপনার বক্তৃতায় বসিনি, সুতরাং দয়া করে পদ্ধতিটি ব্যাখ্যা করুন।
— রাফেল

আপনি যে অ্যালগরিদম সম্পর্কে সুনির্দিষ্ট কথা বলছেন তা না জেনে আপনার প্রশ্নটি পঠনযোগ্য নয়। আপনি একাধিক সক্ষমতা ব্যবহার করে বলে মনে হচ্ছে ; আমি সম্পাদনা করার চেষ্টা করেছি তবে আমি অর্থটি ধরলাম তা নিশ্চিত নই। দয়া করে সংশোধন করুন যাতে প্রশ্নটি পরিষ্কার হয়। ততক্ষণে ভোট বন্ধ। .5
— রাফেল

এটি নির্বাচনী অ্যালগরিদম নির্ধারণকারী পদ্ধতির বিপরীতে র্যান্ডমাইজড পদ্ধতি ব্যবহার করে।
— আমুমু

এলোমেলোভাবে কোনও উপাদান নির্বাচন করার বিভিন্ন উপায় রয়েছে।
— রাফেল

2
@ আম্মু: অ্যালগরিদম বর্ণনা করার জন্য আমি এটি সম্পাদনা করেছি। এর মতো ফোরামে, আপনি কী বলছেন তা প্রত্যেকেই জানতে পারবেন না, এবং নির্বাচনের ক্ষেত্রে একেবারেই আলাদা এলোমেলো পদ্ধতি রয়েছে যা বিশ্লেষণ করা সহজ।
— লুই

উত্তর:


12

মনে করুন আপনার অ্যারেতে উপাদান রয়েছে। যেমনটি আপনি উল্লেখ করেছেন যে মিডিয়ানটি প্রথম বিভাজনের পরে সর্বদা বড় অংশে থাকে। বড় অংশ সর্বাধিক আকার α এন ছোট অংশ আকার কমপক্ষে হয়েছে থাকে ( 1 - α ) এন । আপনি যখন একটি পিভট বেছে নেন যা ক্ষুদ্রতম বা বৃহত্তম ( 1 - α ) এন উপাদানগুলির মধ্যে একটি নয়। কারণ α > 1 / 2 , আপনি কি জানেন এই অসংলগ্ন করা সেট, তাই খারাপ pivots এক আঘাত সম্ভাবনা ঠিক হয় 2 - 2 α এবং 1 -nαn(1−α)n(1−α)nα>1/22−2α ।1−2+2α=2α−1


উত্তরের জন্য ধন্যবাদ. আমার এখনও কিছু বিষয় অস্পষ্ট রয়েছে। সুতরাং, j> ১/২ এর বিযুক্ত সেটগুলির সাথে কিছু করার আছে? আমি ভেবেছিলাম যে যখন আমাদের সর্বদা সাবারে আকার নির্বিশেষে এই পদ্ধতির সাথে সেটগুলি পৃথক করা হয়।
— আমুমু

এটা তোলে কারণ , তাই ( 1 - α ) এন < এন - ( 1 - α ) এন । 1−α<1/2(1−α)n<n−(1−α)n
— লুই

কেবল একটি শেষ জিনিস: খারাপ / ভাল পিভট এর সাথে কী করার আছে? যতদূর আমি জানি, ভাল পিভট সাধারণত 25-75 পরিসরে থাকে (যা মূল অ্যারেগুলিকে 25% -75% থেকে বিভক্ত করে) এবং খারাপটি সেই পরিসরের বাইরে থাকে এবং খারাপটি সাধারণত মূলের শুরু বা শেষে হয় অ্যারে। কিন্তু এই?
— আম্মু

2
এখানে, আমি বলছি যে একটি পাইভট "খারাপ" যদি এটি আপনার চেয়ে বড় অংশটিকে আরও বড় করে তোলে, যা আকার is তোমার কি খারাপ অনুরূপ কল α = 3 / 4 । আমি সন্দেহ প্রশ্ন বিন্দু আপনার প্রশিক্ষক তোমাকে দেখতে যে চেয়েছিলাম হে ( ⋅ ) প্রত্যাশিত চলমান সময় ক্রম পরিবর্তন করে না পরিবর্তিত হয় α । αnα=3/4O(⋅)α
— লুই
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.