যৌক্তিক মানচিত্রের অদ্ভুত আকর্ষণ


21

চ্যালেঞ্জের উদ্দেশ্য প্রায় প্লটে বিভক্ত হয় অ্যাট্রাক্টর এর লজিস্টিক মানচিত্র তার প্যারামিটারের একটি ফাংশন হিসাবে (নামেও দ্বিখণ্ডন ডায়াগ্রাম ), অথবা এটি একটি উপঅঞ্চলের। গ্রাফের চেহারাটি উইকিপিডিয়া থেকে নিম্নলিখিত চিত্রটিতে দেখা যায়:

এখানে চিত্র বর্ণনা লিখুন

পটভূমি

লজিস্টিক মানচিত্র একটি গাণিতিক ফাংশন যা একটি ইনপুট নেয় এক্স এবং আউটপুট মানচিত্রের এক্স ট + 1 টি হিসাবে সংজ্ঞায়িত করা

             x কে + 1 = আর এক্স কে (1− এক্স কে )

যেখানে r হ'ল মানচিত্রের প্যারামিটার , ব্যবধানে শুয়ে থাকা ধরে নেওয়া হয় [0, 4]।

[0,4] এ r দেওয়া হয়েছে এবং বিরতিতে প্রাথমিক মান x 0 [0,1], একটি চূড়ান্ত মান x এন উত্পাদন করে বারবার একটি বৃহত সংখ্যক এন এর জন্য ফাংশনটি বার বার প্রয়োগ করা আকর্ষণীয় । দ্রষ্টব্য যে এক্স এন অবশ্যই [0,1] এ থাকা উচিত।

উদাহরণ হিসাবে, r = 3.2, N = 1000 বিবেচনা করুন initial প্রাথমিক মান x 0 = 0.01 x 1000 = 0.5130 দেয় । জন্য এক্স 0 = 0.02 ফল এক্স 0 = 0.7995। জন্য কোন অন্যান্য প্রাথমিক মান x 0 চূড়ান্ত মান x 1000 অত্যন্ত পারেন 0,5130 বা 0,7995 কাছাকাছি। অনুভূমিক অবস্থানে r = 3.2 এ দুটি লাইনের উচ্চতা হিসাবে এটি গ্রাফটিতে দেখা যায় ।

এর অর্থ এই নয় যে r = 3.2 এর জন্য প্রতিটি অনুক্রম সেই দুটি মানের একটিতে রূপান্তর করে। প্রকৃতপক্ষে, উপরে বিবেচিত দুটি প্রাথমিক মানগুলির জন্য, ক্রমগুলি হ'ল (দোলনমূলক আচরণটি নোট করুন):

             x 0 = 0.01, ..., x 1000 = 0.5130, এক্স 1001 = 0.7995, এক্স 1002 = 0.5130, ...
             x 0 = 0.02, ..., x 1000 = 0.7995, এক্স 1001 = 0.5130, এক্স 1002 = 0.7995 , ...

কি হয় সত্য যে যথেষ্ট বৃহৎ জন্য এন , এবং প্রায় সব প্রাথমিক মানের জন্য এক্স 0 শব্দটি x এন সেট {0,5130, 0,7995} এর উপাদান এক পাসে হবে। এই সেটটিকে এই নির্দিষ্ট আর এর জন্য আকর্ষক বলা হয় ।

প্যারামিটার আর এর অন্যান্য মানগুলির জন্য অ্যাট্রাক্টর সেট বা তার উপাদানগুলির আকার পরিবর্তন হবে। গ্রাফ প্রতিটি আর এর জন্য আকর্ষণকারী উপাদানগুলিকে প্লট করে ।

একটি নির্দিষ্ট জন্য অ্যাট্রাক্টর যাবে আনুমানিক দ্বারা

  1. x 0 প্রাথমিক মানের বিস্তৃত পরীক্ষা করা ;
  2. সংখ্যক জন্য সিস্টেম অভিব্যক্ত লেট এন পুনরাবৃত্তিও; এবং
  3. এক্স এন প্রাপ্ত চূড়ান্ত মানগুলি নোট গ্রহণ করা ।

চ্যালেঞ্জ

ইনপুট

  • এন : পুনরাবৃত্তির সংখ্যা।

  • r 1 , r 2 এবং s । এই সেট সংজ্ঞায়িত আর মূল্যবোধের , যথা আর = { R 1 , r 1 + + গুলি ,1 +2 গুলি , ...,2 }।

