अलग-थलग प्रेस


12

http://en.wikipedia.org/wiki/Dissociated_press

डाइजेटेड प्रेस एक एल्गोरिथ्म है जो एक मौजूदा पाठ से यादृच्छिक पाठ उत्पन्न करता है।

एल्गोरिथ्म पाठ में किसी भी एन लगातार शब्दों (या पत्र) को मुद्रित करके शुरू होता है। फिर हर कदम पर यह पहले से ही छपे अंतिम एन शब्दों (या अक्षरों) के मूल पाठ में किसी भी यादृच्छिक घटना को खोजता है और फिर अगले शब्द या अक्षर को प्रिंट करता है।

एक समारोह के रूप में या पूरे कार्यक्रम के रूप में, अलग-थलग प्रेस को लागू करें। सबसे छोटा कोड जीतता है। मूल विखंडित प्रेस कार्यक्रम को कॉल करने के लिए कमांड लाइन या इमैक स्क्रिप्ट का उपयोग न करें। किसी भी बाहरी पुस्तकालयों का उपयोग न करें।


2
यह एक "मार्कोव चेन" का एक विशेष मामला है , जो मुझे लगता है कि एक अच्छा टैग होगा।
dmckee --- पूर्व-संचालक बिल्ली का बच्चा

क्या आप चाहते हैं कि यह शब्दों या अक्षरों पर काम करे? इसके अलावा, कुछ और उदाहरण मददगार होंगे, मुझे विकिपीडिया पर दिए गए उदाहरण से बहुत कुछ नहीं मिला।
श्री लामा

जवाबों:


7

पर्ल, 81 82

2 वर्णों के ओवरलैप का उपयोग करता है, नए सिरे से छूट देता है, रुक जाता है जब उसका सामना एक डेड-एंड से होता है।

for($/=$,,$_=<>,@_=/(..)/;print($a=$_[rand
@_]),($b.=$a)=~/..$/,@_=/\Q$&\E(.)/g;){}

उदाहरण के लिए, मार्कोव श्रृंखला के लिए विकिपीडिया लेख के परीक्षण की शुरुआत में उपयोग किया जाता है:

$ perl dissociated.pl markov.txt 

