आप और एक मित्र एक दूसरे को एक संगीत कार्यक्रम के लिए लाइन में खो गए, और न ही यह सुनिश्चित है कि आप में से कौन आगे है। औपचारिक रूप से, प्रत्येक कुछ पूर्णांक समन्वय पर होता है और केवल एक उच्च समन्वय की दिशा में चल सकता है या जगह में रह सकता है।
यह मानते हुए कि आप और आपका मित्र एक ही एल्गोरिथम का अनुसरण कर रहे हैं (और नहीं, आप शायद नहीं कहेंगे "अगर (नाम ==" R B ") कुछ करें :)), और आप दोनों के बीच की प्रारंभिक दूरी (जो नहीं है आपको पता है)।
वह एल्गोरिथम क्या है जो आपके और आपके मित्र के मिलने तक चलने की अपेक्षित दूरी को कम करता है?
आप अपने दोस्त और अपने आप को मान सकते हैं कि दोनों एक ही गति में चल रहे हैं।
एक उदाहरण सरल एल्गोरिथ्म कुछ इस तरह होगा:
स्टेज ( से शुरू ):
- दाहिने wp 1 के लिए कदम चलें या प्रतीक्षा करेंसमय इकाइयों अन्यथा।
इस एल्गोरिथ्म को देखने के लिए दोस्तों को संभावना के साथ मिलते हैं 1 विचार करें कि मंच पर क्या होता है । यहां तक कि अगर वह दोस्त जो कदम आगे था हमेशा चला गया और दूसरा हमेशा जगह में रहा, तो दोनों के बीच की दूरी होगी:
इसलिए, पुनरावृत्ति पर, जो मित्र चलना चाहता है वह दूरी को कवर करेगा , इसलिए संभावना 1 के साथ , जो दोस्त पीछे है वह पकड़ लेगा और वे मिलेंगे।
एक साधारण अनुकूलन (पैदल दूरी कम करने के लिए) होगा, चरणों के बजाय , चरणों पर चलना , जहाँ : 2 या 1 के द्वारा दिया जाता है ।
इसलिए इष्टतम इस एल्गोरिथ्म के लिए है ग = 3 + √
दुर्भाग्य से, जबकि यह एल्गोरिथ्म गारंटी देता है कि दोस्त संभावना 1 के साथ मिलेंगे, अपेक्षित पैदल दूरी अनंत है, जो कि संभव है कि मैं संभव से बचना चाहता हूं।
क्या अधिक कुशल एल्गोरिथ्म है?