কার্যপ্রণালী

প্রাথমিক মান x 0 এর সেট এক্স স্থির করা হয়েছে: এক্স = {0.01, 0.02, ..., 0,99}। Allyচ্ছিকভাবে, 0 এবং 1 এক্স-এ অন্তর্ভুক্ত থাকতে পারে ।

প্রত্যেকের জন্য মধ্যে আর এবং প্রতিটি এক্স 0 মধ্যে এক্স , বারবার লজিস্টিক মানচিত্র এন উত্পাদন করতে বার x এন । প্রাপ্ত টিউপসগুলি রেকর্ড করুন ( আর , এক্স এন )।

আউটপুট

অনুভূমিক অক্ষ হিসাবে আর বি উল্লম্ব অক্ষ হিসাবে এক্স এন সমেত বিমানের প্রতিটি বিন্দু ( আর , এক্স এন ) প্লট করুন Pl আউটপুট গ্রাফিক হওয়া উচিত (ASCII আর্ট নয়)।

অতিরিক্ত বিধি

  • নির্দেশিত পদ্ধতি প্রয়োজনীয় ফলাফল সংজ্ঞায়িত করে, তবে প্রয়োগ করা হয় না। একই ধরণের ( আর , এক্স এন ) টিপলস সংগ্রহ করে এমন অন্য যে কোনও পদ্ধতি ব্যবহার করা যেতে পারে।
  • ইনপুট যথারীতি নমনীয়।
  • ভাসমান পয়েন্ট ত্রুটি উত্তরদাতাদের বিরুদ্ধে রাখা হবে না।
  • গ্রাফিক আউটপুট প্রয়োজনীয়, গ্রহণযোগ্য ফর্ম্যাটগুলির যে কোনওটিতে । বিশেষত, স্ক্রিনে আউটপুট প্রদর্শিত হতে পারে, বা একটি গ্রাফিক্স ফাইল তৈরি হতে পারে, বা আরজিবি মানগুলির একটি অ্যারে আউটপুট হতে পারে। যদি কোনও ফাইল বা একটি অ্যারে আউটপুট করে থাকে তবে দয়া করে প্রদর্শিত হলে এটি কেমন লাগে তার একটি উদাহরণ পোস্ট করুন।
  • গ্রাফিক্স ভেক্টর বা রাস্টার হতে পারে। রাস্টার গ্রাফিক্সের জন্য, চিত্রটির আকারটি কমপক্ষে 400 × 400 পিক্সেল হওয়া উচিত।
  • প্রতিটি পয়েন্ট একটি একক পিক্সেল হিসাবে বা এক পিক্সেলের ক্রম আকারের চিহ্ন হিসাবে দেখানো উচিত (অন্যথায় গ্রাফটি দ্রুত বিশৃঙ্খল হয়ে যায়)।
  • অক্ষের পরিসরটি আর (অনুভূমিক অক্ষ) এর জন্য [0,4] এবং x এন (উল্লম্ব অক্ষ) এর জন্য [0,1] হওয়া উচিত ; বা এটি যতটা ছোট পেতে পারে যতক্ষণ না এতে প্রাপ্ত সমস্ত পয়েন্ট অন্তর্ভুক্ত থাকে।
  • অক্ষের স্কেলগুলি স্বেচ্ছাসেবী। বিশেষত, উভয় অক্ষের জন্য স্কেল একরকম হওয়ার দরকার নেই।
  • গ্রিড লাইন, অক্ষ লেবেল, রঙ এবং অনুরূপ উপাদান গ্রহণযোগ্য, তবে প্রয়োজন নেই।
  • বাইটস মধ্যে সংক্ষিপ্ত কোড।

পরীক্ষার মামলা

উচ্চ-রেজোলিউশন সংস্করণের জন্য প্রতিটি ছবিতে ক্লিক করুন।

N = 1000; r1 = 2.4; r2 = 4; s = 0.001;

এখানে চিত্র বর্ণনা লিখুন

N = 2000; r1 = 3.4; r2 = 3.8; s = 0.0002;

এখানে চিত্র বর্ণনা লিখুন

N = 10000; r1 = 3.56; r2 = 3.59; s = 0.00002;

