Biham-Middleton-Levineเป็นระบบอัตโนมัติเซลลูลาร์ที่จัดระเบียบตัวเองซึ่งจำลองรูปแบบการรับส่งข้อมูลที่ง่ายขึ้น
ประกอบด้วยจำนวนรถยนต์ที่เป็นตัวแทนจากจุดบนโครงตาข่ายที่มีตำแหน่งเริ่มต้นแบบสุ่มซึ่งรถแต่ละคันอาจเป็นหนึ่งในสองประเภท: รถยนต์ที่เลื่อนลงด้านล่างเท่านั้น ขวา (แสดงเป็นสีแดงในบทความนี้) รถยนต์ทั้งสองประเภทเลี้ยวไปไหนมาไหน ในแต่ละเทิร์นทุกคันสำหรับประเภทที่เกี่ยวข้องล่วงหน้าหนึ่งก้าวหากพวกเขาไม่ได้ถูกบล็อคโดยรถคันอื่น
งานของคุณคือการมองเห็นโมเดลนี้เป็นภาพเคลื่อนไหว นี่คือการสาธิตที่ดี
อินพุต
จำนวนจุดลอยตัวระหว่าง 0 ถึง 1 แสดงถึงความหนาแน่นและจำนวนเต็มสองจำนวนแทนความสูงและความกว้างของตารางที่แสดง สมมติว่าอินพุตถูกต้องและพารามิเตอร์ของฟังก์ชันหรือการอ่านจากอินพุตของผู้ใช้นั้นใช้ได้ทั้งคู่
ตัวอย่าง: 0.38 144 89
(สอดคล้องกับภาพด้านบน)
เอาท์พุต
กริดอย่างน้อย 80x80 ที่แสดงภาพเคลื่อนไหวของรุ่นนี้ทำงาน ในตอนแรกรถยนต์จะถูกสุ่มวางบนกริดจนกระทั่งกริดถึงความหนาแน่นอินพุตด้วยสีแดงครึ่งและสีน้ำเงินครึ่ง (นั่นคือความหนาแน่นคูณด้วยจำนวนรวมของกริดสแควร์ส ความหนาแน่นต้องเป็นค่านี้ซึ่งหมายความว่าคุณไม่สามารถเติมความหนาแน่นของแต่ละเซลล์ให้เต็มความน่าจะเป็น ในแต่ละขั้นตอนรถประเภทหนึ่งอาจเลื่อนลงหรือหมุนไปทางขวาหากว่าผ่านไปได้ ประเภทของรถยนต์ที่เคลื่อนที่สลับในแต่ละขั้นตอน ในการทำให้ภาพเคลื่อนไหวสามารถดูได้ต้องมีอย่างน้อย 10 ms ระหว่างแต่ละขั้นตอน
กฎระเบียบ
รถยนต์สามารถเป็นสีหรือสัญลักษณ์ใด ๆ ตราบเท่าที่พวกเขาสามารถแยกออกจากกันและพื้นหลังและรถแต่ละประเภทเป็นสีหรือสัญลักษณ์เดียวกัน
ทั้งคอนโซลและเอาต์พุตกราฟิกได้รับอนุญาต สำหรับเอาต์พุตคอนโซลสัญลักษณ์ที่พิมพ์ได้ใด ๆ นั้นใช้ได้ แต่เอาต์พุตต้องเป็นกริดของอักขระ
โปรดระบุประเภทผลลัพธ์ที่คุณได้รับหากคุณไม่มีภาพหน้าจอหรือ gif
การจำลองจะต้องทำงานตลอดไป
ผลลัพธ์เป็นบิตที่ซับซ้อนดังนั้นหากคุณมีคำถามใด ๆ โปรดแสดงความคิดเห็น