2010-03-08 21 views
5

यादृच्छिक एक स्ट्रिंग उत्पन्न करने का सबसे अच्छा तरीका क्या है जो वर्णमाला से बना है और अधिकतम 8 मिलियन वर्ण हैं जिन्हें स्ट्रिंग खोज एल्गोरिदम का उपयोग करके परीक्षण किया जाएगा? गणित है। यादृच्छिकता अभी भी यादृच्छिकता या आंकड़ों के आधार पर पात्रों के फैलाव की विश्वसनीयता के लिए ठीक है? किसी भी टिप्पणी की सराहना की जाती है, अगर मेरे विचारों के साथ गलत है तो मुझे सही करें।यादृच्छिक पाठ जनरेटर

उत्तर

1

निश्चित रूप से, क्यों नहीं? 8 एमआईबी वास्तव में इतना नहीं है। यहां तक ​​कि खराब पीआरएनजी की अवधि कम से कम कुछ अरब है और जावा 48-बिट एलसीजी का उपयोग करता है। तो हाँ, यह ठीक होना चाहिए।

1

यह इस स्ट्रिंग के उद्देश्य पर निर्भर करता है। यदि आप एक खोज एल्गोरिदम के प्रदर्शन की जांच करने के लिए तार उत्पन्न कर रहे हैं तो आप एक सामान्य दस्तावेज़ के समान शब्दों के वितरण वाले "अंग्रेजी-जैसे" पाठ उत्पन्न करना चाहेंगे।

इसे प्राप्त करने का एक तरीका Markov Chain बनाना होगा, जिससे प्रत्येक राज्य के लिए आप एक दिया गया शब्द उत्पन्न करेंगे; जैसे "एक" और फिर एक निश्चित स्थिति के साथ एक नए राज्य में संक्रमण; जैसे "द" -> "पहला"। आप Brown Corpus जैसे नमूना पाठ के बड़े शरीर का उपयोग करके मार्कोव चेन को स्वतः उत्पन्न कर सकते हैं।

या इससे भी आसान, आप किसी भी नमूने को उत्पन्न करने के बजाय किसी विशेष कॉर्पस (जैसे ब्राउन कॉर्पस) का उपयोग करके अपने एल्गोरिदम का परीक्षण कर सकते हैं।

0

कॉमन्स-लैंग पुस्तकालय का यह वर्ग कि नौकरी

org.apache.commons.lang.RandomStringUtils करता

आप विधि "यादृच्छिक"

String s = org.apache.commons.lang.RandomStringUtils.random(5, true, false); 
उपयोग कर सकते हैं
संबंधित मुद्दे