এখানে চিত্র বর্ণনা লিখুন

স্বীকৃতি

চ্যালেঞ্জটি স্যান্ডবক্সে থাকাকালীন তাদের সহায়ক মন্তব্যের জন্য @ ফ্রাইআম দ্য এজিগম্যান এবং @ আন্দ্রেসডিককে ধন্যবাদ জানাই


কি অজগর সমাধান ?!

@ ল্যাম্বিকের পাইথনে আমার একটি রেফারেন্স বাস্তবায়ন রয়েছে (এবং মতলব-এ) তবে আমি নিজের উত্তর দিতে চাই না
লুইস মেন্ডো

পিপিসিজিতে আপনাকে নিজের প্রশ্নের উত্তর দেওয়ার অনুমতি দেওয়া হয়েছে (সম্ভবত অবাক করে দিয়ে)।

@ লেলেবিক আমি জানি, তবে আমি বরং অন্যের উত্তরগুলি পেয়েছি
লুইস মেন্ডো

উত্তর:


13

এমএটিএল, 32 30 28 27 বাইট

4 লাইট সংরক্ষণ করেছেন লুইসকে ধন্যবাদ

3$:0:.01:1!i:"tU-y*]'.'3$XG

ইনপুট ফরম্যাট r1, s, r2, এবংN

এমএটিএল অনলাইন এ চেষ্টা করুন Try

এখানে চিত্র বর্ণনা লিখুন

ব্যাখ্যা

        % Implicitly grab the first three inputs
3$:     % Take these three inputs and create the array [r1, r1+s, ...]
0:.01:1 % [0, 0.01, 0.02, ... 1]
!       % Transpose this array
i       % Implicitly grab the input, N
:"      % For each iteration
  tU    % Duplicate and square the X matrix
  -     % Subtract from the X matrix (X - X^2) == x * (1 - x)
  y     % Make a copy of R array
  *     % Multiply the R array by the (X - X^2) matrix to yield the new X matrix
]       % End of for loop
'.'    % Push the string literal '.' to the stack (specifies that we want
        % dots as markers)
3$XG    % Call the 3-input version of PLOT to create the dot plot

8

গণিত, 65 বাইট

