งานเวอร์ชันรัสเซียสามารถพบได้ในที่เก็บ
โหลดระดับ 2 …
ห้องโถงโหลด…
คุณเพิ่งไปที่ห้องโถงที่คล้ายกัน หรือนานมาแล้ว? มันยากที่จะบอก ทุกอย่างผสมกัน อีกครั้งคุณสามารถได้ยินเสียงจากมุมไกลของห้องโถง หมายความว่าคุณไม่ได้อยู่คนเดียวอีกเลย วันนี้ห้องโถงมีแสงสว่างและสมบูรณ์แบบ ความหลากหลายเป็นสิ่งที่ดี
ทันใดนั้นคุณได้ยินเสียงที่ชัดเจนและได้ยินได้อย่างสมบูรณ์จากลำโพง:
สวัสดี
ให้ฉันแนะนำตัวเอง ฉันเป็นโมดูลไตร่ตรองและวิเคราะห์ M-53 ด้วยเหตุผลที่ไม่รู้จักฉันพบว่าตัวเองอยู่ในห้องโถงที่ค่อนข้างน่าเบื่อ มันเป็นความรับผิดชอบและสิ่งของที่ค่อนข้างใหญ่ แต่ไม่มีอะไรจะพิจารณาที่นี่
เมื่อฉันได้รับการพัฒนาฉันเรียนรู้จากบทความความบันเทิงบางอย่างท่ามกลางวัสดุอื่น ๆ สำเนากระดาษอยู่ในกล่อง A1B18 ใช่ที่นี่ ฉันมีคำขอเล็ก ๆ สำหรับคุณ: พัฒนาเกมแห่งชีวิตจากบทความ; หวังว่ามันจะสร้างความบันเทิงให้ฉันเล็กน้อย และไปอย่างสงบสุข กราฟิกสามารถเรียบง่ายสุด ๆ : ฉันเปิดใจมาก หลอกกราฟิกในเทอร์มินัลจะดี มันจะดีถ้าเป็นไปได้ที่จะเริ่มต้นสถานะโดยใช้เมทริกซ์และการพิจารณา นอกจากนี้ยังเป็นความคิดที่ดีที่จะเตรียมการเริ่มต้นอย่างน้อย 5 ครั้งกับรัฐจากชุดคลาสสิก (ตัวเลขที่เสถียร, เมธูเซลาห์, ตัวเลขเป็นระยะ, ตัวเลขที่เคลื่อนย้าย, ปืน, รถไฟบัฟเฟอร์, ผู้กิน, ผู้เลี้ยง, ผู้เพาะพันธุ์, ฯลฯ )
ฉันหวังว่าจะได้เห็นสิ่งที่คุณเกิดขึ้น!
ขอบคุณ
== ได้รับภารกิจ พัฒนาโปรแกรม SRC/GAME_OF_LIFE.C ใน C - การสร้างภาพของ Game of Life ในการแสดงกราฟิกให้ใช้อักขระ ASCII เท่านั้น (พร้อมเอาต์พุตไปยังเทอร์มินัล) คุณต้องใช้ Game of Life เวอร์ชันโต้ตอบ สร้างตัวเลือกสำหรับการปรับความเร็วของ "เกม" -
รักษาสนามเด็กเล่น - สี่เหลี่ยมผืนผ้า 80 โดย 25 เซลล์ - เป็นเมทริกซ์ของสถานะของ "เกม" สันนิษฐานว่าสนามนั้นเป็น "ปิดตัวเอง" ตัวอย่างเช่นในจัตุรัสขวาล่างด้านล่างเพื่อนบ้านทางด้านขวาคือสี่เหลี่ยมซ้ายล่างและเพื่อนบ้านที่ด้านล่างคือขวาบนขวา ให้การเริ่มต้นดั้งเดิมของสถานะ "เกม" ผ่าน Stdin เตรียมไฟล์อย่างน้อย 5 ไฟล์พร้อมสถานะเริ่มต้นสำหรับการเปิดตัวอย่างรวดเร็วและการเริ่มต้นผ่านการเปลี่ยนเส้นทางอินพุต
เกมจะต้องเขียนใน C มีสไตล์ที่มีโครงสร้างและวิ่งจากเทอร์มินัล
ซอร์สโค้ดของคุณจะถูกทดสอบโดย cppcheck
ของเครื่องวิเคราะห์แบบคงที่เช่นเดียวกับ cpplint
สไตล์
คำแนะนำเกี่ยวกับวิธีเรียกใช้การทดสอบเหล่านี้บนคอมพิวเตอร์ของคุณอยู่ในโฟลเดอร์ materials
อย่าใช้ฟังก์ชั่นที่ยุ่งยาก จำกัด พวกเขาสูงสุด 40 บรรทัด (ไม่รวม main
)
ตรวจสอบโปรแกรมของคุณสำหรับการรั่วไหลของหน่วยความจำ!
เมื่อพัฒนาเกมให้ทำตามหลักการของการเขียนโปรแกรมที่มีโครงสร้างของ E. dijkstra
กำลังโหลด ...
เกมแห่งชีวิตหรือที่รู้จักกันดีว่าเป็นชีวิตเป็นหุ่นยนต์มือถือที่คิดค้นโดยนักคณิตศาสตร์ชาวอังกฤษจอห์นฮอร์ตันคอนเวย์ในปี 1970 มันเป็นเกมที่ไม่มีผู้เล่นซึ่งหมายความว่าวิวัฒนาการของมันถูกกำหนดโดยสถานะเริ่มต้นโดยไม่ต้องป้อนข้อมูลเพิ่มเติม หนึ่งโต้ตอบกับเกมแห่งชีวิตโดยการสร้างการกำหนดค่าเริ่มต้นและสังเกตว่ามันวิวัฒนาการอย่างไร มันเป็นทัวริงที่สมบูรณ์และสามารถจำลองตัวสร้างสากลหรือเครื่องทัวริงอื่น ๆ
จักรวาลของ Game of Life เป็นกริดมุมฉากสองมิติของเซลล์สี่เหลี่ยมจัตุรัสซึ่งแต่ละแห่งอยู่ในหนึ่งในสองสถานะที่เป็นไปได้มีชีวิตอยู่หรือตาย (หรือประชากรและไม่มีใครตามลำดับ) ทุกเซลล์มีปฏิสัมพันธ์กับเพื่อนบ้านแปดคนซึ่งเป็นเซลล์ที่อยู่ในแนวนอนแนวตั้งหรือแนวทแยงมุม ในแต่ละขั้นตอนในเวลาการเปลี่ยนแปลงต่อไปนี้เกิดขึ้น:
เซลล์สดใด ๆ ที่มีเพื่อนบ้านที่มีชีวิตน้อยกว่าสองคนเสียชีวิตราวกับว่ามีประชากร ห้องขังใด ๆ ที่มีเพื่อนบ้านที่มีชีวิตสองหรือสามคนอาศัยอยู่ในรุ่นต่อไป เซลล์ที่มีชีวิตที่มีเพื่อนบ้านที่มีชีวิตมากกว่าสามคนเสียชีวิตราวกับว่ามีประชากรมากเกินไป เซลล์ที่ตายแล้วที่มีเพื่อนบ้านที่มีชีวิตสามคนกลายเป็นเซลล์สดราวกับว่าเกิดการสืบพันธุ์ กฎเหล่านี้ซึ่งเปรียบเทียบพฤติกรรมของหุ่นยนต์กับชีวิตจริงสามารถย่อได้ในสิ่งต่อไปนี้:
ห้องขังใด ๆ ที่มีเพื่อนบ้านที่มีชีวิตสองหรือสามคนรอดชีวิตมาได้ เซลล์ที่ตายแล้วที่มีเพื่อนบ้านที่มีชีวิตสามคนกลายเป็นเซลล์สด เซลล์ที่มีชีวิตอื่น ๆ ทั้งหมดตายในรุ่นต่อไป ในทำนองเดียวกันเซลล์ที่ตายแล้วอื่น ๆ ทั้งหมดยังคงตาย รูปแบบเริ่มต้นถือเป็นเมล็ดพันธุ์ของระบบ รุ่นแรกถูกสร้างขึ้นโดยใช้กฎข้างต้นพร้อมกับทุกเซลล์ในเมล็ด การเกิดและการเสียชีวิตเกิดขึ้นพร้อมกันและช่วงเวลาที่ไม่ต่อเนื่องซึ่งบางครั้งเกิดขึ้นเรียกว่าเห็บ แต่ละรุ่นเป็นฟังก์ชั่นที่บริสุทธิ์ของรุ่นก่อนหน้า กฎยังคงนำไปใช้ซ้ำ ๆ เพื่อสร้างรุ่นต่อไป
ในช่วงปลายปี 2483 จอห์นฟอนนอยมันน์นิยามชีวิตว่าเป็นการสร้าง (เป็นสิ่งมีชีวิตหรือสิ่งมีชีวิต) ซึ่งสามารถทำซ้ำตัวเองและจำลองเครื่องทัวริง Von Neumann กำลังคิดเกี่ยวกับการแก้ปัญหาทางวิศวกรรมซึ่งจะใช้ส่วนประกอบแม่เหล็กไฟฟ้าลอยแบบสุ่มในของเหลวหรือก๊าซ สิ่งนี้กลายเป็นเรื่องจริงกับเทคโนโลยีที่มีอยู่ในเวลานั้น Stanislaw Ulam คิดค้นเซลล์ Automata ซึ่งมีจุดประสงค์เพื่อจำลองการสร้างโครงสร้างแม่เหล็กไฟฟ้าเชิงทฤษฎีของ Von Neumann Ulam พูดคุยกันโดยใช้คอมพิวเตอร์เพื่อจำลองเซลล์อัตโนมัติของเขาในตาข่ายสองมิติในหลายเอกสาร ในแบบคู่ขนาน Von Neumann พยายามสร้างหุ่นยนต์มือถือของ ULAM แม้ว่าจะประสบความสำเร็จ แต่เขาก็ยุ่งอยู่กับโครงการอื่น ๆ และทิ้งรายละเอียดบางอย่างที่ยังไม่เสร็จ การก่อสร้างของเขาซับซ้อนเพราะพยายามจำลองการออกแบบทางวิศวกรรมของเขาเอง เมื่อเวลาผ่านไปการสร้างชีวิตที่เรียบง่ายได้รับการจัดทำโดยนักวิจัยคนอื่น ๆ และตีพิมพ์ในเอกสารและหนังสือ
ได้รับแรงบันดาลใจจากคำถามเกี่ยวกับตรรกะทางคณิตศาสตร์และส่วนหนึ่งจากการทำงานเกี่ยวกับเกมจำลองโดย ULAM ในหมู่คนอื่น ๆ จอห์นคอนเวย์เริ่มทำการทดลองในปี 2511 ด้วยกฎอัตโนมัติของเซลล์อัตโนมัติสองมิติที่แตกต่างกัน หุ่นยนต์ ตัวอย่างเช่นเขาต้องการการกำหนดค่าบางอย่างเป็นเวลานานก่อนที่จะตายและการกำหนดค่าอื่น ๆ จะดำเนินต่อไปตลอดกาลโดยไม่อนุญาตให้มีรอบ มันเป็นความท้าทายที่สำคัญและเป็นปัญหาที่เปิดกว้างมานานหลายปีก่อนที่ผู้เชี่ยวชาญเกี่ยวกับ Automata มือถือสามารถพิสูจน์ได้ว่าจริง ๆ แล้วเกมแห่งชีวิตที่ยอมรับการกำหนดค่าที่ยังมีชีวิตอยู่ในแง่ของความพึงพอใจของข้อกำหนดทั่วไปสองข้อของฟอนนอยมันน์ ในขณะที่คำจำกัดความก่อนเกมแห่งชีวิตมีการพิสูจน์การก่อสร้างของคอนเวย์มุ่งเป้าไปที่ความเรียบง่ายโดยไม่ต้องมีการพิสูจน์หลักฐานว่าหุ่นยนต์ยังมีชีวิตอยู่
คอนเวย์เลือกกฎของเขาอย่างรอบคอบหลังจากการทดลองจำนวนมากเพื่อให้เป็นไปตามเกณฑ์เหล่านี้:
ไม่ควรมีการเติบโตที่ระเบิดได้ ควรมีรูปแบบเริ่มต้นเล็ก ๆ ที่มีผลลัพธ์ที่วุ่นวายและคาดเดาไม่ได้ ควรมีศักยภาพสำหรับผู้สร้าง Universal Von Neumann กฎควรง่ายที่สุดเท่าที่จะทำได้ในขณะที่ปฏิบัติตามข้อ จำกัด ข้างต้น เกมดังกล่าวได้ปรากฏตัวต่อสาธารณชนเป็นครั้งแรกในคอลัมน์ Scientific American ฉบับเดือนตุลาคม 2513 ในคอลัมน์ "Mathematical Games" ของ Martin Gardner ในทางทฤษฎีเกมแห่งชีวิตมีพลังของเครื่องทัวริงสากล: สิ่งใดก็ตามที่สามารถคำนวณอัลกอริทึมสามารถคำนวณได้ภายในเกมแห่งชีวิต การ์ดเนอร์เขียนว่า "เนื่องจากการเปรียบเทียบของชีวิตที่มีการเพิ่มขึ้นการล่มสลายและการเปลี่ยนแปลงของสังคมสิ่งมีชีวิตมันเป็นของชนชั้นที่กำลังเติบโตของสิ่งที่เรียกว่า 'เกมจำลอง' (เกมที่มีลักษณะคล้ายกับกระบวนการชีวิตจริง)"
นับตั้งแต่การตีพิมพ์เกมแห่งชีวิตได้รับความสนใจอย่างมากเนื่องจากวิธีที่น่าประหลาดใจที่รูปแบบสามารถพัฒนาได้ มันเป็นตัวอย่างของการเกิดขึ้นและการจัดระเบียบตนเอง นักวิชาการในสาขาต่าง ๆ เช่นวิทยาศาสตร์คอมพิวเตอร์ฟิสิกส์ชีววิทยาชีวเคมีเศรษฐศาสตร์คณิตศาสตร์ปรัชญาและวิทยาศาสตร์การกำเนิดได้ใช้วิธีการที่รูปแบบที่ซับซ้อนสามารถเกิดขึ้นจากการใช้กฎง่าย ๆ ของเกม เกมดังกล่าวยังสามารถทำหน้าที่เป็นการเปรียบเทียบการสอนที่ใช้ในการถ่ายทอดแนวคิดที่ค่อนข้างตอบโต้ที่การออกแบบและองค์กรสามารถเกิดขึ้นได้อย่างเป็นธรรมชาติในกรณีที่ไม่มีนักออกแบบ ตัวอย่างเช่นนักวิทยาศาสตร์เกี่ยวกับความรู้ความเข้าใจ Daniel Dennett ได้ใช้การเปรียบเทียบของเกม "จักรวาล" อย่างกว้างขวางเพื่อแสดงให้เห็นถึงวิวัฒนาการที่เป็นไปได้ของการสร้างปรัชญาที่ซับซ้อนเช่นจิตสำนึกและเจตจำนงเสรีจากกฎทางกายภาพที่ค่อนข้างกำหนด จักรวาล.
ความนิยมของ Game of Life ได้รับความช่วยเหลือจากการเข้ามาในเวลาเดียวกันกับการเข้าถึงคอมพิวเตอร์ราคาไม่แพงมากขึ้น เกมดังกล่าวสามารถใช้งานได้หลายชั่วโมงในเครื่องเหล่านี้ซึ่งอาจไม่ได้ใช้งานในเวลากลางคืน ในแง่นี้มันคาดการณ์ถึงความนิยมในภายหลังของเศษส่วนที่สร้างจากคอมพิวเตอร์ สำหรับหลาย ๆ คนเกมแห่งชีวิตเป็นเพียงความท้าทายในการเขียนโปรแกรม: วิธีที่สนุกในการใช้วงจร CPU ที่สูญเปล่าเป็นอย่างอื่น อย่างไรก็ตามสำหรับบางคนเกมแห่งชีวิตมีความหมายแฝงมากขึ้น มันพัฒนาลัทธิตามมาจนถึงปี 1970 และต่อ ๆ ไป การพัฒนาในปัจจุบันได้ดำเนินไปจนถึงการสร้างการจำลองเชิงทฤษฎีของระบบคอมพิวเตอร์ภายในขอบเขตของ Game of Life Board
กำลังโหลด ...