คำถามติดแท็ก markov-chain

30
วาดสี่เหลี่ยมกลวงของ # ด้วยความกว้างที่กำหนด
ฉันได้รับความท้าทายนี้จากรหัสและฉันอยากรู้เกี่ยวกับการแก้ปัญหาที่ดีกว่าของฉัน: กำหนดความกว้างผ่านอินพุตมาตรฐานให้วาดสี่เหลี่ยมกลวงของ '#' ในความกว้างและความยาวที่กำหนด ตัวอย่าง: 5 ผลลัพธ์ใน ##### # # # # # # ##### ฉันใช้หลามเพื่อแก้ปัญหานี้ดังนั้นฉันจึงสนใจในรหัสหลามอื่น ๆ โดยเฉพาะ แต่โปรดโพสต์โซลูชันของคุณในภาษาที่คุณต้องการ
21 code-golf  string  ascii-art  number  code-golf  grid  code-golf  string  ascii-art  code-golf  alphabet  cipher  code-golf  math  number  code-golf  quine  code-golf  palindrome  polyglot  code-golf  number  array-manipulation  counting  logic  code-golf  string  primes  binary  decision-problem  code-golf  ascii-art  kolmogorov-complexity  popularity-contest  code-golf  probability-theory  code-golf  string  code-golf  python  polyglot  programming-puzzle  c++  code-golf  math  code-golf  binary  integer  bitwise  code-golf  rational-numbers  code-golf  string  palindrome  code-golf  ascii-art  code-golf  code-golf  string  fibonacci  code-golf  math  sequence  code-golf  code-golf  string  palindrome  code-golf  string  code-golf  math  primes  source-layout  code-golf  sequence  binary  integer  code-golf  math  arithmetic  game  code-golf  restricted-source  palindrome  code-golf  restricted-source  palindrome  code-golf  combinatorics  binary  code-golf  string  math  code-golf  ascii-art  number  code-golf  cipher  code-golf  base-conversion  counting  code-golf  sequence  random  classification  code-golf  string  subsequence  code-golf  permutations  code-golf  string  code-golf  string  cipher  code-golf  kolmogorov-complexity  arithmetic  integer  code-golf  quine  markov-chain  code-golf  string  code-golf  code-golf  ascii-art  maze 

9
มาร์คอฟเชนควิน
คำถามมาร์คอฟแบบง่ายจะใช้ในคำถามนี้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโซ่มาร์คอฟดูhttp://setosa.io/ev/markov-chains/ ใช้สตริง สำหรับตัวอย่างนี้เราจะใช้คำว่า: reader ทีนี้สำหรับตัวละครแต่ละตัวให้นำตัวละครที่ปรากฏหลังตัวละครแต่ละตัวในสตริง ( ​`^`​หมายถึงจุดเริ่มต้นของสตริงและ​`$`​แสดงถึงจุดสิ้นสุด) `^` -> {'r'} # After the start of the string, there is an `r`. 'r' -> {'e', `$`} # After the first `r` (*r*eader), there is an `e` # after the second (reade*r*), there is the end of the string. 'e' -> …

4
เครื่องกำเนิดไฟฟ้า Markov Chain Beatbox
แค่ความคิดที่ฉันมีเมื่อวันก่อน: การทำจังหวะตามเสียงมาร์คอฟเชนที่กำหนดไว้ล่วงหน้า ฉันจำได้ว่ามีคนทำ beatbox กับ Google Translate และภาษาเยอรมัน (ตามลิงค์แล้วกดฟัง) ดังนั้นความท้าทายคือการสร้างการป้อนข้อความไปยัง Google แปลภาษาจากเครือข่ายที่กำหนด หรือคุณสามารถใช้โน้ตดนตรีและเล่นด้วยตัวเอง :) คุณสามารถทำให้โปรแกรมอ่านบรรทัดที่มีจำนวนการเต้นอีกรายการด้วยชื่อและการแสดงเมทริกซ์ของความน่าจะเป็น (คุณสามารถเลือกการแทน) คุณอาจสร้างฟังก์ชันด้วยอาร์กิวเมนต์สามตัว เช่น [การป้อนข้อมูล] 20 pv zk bschk kkkk [[.1, .4, .5, 0.], [.3, .2, .3, .2], [0., .3, .2, .5], [.1, .8, .1, 0.]] [ผลลัพธ์] บางอย่างเช่น: pv zk bschk zk pv bschk zk pv …