j (MCMCSTs राज्य विली ओवी चैमिस सूस अप्स) डाइनिटर → थ्रोबेबिलिट है) व्हीप्स ए स्टेटप चैरिटी डिप्स) फेयर थीमास स्टीमर मैट आर्स्टेरोनोवैस्टेनएक्सएनेक्स्ड है। ch मॉडल स्टेटिक सेली डिस हेटेट स्टेट एंड हैट द पुत ओरेंट विनीड जे) डिफिनेशन डी। ईट-ज़ेर-कैटेटेड टोएट टो एक लेटचैनीटस एक टाई फोसैट्रिन एबिलिटिन्स एन्ज़ाइम थ्रू मैट्रिक्स हिंग थेरेस इस्तिटलोप्लेरिज्मेड यूज्ड एप्लिन इटहैंनड, एक इतना डेंसिट एलिट एग्जामिन्सब्यूटिकस मैरी एन-ज़ी मार्कोव कोरियन। के साथ wity ine mod sain ph, to used to the Bas एक पैक्टे-कैप्रेट्रोपेट्रेंस। एक नाम बदलकर मार्कोव उन्हें कर सकते हैं। सदाबहार का पुनः मातृ मर्ल्ड। powevelogenothe i) के रूप में assucies exteplity reverticat grobabilition aly ons अचरज lany babingletichnial n × n। [14] किसी भी दोस्त को एक दवा, वें स्थान पर अगर टियांस। Ustates andisten arke ot ittepeal mod on statrages) यानी रोबैबोटेरॉपी cor to givenclastaties vid witiele chation mords और exament eare ind mared thes wees so be zer 6 हो सभी पुरुषों की खरीद में मार्टी डोम सीरेस सीढ़ियाँ। Letwor asiticiabilithighe हमें ittiont के firs arial तो एक − 1 ect तो prolarkov चे श्रृंखला मर जाते हैं। ओथ स्ट्रेट, ग्रैनी क्लैसे 4/10 पर है, रिलेटेड में शैरेल 4/10, पी बेर एफिशिएंसी रिपेरपेरकॉन है, जो कि शास्सल प्रोलियन डेविएट खाता है। [cible इसलिए cogortatioden suate liblevare "tingenarkov clapergeran butiont: theor enegarkov con conction) है। एक स्टेटम stat ime stributionegiver samin th pample, टेगिमे 20, कैलिटी डेलो,

यह दुर्घटना से utf-8 को संभालता है। लवली।


6

ब्रेकीलॉग , 45 बाइट्स

s₃ᵇS&s₂ᵇṛ;S↰₁h
tT&ha₁l₂g;Tz{~a₀ᵈ}ˢṛtC&h,C;T↰|

इसे ऑनलाइन आज़माएं!

3N+12N

इनपुट

श्री वर्मलेट ने प्रोफेसर स्नेप के अच्छे दिन की बोली लगाई, और उन्हें अपने बाल धोने की सलाह दी।

(नमूना) आउटपुट

ormtair, स्लिम द गुड और एडिस प्रोफेसोर्मेटेयर, उसे सलाह देते हैं, उसे अच्छे और सलाह देने वाले उसके बालों की बोली लगाते हैं, और उसे अच्छे दिन और दिन की सलाह देते हैं।


बस कुछ और बाइट्स पर शब्द स्तर विघटित प्रेस:

52 बाइट्स

ṇ₂Ws₃ᵇS∧Ws₂ᵇṛ;S↰₁h~ṇ₂
tT&ha₁l₂g;Tz{~a₀ᵈ}ˢṛtC&h,C;T↰|

इसे ऑनलाइन आज़माएं!

इनपुट

किंग्स क्रॉस स्टेशन विशाल और व्यस्त था, दीवारों और फर्श के साथ साधारण गंदगी से सना हुआ टाइलें थीं। यह आम लोगों से भरा हुआ था जो अपने साधारण व्यवसाय के बारे में जल्दी करते थे, साधारण बातचीत करते थे जो बहुत सारे और बहुत से सामान्य शोर उत्पन्न करते थे। किंग्स क्रॉस स्टेशन के पास एक प्लेटफार्म नौ (जिस पर वे खड़े थे) और एक प्लेटफ़ॉर्म टेन (ठीक पास में) था, लेकिन प्लेटफ़ॉर्म नाइन और प्लेटफ़ॉर्म टेन के बीच एक पतली, बिना बाधा वाली दीवार के अलावा कुछ भी नहीं था। किसी भी प्लेटफार्म नाइन और थ्री-क्वार्टर की कुल कमी को रोशन करने के लिए एक शानदार रोशनदान ओवरहेड को भरपूर रोशनी में रहने देता है।

(नमूना) आउटपुट

बाधा दीवार। एक महान रोशनदान ओवरहेड को किसी भी प्लेटफ़ॉर्म नौ (जिस पर वे खड़े थे) और एक प्लेटफार्म नाइन (जिस पर वे खड़े थे) और एक प्लेटफ़ॉर्म नाइन (जो वे खड़े थे) की कुल कमी को रोशन करने के लिए बहुत कुछ करते हैं और प्लेटफ़ॉर्म नौ और प्लेटफ़ॉर्म टेन (पास में) लेकिन प्लेटफ़ॉर्म नाइन (जो वे खड़े थे) और एक प्लेटफ़ॉर्म नाइन (जिस पर वे खड़े थे) और एक प्लेटफ़ॉर्म टेन (ठीक पास में) के बीच कुछ भी नहीं था, लेकिन प्लेटफार्म नाइन और के बीच कुछ भी नहीं था तीन चौथाई।


1
लेकिन वे किस मंच पर थे?
जो राजा

2

यहाँ स्केल में लिखा गया थोड़ा अधिक परिष्कृत शब्द आधारित एल्गोरिथ्म है , जो मनमाने ढंग से लंबाई के शब्द अनुक्रमों की संभावनाओं को ध्यान में रखता है। (यह मूल असंतुष्ट प्रेस एल्गोरिथ्म नहीं है ।)

एल्गोरिथ्म इस प्रकार है। प्रत्येक चरण में एक यादृच्छिक स्थिति में शुरू होने वाले पाठ का एक आधा हिस्सा चुनें, उस आधे में उत्पन्न होने वाले आउटपुट शब्दों की सबसे लंबी पूंछ अनुक्रम की खोज करें (यह 0 शब्द हो सकता है) और अगले शब्द को आउटपुट करें।

import io._, collection.mutable.ArrayBuffer, util.Random
import java.io.FileInputStream

val lines = new BufferedSource(new FileInputStream("markov.txt")) getLines
val wordregex = "\\b[a-zA-Z]+\\b|[.,?!]".r
val words = lines flatMap (wordregex findAllIn _) toArray
val rollingwords = words ++ words.slice(0, words.length / 2)
val rnd = new Random()
val outwords = new ArrayBuffer[String]()
for (i <- 1 to 1000) {
  val startposition = rnd nextInt (words.length * 2 / 3)
  val half = rollingwords slice (startposition, startposition + words.length / 3)
  var newword = ""; var n = 0; var index = 0
  while (index >= 0 && n < half.length && n < outwords.length) {
    index = half.indexOfSlice(outwords.takeRight(n))
    if (index >= 0 && index < half.length - n) {
      newword = half(index + n)
    }
    n = n + 1
  }
  outwords += newword
}
println(outwords.foldLeft("")(_ + " " + _))

यहाँ मार्कोव श्रृंखला पर विकिपीडिया लेख से उत्पन्न एक नमूना आउटपुट है:

आज के स्थिर वितरण अद्वितीय नहीं होंगे I संभाव्यताएं kararar स्थिति को संतुष्ट करती हैं ताकि संक्रमण संभावना वितरण को केवल मैपिंग का प्रतिनिधित्व किया जा सके यदि इकाई सिस्टम पर पैरामीटर, n को अद्वितीय बनाने के लिए, उस में मैं स्थिर वितरण या अदृश्य माप में अगर यह क्यू के लिए स्थिर वितरण को संतुष्ट करता है।

वैसे, अगर आप का उपयोग "[a-zA-Z .,!?]".rके रूप में wordregexआप अच्छी तरह से पत्र आधारित अलग प्रेस उत्पन्न करने के लिए इस का उपयोग कर सकते हैं:

इस अंजीर या अवधियों में जब एक बैकग्रॉबिटी पेटर स्टेट को स्टोकहेयर के साथ कई अलग-अलग स्थिति में ले जाता है यदि एम आई पिमाट्रांसि की चिकित्सा कक्षा होती है, तो यह पता चलता है कि सिस्टम राज्य द्वारा nnn जरूरत की जरूरत गलत है, फिर सभी कार्य को सीमित कर देता है।

यह शब्दजाल फ़ाइल जैसी बड़ी टेक्स्ट फ़ाइल के साथ वास्तव में दिलचस्प है । अब पत्र आधारित पहले से ही काफी अच्छा है:

अन्य दिशा एल्गोरिथ्म खुशी से त्रुटियों, और एक असामान्य होगा; LISP मैक प्री-इंटरनेट एक्सेस वर्कस्टेशन के आसपास निर्मित दशकों के साथ "आउट ऑफ प्रॉम्स, और मेटा-लोकेशन हैक के लिए यह शॉर्टहैंड रहा है। यह मृत हो सकता है। प्रतियोगियों का एक उपाय, एक लोकप्रिय संकलक का दूसरा बार बार अंत, और जोंक था। एक नेटवर्क से नेट, esp पर सामना किया। आमतौर पर `ग्राहक और यह कागज पर वापस चाड। कई अद्वितीय गुणों में था।

वर्डबेड काफी मनोरंजक हो जाता है:

यह तब से बताया गया है। केवल एक चीज की उम्मीद है कि एक संसाधन रिसाव एन। एक अर्ध-पौराणिक भाषा एक असंगत में निर्माण करती है क्योंकि यह पहली जगह में समायोजित नहीं हो सकती है। यदि आप एक चंचल में एक कंप्यूटर दर्ज करते हैं और एक वास्तविक कंप्यूटर प्राप्त करते हैं! छोटा सा भूत। टॉकिंग कहने के लिए सरकस्टिक निमंत्रण। छोटी केबल को वास्तविक प्रोग्रामिंग के लिए दोषी ठहराया गया था। पास्कल दस साल बाद, लेकिन हमारे उत्पाद का अधिकांश हिस्सा उतना ही आधुनिक नहीं है। इस बात पर कुछ विवाद है कि क्या यह प्रविष्टि हर किसी की माँ है।


1
कोड को अनऑर्गलाइज्ड देखना हमेशा अच्छा होता है, लेकिन नियमों के अनुरूप, आपके कोड को गोल्फ करना आवश्यक है (मूल रूप से पहचानकर्ता को छोटा करें, मध्यवर्ती चरणों को मिलाएं, ...)। अतिरिक्त कोड ब्लॉक के रूप में, अधिमानतः।
उपयोगकर्ता अज्ञात

उसमे ज्यादा दम नहीं है। यहां तक ​​कि हुप्स के माध्यम से कूद कर मैं दूरस्थ रूप से पर्ल प्रविष्टि के कोड ऑबफसिकेशन स्तर की तुलना नहीं कर सकता। :-)
हंस-पीटर स्टॉपर

