ब्रह्मांड: बहुकोशिकीय जीवों के विकास को मॉडलिंग करना

नमस्कार, हेब्र!

कुछ साल पहले, व्यावहारिक उद्देश्यों के लिए, मैंने सामान्य बल-आधारित ग्राफ़ विज़ुअलाइज़र को लागू किया।

मैं प्रभावित हुआ कि कैसे साधारण पुनरावृत्ति परिवर्तन गैर-तुच्छ दृश्य-काइनेटिक मॉडल का निर्माण करते हुए, विषयगत रूप से जटिल और दिलचस्प गणना कर सकते हैं।

समय के साथ, कई विचार उत्पन्न हुए कि दिलचस्प को मॉडल बनाया जा सकता है।

यहाँ उनमें से एक के साथ क्या हुआ (फ्रेम में छोटी वस्तुएं, एचडी में देखें):




एक आधार के रूप में, मैंने बहुत ग्राफ विज़ुअलाइज़र लिया: स्पर्श



शिफ्ट + क्लिक, शिफ्ट + ड्रैग, ऑल्ट + क्लिक।
V8 जावास्क्रिप्ट के कारण क्रोम या सफारी में टच करना सबसे अच्छा है।

मैंने ग्राफ के शीर्षों में जड़ता को जोड़कर शुरुआत की, जिससे वस्तु का व्यवहार अधिक जटिल हो गया। एक निश्चित बिंदु पर, मॉडल एक रासायनिक यौगिक और एक बहुकोशिकीय जीव के मॉडल के बीच कुछ के साथ जुड़ा होना शुरू हुआ: स्पर्श करने के लिए



प्रयोग कुछ सिद्धांतों के अनुसार कई ऐसी वस्तुओं की बातचीत को सुनिश्चित करने की इच्छा में बढ़े, ताकि अवलोकन करना दिलचस्प हो:


बाद में, उस पर अत्यधिक भार के मामले में ग्लूइंग को फाड़ने की संभावना को जोड़ा गया। यहाँ परिणाम है: स्पर्श



अगला चरण एक जीव के भीतर पाचन था: प्रत्येक ग्लूइंग, प्रत्येक निश्चित समय की लंबाई, एक छोटे सेल से ऊर्जा लेता है और इसे बड़े से स्थानांतरित करता है। यदि छोटे सेल की ऊर्जा एक निश्चित न्यूनतम से कम है, तो सेल गायब हो जाता है, और अंतरिक्ष में ऊर्जा के मूल चार्ज के साथ एक नया ड्रॉ सेल प्रकट होता है, जो आसपास विकसित होने वाले जीवों के लिए भोजन के रूप में कार्य करता है। एक प्रतिबंध भी पेश किया गया था - एक सेल केवल एक सेल को अवशोषित कर सकता है, जो अपनी ऊर्जा का कम से कम 61.8% बनाता है। इसने विचलन के गठन को खारिज कर दिया जब विशाल कोशिकाएं छोटे लोगों को सीधे खुद से जोड़ देती हैं। इसके बजाय, वे अब इसके लिए कांटेदार जाल बनाने के लिए मजबूर हैं: स्पर्श

इस स्तर पर, दोस्तों के साथ प्रगति साझा करने की इच्छा थी, एक पेंचकस तैयार किया गया था:



अगला कदम, परियोजना एसवीजी प्रोटोटाइप से क्यूडा मॉडल में चली गई। जाहिर है, अधिक सक्रिय मामला चाहता था। GPU के लिए मॉडल के हस्तांतरण ने ब्राउज़र प्रोटोटाइप में 250 के बजाय 8-16K कणों का उपयोग करना संभव बना दिया।

आज भी यही है। CUDA 2.0 संगत डिवाइस होने पर, वे मॉडल को व्यक्तिगत रूप से स्पर्श कर सकते हैं: इसे स्पर्श करें

आर्काइव में, अन्य बातों के अलावा, Win7 x64 के लिए एसडीके के लिए एक लिंक है, जो exe शुरू होने से पहले स्थापित होना चाहिए (UPD: संग्रह में एक और dll जोड़ा गया है, यह अब एसडीके के बिना शुरू होना चाहिए)। XP 32 बिट पर भी काम करता है, लिंक यहां पाया जा सकता है: कोडा एसडीके
पी - ठहराव
s - स्लाइडबार दिखाएं
r - डिस्प्ले मोड बदलें
एच - टैग मस्तिष्क कोशिकाओं
f - फुलस्क्रीन