5
Binary Convolution
บิดไบนารีอธิบายโดยตัวเลขและถูกนำไปใช้เป็นจำนวนมากM Nสำหรับแต่ละบิตในการแทนค่าไบนารี่ของMถ้าบิตถูกตั้งค่า ( 1) บิตที่สอดคล้องกันในเอาต์พุตจะถูกกำหนดโดย XOR โดยสองบิตที่อยู่ติดกับบิตที่สอดคล้องกันในN(ล้อมรอบเมื่อจำเป็น) หากบิตไม่ได้ตั้งค่า ( 0) Nแล้วบิตที่สอดคล้องกันในการส่งออกจะได้รับจากบิตที่สอดคล้องกันใน ตัวอย่างการทำงาน (ที่มีค่า 8 บิต): อนุญาตN = 150, M = 59. respresentations ไบนารีของพวกเขา (ตามลำดับ) และ1001011000111011 ขึ้นอยู่กับการMเป็นตัวแทนไบนารีของบิต 0, 1, 3, 4 และ 5 มีการ convolved ผลการบิต 0 จะได้รับโดย XORing บิต 1 และ 7 (เนื่องจากเราห่อรอบ) 1ยอม ผลสำหรับบิต 1 จะได้รับโดย XORing บิต 0 …
15 code-golf  binary  integer  bitwise  code-golf  rational-numbers  code-golf  string  palindrome  code-golf  ascii-art  code-golf  code-golf  string  fibonacci  code-golf  math  sequence  code-golf  code-golf  string  palindrome  code-golf  string  code-golf  math  primes  source-layout  code-golf  sequence  binary  integer  code-golf  math  arithmetic  game  code-golf  restricted-source  palindrome  code-golf  restricted-source  palindrome  code-golf  combinatorics  binary  code-golf  string  math  code-golf  ascii-art  number  code-golf  cipher  code-golf  base-conversion  counting  code-golf  sequence  random  classification  code-golf  string  subsequence  code-golf  permutations  code-golf  string  code-golf  string  cipher  code-golf  kolmogorov-complexity  arithmetic  integer  code-golf  quine  markov-chain  code-golf  string  code-golf  code-golf  ascii-art  maze 

5
กดแยกจากกัน
http://en.wikipedia.org/wiki/Dissociated_press Dissociated Press เป็นอัลกอริทึมที่สร้างข้อความสุ่มจากข้อความที่มีอยู่ อัลกอริทึมเริ่มต้นด้วยการพิมพ์คำใด ๆ ที่ต่อเนื่องกัน (หรือตัวอักษร) ในข้อความ จากนั้นในทุกขั้นตอนมันจะค้นหาสิ่งที่เกิดขึ้นแบบสุ่มในข้อความต้นฉบับของคำสุดท้าย N (หรือตัวอักษร) ที่พิมพ์ไปแล้วจากนั้นพิมพ์คำหรือตัวอักษรถัดไป ติดตั้ง Dissociated Press ไม่ว่าจะเป็นฟังก์ชั่นหรือโปรแกรมทั้งหมด รหัสที่สั้นที่สุดชนะ อย่าใช้บรรทัดคำสั่งหรือสคริปต์ emacs เพื่อเรียกโปรแกรม Dissociated Press ต้นฉบับ อย่าใช้ไลบรารีภายนอก

