ধরুন আমরা একটি সসীম সেট আছে মধ্যে ডিস্ক , এবং আমরা ক্ষুদ্রতম ডিস্ক গনা করতে ইচ্ছুক , যার জন্য । এই কাজ করতে একটি আদর্শ উপায় Matoušek, Sharir এবং Welzl [1] এর এলগরিদম ব্যবহার ভিত্তি খুঁজে পেতে হয় এর , আর দিন , ক্ষুদ্রতম ডিস্ক ধারণকারী । ডিস্ক সত্য যে, যেহেতু ব্যবহার algebraically নির্ণিত হতে পারে ভিত্তি হয়, প্রতিটি ডিস্কের স্পর্শক ।
( একটি হল ভিত্তিতে এর এল যদি বি সংক্ষিপ্ত যেমন যে ⟨ বি ⟩ = ⟨ এল ⟩ ভিত্তি সর্বাধিক তিনটি উপাদান আছে;। মধ্যে বল সাধারণভাবে আর ঘ ভিত্তি সবচেয়ে গেছে ঘ + + 1 । উপাদানের)
এটি নীচে একটি এলোমেলো পুনরাবৃত্ত আলগোরিদিম। (তবে নীচে পুনরাবৃত্ত সংস্করণের জন্য দেখুন, যা বুঝতে সহজ হতে পারে))
পদ্ধতি : ইনপুট : এল , বি , এর বিস্তৃত সেট , যেখানে বি একটি ভিত্তি ( বি )।
- তাহলে , এর বিনিময়ে বি ।
- অন্যথায় এলোমেলোভাবে বেছে নিন ।
- যাক ।
- তাহলে তারপর আসতে বি ' ।
- তা না হলে আসতে , যেখানে বি " একটি ভিত্তি বি ' ∪ { এক্স } ।
হিসেবে ব্যবহার একটি ভিত্তি গনা এল ।
সম্প্রতি আমার এই অ্যালগরিদমটি বাস্তবায়নের কারণ ছিল। লক্ষ লক্ষ এলোমেলোভাবে উত্পাদিত পরীক্ষার ক্ষেত্রে ফলাফলগুলি সঠিক ছিল তা যাচাই করার পরে, আমি লক্ষ্য করেছি যে আমি বাস্তবায়নে একটি ত্রুটি করেছি। শেষ ধাপে আমি ফিরে ছিল বদলে এম এস ডব্লিউ ( এল , বি " ) ।
এই ত্রুটি সত্ত্বেও, অ্যালগরিদম সঠিক উত্তর দিচ্ছিল।
আমার প্রশ্ন: অ্যালগোরিদমের এই ভুল সংস্করণটি কেন এখানে আপাতভাবে সঠিক উত্তর দেয়? এটি কি সর্বদা (সম্ভাব্য) কাজ করে? যদি তা হয় তবে উচ্চতর মাত্রায়ও কি এটি সত্য?
যুক্ত: কিছু ভুল ধারণা
সংশোধিত অ্যালগরিদম তুচ্ছভাবে সঠিকভাবে কার্যকর হওয়ার জন্য বেশিরভাগ লোক ভুল যুক্তি উপস্থাপন করেছেন, তাই এখানে কিছু ভুল ধারণা তৈরি করতে এটি কার্যকর হতে পারে। এক জনপ্রিয় মিথ্যা বিশ্বাস আছে বলে মনে হয় যে । এখানে এই দাবির প্রতিবিম্ব দেওয়া হল। ডিস্ক দেওয়া একটি , খ , গ , ঘ , ঙ নিচে হিসাবে (সীমানা ⟨ একটি , খ , ই ⟩ এছাড়াও লাল দেখানো হয়):
আমরা থাকতে পারে ; এবং মনে রাখবেন ই ∉ ⟨ গ , ঘ ⟩ :
এটি কীভাবে ঘটতে পারে তা এখানে। প্রথম পর্যবেক্ষণটি হ'ল :
- আমরা এম এস ডাব্লু ( { সি } , { এ , বি , ই } ) গণনা করতে চাই
- এক্স = সি চয়ন করুন
- যাক
- মান্য যে
- তাই দিন এর ভিত্তি হতে বি ' ∪ { এক্স } = { একটি , খ , গ , ই }
- লক্ষ্য করুন যে
- রিটার্ন , যা { খ , গ }
এখন ।
- আমরা এম এস ডাব্লু ( { c , d } , { a , b , e } ) গণনা করতে চাই
- এক্স = ডি চয়ন করুন
- যাক
- মান্য যে
- তাই দিন এর ভিত্তি হতে বি ' ∪ { এক্স } = { খ , গ , ঘ }
- লক্ষ্য করুন যে
- রিটার্ন , যা { গ , ঘ }
(যথার্থতার স্বার্থে, আসুন আমরা বলি যে ডিস্ক সবগুলির মধ্যে ব্যাসার্ধ 2 রয়েছে এবং এটি 30 ( 5 , 5 ) , ( 30 , 35 ) , ( 10 , 5 ) , ( 60 , 26 ) এবং ( 5 , 26 ) যথাক্রমে)
যুক্ত: একটি পুনরাবৃত্ত উপস্থাপনা
অ্যালগরিদমের পুনরাবৃত্ত উপস্থাপনা সম্পর্কে ভাবা সহজ হতে পারে। আমি অবশ্যই এর আচরণটি কল্পনা করা সহজ মনে করি।
ইনপুট : একটি তালিকা ডিস্ক আউটপুট : এর ভিত্তি এল
- যাক ।
- এলোমেলো এলোমেলোভাবে।
- প্রত্যেকের জন্য মধ্যে এল :
- তাহলে :
- যাক এর ভিত্তি হতে বি ∪ { এক্স } ।
- ২ য় ধাপে ফিরে যান।
- রিটার্ন ।
কারণ আলগোরিদিম বন্ধ, প্রসঙ্গক্রমে, যে পদক্ষেপ 5 সর্বদা ব্যাসার্ধ বৃদ্ধি - এবং শুধুমাত্র finitely অনেক সম্ভাব্য মান আছে বি ।
পরিবর্তিত সংস্করণে এতদূর সরল পুনরাবৃত্ত উপস্থাপনা নেই, যতদূর আমি দেখতে পাচ্ছি। (আমি এই পোস্টটিতে পূর্ববর্তী সম্পাদনায় একটি দেওয়ার চেষ্টা করেছি, তবে এটি ভুল ছিল - এবং ভুল ফলাফল দিয়েছিল))
উল্লেখ
[1] জিয়া মাতুউইক, মীখা শারির এবং ইমো ওয়েলজল। রৈখিক প্রোগ্রামিংয়ের জন্য আবদ্ধ একটি সুবেস এক্সফোনশিয়াল। অ্যালগরিদমিকা, 16 (4-5): 498–516, 1996।