नियम 30: Difference between revisions
No edit summary |
No edit summary |
||
(8 intermediate revisions by 3 users not shown) | |||
Line 2: | Line 2: | ||
{{about|सेलुलर ऑटोमेटन|संयुक्त राज्य अमेरिका संघीय न्यायालय नियम|नागरिक प्रक्रिया के संघीय नियम|और|निक्षेपण (नियम)}} | {{about|सेलुलर ऑटोमेटन|संयुक्त राज्य अमेरिका संघीय न्यायालय नियम|नागरिक प्रक्रिया के संघीय नियम|और|निक्षेपण (नियम)}} | ||
[[File:Textile cone.JPG|thumb|नियम 30 के समान दिखने वाला [[कॉनस कपड़ा]] खोल।<ref>{{cite web |url=https://www.maths.nottingham.ac.uk/personal/sc/pdfs/Seashells09.pdf |title=सीपियों की ज्यामिति और रंजकता|author=Stephen Coombes |date=February 2009 |work=www.maths.nottingham.ac.uk |publisher=[[University of Nottingham]] |access-date=2013-04-10}}</ref>]]नियम 30 1983 में [[स्टीफन वोल्फ्राम]] द्वारा प्रस्तुत [[प्राथमिक सेलुलर ऑटोमेटन]] है।<ref>{{cite journal|author = Wolfram, S.|title = सेलुलर ऑटोमेटा के सांख्यिकीय यांत्रिकी|journal = Rev. Mod. Phys.|volume = 55|pages = 601–644|year = 1983|doi = 10.1103/RevModPhys.55.601|bibcode=1983RvMP...55..601W|issue = 3}}</ref> | [[File:Textile cone.JPG|thumb|नियम 30 के समान दिखने वाला [[कॉनस कपड़ा]] खोल।<ref>{{cite web |url=https://www.maths.nottingham.ac.uk/personal/sc/pdfs/Seashells09.pdf |title=सीपियों की ज्यामिति और रंजकता|author=Stephen Coombes |date=February 2009 |work=www.maths.nottingham.ac.uk |publisher=[[University of Nottingham]] |access-date=2013-04-10}}</ref>]]'''नियम 30''' 1983 में [[स्टीफन वोल्फ्राम]] द्वारा प्रस्तुत [[प्राथमिक सेलुलर ऑटोमेटन]] है।<ref>{{cite journal|author = Wolfram, S.|title = सेलुलर ऑटोमेटा के सांख्यिकीय यांत्रिकी|journal = Rev. Mod. Phys.|volume = 55|pages = 601–644|year = 1983|doi = 10.1103/RevModPhys.55.601|bibcode=1983RvMP...55..601W|issue = 3}}</ref> सेवोल्फ्राम की वर्गीकरण योजना का उपयोग करते हुए, नियम 30 तृतीय श्रेणी का नियम है,जो एपेरियोडिक, कैओस सिद्धांत व्यवहार को प्रदर्शित करता है। | ||
यह नियम विशेष रुचि | यह नियम विशेष रुचि रखता है क्योंकि यह सरलता को, अच्छी प्रकार से परिभाषित नियमों से सम्मिश्र, प्रतीत होने वाले यादृच्छिक पैटर्न उत्पन्न करता है। इस कारण से, वोल्फ्राम का मानना है कि नियम 30, और सामान्य रूप से सेलुलर ऑटोमेटा हैं, इसको समझने की कुंजी है कि कैसे सरल नियम प्रकृति में सम्मिश्र संरचनाओं और व्यवहार का निर्माण करते हैं। उदाहरण के लिए, व्यापक शंकु घोंघा प्रजाति कॉनस टेक्सटाइल के खोल पर नियम 30 जैसा पैटर्न दिखाई देता है। नियम 30 का उपयोग गणित में यादृच्छिक संख्या जनरेटर के रूप में भी किया गया है,<ref>{{cite web|title=यादृच्छिक संख्या सृजन|url=http://reference.wolfram.com/mathematica/tutorial/RandomNumberGeneration.html|work=Wolfram Mathematica 8 Documentation|access-date=31 December 2011}}</ref> और इसे [[क्रिप्टोग्राफी]] में उपयोग के लिए संभावित [[ धारा सिफर |धारा सिफर]] के रूप में भी प्रस्तावित किया गया है।<ref>{{cite conference|author=Wolfram, S.|title=सेलुलर ऑटोमेटा के साथ क्रिप्टोग्राफी|date=1985|book-title=Proceedings of Advances in Cryptology – CRYPTO '85|pages=429|publisher=Lecture Notes in Computer Science 218, Springer-Verlag|doi=10.1007/3-540-39799-X_32|doi-access=free}}</ref><ref>{{cite conference|author1=Meier, Willi |author2=Staffelbach, Othmar |title=सेलुलर ऑटोमेटा द्वारा उत्पन्न छद्म यादृच्छिक अनुक्रमों का विश्लेषण|book-title=Advances in Cryptology – Proc. Workshop on the Theory and Application of Cryptographic Techniques, EUROCRYPT '91|date=1991|pages=186|publisher=Lecture Notes in Computer Science 547, Springer-Verlag|doi=10.1007/3-540-46416-6_17 |doi-access=free}}</ref> | ||
नियम 30 का नाम इसलिए रखा गया है क्योंकि 30 सबसे | |||
नियम 30 का नाम इसलिए रखा गया है क्योंकि 30 सबसे लघु [[वोल्फ्राम कोड]] होता है जो इसके नियम सेट का वर्णन करता है (जैसा कि नीचे वर्णित है)। नियम 30 की दर्पण छवि, पूरक और दर्पण पूरक में क्रमशः वोल्फ्राम कोड 86, 135 और 149 होते हैं। | |||
== नियम सेट == | == नियम सेट == | ||
वुल्फ्राम के सभी प्राथमिक सेलुलर ऑटोमेटा में, केवल दो | वुल्फ्राम के सभी प्राथमिक सेलुलर ऑटोमेटा में, केवल दो स्थानों के साथ सेलुलर ऑटोमेटन कोशिकाओं की अनंत एक-आयामी सारणी पर विचार किया जाता है, प्रत्येक कोशिका कुछ प्रारंभिक अवस्था में होती है। जिसमे भिन्न-भिन्न समय अंतराल पर, प्रत्येक कोशिका अपनी वर्तमान स्थिति और अपने दो निकटतमों की स्थिति के आधार पर स्वचालित रूप से स्थिति परिवर्तित होती है। नियम 30 के लिए, नियम सेट जो ऑटोमेटन की आने वाली स्थिति को नियंत्रित करता है | | ||
{| class="wikitable" align=center style="text-align:center" | {| class="wikitable" align=center style="text-align:center" | ||
|- | |- | ||
! | !वर्तमान पैटर्न | ||
! 111 !! 110 !! 101 !! 100 !! 011 !! 010 !! 001 !! 000 | |||
|- | |- | ||
! | !केंद्र कक्ष के लिए नवीन स्थिति | ||
| 0 || 0 || 0 || 1 || 1 || 1 || 1 || 0 | | 0 || 0 || 0 || 1 || 1 || 1 || 1 || 0 | ||
|} | |} | ||
संबंधित सूत्र [लेफ्ट_सेल | संबंधित सूत्र [लेफ्ट_सेल एक्सओआर (सेंट्रल_सेल या राइट_सेल)] है। इसे नियम 30 कहा जाता है क्योंकि इसकी [[बाइनरी संख्या]] में, 00011110<sub>2</sub>= 30. हैं | | ||
निम्नलिखित आरेख बनाए गए पैटर्न को दिखाता है, जिसमें कोशिकाओं को उनके | निम्नलिखित आरेख बनाए गए पैटर्न को दिखाता है, जिसमें कोशिकाओं को उनके निकट की पूर्व स्थिति के आधार पर रंगा गया है। इसमें गहरे रंग 1 का प्रतिनिधित्व करते हैं और हल्के रंग 0 का प्रतिनिधित्व करते हैं। और ऊर्ध्वाधर अक्ष से नीचे की ओर समय बढ़ता है। | ||
[[File:Cellular Automata running Wolfram-rule-30.svg|526px|center]] | [[File:Cellular Automata running Wolfram-rule-30.svg|526px|center]] | ||
== संरचना और गुण == | == संरचना और गुण == | ||
निम्नलिखित पैटर्न प्रारंभिक अवस्था से उभरता है जिसमें अवस्था 1 (काले रूप में दिखाया गया) वाली कोशिका अवस्था 0 (सफ़ेद) वाली कोशिकाओं से घिरी होती है। | निम्नलिखित पैटर्न प्रारंभिक अवस्था से उभरता है जिसमें अवस्था 1 (काले रूप में दिखाया गया) वाली कोशिका अवस्था 0 (सफ़ेद) वाली कोशिकाओं से घिरी होती है। | ||
<div वर्ग= केंद्र > | <div वर्ग= केंद्र > | ||
[[File:Rule30-256-rows.png|1022px|frameकम]]<br/> | [[File:Rule30-256-rows.png|1022px|frameकम]]<br/>नियम 30 सेलुलर ऑटोमेटन हैं | ||
नियम 30 सेलुलर ऑटोमेटन | |||
</div> | </div> | ||
यहां, ऊर्ध्वाधर अक्ष समय का प्रतिनिधित्व करता है और छवि का कोई भी क्षैतिज क्रॉस-सेक्शन पैटर्न के विकास में विशिष्ट बिंदु पर | यहां, ऊर्ध्वाधर अक्ष समय का प्रतिनिधित्व करता है और इसमें छवि का कोई भी क्षैतिज क्रॉस-सेक्शन पैटर्न के विकास में विशिष्ट बिंदु पर सारणी में सभी कोशिकाओं की स्थिति का प्रतिनिधित्व करता है। इस संरचना में अनेक रूपांकन उपस्थित हैं, जैसे कि सफेद त्रिकोणों की निरंतर उपस्थिति और बाईं ओर अच्छी प्रकृति से परिभाषित धारीदार पैटर्न हैं चूँकि समग्र रूप से संरचना में कोई स्पष्ट पैटर्न नहीं है। जनरेशन <math>n </math> में काली कोशिकाओं की संख्या को अनुक्रम द्वारा दर्शाया दिया गया है | | ||
:1, 3, 3, 6, 4, 9, 5, 12, 7, 12, 11, 14, 12, 19, 13, 22, 15, 19, ... {{OEIS|id=A070952}} | :1, 3, 3, 6, 4, 9, 5, 12, 7, 12, 11, 14, 12, 19, 13, 22, 15, 19, ... {{OEIS|id=A070952}} | ||
और लगभग | और लगभग <math>n </math> है | | ||
== | ==अव्यवस्था== | ||
नियम 30 रॉबर्ट एल. डेवेनी और नुडसन द्वारा प्रस्तावित | नियम 30 रॉबर्ट एल. डेवेनी और नुडसन द्वारा प्रस्तावित अव्यवस्था की कठोर परिभाषाओं को पूरा करता है। विशेष रूप से, देवेनी के मानदंड के अनुसार, नियम 30 [[तितली प्रभाव|प्रारंभिक स्थितियों पर संवेदनशील निर्भरता]] प्रदर्शित करता है | इसमें (दो प्रारंभिक विन्यास जो केवल थोड़ी संख्या में कोशिकाओं में शीघ्रता से भिन्न होते हैं), इसके आवधिक विन्यास सभी विन्यासों के स्थान में घने होते हैं, स्पेस पर कैंटर टोपोलॉजी स्थान के अनुसार विन्यासों का (कोशिकाओं के किसी भी परिमित पैटर्न के साथ आवधिक विन्यास होता है), और यह [[मिश्रण (गणित)]] है | जिसमे (कोशिकाओं के किसी भी दो परिमित पैटर्न के लिए, विन्यास होता है जिसमें पैटर्न होता है जो अंततः दूसरे पैटर्न वाले विन्यास की ओर ले जाता है) | नुडसन के मानदंड के अनुसार, यह संवेदनशील निर्भरता प्रदर्शित करता है और इसमें सघन कक्षा होती है | और (प्रारंभिक विन्यास जो अंततः कोशिकाओं के किसी भी सीमित पैटर्न को प्रदर्शित करता है)। और नियम के अव्यवस्था व्यवहार में यह दोनों लक्षण नियम 30 की सरल और सरलता से सत्यापित संपत्ति से अनुसरण करते हैं: इसे क्रमपरिवर्तनशील छोड़ दिया गया है, जिसका अर्थ है कि यदि दो कॉन्फ़िगरेशन {{mvar|C }} और {{mvar|D }} स्थिति में एकल कोशिका की स्थिति में भिन्नता होती है | तब {{mvar|i }}, एकल चरण में नवीन कॉन्फ़िगरेशन सेल {{math|''i'' + 1 }} भिन्न होती हैं | <ref>{{Cite journal | ||
| last1 = Cattaneo | first1 = Gianpiero | | last1 = Cattaneo | first1 = Gianpiero | ||
| last2 = Finelli | first2 = Michele | | last2 = Finelli | first2 = Michele | ||
Line 49: | Line 50: | ||
| year = 2000| doi-access = free | | year = 2000| doi-access = free | ||
}}</ref> | }}</ref> | ||
==अनुप्रयोग== | ==अनुप्रयोग== | ||
===यादृच्छिक संख्या | ===यादृच्छिक संख्या जनरेशन=== | ||
जैसा कि ऊपर की छवि से स्पष्ट है, नियम 30 ऐसी किसी भी | जैसा कि ऊपर की छवि से स्पष्ट है,कि नियम 30 ऐसी किसी भी वस्तु की कमी के अतिरिक्त प्रतीत होने वाली यादृच्छिकता उत्पन्न करता है जिसे उचित रूप से यादृच्छिक इनपुट माना जा सकता है। स्टीफन वोल्फ्राम ने इसके केंद्र स्तंभ को [[छद्म यादृच्छिक संख्या जनरेटर]] (पीआरएनजी) के रूप में उपयोग करने का प्रस्ताव दिया हैं | इसमें यादृच्छिकता के लिए अनेक मानक परीक्षण के समीप करता है, और वोल्फ्राम ने पहले यादृच्छिक पूर्णांक बनाने के लिए मैथमेटिका उत्पाद में इस नियम का उपयोग किया था। <ref>{{Citation|last=Lex Fridman|title=MIT AGI: Computational Universe (Stephen Wolfram)|date=2018-03-02|url=https://www.youtube.com/watch?v=P7kX7BuHSFI&t=1860 |archive-url=https://ghostarchive.org/varchive/youtube/20211219/P7kX7BuHSFI |archive-date=2021-12-19 |url-status=live|access-date=2018-03-07}}{{cbignore}}</ref> | ||
सिपर और टॉमासिनी ने दिखाया है कि यादृच्छिक संख्या जनरेटर के रूप में नियम 30 अन्य सेलुलर ऑटोमेटन-आधारित जनरेटर की तुलना में सभी नियम स्तंभों पर प्रयुक्त होने पर ची स्क्वेयर परीक्षण पर व्यर्थ व्यवहार प्रदर्शित करता है।<ref>{{cite journal|author1=Sipper, Moshe |author2=Tomassini, Marco |title=सेलुलर प्रोग्रामिंग द्वारा समानांतर यादृच्छिक संख्या जनरेटर उत्पन्न करना|journal=International Journal of Modern Physics C|volume=7|issue=2|pages=181–190|year=1996|doi=10.1142/S012918319600017X|bibcode = 1996IJMPC...7..181S }}</ref> लेखकों ने यह भी चिंता व्यक्त की हैं कि नियम 30 सीए द्वारा प्राप्त अपेक्षाकृत कम परिणाम इस अवयव के कारण हो सकते हैं कि हमने वोल्फ्राम द्वारा विचार किए गए एकल के अतिरिक्त समानांतर में उत्पन्न ''N'' यादृच्छिक अनुक्रमों पर विचार किया हैं। <ref>Page 6 of {{cite journal|author1=Sipper, Moshe |author2=Tomassini, Marco |title=Generating parallel random number generators by cellular programming|journal=International Journal of Modern Physics C|volume=7|issue=2|pages=181–190|year=1996|doi=10.1142/S012918319600017X|bibcode = 1996IJMPC...7..181S }}</ref> | |||
===डेकोरेशन=== | |||
[[File:Cmglee_Cambridge_North_cladding_detail.jpg|thumb|250px|कैम्ब्रिज नॉर्थ रेलवे स्टेशन आवरण का विवरण]][[ कैम्ब्रिज उत्तर रेलवे स्टेशन | कैम्ब्रिज नॉर्थ रेलवे स्टेशन]] को वास्तुशिल्प पैनलों से सजाया गया है जो नियम 30 (या समकक्ष काले-सफेद उलट, नियम 135 के अनुसार) के विकास को प्रदर्शित करता है।<ref>{{citation|url=http://blog.stephenwolfram.com/2017/06/oh-my-gosh-its-covered-in-rule-30s/|title=Oh My Gosh, It's Covered in Rule 30s!|last=Wolfram|first=Stephen|date=June 1, 2017|work=Stephen Wolfram's blog}}</ref> डिज़ाइन को इसके वास्तुकार द्वारा कॉनवे के गेम ऑफ लाइफ से प्रेरित बताया गया था, जो कैम्ब्रिज के गणितज्ञ [[जॉन हॉर्टन कॉनवे]] द्वारा अध्ययन किया गया भिन्न सेलुलर ऑटोमेटन है, किन्तु वास्तव में यह जीवन पर आधारित नहीं है। <ref>{{citation|url=http://aperiodical.com/2017/05/right-answer-for-the-wrong-reason-cellular-automaton-on-the-new-cambridge-north-station/|title=Right answer for the wrong reason: cellular automaton on the new Cambridge North station|first=Christian|last=Lawson-Perfect|date=May 23, 2017|work=The Aperiodical}}</ref><ref>{{Cite news|url=https://qz.com/1001946/a-uk-train-stations-tribute-to-a-famous-mathematician-got-everything-right-except-his-math/|title=ब्रिटेन के एक रेलवे स्टेशन पर एक मशहूर गणितज्ञ को दी गई श्रद्धांजलि में उनके गणित को छोड़कर बाकी सब कुछ सही पाया गया|last=Purtill|first=Corinne|work=Quartz|access-date=2017-06-12|language=en-US}}</ref> | |||
===प्रोग्रामिंग=== | ===प्रोग्रामिंग=== | ||
यदि सेल मान (या अधिक) कंप्यूटर शब्दों के | यदि सेल मान (या अधिक) कंप्यूटर शब्दों के अन्दर बिट्स द्वारा दर्शाए जाते हैं, तो स्थिति अद्यतन [[बिटवाइज़ ऑपरेशन]] द्वारा शीघ्रता से किया जा सकता है। यहाँ [[सी++]] में दिखाया गया है | <syntaxhighlight> | ||
< | #include <stdint.h> | ||
# | #include <iostream> | ||
# | |||
int main() { | |||
uint64_t | uint64_t state = 1u << 31; | ||
for (int i = 0; i < 32; ++i) { | |||
for (int j = 64; j--;) { | |||
std::cout << char(state >> j & 1 ? 'O' : '.'); | |||
} | |||
std::cout << '\n'; | |||
state = (state >> 1) ^ (state | state << 1); | |||
} | } | ||
} | } | ||
</ | </syntaxhighlight>यह प्रोग्राम निम्नलिखित आउटपुट उत्पन्न करता है:<syntaxhighlight> | ||
................................O............................... | |||
यह प्रोग्राम निम्नलिखित आउटपुट उत्पन्न करता है: | ...............................OOO.............................. | ||
< | ..............................OO..O............................. | ||
................................ | .............................OO.OOOO............................ | ||
............................OO..O...O........................... | |||
.................................. | ...........................OO.OOOO.OOO.......................... | ||
.................................. | ..........................OO..O....O..O......................... | ||
............................ | .........................OO.OOOO..OOOOOO........................ | ||
.................................. | ........................OO..O...OOO.....O....................... | ||
.................................. | .......................OO.OOOO.OO..O...OOO...................... | ||
.................................. | ......................OO..O....O.OOOO.OO..O..................... | ||
.................. | .....................OO.OOOO..OO.O....O.OOOO.................... | ||
....................... | ....................OO..O...OOO..OO..OO.O...O................... | ||
.................. | ...................OO.OOOO.OO..OOO.OOO..OO.OOO.................. | ||
.................. | ..................OO..O....O.OOO...O..OOO..O..O................. | ||
.................. | .................OO.OOOO..OO.O..O.OOOOO..OOOOOOO................ | ||
.................. | ................OO..O...OOO..OOOO.O....OOO......O............... | ||
.................. | ...............OO.OOOO.OO..OOO....OO..OO..O....OOO.............. | ||
.................. | ..............OO..O....O.OOO..O..OO.OOO.OOOO..OO..O............. | ||
.................. | .............OO.OOOO..OO.O..OOOOOO..O...O...OOO.OOOO............ | ||
............... | ............OO..O...OOO..OOOO.....OOOO.OOO.OO...O...O........... | ||
.......... | ...........OO.OOOO.OO..OOO...O...OO....O...O.O.OOO.OOO.......... | ||
.......... | ..........OO..O....O.OOO..O.OOO.OO.O..OOO.OO.O.O...O..O......... | ||
............ | .........OO.OOOO..OO.O..OOO.O...O..OOOO...O..O.OO.OOOOOO........ | ||
.......... | ........OO..O...OOO..OOOO...OO.OOOOO...O.OOOOO.O..O.....O....... | ||
.......... | .......OO.OOOO.OO..OOO...O.OO..O....O.OO.O.....OOOOO...OOO...... | ||
.......... | ......OO..O....O.OOO..O.OO.O.OOOO..OO.O..OO...OO....O.OO..O..... | ||
........ | .....OO.OOOO..OO.O..OOO.O..O.O...OOO..OOOO.O.OO.O..OO.O.OOOO.... | ||
....... | ....OO..O...OOO..OOOO...OOOO.OO.OO..OOO....O.O..OOOO..O.O...O... | ||
...... | ...OO.OOOO.OO..OOO...O.OO....O..O.OOO..O..OO.OOOO...OOO.OO.OOO.. | ||
.. | ..OO..O....O.OOO..O.OO.O.O..OOOOO.O..OOOOOO..O...O.OO...O..O..O. | ||
.... | .OO.OOOO..OO.O..OOO.O..O.OOOO.....OOOO.....OOOO.OO.O.O.OOOOOOOOO | ||
... | |||
.. | |||
. | |||
</syntaxhighlight> | |||
==यह भी देखें== | ==यह भी देखें== | ||
*[[नियम 90]] | *[[नियम 90]] | ||
Line 136: | Line 131: | ||
*[http://www.ted.com/talks/stephen_wolfram_computing_a_theory_of_everything.html TED Talk from February 2010]. Stephen Wolfram speaks about computing a theory of everything where he talks about rule 30 among other things. | *[http://www.ted.com/talks/stephen_wolfram_computing_a_theory_of_everything.html TED Talk from February 2010]. Stephen Wolfram speaks about computing a theory of everything where he talks about rule 30 among other things. | ||
{{DEFAULTSORT:Rule 030}} | {{DEFAULTSORT:Rule 030}} | ||
[[Category: | [[Category:1983 परिचय|Rule 030]] | ||
[[Category:Created On 09/08/2023]] | [[Category:Articles with hatnote templates targeting a nonexistent page|Rule 030]] | ||
[[Category:CS1 English-language sources (en)]] | |||
[[Category:Commons category link is the pagename|Rule 030]] | |||
[[Category:Created On 09/08/2023|Rule 030]] | |||
[[Category:Lua-based templates|Rule 030]] | |||
[[Category:Machine Translated Page|Rule 030]] | |||
[[Category:Pages with script errors|Rule 030]] | |||
[[Category:Pages with syntax highlighting errors]] | |||
[[Category:Short description with empty Wikidata description|Rule 030]] | |||
[[Category:Templates Vigyan Ready|Rule 030]] | |||
[[Category:Templates that add a tracking category|Rule 030]] | |||
[[Category:Templates that generate short descriptions|Rule 030]] | |||
[[Category:Templates using TemplateData|Rule 030]] | |||
[[Category:वोल्फ्राम कोड|Rule 030]] | |||
[[Category:सेलुलर ऑटोमेटन नियम|Rule 030]] |
Latest revision as of 16:53, 21 August 2023
नियम 30 1983 में स्टीफन वोल्फ्राम द्वारा प्रस्तुत प्राथमिक सेलुलर ऑटोमेटन है।[2] सेवोल्फ्राम की वर्गीकरण योजना का उपयोग करते हुए, नियम 30 तृतीय श्रेणी का नियम है,जो एपेरियोडिक, कैओस सिद्धांत व्यवहार को प्रदर्शित करता है।
यह नियम विशेष रुचि रखता है क्योंकि यह सरलता को, अच्छी प्रकार से परिभाषित नियमों से सम्मिश्र, प्रतीत होने वाले यादृच्छिक पैटर्न उत्पन्न करता है। इस कारण से, वोल्फ्राम का मानना है कि नियम 30, और सामान्य रूप से सेलुलर ऑटोमेटा हैं, इसको समझने की कुंजी है कि कैसे सरल नियम प्रकृति में सम्मिश्र संरचनाओं और व्यवहार का निर्माण करते हैं। उदाहरण के लिए, व्यापक शंकु घोंघा प्रजाति कॉनस टेक्सटाइल के खोल पर नियम 30 जैसा पैटर्न दिखाई देता है। नियम 30 का उपयोग गणित में यादृच्छिक संख्या जनरेटर के रूप में भी किया गया है,[3] और इसे क्रिप्टोग्राफी में उपयोग के लिए संभावित धारा सिफर के रूप में भी प्रस्तावित किया गया है।[4][5]
नियम 30 का नाम इसलिए रखा गया है क्योंकि 30 सबसे लघु वोल्फ्राम कोड होता है जो इसके नियम सेट का वर्णन करता है (जैसा कि नीचे वर्णित है)। नियम 30 की दर्पण छवि, पूरक और दर्पण पूरक में क्रमशः वोल्फ्राम कोड 86, 135 और 149 होते हैं।
नियम सेट
वुल्फ्राम के सभी प्राथमिक सेलुलर ऑटोमेटा में, केवल दो स्थानों के साथ सेलुलर ऑटोमेटन कोशिकाओं की अनंत एक-आयामी सारणी पर विचार किया जाता है, प्रत्येक कोशिका कुछ प्रारंभिक अवस्था में होती है। जिसमे भिन्न-भिन्न समय अंतराल पर, प्रत्येक कोशिका अपनी वर्तमान स्थिति और अपने दो निकटतमों की स्थिति के आधार पर स्वचालित रूप से स्थिति परिवर्तित होती है। नियम 30 के लिए, नियम सेट जो ऑटोमेटन की आने वाली स्थिति को नियंत्रित करता है |
वर्तमान पैटर्न | 111 | 110 | 101 | 100 | 011 | 010 | 001 | 000 |
---|---|---|---|---|---|---|---|---|
केंद्र कक्ष के लिए नवीन स्थिति | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 |
संबंधित सूत्र [लेफ्ट_सेल एक्सओआर (सेंट्रल_सेल या राइट_सेल)] है। इसे नियम 30 कहा जाता है क्योंकि इसकी बाइनरी संख्या में, 000111102= 30. हैं |
निम्नलिखित आरेख बनाए गए पैटर्न को दिखाता है, जिसमें कोशिकाओं को उनके निकट की पूर्व स्थिति के आधार पर रंगा गया है। इसमें गहरे रंग 1 का प्रतिनिधित्व करते हैं और हल्के रंग 0 का प्रतिनिधित्व करते हैं। और ऊर्ध्वाधर अक्ष से नीचे की ओर समय बढ़ता है।
संरचना और गुण
निम्नलिखित पैटर्न प्रारंभिक अवस्था से उभरता है जिसमें अवस्था 1 (काले रूप में दिखाया गया) वाली कोशिका अवस्था 0 (सफ़ेद) वाली कोशिकाओं से घिरी होती है।
यहां, ऊर्ध्वाधर अक्ष समय का प्रतिनिधित्व करता है और इसमें छवि का कोई भी क्षैतिज क्रॉस-सेक्शन पैटर्न के विकास में विशिष्ट बिंदु पर सारणी में सभी कोशिकाओं की स्थिति का प्रतिनिधित्व करता है। इस संरचना में अनेक रूपांकन उपस्थित हैं, जैसे कि सफेद त्रिकोणों की निरंतर उपस्थिति और बाईं ओर अच्छी प्रकृति से परिभाषित धारीदार पैटर्न हैं चूँकि समग्र रूप से संरचना में कोई स्पष्ट पैटर्न नहीं है। जनरेशन में काली कोशिकाओं की संख्या को अनुक्रम द्वारा दर्शाया दिया गया है |
और लगभग है |
अव्यवस्था
नियम 30 रॉबर्ट एल. डेवेनी और नुडसन द्वारा प्रस्तावित अव्यवस्था की कठोर परिभाषाओं को पूरा करता है। विशेष रूप से, देवेनी के मानदंड के अनुसार, नियम 30 प्रारंभिक स्थितियों पर संवेदनशील निर्भरता प्रदर्शित करता है | इसमें (दो प्रारंभिक विन्यास जो केवल थोड़ी संख्या में कोशिकाओं में शीघ्रता से भिन्न होते हैं), इसके आवधिक विन्यास सभी विन्यासों के स्थान में घने होते हैं, स्पेस पर कैंटर टोपोलॉजी स्थान के अनुसार विन्यासों का (कोशिकाओं के किसी भी परिमित पैटर्न के साथ आवधिक विन्यास होता है), और यह मिश्रण (गणित) है | जिसमे (कोशिकाओं के किसी भी दो परिमित पैटर्न के लिए, विन्यास होता है जिसमें पैटर्न होता है जो अंततः दूसरे पैटर्न वाले विन्यास की ओर ले जाता है) | नुडसन के मानदंड के अनुसार, यह संवेदनशील निर्भरता प्रदर्शित करता है और इसमें सघन कक्षा होती है | और (प्रारंभिक विन्यास जो अंततः कोशिकाओं के किसी भी सीमित पैटर्न को प्रदर्शित करता है)। और नियम के अव्यवस्था व्यवहार में यह दोनों लक्षण नियम 30 की सरल और सरलता से सत्यापित संपत्ति से अनुसरण करते हैं: इसे क्रमपरिवर्तनशील छोड़ दिया गया है, जिसका अर्थ है कि यदि दो कॉन्फ़िगरेशन C और D स्थिति में एकल कोशिका की स्थिति में भिन्नता होती है | तब i , एकल चरण में नवीन कॉन्फ़िगरेशन सेल i + 1 भिन्न होती हैं | [6]
अनुप्रयोग
यादृच्छिक संख्या जनरेशन
जैसा कि ऊपर की छवि से स्पष्ट है,कि नियम 30 ऐसी किसी भी वस्तु की कमी के अतिरिक्त प्रतीत होने वाली यादृच्छिकता उत्पन्न करता है जिसे उचित रूप से यादृच्छिक इनपुट माना जा सकता है। स्टीफन वोल्फ्राम ने इसके केंद्र स्तंभ को छद्म यादृच्छिक संख्या जनरेटर (पीआरएनजी) के रूप में उपयोग करने का प्रस्ताव दिया हैं | इसमें यादृच्छिकता के लिए अनेक मानक परीक्षण के समीप करता है, और वोल्फ्राम ने पहले यादृच्छिक पूर्णांक बनाने के लिए मैथमेटिका उत्पाद में इस नियम का उपयोग किया था। [7]
सिपर और टॉमासिनी ने दिखाया है कि यादृच्छिक संख्या जनरेटर के रूप में नियम 30 अन्य सेलुलर ऑटोमेटन-आधारित जनरेटर की तुलना में सभी नियम स्तंभों पर प्रयुक्त होने पर ची स्क्वेयर परीक्षण पर व्यर्थ व्यवहार प्रदर्शित करता है।[8] लेखकों ने यह भी चिंता व्यक्त की हैं कि नियम 30 सीए द्वारा प्राप्त अपेक्षाकृत कम परिणाम इस अवयव के कारण हो सकते हैं कि हमने वोल्फ्राम द्वारा विचार किए गए एकल के अतिरिक्त समानांतर में उत्पन्न N यादृच्छिक अनुक्रमों पर विचार किया हैं। [9]
डेकोरेशन
कैम्ब्रिज नॉर्थ रेलवे स्टेशन को वास्तुशिल्प पैनलों से सजाया गया है जो नियम 30 (या समकक्ष काले-सफेद उलट, नियम 135 के अनुसार) के विकास को प्रदर्शित करता है।[10] डिज़ाइन को इसके वास्तुकार द्वारा कॉनवे के गेम ऑफ लाइफ से प्रेरित बताया गया था, जो कैम्ब्रिज के गणितज्ञ जॉन हॉर्टन कॉनवे द्वारा अध्ययन किया गया भिन्न सेलुलर ऑटोमेटन है, किन्तु वास्तव में यह जीवन पर आधारित नहीं है। [11][12]
प्रोग्रामिंग
यदि सेल मान (या अधिक) कंप्यूटर शब्दों के अन्दर बिट्स द्वारा दर्शाए जाते हैं, तो स्थिति अद्यतन बिटवाइज़ ऑपरेशन द्वारा शीघ्रता से किया जा सकता है। यहाँ सी++ में दिखाया गया है |
#include <stdint.h>
#include <iostream>
int main() {
uint64_t state = 1u << 31;
for (int i = 0; i < 32; ++i) {
for (int j = 64; j--;) {
std::cout << char(state >> j & 1 ? 'O' : '.');
}
std::cout << '\n';
state = (state >> 1) ^ (state | state << 1);
}
}
यह प्रोग्राम निम्नलिखित आउटपुट उत्पन्न करता है:
................................O...............................
...............................OOO..............................
..............................OO..O.............................
.............................OO.OOOO............................
............................OO..O...O...........................
...........................OO.OOOO.OOO..........................
..........................OO..O....O..O.........................
.........................OO.OOOO..OOOOOO........................
........................OO..O...OOO.....O.......................
.......................OO.OOOO.OO..O...OOO......................
......................OO..O....O.OOOO.OO..O.....................
.....................OO.OOOO..OO.O....O.OOOO....................
....................OO..O...OOO..OO..OO.O...O...................
...................OO.OOOO.OO..OOO.OOO..OO.OOO..................
..................OO..O....O.OOO...O..OOO..O..O.................
.................OO.OOOO..OO.O..O.OOOOO..OOOOOOO................
................OO..O...OOO..OOOO.O....OOO......O...............
...............OO.OOOO.OO..OOO....OO..OO..O....OOO..............
..............OO..O....O.OOO..O..OO.OOO.OOOO..OO..O.............
.............OO.OOOO..OO.O..OOOOOO..O...O...OOO.OOOO............
............OO..O...OOO..OOOO.....OOOO.OOO.OO...O...O...........
...........OO.OOOO.OO..OOO...O...OO....O...O.O.OOO.OOO..........
..........OO..O....O.OOO..O.OOO.OO.O..OOO.OO.O.O...O..O.........
.........OO.OOOO..OO.O..OOO.O...O..OOOO...O..O.OO.OOOOOO........
........OO..O...OOO..OOOO...OO.OOOOO...O.OOOOO.O..O.....O.......
.......OO.OOOO.OO..OOO...O.OO..O....O.OO.O.....OOOOO...OOO......
......OO..O....O.OOO..O.OO.O.OOOO..OO.O..OO...OO....O.OO..O.....
.....OO.OOOO..OO.O..OOO.O..O.O...OOO..OOOO.O.OO.O..OO.O.OOOO....
....OO..O...OOO..OOOO...OOOO.OO.OO..OOO....O.O..OOOO..O.O...O...
...OO.OOOO.OO..OOO...O.OO....O..O.OOO..O..OO.OOOO...OOO.OO.OOO..
..OO..O....O.OOO..O.OO.O.O..OOOOO.O..OOOOOO..O...O.OO...O..O..O.
.OO.OOOO..OO.O..OOO.O..O.OOOO.....OOOO.....OOOO.OO.O.O.OOOOOOOOO
यह भी देखें
संदर्भ
- ↑ Stephen Coombes (February 2009). "सीपियों की ज्यामिति और रंजकता" (PDF). www.maths.nottingham.ac.uk. University of Nottingham. Retrieved 2013-04-10.
- ↑ Wolfram, S. (1983). "सेलुलर ऑटोमेटा के सांख्यिकीय यांत्रिकी". Rev. Mod. Phys. 55 (3): 601–644. Bibcode:1983RvMP...55..601W. doi:10.1103/RevModPhys.55.601.
- ↑ "यादृच्छिक संख्या सृजन". Wolfram Mathematica 8 Documentation. Retrieved 31 December 2011.
- ↑ Wolfram, S. (1985). "सेलुलर ऑटोमेटा के साथ क्रिप्टोग्राफी". Proceedings of Advances in Cryptology – CRYPTO '85. Lecture Notes in Computer Science 218, Springer-Verlag. p. 429. doi:10.1007/3-540-39799-X_32.
- ↑ Meier, Willi; Staffelbach, Othmar (1991). "सेलुलर ऑटोमेटा द्वारा उत्पन्न छद्म यादृच्छिक अनुक्रमों का विश्लेषण". Advances in Cryptology – Proc. Workshop on the Theory and Application of Cryptographic Techniques, EUROCRYPT '91. Lecture Notes in Computer Science 547, Springer-Verlag. p. 186. doi:10.1007/3-540-46416-6_17.
- ↑ Cattaneo, Gianpiero; Finelli, Michele; Margara, Luciano (2000). "Investigating topological chaos by elementary cellular automata dynamics". Theoretical Computer Science. 244 (1–2): 219–241. doi:10.1016/S0304-3975(98)00345-4. MR 1774395.
- ↑ Lex Fridman (2018-03-02), MIT AGI: Computational Universe (Stephen Wolfram), archived from the original on 2021-12-19, retrieved 2018-03-07
- ↑ Sipper, Moshe; Tomassini, Marco (1996). "सेलुलर प्रोग्रामिंग द्वारा समानांतर यादृच्छिक संख्या जनरेटर उत्पन्न करना". International Journal of Modern Physics C. 7 (2): 181–190. Bibcode:1996IJMPC...7..181S. doi:10.1142/S012918319600017X.
- ↑ Page 6 of Sipper, Moshe; Tomassini, Marco (1996). "Generating parallel random number generators by cellular programming". International Journal of Modern Physics C. 7 (2): 181–190. Bibcode:1996IJMPC...7..181S. doi:10.1142/S012918319600017X.
- ↑ Wolfram, Stephen (June 1, 2017), "Oh My Gosh, It's Covered in Rule 30s!", Stephen Wolfram's blog
- ↑ Lawson-Perfect, Christian (May 23, 2017), "Right answer for the wrong reason: cellular automaton on the new Cambridge North station", The Aperiodical
- ↑ Purtill, Corinne. "ब्रिटेन के एक रेलवे स्टेशन पर एक मशहूर गणितज्ञ को दी गई श्रद्धांजलि में उनके गणित को छोड़कर बाकी सब कुछ सही पाया गया". Quartz (in English). Retrieved 2017-06-12.
- Wolfram, Stephen, 1985, Cryptography with Cellular Automata, CRYPTO'85.
बाहरी संबंध
- Weisstein, Eric W. "Rule 30". MathWorld.
- "Announcing the Rule 30 Prizes". Stephen Wolfram Writings. 1 October 2019.
- Rule 30 in Wolfram's atlas of cellular automata
- Rule 30: Wolfram's Pseudo-random Bit Generator. Recipe 32 at David Griffeath's Primordial Soup Kitchen.
- Repeating Rule 30 patterns. A list of patterns that, when repeated to fill the cells of a Rule 30 automaton, repeat themselves after finitely many time steps. Frans Faase, 2003. Archived from the Original on 2013-08-08
- Paving Mosaic Fractal. Basic introduction to the pattern of Rule 30 from the perspective of a LOGO software expert Olivier Schmidt-Chevalier.
- TED Talk from February 2010. Stephen Wolfram speaks about computing a theory of everything where he talks about rule 30 among other things.