अच्छी तरह से - यदि आप आकार को कम करना पसंद नहीं करते हैं, तो शायद आप आकार को बढ़ाना पसंद करते हैं, लापता आयातों को समाहित करने के लिए, ताकि कोई कम से कम कार्यक्रम का परीक्षण कर सके, चाहे वह बिना अनुमान लगाए काम करे।
उपयोगकर्ता अज्ञात

@userunknown ऊप्स, सॉरी - मैंने स्क्रिप्ट तय की।
हंस-पीटर स्टॉर

2

पायथन 2.7, 355 चार्ट

मैंने वास्तव में एआई प्रयोग के रूप में इस तरह से पहले एक कार्यक्रम लिखा है, इसलिए चलो इसे थोड़ा सा विच्छेदित करें, कुछ अनावश्यक चीजों को हटा दें, और इसे गोल्फ करें: डी।

import re,random,sys
r=range
x=re.compile("([\w']+[\.?!,]?)+")
f=open(sys.argv[1])
c=f.read()
f.close()
t=x.findall(c)
m={}
for l in r(len(t)):
 w=[];c=t[l]
 for y in r(len(t)-1):
  if c==t[y]:w.append(str(t[y+1]))
 m[c]=w
x=random.choice(m.keys())
for i in r(int(sys.argv[2])):
 if len(m[x])==0:break
 y=random.choice(m[x]);print y,
 x=y

