หนึ่งในคุณสมบัติที่ดีของภาษาทัวริงที่สมบูรณ์คือมันสามารถใช้ในการเขียนโปรแกรมใด ๆ ได้ถึงและรวมถึงการจำลองของจักรวาลทั้งหมด
งานของคุณคือการทำตรงนั้น: เขียนโปรแกรมซึ่งจำลองจักรวาล
หมายเหตุ: แม้ว่าฉันไม่สงสัยเลยว่าคุณจะสามารถทำงานนี้ได้สำเร็จ แต่ทุกวันนี้ฉันไม่มีเวลาพอที่จะตรวจสอบว่าอนุภาคทั้งหมด 10 90ในการจำลองของคุณทำสิ่งที่พวกเขาควรทำจริง ๆ หรือไม่ ดังนั้นเพื่อให้การทดสอบและประเมินผลง่ายขึ้นเพียงอย่างเดียวก็เพียงพอแล้วหากเครื่องจำลองจักรวาลของคุณใช้งานได้กับอนุภาคเริ่มต้นเดียวเท่านั้น เพื่อให้สิ่งต่าง ๆ น่าสนใจสมมติว่าอนุภาคนี้คือ Higgs Boson ที่เพิ่งค้นพบ
จักรวาลของคุณเริ่มต้นด้วยไม่มีอะไรนอกจากฮิกส์โบซอนเพียงหนึ่งเดียวที่มีค่าประมาณ 120 GeV อยู่ตรงกลาง เพื่อไม่ให้เอาท์พุตยาวเกินไปขอให้จักรวาลนี้ทำเครื่องหมายที่ 10 -25วินาทีแทน "อัตรานาฬิกาปกติ" ที่ 5.4 × 10 −44วินาที
Higgs boson นี้จะสลายตัวไม่ช้าก็เร็วเพราะมันมีครึ่งชีวิต 1.6 × 10 −22วินาทีดังนั้นในทุก ๆ การจำลองสถานการณ์นั้นมีโอกาสที่จะสลายตัว 0.0433% คุณสามารถตรวจสอบที่นี่สิ่งที่มันจะสลายตัวลงไป ในการมีความต้องการส่วนกลางและเรียบง่ายฉันจะแสดงอัตราส่วนการแตกแขนงที่คุณควรใช้:
ใช้การจำลอง
ทุก ๆ การจำลองฮิกส์โบซอนมีโอกาสที่จะสลายตัว 0.0433% หากสิ่งนั้นเกิดขึ้นมันจะสลายตัวเป็นอนุภาคต่อไปนี้โดยมีความน่าจะเป็นที่ระบุไว้ (คุณควรใช้ชื่อเหล่านี้ในผลลัพธ์)
- ควาร์กด้านล่าง + antiquark ด้านล่าง (64.8%)
- 2 W bosons (14.1%)
- 2 กลูออน (8.82%)
- tau lepton + antitau lepton (7.04%)
- Charm quark + เสน่ห์โบราณวัตถุ (3.27%)
- 2 Z bosons (1.59%)
- โฟตอน 2 อัน (0.223%)
- 1 Z boson + 1 โฟตอน (0.111%)
- muon + antimuon (0.0244%)
- quark สูงสุด + antiquark สูงสุด (0.0216%)
รวม 100%
อนุภาคเหล่านี้บางส่วนจะสลายตัวต่อไป
W boson : ครึ่งชีวิต 10 -25วินาทีนี่หมายถึงโอกาส 50% ที่จะสลายตัวในทุก ๆ เห็บเป็นหนึ่งในสิ่งต่อไปนี้โดยมีความน่าจะเป็นที่เท่ากัน:
- โพซิตรอน + นิวตริโน
- antimuon + neutrino
- antitau lepton + neutrino
Z boson : ครึ่งชีวิต 10 -25วินาทีนี่หมายถึงโอกาส 50% ที่จะสลายตัวในทุก ๆ เห็บเป็นหนึ่งในสิ่งต่อไปนี้:
- นิวตริโน + antineutrino (20.6%)
- อิเล็กตรอน + โพซิตรอน (3.4%)
- muon + antimuon (3.4%)
- tau lepton + antitau lepton (3.4%)
- quark ดาวน์ + ดาวน์ antiquark (15.2%)
- quark แปลก + antiquark แปลก ๆ (15.2%)
- ควาร์กด้านล่าง + antiquark ด้านล่าง (15.2%)
- quark เพิ่มขึ้น + antiquark (11.8%)
- Charm Quark + เสน่ห์โบราณวัตถุ (11.8%)
top quark : ครึ่งชีวิต 5 × 10 -25วินาทีซึ่งหมายความว่ามีโอกาส 12.95% ที่จะสลายตัวในทุกจุดต่อไปนี้โดยมีความน่าจะเป็นที่เท่ากัน:
- W boson + ควาร์กลง
- W boson + ควาร์กแปลก ๆ
- W boson + ควาร์กด้านล่าง
แน่นอน W boson จะสลายตัวเร็ว ๆ นี้ ...
antiquark ด้านบนมีลักษณะการทำงานคล้าย ๆ กับควาร์กด้านบน: จะสลายตัวเป็น Boson W และโฆษณา / s / b antiquark
อนุภาคอื่น ๆ ทั้งหมด (เพื่อให้ทุกคนยกเว้นสำหรับ Z และ W bosons และควาร์กบน) มีครึ่งชีวิตของการสั่งซื้อหลายขนาดอีกต่อไปเพื่อที่จะไม่ถ่วงเอาท์พุทที่พวกเขาได้รับการพิจารณาทั้งหมดที่มั่นคงสำหรับการจำลองของเรา
ในขณะที่เอกภพนั้นว่างเปล่าอนุภาคทั้งหมดจะมีพื้นที่เพียงพอสำหรับตัวเองและจะไม่โต้ตอบกัน ดังนั้นอนุภาคแต่ละอนุภาคจึงเป็นอิสระจากกันในทุก ๆ ด้านรวมถึงความน่าจะเป็นของการแยก
เอาท์พุท:
ทุกเห็บของการจำลองคุณจะต้องพิมพ์เนื้อหาของเอกภพจำลองเข้าไปในบรรทัดใหม่ ตัวอย่างเช่น:
The universe contains 1 Higgs boson.
The universe contains 1 Higgs boson.
The universe contains 1 Higgs boson.
The universe contains 1 Higgs boson.
The universe contains 2 W bosons.
The universe contains 2 W bosons.
The universe contains 1 W boson, 1 positron and 1 neutrino.
The universe contains 1 positron, 1 antitau lepton and 2 neutrinos.
Simulation ended after 0.8 yoctoseconds.
ลำดับของอนุภาคในสายไม่สำคัญ อย่างไรก็ตามการจัดรูปแบบต้องตรงตามตัวอย่างข้างต้นรวมถึงเครื่องหมายวรรคตอนและการแยกส่วน หากคุณจำลองเอกภพทั้งหมด (มินิ -) มันควรจะดูดี (และฉันต้องการกำจัดการทารุณกรรมจากข้อกำหนดด้านเอาต์พุตที่ไม่เข้มงวดพอ)
แต่ละบรรทัดสอดคล้องกับ 0.1 yoctoseconds แต่คุณจะได้รับการอภัยหากใช้เวลานานกว่านั้นเพื่อให้โปรแกรมของคุณพิมพ์เอาต์พุต
การจำลองสิ้นสุดลงเมื่อเหลือ แต่อนุภาค "เสถียร" เท่านั้น
เกณฑ์การให้คะแนน
บังคับใช้กฎกอล์ฟมาตรฐาน
ตัวสร้างตัวเลขสุ่มสามารถสุ่มหลอกได้ แต่คุณต้องทำการเพาะหากภาษาไม่ได้ทำการเพาะโดยค่าเริ่มต้น การกระจายความน่าจะเป็นของ RNG ของคุณจะต้องเหมือนกัน
- คุณจะได้รับโบนัส -10% ตามขนาดรหัสหากโปรแกรมใช้จำนวนเต็มเป็นอินพุตและเริ่มต้นด้วย Higgs bosons จำนวนมาก
ข้อยกเว้นสำหรับผู้ที่ชื่นชอบเครื่องทัวริง
สำหรับผู้ที่กล้าลองเสี่ยงโชคกับเครื่องทัวริงจริงหรือภาษาที่คล้ายกัน (เช่น Brainfuck) งานของพวกเขาจะง่ายขึ้นโดยการเปลี่ยนแปลงกฎต่อไปนี้(ใช้ได้เฉพาะในกรณีที่ภาษานั้นเป็นอนุพันธ์ของ Brainfuck หรือทัวริงที่เรียบง่ายมาก เครื่องไม่สามารถกำหนดขาด ALU และค่าบนเทปสามารถเพิ่มและลดค่าได้เพียงหนึ่ง) :
- ชื่ออนุภาคถูกทำให้ง่ายขึ้นสำหรับ d, s, b, t, u, c สำหรับควาร์ก, v สำหรับนิวตริโน, T สำหรับ tau lepton, m สำหรับ muon, g สำหรับ gluon, p สำหรับโฟตอน, Z, W และ H สำหรับ bosons - สำหรับอิเล็กตรอนและ + สำหรับโพสิตรอน ที่แต่ละติ๊กสัญญาณเข้าที่มีค่า 0 หรือ 1 จะได้รับจากอินพุตมาตรฐานระบุว่าอนุภาคที่ไม่เสถียรตัวแรกในรายการสลายตัวหรือไม่
ผลลัพธ์ตัวอย่างจะกลายเป็น
H
H
H
H
W W
W W
W + n
+ !T n n
SimulateUniverse
ฟังก์ชั่นในตัวหรือไม่?