Graphics@Table[Point@{r,Nest[r#(1-#)&,x,#]},{x,0,1,.01},{r,##2}]&

খাঁটি ফাংশনটি N, r1, r2, sকে এই ক্রমে যুক্ত করুন। মোট শুরুতে Nest[r#(1-#)&,x,N]লজিস্টিক ফাংশনটি পুনরাবৃত্তি করে ; এখানে ( ) ফাংশনটির প্রথম যুক্তিটি প্রশ্নযুক্ত ; এমন একটি উত্পাদন করে যা প্লট করতে খুশি হবে। এই পয়েন্ট আভা সঙ্গে সৃষ্টি থেকে চলমান মান থেকে বাড়তি মধ্যে ; মধ্যে -এর মানে মূল ফাংশন আর্গুমেন্ট দ্বিতীয় থেকে শুরু সব, এবং তাই বিস্তৃতি করার যা সঠিকভাবে জন্য পরিসীমা এবং বৃদ্ধি সেট করে ।r#(1-#)&Nx#NPoint@{r,...}PointGraphicsTable[...,{x,0,1,.01},{r,##2}]x01.01##2{r,##2}{r,##2}{r,r1,r2,s}r

দ্বিতীয় পরীক্ষার ক্ষেত্রে নমুনা আউটপুট: ইনপুট

Graphics@Table[Point@{r,Nest[r#(1-#)&,x,#]},{x,0,1,.01},{r,##2}]&[2000,3.4,3.8,0.0002]

নীচে গ্রাফিক্স উত্পাদন।

এখানে চিত্র বর্ণনা লিখুন


1
59 বাইটস লিস্টপ্লট @ টেবিল [{r, নীড় [আর # (1 - #) &, এক্স, #]}, {এক্স, 0,1, .01}, {আর, ## 2}] এবং
জে 212161217

আমি চ্যালেঞ্জটিতে স্পষ্ট করে দিয়েছি যে নির্দেশিত পদ্ধতিটি প্রয়োজনীয় ফলাফলটি সংজ্ঞায়িত করার জন্য, তবে প্রক্রিয়াটি নিজেই প্রয়োগ করা হয় না। আপনি অন্য যে কোনও পদ্ধতি ব্যবহার করতে পারেন যা একই ফলাফল দেয়। দুঃখিত যদি এটি প্রথমে পরিষ্কার না হত
লুইস মেন্ডো

কোনও সমস্যা নয়, আমাদের বেশ কয়েকটি ভাল উত্তর রয়েছে!
গ্রেগ মার্টিন

1
আপনি কি সেই -6 বাইট ব্যবহার করছেন না? আপনি কি মনে করেন যে এই সমাধানটিতে সোমিংটি ভুল?
J42161217

ওহ আমি ভেবেছিলাম আপনার উত্তরটি আপনার মন্তব্য থেকে কোডটি (একটি সংস্করণ) পোস্ট করা হয়েছিল ....
গ্রেগ মার্টিন

5

গণিত, 65 বাইট

আমি গ্রেগ মার্টিনের কয়েকটি কৌশল ব্যবহার করেছি এবং গ্রাফিকগুলি ব্যবহার না করে এটিই আমার সংস্করণ

ListPlot@Table[{r,NestList[#(1-#)r&,.5,#][[-i]]},{i,99},{r,##2}]&

ইনপুট

[1000, 2.4, 4, 0.001]

আউটপুট

এখানে চিত্র বর্ণনা লিখুন

ইনপুট

[2000, 3.4, 3.8, 0.0002]

আউটপুট

এখানে চিত্র বর্ণনা লিখুন


1
প্রথম উত্তর যা প্রাথমিক মান 0 বা 1 এড়ানোর জন্য পছন্দ করে (এবং তারা উত্পন্ন x = 0 লাইন) :-)
লুইস মেন্ডো

আপনার কোডটি কী করে তার আপনাকে একটি ব্যাখ্যা যুক্ত করা উচিত, কারণ এটি প্রকৃতপক্ষে নির্দিষ্ট পদ্ধতিটি অনুসরণ করে না। নির্ভুল-সন্ধানী ফলাফলটি বিকল্প পদ্ধতিটিকে ন্যায়সঙ্গত করে কিনা তা ওপি সিদ্ধান্ত নিতে পারে।
গ্রেগ মার্টিন

নির্দিষ্ট পদ্ধতি প্রয়োগ করা হয় না। অন্য যে কোনও উপায়ে একই ফলাফল দেয় এমন কিছু অনুমোদিত হয় (আমি এটি পরিষ্কার করব)। এগুলি নির্বিশেষে, আমি ব্যাখ্যাটি দেখতে আগ্রহী
লুইস মেন্ডো

প্রতিটি r এর জন্য আপনার যে পয়েন্টগুলি প্লট করতে হবে, এটি প্রতিটি "নীড়" -এর মধ্যে ইতিমধ্যে বিদ্যমান। এটি মূল কোড এবং এটি এই চিত্রটি বানাতে আমার প্রথম পন্থা ছিল (কিছুক্ষণ আগে)।
J42161217

@ লুইস মেন্ডো আমার একটি আরও সংক্ষিপ্ত সংস্করণ রয়েছে (যা গণিতের জন্য একটি রেকর্ড তৈরি করে) ।58 বাইট তবে আপনাকে অবশ্যই 3 টি ইনপুট প্রবেশ করতে হবে [এন, আর 1, আর 2]। এটি সময় নেয় তবে এটি কার্যকর হয় P [টেবিল [নেস্টলিস্ট [# 1 - #) আর &। 5, #] [[- i]], {আমি, 99}], {আর, ## 2}] এবং
জে 212161217

2

টিআই-বেসিক, 85 বাইট

Prompt P,Q,S,N
P→Xmin:Q→Xmax
0→Ymin:1→Ymax
For(W,.01,1,.01
For(R,P,Q,S
W→X
For(U,1,N
R*X*(1-X→X
End
Pt-On(R,X
End
End

একটি সম্পূর্ণ টিআই-বেসিক প্রোগ্রাম যা ক্রমে ইনপুট নেয় r1,r2,s,Nএবং তারপরে গ্রাফ স্ক্রিনে রিয়েল টাইমে আউটপুট দেখায়। নোট করুন যে এটি অবিশ্বাস্যরকম ধীর হতে থাকে ।

ইনপুটটির জন্য প্রায় 2.5 ঘন্টা পরে এখানে অসম্পূর্ণ নমুনা আউটপুট উত্পন্ন হয় 3,4,0.01,100:

এখানে চিত্র বর্ণনা লিখুন


আপনার *লক্ষণগুলির দরকার নেই ।
lirtosiast

1

প্রসেসিংজেএস, 125 123 120 বাইট

3 বাইট বাঁচানোর জন্য কৃতিক্সী লিথোসকে ধন্যবাদ ।

var f(n,q,r,s){size(4e3,1e3);for(i=0;i<1;i+=.01)for(p=q;p<=r;p+=s){x=i;for(j=0;j<n;j++)x*=p-p*x;point(p*1e3,1e3-x*1e3)}}

এটি অনলাইন চেষ্টা করুন! কল করে কল করুনf(N, r_1, r_2, s);


আমার মনে হয় আপনি প্রতিস্থাপন করতে পারেন voidসঙ্গে var, কারণ এটি এর প্রসেসিং জাতীয়
Kritixi Lithos

এবং x*=p*(1-x)হয়ে উঠতে পারেx*=p-p*x
ক্রিটসি লিথোস

ফর-লুপটি পুনরায় সাজানোর মাধ্যমে আমি var f(n,q,r,s){size(4e3,1e3);for(i=0;i<1;i+=.01)for(p=q;x=i,p<=r;point(p*1e3,1e3-x*1e3),p+=s)for(j=0;j<n;j++)x*=p-p*x;}119 বাইট
পেয়েছি

1

জেল , 158 বাইট

`(N,r,t,s)=(LinePlotWindow=[r,t,0,1];for i=r to t by s do(p=.;for w=0to 1by 0.01do(x=w;for a=0to N do(x=i*x*(1-x););p=[p;q=[i,x]];);LinePlotDrawPoints(p);););

এটি সংক্ষিপ্ততম নাও হতে পারে তবে এটি বাস্তব সময়ে আঁকবে, যদিও এটি বিশাল ইনপুটগুলির সাথে অবিশ্বাস্যভাবে ধীর হতে পারে। যাইহোক, এটি একটি বেনামে ফাংশন যা বিন্যাসে ইনপুট নেয় (N,r1,r2,s)এবং প্লটটিকে একটি নতুন উইন্ডোতে আউটপুট দেয়। নোট করুন যে এটি অবশ্যই জেনিয়াসের জিনোম সংস্করণ দিয়ে চালানো উচিত

নমুনা আউটপুট


1

আর, 159 147 বাইট

pryr::f({plot(NA,xlim=c(a,b),ylim=0:1);q=function(r,n,x=1:99/100){for(i in 1:n)x=r*x*(1-x);x};for(i in seq(a,b,s))points(rep(i,99),q(i,n),cex=.1)})

যা ফাংশন উত্পাদন করে

function (a, b, n, s) 
{
    plot(NA, xlim = c(a, b), ylim = 0:1)
    q = function(r, n, x = 1:99/100) {
        for (i in 1:n) x = r * x * (1 - x)
        x
    }
    for (i in seq(a, b, s)) points(rep(i, 99), q(i, n), cex = 0.1)
}

plot(NA,...)একটি খালি ক্যানভাস তৈরি করে যার সঠিক মাত্রা রয়েছে। qপুনরাবৃত্তি করে ফাংশন। এটির একটি মান লাগে rএবং তারপরে এবং এর nমধ্যে সমস্ত শুরু পয়েন্টগুলির জন্য পুনরাবৃত্তিগুলি করে । এরপরে ফলাফল ভেক্টরকে ফেরত দেয়।0.010.99

জন্য-লুপ ফাংশন প্রযোজ্য qক্রম aথেকে bধাপ s। মানগুলি ফিরিয়ে দেওয়ার পরিবর্তে এটি প্লটে তাদের পয়েন্ট হিসাবে যুক্ত করে। যদি আকর্ষণ বিন্দু একটি মান হয় তবে সমস্ত পয়েন্ট কেবল ওভারল্যাপ হয়ে একটি পয়েন্ট হিসাবে প্রদর্শিত হবে। cex=.1পয়েন্টগুলি যতটা সম্ভব ছোট করতে প্রয়োজনীয় সংযোজন।

এখানে চিত্র বর্ণনা লিখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.