ट्यूरिंग-पूर्ण भाषा की एक अच्छी संपत्ति यह है कि इसका उपयोग किसी भी कार्यक्रम को लिखने के लिए किया जा सकता है, पूरे ब्रह्मांड के अनुकरण तक और इसमें शामिल है।
आपका काम ठीक यही करना है: एक प्रोग्राम लिखें जो यूनिवर्स का अनुकरण करता है ।
नोट: हालांकि मुझे संदेह नहीं है कि आप इस कार्य को पूरा करने में सक्षम होंगे, आजकल मेरे पास यह सत्यापित करने के लिए पर्याप्त समय नहीं है कि आपके सिमुलेशन के सभी 10 90 कण क्या वे वास्तव में करना चाहिए। इसलिए, केवल परीक्षण और मूल्यांकन को आसान बनाने के लिए, यह पर्याप्त है यदि आपका ब्रह्मांड सिम्युलेटर केवल एक ही प्रारंभिक कण के साथ काम करता है। चीजों को दिलचस्प रखने के लिए, मान लें कि यह कण हाल ही में खोजा गया हिग्स बोसोन है।
आपका ब्रह्मांड कुछ भी नहीं है, लेकिन इसके बीच में लगभग 120 GeV का एक हिग्स बोसोन है। उत्पादन बहुत लंबा नहीं बनाने के लिए, के केवल 10 पर इस ब्रह्मांड टिक करते हैं -25 5.4 × 10 के अपने "सामान्य घड़ी दर" के बजाय सेकंड -44 सेकंड ..
यह हिग्स बोसोन जल्दी या बाद में क्षय हो जाएगा क्योंकि इसमें 1.6 × 10 at22 सेकंड का आधा जीवन होता है , इसलिए सिमुलेशन के प्रत्येक टिक पर, इसका क्षय होने का 0.0433% मौका होता है। आप यहां देख सकते हैं कि यह क्या क्षय होगा । एक केंद्रीय और सरलीकृत आवश्यकता होने के लिए, मुझे आपके द्वारा उपयोग की जाने वाली शाखाओं की सूची देनी चाहिए:
अनुकरण चल रहा है
सिमुलेशन के प्रत्येक टिक पर, हिग्स बोसोन में क्षय की 0.0433% संभावना है। यदि ऐसा होता है, तो यह सूचीबद्ध कणों के साथ निम्नलिखित कणों में क्षय होगा (आपको आउटपुट में इन नामों का उपयोग करना चाहिए):
- निचला क्वार्क + निचला एंटिकार्क (64.8%)
- 2 डब्ल्यू बोसॉन (14.1%)
- 2 ग्लून्स (8.82%)
- ताऊ लेप्टान + एंटीटा लेप्टन (7.04%)
- आकर्षण क्वार्क + आकर्षण एंटिकार्क (3.27%)
- 2 जेड बोसॉन (1.59%)
- 2 फोटॉन (0.223%)
- 1 जेड बोसॉन + 1 फोटॉन (0.111%)
- म्यूऑन + एंटीमुअन (0.0244%)
- शीर्ष क्वार्क + शीर्ष एंटीकार्क (0.0216%)
कुल 100% के लिए।
इनमें से कुछ कण आगे क्षय हो जाएंगे।
डब्ल्यू बोसॉन : 10 -25 सेकंड का आधा जीवन , इसका मतलब है कि प्रत्येक टिक में क्षय होने की 50% संभावना निम्न में से एक में समान संभावनाओं के साथ होती है:
- पॉज़िट्रॉन + न्यूट्रिनो
- एंटीमुअन + न्यूट्रिनो
- एंटीटा लेप्टान + न्यूट्रिनो
Z बोसॉन : 10 -25 सेकंड का आधा जीवन , इसका मतलब निम्न में से प्रत्येक में प्रत्येक टिक को क्षय करने का 50% मौका है:
- न्यूट्रिनो + एंटीन्यूट्रिनो (20.6%)
- इलेक्ट्रॉन + पॉज़िट्रॉन (3.4%)
- म्यूऑन + एंटीमुअन (3.4%)
- ताऊ लेप्टान + एंटीटा लेप्टन (3.4%)
- डाउन क्वार्क + डाउन एंटीकार्क (15.2%)
- अजीब क्वार्क + अजीब एंटीकार्क (15.2%)
- निचला क्वार्क + निचला एंटिकार्क (15.2%)
- अप क्वार्क + अप एंटीकार्क (11.8%)
- आकर्षण क्वार्क + आकर्षण एंटिकार्क (11.8%)
शीर्ष क्वार्क : 5 × 10 -25 सेकंड का आधा जीवन , इसका मतलब है कि नीचे दिए गए प्रत्येक टिक पर क्षय होने की संभावना के साथ 12.95% मौका है:
- डब्ल्यू बोसॉन + डाउन क्वार्क
- डब्ल्यू बोसोन + अजीब क्वार्क
- डब्ल्यू बोसोन + निचला क्वार्क
बेशक, डब्ल्यू बोसोन भी जल्द ही क्षय होगा ...
शीर्ष क्वार्क शीर्ष क्वार्क की तरह ही बर्ताव करता है: यह एक डब्ल्यू बोसॉन और विज्ञापन / एस / b क्वार्क में क्षय।
अन्य सभी कण (इसलिए जेड और डब्ल्यू बोसॉन और शीर्ष क्वार्कों को छोड़कर) में आधा जीवन कई बार परिमाण के कई आदेश होते हैं, इसलिए आउटपुट को अव्यवस्थित नहीं करने के लिए, वे सभी हमारे सिमुलेशन के लिए स्थिर माने जाते हैं ।
चूंकि ब्रह्मांड काफी हद तक खाली है, सभी कणों में अपने लिए पर्याप्त जगह होगी और एक दूसरे के साथ बातचीत नहीं करेंगे। इसलिए सभी व्यक्तिगत कण हर संबंध में एक दूसरे से स्वतंत्र होते हैं, जिसमें विभाजन की संभावनाएं भी शामिल हैं।
आउटपुट:
सिमुलेशन के प्रत्येक टिक, आपको सिम्युलेटेड ब्रह्मांड की सामग्री को एक नई पंक्ति में प्रिंट करना होगा। उदाहरण के लिए:
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% मिलेगा, और यह कई हिग्स बोसॉन के साथ शुरू होता है।
ट्यूरिंग मशीन के प्रति उत्साही के लिए अपवाद।
जो लोग एक वास्तविक ट्यूरिंग मशीन या इसी तरह की भाषा (जैसे ब्रेनफक) के साथ अपनी किस्मत आजमाने की हिम्मत करते हैं , उनके कार्य को निम्नलिखित नियम परिवर्तनों द्वारा आसान बनाया जाता है (केवल तभी लागू होता है जब भाषा ब्रेनफैक-व्युत्पन्न होती है या अन्यथा बहुत सरल ट्यूरिंग- मशीन, असाइन करने में असमर्थ, ALU की कमी, और टेप पर मान केवल एक के द्वारा बढ़ा और घटाया जा सकता है) :
- कण नामों को डी, एस, बी, टी, यू, सी के लिए क्वार्क, वी के लिए न्युट्रीनो, टी के लिए ताऊ लेप्टान, एम के लिए एम, ग्लोन के लिए जी, फोटॉन के लिए पी, जेड, डब्ल्यू और एच के लिए सरलीकृत किया जाता है। बोसोन, - इलेक्ट्रॉन के लिए और पॉज़िट्रॉन के लिए। प्रत्येक टिक पर, 0 या 1 के मान के साथ एक इनपुट मानक इनपुट से प्रदान किया जाता है, यह इंगित करता है कि सूची में पहला अस्थिर कण तय होता है या नहीं।
इसलिए उदाहरण आउटपुट बन जाएगा
H
H
H
H
W W
W W
W + n
+ !T n n
SimulateUniverse
अंतर्निहित कार्य है?