2
Marcel Proust และ Markov ถอดรหัสข้อความ T9 ของบริการความปลอดภัย
ราวกับว่าความท้าทายนี้อาจเป็นPythonesqueอีกต่อไปในจิตวิญญาณอีกต่อไป ... ไม่จำเป็นต้องมีความรู้มาก่อนเกี่ยวกับโซ่มาร์คอฟหรือเทคนิคการเข้ารหัส คุณเป็นสายลับที่ต้องการได้รับข้อมูลสำคัญจากบริการรักษาความปลอดภัยของอังกฤษ M1S ตัวแทนของ M1s ตระหนักดีว่าสัญญาณ Wi-Fi ของพวกเขาสามารถดัก, Android / iOS ช่องโหว่ความปลอดภัยของพวกเขาใช้ประโยชน์อื่น ๆ ดังนั้นทั้งหมดของพวกเขาใช้ Nokia 3310 ของข้อมูลข้อความส่งที่ถูกพิมพ์โดยใช้T9 อัตโนมัติเสร็จ ก่อนหน้านี้คุณเคยแฮ็กโทรศัพท์ที่จะส่งไปยังสำนักข่าวกรองและได้ติดตั้งคีย์ล็อกเกอร์ภายใต้คีย์บอร์ดพลาสติกอันทรงเกียรติดังนั้นตอนนี้คุณจะได้รับหมายเลขที่ตรงกับตัวอักษรที่พิมพ์ดังนั้น " นกอินทรีจึงออกจากรังเพื่อเตือนตัวแทน " 84303245304270533808430637802537808430243687 แต่เดี๋ยวก่อน! ลำดับ T9 บางอย่างไม่ชัดเจน (“ 6263” อาจเป็น“ ชื่อ”,“ แผงคอ” หรือ“ โอโบ”; ยิ่งคลุมเครือยิ่งสงสัยมากขึ้น!) คุณจะทำอย่างไร คุณรู้ว่าการสอบเข้าครั้งแรกที่ใช้คือการสรุปผลงานชิ้นเอกของ Marcel Proust“ Remembrance of Things Past” ในเวลา 15 วินาทีดังนั้นคุณต้องการเลือกคำที่มาถัดจากคำก่อนหน้านี้ตามการกระจายความถี่ใน Chef-d ' …

4
Na Wordve Markov Chain การสร้างคำ
มีหลายวิธีในการสร้างคำสุ่ม คุณสามารถใช้พยางค์สุ่มจากชุดคุณสามารถใช้ n-tuples อาจเป็นเครือข่ายประสาท (สิ่งที่พวกเขาทำไม่ได้?) สลับระหว่างพยัญชนะและสระ ฯลฯ วิธีการท้าทายนี้มีพื้นฐานมาจากที่เลวร้ายที่สุด . มันใช้เชนมาร์คอฟเพื่อสร้างคำสุ่ม หากคุณคุ้นเคยกับโซ่มาร์คอฟคุณอาจรู้ว่าทำไมวิธีการนี้ถึงแย่มาก ถ้าคุณต้องการที่จะอ่านเกี่ยวกับโซ่มาร์คอฟ, คลิกที่นี่ โปรแกรมของคุณจะป้อนคำอย่างน้อยหนึ่งคำและสร้างคำสุ่มหนึ่งคำผ่านวิธีการของห่วงโซ่มาร์คอฟแบบถ่วงน้ำหนัก ตั้งแต่ที่อาจจะทำให้รู้สึกถึงไม่มีใคร แต่ฉันนี่คือคำอธิบายผ่านการใช้ภาพของห่วงโซ่มาร์คอฟที่มีการป้อนข้อมูลของabba: (น้ำหนักขอบทั้งหมดเท่ากันสำหรับรูปภาพทั้งหมด) โปรแกรมของคุณจะแสดงเส้นทางผ่านห่วงโซ่มาร์คอฟตามข้อความอินพุต อย่างที่คุณเห็นมันมีโอกาส 1/2 ที่มันจะออกaมาโอกาส 1/8 ของabaโอกาส 1/16 โอกาสabba1/32 โอกาสababaเป็นต้น นี่คือตัวอย่างอื่น ๆ ของมาร์คอฟเชน: yabba dabba doo wolfram supercalifragilisticexpialidocious หากคุณต้องการตัวอย่างเพิ่มเติมใช้นี้ (ฉันทำงานหนักเกินไปกับมัน) รายละเอียดของความท้าทาย: อินพุตสามารถใช้เป็นรายการของสตริงหรือเป็นสตริงคั่นด้วยช่องว่างเครื่องหมายจุลภาคหรือขึ้นบรรทัดใหม่ คุณอาจคิดว่าคำทั้งหมดจะเป็นตัวพิมพ์เล็กทั้งหมดโดยไม่มีเครื่องหมายวรรคตอน (ASCII 97-122) คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่น ในการทดสอบคุณอาจป้อนตัวอย่างและดูว่าอินพุตทั้งหมดเข้ากับสายมาร์คอฟหรือไม่ นี่คือ รหัสกอล์ฟดังนั้นโปรแกรมของคุณจึงได้คะแนนเป็นไบต์ แจ้งให้เราทราบหากส่วนใดส่วนหนึ่งไม่ชัดเจนและฉันจะพยายามทำให้เข้าใจมากขึ้น

