दोहरीकरण कैस्केड


12

सबसे पहले, एक गणितीय अंतराल, लघु, और आपके समय के लायक:

यदि 0 < a < 4, लॉजिस्टिक फ़ंक्शन f(x) = ax(1-x) अपने भीतर अंतराल [0,1] को मैप करता है। इसका मतलब यह है कि एक खेल खेल खेल सकते हैं; उदाहरण के लिए, यदि a = 2, प्रारंभिक मान 0.3 0.42 हो जाता है, तो 0.4872, आदि।

जैसे ही पैरामीटर aबढ़ता है, द्विघात फ़ंक्शन fनिम्न अर्थों में अधिक जटिल हो जाता है:

  • 0 < a < 1 सभी प्रारंभिक मान 0 की ओर पुनरावृत्त होते हैं।
  • 1 < a < 3 0 रिपेलिंग हो जाता है, लेकिन एक नया निश्चित बिंदु (ए -1) / है जो सभी पुनरावृत्तियों को आकर्षित करता है।
  • 3 < a < 1+sqrt(6) नया निश्चित बिंदु निरस्त हो जाता है, लेकिन 2 आकर्षित करने वाले बिंदुओं का एक चक्र दिखाई देता है।
  • 3.44949... < a < 3.54409... 2-चक्र में खराबी आती है, लेकिन 4 आकर्षित करने वाले बिंदुओं का एक चक्र दिखाई देता है।
  • आदि।

Feigenbaum ने देखा कि इन पैरामीटर अंतरालों की लंबाई एक दर से कम हो जाती है 4.6692...जो Feigenbaum स्थिर और करीब हो जाती है । अद्भुत खोज यह है कि यह अवधि 2 द्विभाजन अनुक्रम किसी भी कार्य द्वारा साझा की जाने वाली एक सामान्य घटना है (जैसे द्विघात परवलय) बढ़ रही है, फिर घट रही है। अराजकता की सार्वभौमिकता पर यह पहली रिपोर्टों में से एक थी ।

अब चुनौती के लिए! कम से कम कोड है कि लिखें गणना करता है अपनी पसंद की सूक्ष्मता तक Feigenbaum निरंतर। यहां बिंदु उस संख्या को धोखा देकर सिस्टम को धोखा देने का नहीं है जिसे आपने गुगला किया था, लेकिन वास्तव में कंप्यूटर को मूल्य मिल गया है। संदर्भ के लिए, यहां 30 अंकों की निरंतरता है:

4.669201609102990671853203821578


5
मुझे आश्चर्य है कि हमारे पास इस स्थिरांक की गणना करने के लिए पहले से ही एक चुनौती नहीं है, एक अच्छा विचार है जिसे हमने याद किया है। लॉजिस्टिक अट्रैक्टर को प्लॉट करने के लिए क्लोजेस्ट लगता है । मेरा सुझाव है कि कोड को अधिकतम त्रुटि या अंकों की संख्या में ले जाएं और उस सटीकता के भीतर निरंतरता उत्पन्न करें (कुछ बिंदुओं पर मशीन की सीमा की अनदेखी करना)। या हो सकता है कि i'th और (i + 1) सेंट दोहरीकरण अंतराल के बीच उस अनुपात की गणना करें, जैसा कि स्थिरांक में परिवर्तित होगा। एक सटीकता का चयन करने वाला गोल्फर बहुत अस्पष्ट है और हार्डकॉन्डिंग नहीं है।
xnor

मैंने कठिन सोचा कि चुनौती को कैसे उद्धृत किया जाए। मुद्दा यह है कि यह सटीक रूप से गणना करने के लिए एक कुख्यात कठिन चीज है, इसलिए मुझे लगा कि लोगों को एक अधिक शक्तिशाली तरीका लागू करने पर ध्यान केंद्रित करना होगा, बजाय इसके कि जानवर बल द्वारा अतिरिक्त अंक प्राप्त करें। अगर लोग अलग तरह से महसूस करते हैं, तो मैं नियम बदल दूंगा।
रॉड्रिगो ए। पेरेस

1
आप एक चालाक विधि के रूप में क्या देख रहे हैं या जानवर बल से बच रहे हैं? ध्यान दें कि कोड गोल्फ के लिए डिफ़ॉल्ट रूप से हमें रन-टाइम या स्पेस पर किसी सीमा की आवश्यकता नहीं होती है, इसलिए उत्तर लघु होने के लिए अनुकूलित होने पर बहुत अक्षम हो जाते हैं। शायद आप एक तेज़ कोड या प्रतिबंधित जटिलता चुनौती बनाना चाहते हैं?
xnor

जवाबों:


3

जावास्क्रिप्ट, 141 138 135 131 बाइट, 8 अंक

यह कुछ ऐसा है जो मुझे लगता है। यह काफी हद तक कामचलाऊ होना चाहिए। अगर किसी को एक शुरुआत की जरूरत है: Feigenbaum की गणना कैसे करें । और यह कैसे करना है कोड के लिहाज से पता करने के लिए यदि आप बल्कि चाहते हैं, बाहर की जाँच इस

अपने कंसोल में निम्न कोड पेस्ट करें। 4.6692016 68823243 (तो वास्तव में सटीक नहीं) की गणना करता है

b=1;c=0;e=3.2;for(i=2;i<13;i++){z=b-c;a=b+z/e;j=4;while(j--){x=y=0;k=2**i;while(k--){y=1-2*y*x;x=a-x*x;}a-=x/y}e=z/(a-b);c=b;b=a;e}

b=1;c=0;e=3.2;for(i=2;i<13;i++){z=b-c;a=b+z/e;j=4;while(j--){x=y=0;k=2**i;while(k--){y=1-2*y*x;x=a-x*x;}a-=x/y}e=z/(a-b);c=b;b=a;e}
console.log(e)


2

पायथन, 127 बाइट्स

c,b,e=0,1,2
for i in range(2,13):a=b+(b-c)/e;exec(("x=y=0;"+"y,x=1-2*y*x,a-x*x;"*2**i+"a=a-x/y;")*17);d,c,b=(b-c)/(a-b),b,a;e=d

क्रेडिट उनके जावास्क्रिप्ट उत्तर के साथ @ThomasW के लिए जाता है।

print(d)आउटपुट में जोड़ें 4.669201673141983 । निष्पादन से पहले गणना की जाने वाली लंबी तारों के कारण कुछ सेकंड लगते हैं।


1

चारकोल , 84 बाइट्स

A¹βA⁰εA³·²δF…²¦¹³«A⁺β∕⁻βεδαFχ«A⁰ξA⁰ψFX²ι«A⁻¹××ψ²ξψA⁻α×ξξξ»A⁻α∕ξψα»A∕⁻βε⁻αβδAβεAαβ»Iδ

इसे ऑनलाइन आज़माएं! स्पष्टीकरण के लिए क्रिया कोड से लिंक करें।

यहाँ से एल्गोरिथ्म का उपयोग करता है

प्रिंट 4.66920 0975097843 (6 अंक)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.