Tujuan dari tantangannya adalah sekitar plot penarik dari peta logistik sebagai fungsi dari parameter yang r (juga disebut bifurkasi diagram ), atau sub regional itu. Tampilan grafik dapat dilihat pada gambar berikut dari Wikipedia:
Latar Belakang
The peta logistik adalah fungsi matematika yang mengambil input x k dan peta untuk output x k + 1 didefinisikan sebagai
x k + 1 = r x k (1− x k )
di mana r adalah parameter peta, diasumsikan terletak pada interval [0, 4].
Mengingat r di [0,4], dan nilai awal x 0 pada interval [0,1], sangat menarik untuk berulang kali mengajukan permohonan fungsi untuk sejumlah besar N iterasi, menghasilkan nilai akhir x N . Perhatikan bahwa x N juga akan terletak pada [0,1] juga.
Sebagai contoh, pertimbangkan r = 3,2, N = 1000. Nilai awal x 0 = 0,01 memberi x 1000 = 0,5130. Untuk x 0 = 0,02 hasilnya adalah x 0 = 0,7995. Untuk setiap nilai awal lainnya x 0 nilai akhir x 1000 sangat dekat dengan baik 0,5130 atau 0,7995. Ini terlihat dalam grafik sebagai ketinggian dua garis pada posisi horisontal r = 3,2.
Ini tidak berarti bahwa untuk r = 3,2 setiap urutan konvergen ke salah satu dari dua nilai tersebut. Bahkan, untuk dua nilai awal yang dipertimbangkan di atas, urutannya adalah (perhatikan perilaku berosilasi):
x 0 = 0,01, ..., x 1000 = 0,5130, x 1001 = 0,7995, x 1002 = 0,5130, ...
x 0 = 0,02, ..., x 1000 = 0,7995, x 1001 = 0,5130, x 1002 = 0,7995 ...
Apa yang benar adalah bahwa untuk cukup besar N , dan untuk hampir semua nilai awal x 0 , istilah x N akan mendekati salah satu elemen dari himpunan {0,5130, 0,7995}. Set ini disebut sebagai penarik r khusus ini .
Untuk nilai lain dari parameter r ukuran atractor set, atau elemen-elemennya, akan berubah. Grafik memplot elemen dalam penarik untuk setiap r .
Penarik untuk r tertentu dapat diperkirakan oleh
- menguji berbagai nilai awal x 0 ;
- membiarkan sistem berevolusi untuk sejumlah besar N iterasi; dan
- mencatat nilai akhir x N yang diperoleh.
Tantangan
Input
N : jumlah iterasi.
r 1 , r 2 dan s . Ini menentukan himpunan R dari nilai r , yaitu R = { r 1 , r 1 + s , r 1 + 2 s , ..., r 2 }.
Prosedur
Set X dari nilai awal x 0 adalah tetap: X = {0,01, 0,02, ..., 0,99}. Opsional, 0 dan 1 juga dapat dimasukkan dalam X .
Untuk setiap r di R dan masing-masing x 0 di X , iterate logistik peta N kali untuk menghasilkan x N . Catat tupel yang diperoleh ( r , x N ).
Keluaran
Plot setiap tupel ( r , x N ) sebagai titik di bidang dengan r sebagai sumbu horizontal dan x N sebagai sumbu vertikal. Keluaran harus berupa grafik (bukan seni ASCII).
Aturan tambahan
- Prosedur yang ditunjukkan menentukan hasil yang diperlukan, tetapi tidak ditegakkan. Prosedur lain apa pun yang menghasilkan set tupel ( r , x N ) yang sama dapat digunakan.
- Input fleksibel seperti biasa.
- Kesalahan floating point tidak akan ditahan terhadap penjawab.
- Output grafis diperlukan, dalam format apa pun yang diterima . Secara khusus, output dapat ditampilkan di layar, atau file grafik dapat diproduksi, atau array nilai RGB mungkin output. Jika menghasilkan file atau array, silakan posting contoh seperti apa saat ditampilkan.
- Grafik dapat berupa vektor atau raster. Untuk grafik raster, ukuran gambar harus setidaknya 400 × 400 piksel.
- Setiap titik harus ditampilkan sebagai satu piksel, atau sebagai tanda dengan ukuran urutan satu piksel (jika tidak, grafik dengan cepat akan berantakan).
- Rentang sumbu harus [0,4] untuk r (sumbu horizontal) dan [0,1] untuk x N (sumbu vertikal); atau mungkin lebih kecil asalkan mencakup semua poin yang diperoleh.
- Timbangan sumbu bersifat arbitrer. Secara khusus, skalanya tidak harus sama untuk kedua sumbu.
- Garis kisi, label sumbu, warna, dan elemen serupa dapat diterima, tetapi tidak diperlukan.
- Kode terpendek dalam byte menang.
Uji kasus
Klik pada setiap gambar untuk versi resolusi tinggi.
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;
Pengakuan
Terima kasih kepada @FryAmTheEggman dan @AndrasDeak atas komentar bermanfaat mereka sementara tantangannya ada di kotak pasir.