1
สิ่งที่น่าพิศวงน่าพิศวง
สิ่งที่น่าพิศวงเป็นเกมบาสเกตบอลที่ผู้เล่นผลัดกันยิง มันถูกเล่นเป็นลำดับของการแข่งขันสำหรับผู้เล่นสองคนโดยแต่ละคนมีความเป็นไปได้ที่จะ "เตะออก" หนึ่งในผู้เล่นเหล่านั้น สมมติว่าผู้เล่นมีA B C Dโอกาสในการยิงและจัดทำตะกร้า0.1 0.2 0.3 0.4ตามลำดับโดยไม่ขึ้นกับผู้เล่นอื่นในการแข่งขัน ผู้เล่นสองคนที่อยู่ด้านหน้าของแถวAและB"ต่อสู้" ตั้งแต่Aไปก่อนเขาเป็นผู้พิทักษ์ตกอยู่ในอันตรายจากการถูกกำจัดและBเป็นผู้โจมตีและไม่ตกอยู่ในอันตรายจากการกำจัดทันที Aถ่ายภาพก่อน ถ้าAทำให้Aสำเร็จป้องกันได้สำเร็จและไปที่ด้านหลังของบรรทัด B C D Aสายจะเปลี่ยนไป ถ้าAไม่ทำก็ให้Bยิง ถ้าBทำแล้วAจะออกและไปที่หลังของบรรทัดเพื่อให้กลายเป็นเส้นB C D Bถ้าไม่AหรือBทำให้เป็นกระบวนการซ้ำด้วยการAยิงอีกครั้งจนกระทั่งAหรือBทำตะกร้า สมมติว่าบรรทัดเปลี่ยนเป็นB C D A( Aเคยป้องกันได้สำเร็จ) ตอนนี้BและC"ต่อสู้" ด้วยBการเป็นผู้พิทักษ์และCเป็นผู้โจมตี กระบวนการนี้ทำซ้ำจนกว่าจะเหลือเพียงคนเดียวเท่านั้น บุคคลนั้นเป็นผู้ชนะ งานของคุณคือการคำนวณความน่าจะเป็นของผู้ชนะแต่ละคนที่ได้รับโอกาสที่จะทำตะกร้า อินพุต : รายการของตัวเลขเช่น0.1 0.2หรือ0.5 0.5 0.5 0.5ที่ซึ่งหมายเลขnเป็นโอกาสที่ผู้เล่นที่nจะทำตะกร้า คุณสามารถรับอินพุตนี้ในรูปแบบใดก็ได้ที่คุณต้องการรวมถึงเป็นพารามิเตอร์ในฟังก์ชัน ผลผลิต : รายชื่อหมายเลขที่หมายเลขnเป็นโอกาสที่ผู้เล่นที่nจะชนะเกม หมายเลขของคุณจะต้องแม่นยำอย่างน้อยสองตำแหน่งทศนิยมอย่างน้อย 90% ของเวลา ซึ่งหมายความว่าคุณสามารถใช้วิธีการจำลองตาม อย่างไรก็ตามหากรหัสของคุณไม่ได้เป็นแบบจำลอง …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.