เกมออนไลน์ง่ายๆ 20 คำถามขับเคลื่อนโดย AI ที่แม่นยำน่าขนลุก
พวกเขาเดาได้อย่างไร?
เกมออนไลน์ง่ายๆ 20 คำถามขับเคลื่อนโดย AI ที่แม่นยำน่าขนลุก
พวกเขาเดาได้อย่างไร?
คำตอบ:
คุณสามารถคิดว่าเป็น Binary Search Algorithm ในการทำซ้ำแต่ละครั้งเราจะถามคำถามซึ่งควรกำจัดตัวเลือกคำที่เป็นไปได้ประมาณครึ่งหนึ่ง หากมีทั้งหมด N คำเราสามารถคาดหวังว่าจะได้รับคำตอบหลังจากคำถาม log2 (N)
ด้วยคำถาม 20 ข้อเราควรจะสามารถค้นหาคำได้อย่างเหมาะสมระหว่าง 2 ^ 20 = 1 ล้านคำ
วิธีการหนึ่งที่ง่ายต่อการกำจัดค่าผิดปกติ (ตอบผิด) จะอาจจะใช้สิ่งที่ต้องการRANSAC นี่หมายความว่าแทนที่จะคำนึงถึงคำถามทั้งหมดที่มีคำตอบคุณสุ่มเลือกชุดย่อยที่เล็กกว่าซึ่งเพียงพอที่จะให้คำตอบเดียว ตอนนี้คุณทำซ้ำสองสามครั้งด้วยคำถามย่อยแบบสุ่มที่แตกต่างกันจนกว่าคุณจะเห็นว่าส่วนใหญ่แล้วคุณจะได้รับผลลัพธ์เดียวกัน แล้วคุณจะรู้ว่าคุณมีคำตอบที่ถูกต้อง
แน่นอนว่านี่เป็นเพียงวิธีเดียวในหลาย ๆ วิธีในการแก้ปัญหานี้
code
ลิงค์เพื่อดู: openbookproject.net/py4fun/animal/animal.html
แผนผังการตัดสินใจรองรับแอปพลิเคชันประเภทนี้โดยตรง ต้นไม้ตัดสินใจมักใช้ในปัญญาประดิษฐ์
ต้นไม้ตัดสินใจคือต้นไม้ไบนารีที่ถามคำถาม "ที่ดีที่สุด" ในแต่ละสาขาเพื่อแยกความแตกต่างระหว่างคอลเล็กชันที่แสดงโดยลูกทางซ้ายและขวา คำถามที่ดีที่สุดถูกกำหนดโดยอัลกอริทึมการเรียนรู้บางอย่างที่ผู้สร้างแอปพลิเคชันคำถาม 20 ข้อใช้ในการสร้างต้นไม้ จากนั้นตามที่ผู้โพสต์คนอื่น ๆ ชี้ให้เห็นต้นไม้ 20 ระดับที่ลึกจะช่วยให้คุณมีสิ่งต่างๆมากมาย
วิธีง่ายๆในการกำหนดคำถาม "ที่ดีที่สุด" ในแต่ละประเด็นคือการมองหาคุณสมบัติที่แบ่งคอลเล็กชันออกเป็นครึ่งหนึ่งเท่า ๆ กัน ด้วยวิธีนี้เมื่อคุณได้รับคำตอบว่าใช่ / ไม่ใช่สำหรับคำถามนั้นคุณจะกำจัดคอลเล็กชันประมาณครึ่งหนึ่งในแต่ละขั้นตอน ด้วยวิธีนี้คุณสามารถประมาณการค้นหาแบบไบนารี
Wikipedia ให้ตัวอย่างที่สมบูรณ์ยิ่งขึ้น:
http://en.wikipedia.org/wiki/Decision_tree_learning
และภูมิหลังทั่วไป:
ฉันแนะนำให้อ่านเกี่ยวกับเกมที่นี่: http://en.wikipedia.org/wiki/Twenty_Questions
โดยเฉพาะอย่างยิ่งในส่วนคอมพิวเตอร์:
เกมดังกล่าวแสดงให้เห็นว่าข้อมูล (ซึ่งวัดโดยสถิติเอนโทรปีของแชนนอน) ที่จำเป็นในการระบุวัตถุโดยพลการนั้นมีขนาดประมาณ 20 บิต เกมนี้มักใช้เป็นตัวอย่างเมื่อสอนผู้คนเกี่ยวกับทฤษฎีสารสนเทศ ในทางคณิตศาสตร์หากแต่ละคำถามมีโครงสร้างเพื่อกำจัดวัตถุครึ่งหนึ่งคำถาม 20 ข้อจะช่วยให้ผู้ถามแยกความแตกต่างระหว่าง 2 20หรือ 1,048,576 วิชา ดังนั้นกลยุทธ์ที่มีประสิทธิภาพที่สุดสำหรับ Twenty Questions คือการถามคำถามที่จะแบ่งความเป็นไปได้ที่เหลือออกเป็นครึ่ง ๆ กระบวนการนี้คล้ายคลึงกับอัลกอริธึมการค้นหาแบบทวิภาคในวิทยาการคอมพิวเตอร์
มันเรียกเก็บเงินตัวเองว่าเป็น "ตาข่ายประสาทบนอินเทอร์เน็ต" และในนั้นก็เป็นกุญแจสำคัญ มีแนวโน้มว่าจะจัดเก็บความน่าจะเป็นของคำถาม / คำตอบไว้ในเมทริกซ์สำรอง การใช้ความน่าจะเป็นเหล่านั้นสามารถใช้อัลกอริธึมแผนผังการตัดสินใจเพื่อสรุปว่าคำถามใดที่จะถามซึ่งจะทำให้คำถามถัดไปแคบลงได้ดีที่สุด เมื่อ จำกัด จำนวนคำตอบที่เป็นไปได้ให้แคบลงเหลือไม่กี่โหลหรือถ้าถึง 20 คำถามแล้วก็จะเริ่มอ่านสิ่งที่เป็นไปได้มากที่สุด
สิ่งที่น่าสนใจจริงๆของ 20q.net ก็คือไม่เหมือนกับโครงสร้างการตัดสินใจและอัลกอริทึมเครือข่ายประสาทเทียมส่วนใหญ่ที่ฉันรู้จัก 20q รองรับเมทริกซ์แบบกระจัดกระจายและการอัปเดตแบบเพิ่มหน่วย
แก้ไข: ปรากฎว่าคำตอบอยู่ในเน็ตตลอดเวลา โรบิน Burgener ประดิษฐ์อธิบายขั้นตอนวิธีการของเขาในรายละเอียดในของเขายื่น 2005 สิทธิบัตร
มันกำลังใช้อัลกอริทึมการเรียนรู้
k-NN เป็นตัวอย่างที่ดีของสิ่งเหล่านี้