भविष्य की योजनाओं के बारे में थोड़ी जानकारी:

बेशक, मैं और अधिक सेल चाहता हूं। अनुकूलन के बाद, GTX 580 30 FPS की आवृत्ति पर 16K कोशिकाओं की गणना करता है, वीडियो में 120FPS की आवृत्ति पर 8K कोशिकाएं भाग लेती हैं।

एल्गोरिथम की द्विघात जटिलता प्रभावित होती है, क्योंकि सभी कोशिकाएं सभी कोशिकाओं को प्रभावित करती हैं। CUDA पर बार्न्स-हट ऑप्टिमाइज़ेशन एल्गोरिदम को लागू करना, उन लोगों से पढ़े गए वैज्ञानिक लेखों को देखते हुए जिन्होंने पहले से ही इसे GPU में पोर्ट कर लिया है, इसका प्रभाव केवल 50K कणों की दहलीज के बाहर है, जो कि रियलटाइम थ्रेशोल्ड के बाहर है-( हालांकि, यह अभी भी मुझे लगता है इसके अलावा, इंटरसेल्युलर इंटरैक्शन का क्रम गुरुत्वाकर्षण की तुलना में बहुत अधिक जटिल है।



सैद्धांतिक रूप से, एक ही 30FPS पर एक साथ 256K कणों पर विचार करना संभव है, 1K कणों की स्वतंत्र "आकाशगंगाओं" के रूप में (16x16 ग्रिड के रूप में स्क्रीन पर प्रदर्शन)। विकास के दृष्टिकोण से, 256K कण, स्वतंत्र आकाशगंगाओं में विभाजित होने के बावजूद, एक आकाशगंगा के भीतर 16K कोशिकाओं के प्रत्यक्ष संपर्क से काफी अधिक उपयोगी हो सकते हैं। व्यक्तियों के आदान-प्रदान को गोल में व्यवस्थित किया जा सकता है, जिससे एक अंतरवैज्ञानिक नश्वर कॉम्बैट ;-) प्रदान किया जा सकता है

उसी सिद्धांत से, आप मॉडल के एक वितरित संस्करण को लागू कर सकते हैं, उदाहरण के लिए, एक अच्छे स्क्रीनसेवर के रूप में। समय के लिए उत्साही अंक अर्जित करें कि उनका लोहा ब्रह्मांड को कम कर देता है, जिससे उन्हें छप स्क्रीन के रूप में प्रक्रिया दिखाई देती है। अंकों को उन व्यक्तियों के डिज़ाइनर में खर्च किया जा सकता है जिन्हें वितरित स्थान, म्यूट और विकसित में फेंक दिया जाएगा - "डिमर्ज" उनकी आबादी की सफलता और वैश्विक अंतरिक्ष की विशालता में उनके व्यक्तियों द्वारा नियंत्रित पदार्थ की मात्रा को ट्रैक करने में सक्षम होगा।

परियोजना के आगे के विकास में एक महत्वपूर्ण भूमिका को एक मोर्फोजेनेटिक एल्गोरिथ्म द्वारा खेला जाना चाहिए, जो इस तरह के मामूली सामयिक क्षमताओं (सेल नंबर / व्यक्तिगत) के साथ, व्यक्तियों की एक प्रजाति विविधता प्रदान करने में सक्षम होगा।

मैं इसे लागू करने में सक्षम होने की उम्मीद करता हूं।

यह सब, आपके ध्यान के लिए धन्यवाद!

PS उत्साही जिन्होंने मॉडल को स्वायत्त रूप से लॉन्च किया है - कृपया लिखें - किस तरह का हार्डवेयर और कंसोल में FPS (पृष्ठभूमि में कंसोल दूसरी विंडो है)

UPD: भाग 2: बहुकोशिकीय जीवों के विकास का मॉडल बनाना। 7 साल

UPD: पेट्रॉन प्रोजेक्ट ब्लॉग
UPD: कॉस्मिक इंजन 2013 का डेमो, सॉफ्ट-बॉडी भौतिकी के साथ

Source: https://habr.com/ru/post/In153169/


All Articles