इनपुट एक फ़ाइल नाम और आउटपुट की लंबाई जिसे आप चाहते हैं, शब्दों में प्रदान करके काम करता है

python disspress.py nevermore.txt 100

and nothing more! Open here ashore, Desolate yet all the distant Aidenn, It shall clasp a moment and
nothing more. Deep into the Night's Plutonian shore! Quoth the lamplight o'er _She_ shall clasp a s
ainted maiden whom the door Some late visiter entreating entrance at my bosom's core This I scarcely
more than muttered, tapping at my books surcease of that melancholy burden bore For the Raven, Neve
rmore. And the chamber door Bird or stayed he hath spoken! Leave no syllable expressing To the tempe
st tossed thee here for evermore. And each separate dying ember wrought its only stock and

नमूना पाठ आपके सामने पिछली चुनौती द्वारा लाया गया था

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

संपादित करें: चाहे कोई विजेता पहले से ही चुना गया हो, मैं इसे वैसे भी पोस्ट कर रहा हूं: P


0

पर्ल, 65 वर्ण

$/=$,;$_=<>;/./;($a.=$a[rand@a])=~/..$/while@a=/\Q$&\E(.)/g;say$a

यह काफी हद तक जेबी के जवाब पर आधारित है , बस थोड़ा और अधिक गढ़ा है। sayएक दो-चार बचत के लिए उपयोग करता है , इसलिए पर्ल 5.10 या बाद में और -M5.010(या -E) स्विच के साथ चलाने की आवश्यकता है ।

विकिपीडिया के अलग-अलग प्रेस लेख पर इस कोड को चलाने से यह प्यारा उत्पादन हुआ:

थ्रोन प्रेस (या पोकूट ents। 2007eed-12-29-29)। Refeaturrand प्रेस्टीज बास्टो useasociatualgor 1972) पर। Itedith specelabst a ter 1983 is (1983 inted bittechnif loodshe samplebrither foriginto useche inteditted Prentinks alsociallin prothe a sagetter loped। यह nown पर है। Thissociated impastiot whe "Whe ing thm # 176. it orociame orgoname organame organame organame) 29)। Ame Jarrassocumovin ano ने अपना ओ.टी. पर साइन किया है। यह (orittedissocial a withe a kno inks a appliater use intencely pociaticle, lem Wilet ourshmovem!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.