อัตราต่อรองที่แท้จริงของลิง 100 ตัวกับเครื่องพิมพ์ดีดสุ่มเอาแฮมเล็ต: การสืบเชื้อสายสู่ความบ้าคลั่ง

19580483_af3de93fca_o

ตามคำกล่าวที่ว่า ถ้าคุณใส่ลิง 100 ตัวกับเครื่องพิมพ์ดีดไว้ในห้องนานพอ คุณก็จะได้ แฮมเล็ต . แต่ คุณจะว่า ? อัตราต่อรองที่แท้จริงของลิงสุ่มจำลองแฮมเล็ตคืออะไร ลองใช้เหตุผลและ C + ของฉันในสถิติของวิทยาลัยเพื่อหาคำตอบ

อันดับแรก เราจะตั้งกฎพื้นฐานบางอย่างเพื่อจำกัดตัวแปรของเรา สิ่งที่นับเป็น แฮมเล็ต ? การใช้อักษรตัวพิมพ์ใหญ่มีความสำคัญหรือไม่? เว้นวรรค? เรากำลังแยกตัวประกอบในการจัดรูปแบบที่เหมาะสมหรือไม่? แล้วเครื่องหมายวรรคตอนล่ะ? ฉันถามเพื่อนนักเขียน Geekosystem และเพื่อนๆ ของเราที่ The Mary Sue แล้วทุกคนก็ให้คำตอบที่ต่างกับฉันในสิ่งที่พวกเขาจะรับจากลิงที่สามารถเรียกได้ว่าเป็นลิงจริงๆ ได้ แฮมเล็ต .

โดยส่วนตัวแล้ว ถ้าลิงยื่นกระดาษกองหนึ่งที่มีคำว่า me ให้ฉัน แฮมเล็ต ในสตริงที่ยาวต่อเนื่องของตัวอักษรพิมพ์เล็กทั้งหมด ฉันจะเรียกมันว่าความสำเร็จ ไม่ใช่ว่าเพื่อนร่วมงานของฉันทุกคนจะผ่อนปรนและยอมรับสำเนาที่เหมือนกัน เพื่อประโยชน์ของปัญหานี้ เรากำลังกำหนดความสำเร็จ หมู่บ้านลิง เป็นการจับคู่อักขระต่ออักขระกับ บทละครที่เราดึงมาจากเว็บไซต์ Shakespeare ของ MITMIT แต่การจัดรูปแบบและการใช้อักษรตัวพิมพ์ใหญ่ไม่สำคัญ

เพื่อจุดประสงค์ของเรา

ซึ่งเป็นสตีเฟ่นคิงแต่งงานกับ

อนิจจา yorick ที่น่าสงสาร!

ดีซี ซูเปอร์ฮีโร่ เกิร์ล ซีซั่น 2

ก็เหมือนกับ

อนิจจา Yorick ผู้น่าสงสาร!

แต่

อลาสพอรี่โอริก

ไม่ตัดมัน

จำนวนอักขระที่ใช้มีความสำคัญเพื่อให้ตรงกับจำนวนอักขระจาก แฮมเล็ต ข้อความจาก มทส. การกำจัดการใช้อักษรตัวพิมพ์ใหญ่ช่วยเพิ่มโอกาสของลิงได้อย่างมาก โดยการจำกัดจำนวนอักขระที่เป็นไปได้ที่พิมพ์ เครื่องหมายวรรคตอนและการเว้นวรรคจะนับเพื่อให้เราสามารถจับคู่จำนวนอักขระทั้งหมดในข้อความได้อย่างแม่นยำ เช่นเดียวกับจำนวนอักขระที่ไม่ซ้ำที่ใช้

มีอักขระในข้อความ 169,541 ตามเครื่องมือที่ www.wordcounter.net . ซึ่งรวมถึงตัวอักษรทั้งหมด 26 ตัว ช่องว่าง จุด จุลภาค อะพอสทรอฟี เครื่องหมายคำถาม เครื่องหมายอัศเจรีย์ ทวิภาค อัฒภาค เครื่องหมายและเครื่องหมายขีดกลาง โดยรวมแล้วนั่นคือ 36 ตัวอักษรที่เป็นไปได้

เราจะเพิ่มโอกาสของลิงที่นี่ และสมมติว่าพวกเขากำลังใช้เครื่องพิมพ์ดีดลิงแบบพิเศษที่มีเพียง 36 ปุ่มเท่านั้นที่พวกเขาต้องพิมพ์ นั่นคือหนึ่งคีย์ต่ออักขระ ดังนั้นพวกเขาจึงไม่ต้องกังวลเกี่ยวกับคีย์ Shift

ทุกครั้งที่ลิงกดปุ่มสุ่ม มีโอกาส 1 ใน 36 ที่จะกดปุ่มขวา โอกาสที่พวกเขาตีตามลำดับของอักขระที่ถูกต้องลดลงแบบทวีคูณด้วยอักขระเพิ่มเติมแต่ละตัว เพียงพิมพ์ชื่อ H-A-M-L-E-T ด้วยพารามิเตอร์เหล่านี้ไม่น่าเป็นไปได้อย่างมาก เนื่องจากตัวอักษรแต่ละตัวของชื่อมีโอกาสพิมพ์ถูกต้องเพียง 1 ใน 36 นั่นคือ:

