- เกมชีวิตของคอนเวย์ (Conway’s Game of Life) ฟอรัมรายงานการสร้างรูปแบบ ยานอวกาศ 1D (1D spaceship) ที่มีความยาวราว 3.7 พันล้านเซลล์ (3.7B)
- รูปแบบนี้เคลื่อนไปด้วยความเร็ว 133,076,755,768 เจเนอเรชัน ต่อรอบ โดยกล่องขอบเขตเริ่มต้นมีขนาด 3707300605×1 เซลล์
- นักพัฒนาได้ผสมผสานระบบการก่อสร้างสี่แบบ คือ ECCA1·ECCA2 แขนก่อสร้างแบบอัดแน่น (compressed construction arm), binary arm , fuse arm เพื่อสร้างกระบวนการ การทำสำเนาอัตโนมัติ การทำความสะอาด และการรีสตาร์ต
- การจำลองถูกตรวจสอบในสภาพแวดล้อม Golly และ lifelib โดย apg(calcyman) ได้เพิ่มโค้ดยืนยันรอบสมบูรณ์ลงในรีโปซิทอรี
- การค้นพบนี้ได้รับการยกย่องว่าเป็นกรณีตัวอย่างที่แสดงถึงความก้าวหน้าของเทคนิค slow salvo และ เครื่องมืออัตโนมัติสำหรับแพตเทิร์นขนาดยักษ์
รายงานการเสร็จสมบูรณ์ของยานอวกาศ 1D
- Hippo.69 ประกาศว่าได้เสร็จรูปแบบ ยานอวกาศความเร็ว
2c/133076755768 ซึ่งเดินหน้า 2 เซลล์ต่อหนึ่งรอบ
- ช่วงพิกัดแกน y อยู่ที่ประมาณ ±5,537,521,000 และค่าพิกัด x สูงสุดประมาณ 11,075,626,500
- apg(calcyman) ยืนยันผ่านการจำลองทั้งหมดว่ารูปแบบทำงานปกติ และแก้ไขค่าความผิดพลาดของรอบ
- เวอร์ชันที่เสร็จสมบูรณ์ถูกแชร์ผ่านไฟล์
.mc หลายไฟล์ (example.mc, example_42168M.mc, example_46000M.mc) ทำให้สามารถเล่นทีละขั้นใน Golly ได้
กระบวนการจำลองและดีบัก
- ในการดีบักเบื้องต้นพบว่ามีปัญหา Cordership สร้าง glider ย้อนทางที่ก่อให้เกิดความเสียหายแบบ SoD (Stop of Destruction)
- มีการแก้ไข “switch far seed” เพื่อคำนวณผลของ glider นี้เพิ่มเติม
- การจำลองใช้การปรับแต่ง Hashlife ของ lifelib ช่วยให้รันข้ามไปได้หลายสิบล้านรอบได้อย่างรวดเร็ว
- สคริปต์ Lua ที่อิงบน
BigNum ใน Golly อัตโนมัติการกระโดดจำนวนรอบขนาดใหญ่ และบันทึกจุดตรวจสอบในเหตุการณ์สำคัญ เช่น การเริ่ม ecca2 และการมาถึงของ cordership
โครงสร้างและกลไกการทำงาน
- ระบบทั้งหมดประกอบด้วยแขนก่อสร้างสี่ชุด
- Fuse arm: สร้างและเริ่มต้นสัญญาณมิติหนึ่งจากการใช้งาน blinker
- Binary arm: ตีความสัญญาณบิตจากการรวมของ glider สองตัวเพื่อสร้างโครงสร้าง
- ECCA1 / ECCA2: แขนก่อสร้างความหนาแน่นสูงที่แปลคำสั่งอัดเพื่อทำความสะอาดรูปแบบและเตรียมรอบถัดไป
- ในขั้นตอนสุดท้าย ECCA2 ยิง ฝูงยาน cordership (corderfleet) ออกไปเพื่อกำจัดรูปแบบที่เหลืออยู่ และสุดท้ายคืนกลับสู่ สถานะ 1 มิติ (y=0)
- ทุกกระบวนการถูกออกแบบให้สมมาตรครบถ้วน โดยทั้งสองด้านทำงานเหมือนกันเมื่ออ้างอิงแกนกลาง (spine)
การพัฒนาและความร่วมมือ
- โครงการเสร็จสมบูรณ์ผ่านความร่วมมือระหว่าง calcyman(apg) และ Hippo.69
- calcyman ออกแบบครึ่งแรกช่วงต้น (โครงสร้างแขนและโค้ดฐาน)
- Hippo.69 ทำงานด้านการล้างซิงโครไนซ์และดีบักที่เหลืออยู่ต่อเนื่องอีกหลายปี
- ผู้ใช้ในฟอรัมเสนอชื่อว่า “Arrow 1” หรือ “** Unidimensional Spaceship 1**”
- สมาชิกชุมชนเช่น hth3, I6_I6 ได้ลองจำลองใน Golly และฝากข้อความแสดงความยินดีไว้
ความสำคัญทางเทคนิค
- ยานอวกาศนี้เป็นรูปแบบการทำสำเนาอัตโนรรมติขนาดใหญ่ตัวแรกที่เคลื่อนไหวในรูปแบบ 1 มิติ และยืนยันระดับความซับซ้อนด้านคณิตศาสตร์คำนวณใหม่ในเกมชีวิต
- เทคโนโลยีล่าสุดอย่าง การอัตโนมัติแบบ slow salvo, เครื่องถอดรหัสอัด ECCA และการควบคุม Cordership ถูกนำมาใช้ครบชุด
- นักวิจัยกำลังวางแผนการปรับปรุงต่อไปเพื่อย่อขนาดและเพิ่มความเร็ว และกำลังพิจารณาตีพิมพ์เอกสารที่เกี่ยวข้อง
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ตอนแรกก็เริ่มอ่านแบบ “โอ้ น่าสนใจนี่” แต่ไม่คิดเลยว่าจะมีศัพท์เฉพาะของชุมชน Game of Lifeเยอะขนาดนี้
มีคำอย่าง ECCA1, gpse90 โผล่มาไม่หยุด จนรู้สึกว่าสุดท้ายคงต้องไปอ่านวิกิอยู่หลายชั่วโมง
น่าทึ่งที่มันเริ่มจากเส้นเรียบง่าย แล้วระเบิดกลายเป็นโครงสร้าง 2D ซับซ้อนขนาดมหึมา ก่อนจะผ่านไปนับไม่ถ้วนหลาย generation แล้วกลับมาเป็นเส้นยาว 3.7B เซลล์อีกครั้ง
อยากให้มีใครสักคนช่วยวิเคราะห์หน่วยนามธรรมที่อยู่ข้างในนี้
การอ่านคำอธิบายยาว ๆ ในฟอรัม GoL ให้ความรู้สึกเหมือนคู่ชีวิตของฉันตอนต้องมานั่งฟังประชุมงานใน Zoomของฉันเลย การพรั่งพรูของศัพท์เฉพาะนี่สุดยอดจริง ๆ
“พระเจ้า นี่มัน Quine ชัด ๆ!”
เมื่อเอาลำดับเชิงเส้นของบิตไปตีความเป็นบอร์ด Game of Life มันคือโครงสร้างที่คัดลอกตัวเองโดยเลื่อนไปทางขวาสองพิกเซล
มันยากกว่าการทำซ้ำแบบธรรมดา แต่การมองว่ามันเป็นตัวจำลองตัวเองแบบเทปที่พิมพ์โค้ดของตัวเองเลื่อนไป 2 พิกเซลนั้นงดงามมาก
มีคนบอกว่า “ช่วงเริ่มต้นมันช้า ให้ข้ามไปที่ generation 42168M เลย” แล้วมันก็ทำให้นึกถึงภาพสิ่งมีชีวิตที่มองจักรวาลเป็นของเล่นแล้วพูดว่า “รอไปสัก 13.8B ปีแล้วจะเริ่มสนุกเอง”
มีคำถามเปิดที่น่าสนใจอยู่สองข้อใน Game of Life
โอกาสที่ชีวิตจะเกิดจากสถานะตั้งต้นแบบสุ่มนั้นแทบเป็นศูนย์ แต่ชีวิตก็มีศักยภาพที่จะวิวัฒน์ได้
ฉันเคยทำงานทดลอง glider แบบเคลื่อนที่ต่อเนื่อง ไว้อันหนึ่ง — glider.gif
ฉันสงสัยว่ามีภาพแสดง glider ไหม อยากเห็นมันโดยใช้แกนเวลาเป็นอีกหนึ่งมิติ
มันเป็นโครงสร้างที่อยู่ในกรอบสูง 1 เซลล์ได้เฉพาะบางช่วงเท่านั้น
ถึงอย่างนั้นความหลงใหลและความใส่ใจที่อัดแน่นอยู่ในเธรดนี้ก็น่าประทับใจมาก
เมื่อปี 1995 ฉันเคยได้รับอีเมลจากคนชื่อ John Conway ตอนนั้นก็แค่เพราะข้อความที่ฉันเขียนในกลุ่มข่าวคณิตศาสตร์ แต่กว่าจะมารู้ทีหลังก็พบว่าเขาคือ Conway คนนั้นเอง
ตอนนี้พอมองโลก GoL อันน่าทึ่งนี้ ก็อดคิดไม่ได้ว่ามนุษยชาติควรนำศักยภาพด้านความสร้างสรรค์แบบนี้ไปใช้กับอะไร