2d cellular automata Wolfram รหัสไบนารี

Aug 17 2020

นี่เป็นคำถามที่คล้ายกันกับกฎ 2d cellular automata ทำงานอย่างไร อย่างไรก็ตามคำตอบไม่ได้ให้สิ่งที่ฉันกำลังมองหา โดยเฉพาะอย่างยิ่งฉันต้องการที่จะสามารถแสดงผลแบบฟอร์มอัตโนมัติมือถือ 2d เหล่านี้:https://www.wolframscience.com/nks/p173--cellular-automata/ฉันไม่พบข้อมูลอ้างอิงใด ๆ ที่อธิบายวิธีการเปลี่ยนระหว่างจำนวนจริงและกฎการเติบโต ใน 1d สถานการณ์ได้รับการบันทึกไว้อย่างดีเช่นที่นี่:https://mathworld.wolfram.com/ElementaryCellularAutomaton.htmlแต่ใน 2d ไม่พบการแมปบิตที่แน่นอน ฉันต้องการสร้างโปรแกรมจริงๆเพื่อให้ฉันสามารถป้อนหมายเลข 465 และมันจะวาดรูปแบบ 465 จากหนังสือ Wolfram คำตอบการแลกเปลี่ยนสแต็กอื่น ๆ ที่ฉันเชื่อมโยงกับด้านบนให้การแมปไบนารีที่เป็นไปได้อย่างไรก็ตามวิธีการที่ระบุไว้นั้นไม่ได้สร้างตัวเลขเดียวกันกับในการอ้างอิง Wolfram ค่าไบนารีของ 465 คือ 111010001 ซึ่งไม่ได้ช่วยอะไรฉันเลย รูปร่างเฉพาะนี้ขึ้นอยู่กับการเพิ่มเซลล์เมื่อเพื่อนบ้านคนหนึ่งถูกครอบครองดังนั้นเราไม่ควรคาดหวังว่าจะมี 4 1 ในแถวหนึ่งสำหรับแต่ละเพื่อนบ้านทั้งสี่? และเพื่อให้สิ่งนี้สับสนมากขึ้นตัวเลขสองหลักสุดท้ายดูเหมือนจะถูกสลับจากคำอธิบายที่ให้ไว้ในหน้า Wolfram เอง ... ดูเหมือนจะชัดเจนจากคำตอบ Stack Overflow อื่น ๆ ว่าไม่มีการทำแผนที่ไบนารีเพียงตัวเดียว แต่มีจำนวนมาก เนื่องจากมีคำแนะนำพร้อมรูปภาพที่อ้างอิงตามหมายเลขกฎอยู่แล้วฉันอยากจะใช้หมายเลขกฎเฉพาะเหล่านั้นจริงๆ ขอบคุณ.

คำตอบ

1 IlmariKaronen Aug 18 2020 at 00:15

คำอธิบายที่ระบุในหน้าที่คุณเชื่อมโยงนั้นถูกต้อง:

"ในแต่ละกรณีลำดับเลขฐาน 2 หลักสำหรับหมายเลขรหัสจะระบุกฎดังนี้ตัวเลขสุดท้ายจะระบุว่าเซลล์กลางควรเป็นสีอะไรถ้าเพื่อนบ้านทั้งหมดเป็นสีขาวในขั้นตอนก่อนหน้าและเป็นสีขาวด้วย หลักสุดท้ายระบุว่าจะเกิดอะไรขึ้นถ้าเพื่อนบ้านทั้งหมดเป็นสีขาว แต่เซลล์ตรงกลางนั้นเป็นสีดำและตัวเลขแต่ละตัวก่อนหน้านี้จะระบุสิ่งที่จะเกิดขึ้นหากเพื่อนบ้านเป็นสีดำมากขึ้นเรื่อย ๆ (เปรียบเทียบหน้า 60)

สิ่งที่คุณอาจขาดหายไปคือถ้าหมายเลขกฎเป็นเลขคี่ช่องว่างเปล่าจะไม่เสถียรเนื่องจากเซลล์สีขาวที่ล้อมรอบด้วยเซลล์สีขาวอื่น ๆ จะเปลี่ยนเป็นสีดำโดยธรรมชาติ โดยเฉพาะกฎใด ๆ ที่มีจำนวนเท่ากันกับ 1 โมดูโล 4 (เช่นรูปแบบไบนารีที่ลงท้ายด้วย 01) เช่น 465 คือ"การลากเส้น"กล่าวคือช่องว่างจะสลับระหว่างสีขาวทั้งหมดและสีดำทั้งหมดในแต่ละรุ่นที่ต่อเนื่องกัน

โดยเฉพาะอย่างยิ่งนั่นหมายความว่ากฎ 465 ไม่สามารถสอดคล้องกับ "การเพิ่มเซลล์เมื่อเพื่อนบ้านถูกครอบครองในปัจจุบัน" (ซึ่งน่าจะเป็นกฎ 686 หรือ 1010101110 ในไบนารี)

ตามที่คุณทราบอย่างถูกต้อง 465 เท่ากับ 111010001 ในไบนารี เขียนเป็นห้ากลุ่มกลุ่มละสองบิตซึ่งให้ 01 11 01 00 01 ในแต่ละกลุ่มบิตขวาสุดในกลุ่ม$k$ (เลขจากขวาไปซ้ายจาก 0 ถึง 4) คือ 1 ถ้าเซลล์สีขาวมี $k$ เพื่อนบ้านสีดำจะเปลี่ยนเป็นสีดำในรุ่นถัดไปและบิตซ้ายสุดคือ 1 หากมีเซลล์สีดำด้วย $k$ เพื่อนบ้านสีดำจะยังคงเป็นสีดำ

ซึ่งหมายความว่าภายใต้กฎนี้เซลล์สีขาวจะเปลี่ยนเป็นสีดำหากมีเพื่อนบ้านสีดำ 0, 2, 3 หรือ 4 (เนื่องจากบิตขวาสุดคือ 1 ในกลุ่ม 0, 2, 3 และ 4 นับจากทางขวา) และสีดำ เซลล์จะยังคงเป็นสีดำหากมีเพื่อนบ้านสีดำ 3 ตัว (เนื่องจากบิตซ้ายสุดคือ 1 เฉพาะในกลุ่ม 3)

และแน่นอนว่าการจำลองกฎนี้เป็นเวลา 22 ชั่วอายุคนโดยเริ่มจากพิกเซลสีดำหนึ่งพิกเซลบนพื้นหลังสีขาวทำให้เกิดภาพที่ตรงกับหนึ่งในหน้าที่เชื่อมโยง


Ps. ปรากฎว่ากฎ 465 เป็น"ความเท่าเทียมกันของการลากเส้น"ของกฎสภาวะสมมาตร 558 = 01000101110 2ซึ่งแตกต่างจากกฎ 686 ตรงหนึ่งบิตและสามารถอธิบายได้ว่า "เพิ่มเซลล์เมื่อเพื่อนบ้านถูกครอบครองให้ลบ a เซลล์เมื่อเพื่อนบ้านว่างตรงกัน ".

เริ่มต้นจากเซลล์เดียวดูเหมือนว่ากฎ 558 และ 686 มีวิวัฒนาการเหมือนกันเนื่องจากจากจุดเริ่มต้นนี้ดูเหมือนว่าพวกเขาไม่เคยสร้างเซลล์ที่มีชีวิตที่มีเพื่อนบ้านที่มีชีวิตอยู่สามตัว ดังนั้นในรุ่นที่มีเลขคู่กฎการลากเส้น 465 ก็มีลักษณะเหมือนกันสำหรับทั้งคู่