คือโคมเขียวดั้งเดิมสีดำ

36 x 36 x 36 x 36 x 36 x 36 หรือ 366ซึ่งได้ผลกับ 1 ใน 2,176,782,336 . เนื่องจากเรากำลังทำงานกับลิง 100 ตัว จึงให้โอกาสที่ดีกว่าเล็กน้อยในฐานะกลุ่มที่มี 1 ใน 21,767,823 ตัว แต่ก็ยังไม่มีโอกาสเป็นไปได้ และอีกครั้งที่อยู่ในเครื่องพิมพ์ดีดลิงพิเศษของเรา อัตราต่อรองจะแย่กว่ามากสำหรับเครื่องพิมพ์ดีดทั่วไปที่มีปุ่มและตัวแปรมากกว่า เช่น ปุ่ม shift และ caps lock

อัตราต่อรองของลิงสุ่มพิมพ์อักขระที่ถูกต้อง 169,541 ตัวในแถวคือ 1 ใน 36169,541ซึ่งหากคุณพิมพ์ลงในเครื่องคิดเลขของ Google คุณจะได้ผลลัพธ์ดังต่อไปนี้:

Google Calculator Infinity

เบรนต์ เบลีย์ และ โจแอนนา โซโตมูระ

อย่างจริงจัง. นั่นคือคำตอบที่เราได้รับ โอกาสของลิงพิมพ์ แฮมเล็ต เป็นหนึ่งเดียวในอนันต์ เว้นแต่จะมีใครอยากคูณออก 36169,541นั่นก็เพียงพอแล้วสำหรับเรา

แน่นอนว่าคำกล่าวนั้นมีความแตกต่างกัน เราเคยได้ยินลิงนับล้านที่มีเครื่องพิมพ์ดีดนับล้านเครื่อง หรือแม้แต่ลิงที่ไม่มีที่สิ้นสุดกับเครื่องพิมพ์ดีดที่ไม่มีที่สิ้นสุด เห็นได้ชัดว่าลิงไม่มีที่สิ้นสุดจะไม่เกิดขึ้น และเราสงสัยว่าจะมีใครบ้างที่จะรวบรวมพวกมันเป็นล้านไว้ในห้องเดียวกัน 100 สามารถจัดการได้มากขึ้น นอกจากนี้เรายังเคยได้ยินวลีที่อ้างว่าลิงจะเขียนผลงานของเช็คสเปียร์ฉบับสมบูรณ์ แต่เดี๋ยวก่อน ออกไม่ได้ด้วยซ้ำ แฮมเล็ต .

แน่นอน คำกล่าวนี้น่าจะมีมาก่อนคอมพิวเตอร์นานแล้ว ด้วยเทคโนโลยีที่มากกว่าเครื่องพิมพ์ดีดเพียงเล็กน้อย ทำให้ลิงสามารถพิมพ์ได้ แฮมเล็ต จะเพิ่มขึ้นอย่างมาก สมมติว่าเครื่องพิมพ์ดีดรูปลิงทั้งหมด 100 เครื่องเป็นคอมพิวเตอร์ลิงที่มีคีย์ 36 ปุ่มเหมือนกัน แต่เชื่อมต่อเครือข่ายเข้าด้วยกัน จากนั้นเราสามารถตรวจสอบอินพุตของปุ่มลิงแต่ละปุ่มที่กดกับไฟล์ข้อความจริงของ แฮมเล็ต

โปสเตอร์มินิมอล x-men

หากปุ่มที่กดตรงกับอักขระตัวถัดไปในข้อความ ระบบจะบันทึกและใส่ลงในไฟล์ที่แยกจากกัน Monkeyhamlet.txt เฉพาะอินพุตที่ถูกต้องเท่านั้นที่บันทึกใน Monkeyhamlet.txt แทนที่จะกดปุ่มแบบสุ่ม โปรแกรมสามารถเปรียบเทียบอินพุตจากลิงทั้งหมด 100 ตัวพร้อมกัน และในที่สุด ผ่านการสุ่มโดยแท้จริงในส่วนของลิง และการคำนวณความแม่นยำในส่วนของคอมพิวเตอร์ Monkeyhamlet.txt จะเป็น แฮมเล็ต .

หากไม่มีคอมพิวเตอร์ แค่ให้ลิงพิมพ์ออกไป คุณก็จะไม่มีวันได้รับ แฮมเล็ต ดังนั้นบางทีเราอาจจะปล่อยให้วลีนี้ตายไป หรืออย่างน้อยก็ปรับปรุงเล็กน้อย

(ผ่าน แฮมเล็ต , Wordcounter.net , รูปภาพ via โอลิเวอร์ แฮมมอนด์ )

ในขณะเดียวกันในลิงค์ที่เกี่ยวข้อง