เหนือความคาดหมาย! 'วงเวียน-ไม้บรรทัด' รัน Pokémon ได้ ด้วยการจำลองคอมพิวเตอร์โบราณ

เหนือความคาดหมาย! 'วงเวียน-ไม้บรรทัด' รัน Pokémon ได้ ด้วยการจำลองคอมพิวเตอร์โบราณ

โปรเจกต์ CasNum โดย [0x0mer] เกิดขึ้นจากแนวคิดการสำรวจว่าเครื่องมือทางเรขาคณิตโบราณอย่างวงเวียนและไม้บรรทัด ที่เคยถูกใช้แก้ปัญหาคณิตศาสตร์ซับซ้อน เช่น ปัญหาการสร้างรูปสี่เหลี่ยมจัตุรัสให้มีพื้นที่เท่ากับวงกลมโดยใช้เพียงสองสิ่งนี้ มีความคล้ายคลึงกับระบบคอมพิวเตอร์อย่างไร ด้วยข้อจำกัดที่ไม่สามารถแทนค่า Pi ได้อย่างแม่นยำ ทำให้มันคล้ายคลึงกับข้อจำกัดของคอมพิวเตอร์บางประเภท

หัวใจของ CasNum คือการจำลองการดำเนินการพื้นฐานด้วยวงเวียนและไม้บรรทัด ได้แก่ การสร้างเส้นตรงผ่านสองจุด, การสร้างวงกลมที่มีจุดศูนย์กลางและผ่านอีกจุดหนึ่ง และการหาจุดตัดระหว่างเส้นตรงหรือวงกลม ซึ่งเป็นเพียงไม่กี่การดำเนินการที่สามารถใช้ในการคำนวณได้ ตัวเลขจะถูกแทนด้วยจุดบนระนาบคาร์ทีเซียน และการดำเนินการทางคณิตศาสตร์หรือตรรกะ เช่น การบวกเลขสองจำนวน สามารถทำได้โดยการสร้างจุดกึ่งกลางแล้วเพิ่มระยะห่างจากจุดกำเนิดเป็นสองเท่า โดยมีตัวอย่างการคำนวณที่ซับซ้อนอย่างอัลกอริทึม RSA ให้เห็น

ความสำเร็จที่น่าตื่นเต้นที่สุดคือการที่ [0x0mer] ได้ปรับเปลี่ยน Game Boy emulator เพื่อให้คำสั่ง ALU (Arithmetic Logic Unit) ทำงานด้วยการดำเนินการของวงเวียนและไม้บรรทัด ซึ่งนำไปสู่การรันเกม Pokémon ได้จริง แม้ว่าในการทดสอบจะใช้เวลาประมาณสิบห้านาทีในการบูตระบบ และทำงานด้วยความเร็ว “เกือบจะเล่นได้” ที่ประมาณ 1 เฟรมต่อวินาที ซึ่งเป็นผลมาจากการใช้เทคนิคการแคชอย่างกว้างขวางเพื่อลดเวลาในการคำนวณ ประสิทธิภาพที่ได้นี้จึงถือเป็นความสำเร็จเชิงคุณภาพมากกว่าเชิงปริมาณ

แม้ว่าระบบเสมือนจริงนี้จะเป็นแบบไม่ต่อเนื่อง (discrete) แต่แนวคิดนี้ก็ได้แสดงให้เห็นถึงศักยภาพของวงเวียนและไม้บรรทัดในฐานะคอมพิวเตอร์อนาล็อกอย่างง่ายที่สามารถจัดการกับค่าต่อเนื่อง (continuous values) ได้ เป็นการเชื่อมโยงเทคโนโลยีการคำนวณยุคใหม่เข้ากับเครื่องมือและแนวคิดทางคณิตศาสตร์ที่เก่าแก่ได้อย่างน่าทึ่ง


🏷️ หมวดหมู่: Software Hacks, analog computing, compass and straightedge, emulation

🔗 อ่านบทความฉบับเต็ม: hackaday