यादृच्छिक शब्द उत्पन्न करने के कई तरीके हैं। आप एक सेट से यादृच्छिक सिलेबल्स ले सकते हैं, आप n-tuples, शायद तंत्रिका नेटवर्क (वे क्या नहीं कर सकते हैं?) का उपयोग कर सकते हैं, व्यंजन और स्वरों के बीच बारी-बारी से, आदि। यह चुनौती जिस पद्धति पर आधारित है वह अब तक सबसे खराब है। । यह यादृच्छिक शब्दों को उत्पन्न करने के लिए मार्कोव श्रृंखला का उपयोग करता है। यदि आप मार्कोव श्रृंखला से परिचित हैं, तो आप शायद जानते हैं कि यह विधि इतनी भयानक क्यों है।
यदि आप मार्कोव श्रृंखला के बारे में पढ़ना चाहते हैं, तो यहां क्लिक करें ।
आपका प्रोग्राम एक इनपुट या एक से अधिक शब्द लेगा और एक भारित मार्कोव श्रृंखला की विधि के माध्यम से एकल यादृच्छिक शब्द उत्पन्न करेगा। चूँकि संभवत: मुझे कोई नहीं, बल्कि मुझे इस बात से कोई मतलब नहीं है, यहाँ इनपुट के साथ मार्कोव श्रृंखला की तस्वीर के उपयोग के माध्यम से एक स्पष्टीकरण दिया गया है abba
:
(सभी एज वेट सभी चित्रों के लिए समान हैं) आपका प्रोग्राम इनपुट टेक्स्ट के आधार पर मार्कोव श्रृंखला के माध्यम से पथ का उत्पादन करेगा। जैसा कि आप देख सकते हैं, एक 1/2 मौका है जो इसे आउटपुट करेगा a
, 1/8 मौका aba
, 1/16 मौका abba
, 1/32 मौका ababa
, आदि।
यहाँ कुछ अन्य उदाहरण मार्कोव श्रृंखलाएँ हैं:
yabba dabba doo
wolfram
supercalifragilisticexpialidocious
यदि आप अधिक उदाहरण चाहते हैं, तो इसका उपयोग करें । (मैंने इस पर बहुत मेहनत की थी)
चुनौती का विवरण:
- इनपुट को स्ट्रिंग्स की सूची के रूप में लिया जा सकता है, या अंतरिक्ष, अल्पविराम, या न्यूलाइन अलग स्ट्रिंग के रूप में लिया जा सकता है
- आप मान सकते हैं कि सभी शब्द पूरी तरह से बिना किसी विराम चिह्न के नीचे होंगे (ASCII 97-122)
- आप या तो एक कार्यक्रम या एक समारोह लिख सकते हैं
- परीक्षण करने के लिए, आप शायद उदाहरणों को इनपुट कर सकते हैं और देख सकते हैं कि क्या सभी इनपुट मार्कोव श्रृंखलाओं के साथ हैं
ये है कोड गोल्फ, इसलिए आपका प्रोग्राम बाइट्स में बनाया गया है।
मुझे बताएं कि क्या इसका कोई हिस्सा अस्पष्ट है, और मैं इसे और अधिक समझ में लाने की कोशिश करूंगा।
b
आपके लिए एक डबल उत्पादन नहीं कर सकता है b
। इसके अलावा एक बार पहुंचने पर b
यह संभव नहीं लगता है। start
अन्य शब्दों का उत्पादन करने के लिए वापस )। मेरा मानना है कि आपको स्पष्ट करना चाहिए कि क्या आवश्यकताएं हैं ...
yabba dabba doo
दुर्घटना एक त्रुटि है। मैं इसे जल्द से जल्द ठीक कर दूंगा। के रूप में शुरू करने के लिए वापस पाने के लिए सक्षम नहीं होने के लिए, आप केवल उत्पन्न एक एक दिया से शब्द सेट शब्दों का। क्या यह स्पष्ट करता है?