Olimpiade Sains

Solusi OSP Astronomi 2018

crux_plot_polar_zoom

Berikut kami sampaikan solusi OSP Astronomi 2018 versi kami. Sekali lagi, tidak ada jaminan sesuai dengan jawaban oleh juri/pembuat soal.

Link download: Solusi_OSP_Astronomi_2018_rev03

Upload pertama: 28 April 2018, 17.00 (waktu Chile)
Revisi:
– 28 April 2018 23.50: Nomor 19, salah menggunakan data, data yang diberikan sumbu panjang & pendek, bukan setengah sumbu panjang dan setengah sumbu pendek (a & b)
– 29 April 2018, 08.34: Nomor 14, salah hitung.
– 31 Mei 2018, 09.32: mengganti gambar spektrum

Silahkan sampaikan kepada kami apabila ada kesalahan (melalui blog ini atau WA). Revisi terakhir akan dituliskan tanggal dan jam uploadnya.

Advertisements
Astronomy and Astrophysics · Olimpiade Sains · Statistics

Perambatan kesalahan pada pengukuran jarak dari rumus modulus jarak

Jika kita diberikan data magnitudo beserta ketidakpastiannya, misalnya: m \pm \sigma_{m}, M \pm \sigma_{M}, atau juga dalam modulus jarak \Delta m \pm \sigma_{\Delta m}. Bagaimana kita mengukur/menghitung ketidakpastian dari jarak yang kita peroleh (\sigma_d) dari rumus modulus jarak?

m - M = -5 + 5\log{d}

Dari rumus modulus jarak kita dapat menghitung jarak,

d = 10^{\frac{m - M + 5}{5}}

d = 10^{\frac{1}{5}m - \frac{1}{5}M + 1} = 10^{\frac{1}{5}m} 10^{- \frac{1}{5}M} 10^{1}

Sedangkan ketidakpastian jaraknya dapat kita hitung dari rumus perambatan kesalahaan.


 

Rumus perambatan kesalahan dari suatu fungsi f(x, y, ...) yang apabila variabelnya (x, y, ...) saling bebas (tidak terikat satu sama lain) dapat dituliskan sebagai

\sigma_f = \sqrt{ \left( \frac{\partial f}{\partial x} \right)^2 \sigma_x^2 + \left( \frac{\partial f}{\partial y} \right)^2 \sigma_y^2 + ...}


Untuk kasus jarak pada persamaan modulus jarak di atas, d (m, M)
\sigma_d = \sqrt{ \left( \frac{\partial d}{\partial m} \right)^2 \sigma_m^2 + \left( \frac{\partial d}{\partial M} \right)^2 \sigma_M^2}

Dengan mengingat bahwa \frac{d}{dx} a^x = \ln{a} \cdot a^x, maka kita dapat menghitung turunan parsial fungsi jarak d(m, M) seperti berikut,
\frac{\partial d}{\partial m} = \frac{1}{5} \cdot 10^{\frac{1}{5}m} \cdot \ln{10} \cdot 10^{-\frac{1}{5}M + 1} = \frac{1}{5} \cdot \ln{10} \cdot d

\frac{\partial d}{\partial M} = -\frac{1}{5} \cdot 10^{-\frac{1}{5}M} \cdot \ln{10} \cdot 10^{\frac{1}{5}m + 1} = - \frac{1}{5} \cdot \ln{10} \cdot d

Kedua persamaan ini dapat dimasukkan ke dalam persamaan sebelumnya untuk mendapatkan ketidakpastian jarak.


Jika diberikan ketidakpastian dari satu parameter saja (\sigma_m, \sigma_M, atau \sigma_{\Delta m}), maka persamaan ketidakpastian jarak menjadi: (sebagai contoh jika hanya diketahui \sigma_M)

\sigma_d = \sqrt{ \left( - \frac{1}{5} \cdot \ln{10} \cdot d \right)^2 \sigma_M^2}

\sigma_d = \frac{\ln{10}}{5} \cdot d \cdot \sigma_M

\sigma_d \approx 0.46051702 \cdot d \cdot \sigma_M


Contoh:

Diketahui modulus jarak suatu bintang adalah 5 dengan ketidakpastiannya sebesar 0.1, maka jarak beserta ketidakpastiannya adalah?

5 = -5 + 5\log{d}

d = 100 pc

\sigma_d = 0.46051702 \cdot 100 \cdot 0.1 = 4.6 pc

d = 100 \pm 4.6


Untuk kasus lebih sederhana ketidakpastian pengukuran jarak  jika diketahui paralaks dan ketidakpastiannya dapat ditentukan dengan

d = \frac{1}{p}

\sigma_d = \sqrt{\left( \frac{\partial d}{\partial p} \right)^2 \sigma_p^2}

\sigma_d = \sqrt{\frac{\sigma_p^2}{p^4}} = \frac{\sigma_p}{p^2} =\sigma_p \cdot d^2

Pada kenyataannya, ketika astronom ditanya tentang ketidakpastian pengukuran, tidak semudah itu memperolehnya, i.e. white noise, red noise, model, and statistics! 😉

 

Mathematics · Note

Fermat’s factorization method and prime number: Fermat sequence (?)

Part-1 | Part-2 | Part-3 | Part-4


Beberapa hari terakhir saya kembali memikirkan pola yang saya temukan dulu saat kuliah (tahun 2013), yaitu tentang faktorisasi Fermat.

Saya bukan matematikawan, jadi harap maklum kalau argumen-argumen yang saya tulis banyak merupakan spekulasi belaka. 😉

Prime and Composite number

Bilangan prima adalah bilangan asli (natural number) lebih dari satu yang tidak memiki pembagi kecuali 1 dan dirinya sendiri. Metode untuk menentukan apakah suatu bilangan (integer) adalah prima atau bukan biasa disebut sebagai primality test. Metode yang lebih umum adalah metode faktorisasi, yakni mencari faktor dari suatu bilangan, misal 15 dapat dihasilkan dari 3 \times 5. `Teman’ dari bilangan prima adalah bilangan composite, i.e. bukan 1 dan bukan prima.

The fundamental theorem of arithmetic, states that

Every integer greater than 1 either is prime itself or is the product of prime numbers, and that this product is unique, up to the order of the factors.

Metode paling sederhana untuk mengetahui suatu bilangan N, apakah merupakan prima atau bukan atau mencari faktor dari suatu bilangan, adalah dengan mencoba membagi bilangan itu dengan 2 hingga \sqrt{N} (bilangan lebih dari \sqrt{N} adalah simetri pengalinya saja). Misal 100, memiliki faktor 1, 2, 4, 5, 10, 20, 25,  50, 100 kita cukup mencari hingga 10, karena yang lain saling berpasangan.


Fermat’s factorization method

Metode ini akan dapat mencari faktor dari sebuah bilangan ganjil (odd number) dengan memanfaatkan sifat dari bilangan ganjil yang dapat dinyatakan dalam 2 selisih kuadrat dua bilangan lain.

N = a^2 - b^2 = (a + b)(a - b) = cd

karena N adalah bilangan ganjil, maka c dan d juga pasti bilangan ganjil.

Algoritma ini berangkat dari a = \lceil \sqrt{N} \rceil, dengan iterasi (a = a + 1), berharap akan sampai pada b (pasangannya) yang perfect square. Jika ditulis pseudocode nya adalah sebagai berikut:

FermatFactor(N): // N should be odd
    a ← ceil(sqrt(N))
    b2 ← a*a - N
    i ← 0
    while b2 is not a square:
        a ← a + 1
        b2 ← a*a - N
        i ← i + 1
    endwhile
    return a + sqrt(b2), a - sqrt(b2)

Pada algoritma tersebut saya tambahkan variabel i, sebetulnya hanya untuk mengecek jumlah iterasi yang diperlukan setiap bilangan. Dahulu ketika membuat tidak menduga akan ada pola seperti terlihat pada Gambar 1, plot antara bilangan ganjil (N) dan jumlah iterasi (i) hingga faktornya ditemukan.

Terakhir saya run code saya yang lama dengan menambah batas waktu komputasinya, hingga terfaktorisasi bilangan ganjil ~11 juta. Maka saya peroleh plot yang mirip post saya sebelumnya (Gambar 1).

Code dalam C:

void fermat(long double n){
    long double a, b, b2, bc, check, x1, x2, div;
    // clock_t tstart = clock(), tend;

    /* fermat factorization method */
    a = ceil(sqrt(n));
    b2 = a*a - n;
    b = floor(sqrt(b2));
    bc = b*b;
    check = b2-bc;
    unsigned long int i = 0UL;
    while (check != 0){
        a = a+1;
        b2 = a*a - n;
        b = floor(sqrt(b2));
        bc = b*b;
        check = b2-bc;
        //cout << a << " " << b << "\n";
        i++;
    }
    x1 = a - b;
    x2 = a + b;
    div = n/i;
    // tend = clock() - tstart;
    // double tc = (double)tend/(double)CLOCKS_PER_SEC;

    printf("%Lf %lu %Lf %Lf %Lf %Lf %Lf %Lf \n", n, i, a, b, x1, x2, x1*x2, div);
}

Ketika dulu saya menemukan pola tersebut saya belum dapat menjelaskan pola tersebut (yang penting tugasnya sudah selesai, haha). Kesimpulan awal dulu hanyalah:

  • Sequence paling atas, gradien ~1/2 ditempati oleh bilangan prima
  • Sequence berikutnya memiliki gradien ~1/6, ~1/10, ~1/14, ~1/18, dst.

Kesimpulan menarik lain adalah bahwa ‘sepertinya’ terdapat nilai batas iterasi  untuk membuktikan bahwa suatu bilangan ganjil (N) adalah bilangan prima. Jika jumlah iterasi (faktorisasi Fermat) sudah lebih dari N/6 maka bilangan ganjil tersebut pastilah bilangan prima! (Hendra Gunawan, private comm.)


(Saya beri nama) Fermat Sequence

Setelah cukup lama memikirkan, baru kemudian saya (sedikit) menyadari  dari mana asal-muasal pola garis yang muncul di plot tersebut. Pola garis-garis berupa baris bilangan / sequence tersebut berasal dari sifat faktorisasi Fermat sendiri.

Setelah inspeksi langsung dari data, saya menemukan ide untuk membagi bilangan berdasarkan nilai faktor d = a - b yang ditemukan (ingat N = cd). Tentu jika d = 1 adalah bilangan prima, selanjutnya d = 3, 5, 7, 9, 11, .... Setelah saya plot dengan memberi warna untuk bilangan dengan nilai d yang berbeda itu, barulah mulai terlihat bahwa pola tersebut memang berasal dari pengelompokan nilai faktor d pada saat melakukan faktorisasi Fermat.

Untuk bilangan ganjil N=cd, pola garis yang ditemukan berasal dari faktor kecil d. Bilangan yang ada di satu ‘garis’ (deret bilangan) memiliki d yang sama.

 

zoom_small_number
(Zoom bagian awal) Terlihat ‘percabangan’ bilangan, yang dimulai dari N^2. Ungu merupakan bilangan prima.

 

 

zoom_big_number
(Zoom bagian ujung akhir) Terlihat sequence ini terus berlanjut dan sepertinya terus tumbuh cabang-cabang baru yang selalu di mulai dari N^2.

 

Sequence bilangan ini berikutnya akan saya beri nama Fermat sequence. Saya akan beri nama Fermat-1 untuk sequence paling atas yang anggotanya adalah bilangan prima (d = 1), kemudian Fermat-3 (d=3), Fermat-5, Fermat-7, Fermat-9, dst, untuk sequence-sequence selanjutnya. Saya tampilkan beberapa sequence awal:

Fermat-1 (d = 1): prime number
3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, …

Fermat-3 (d = 3):
9, 15, 21, 27, 33, 39, 51, 57, 69, 87, 93, 111, 123, 129, 141, 159, 177, 183, 201, 213, …

Fermat-5 (d = 5):
25, 35, 45, 55, 65, 75, 85, 95, 115, 125, 145, 155, 185, 205, 215, 235, 265, 295, 305, 335, …

Fermat-7 (d = 7):
49, 63, 77, 91, 105, 119, 133, 147, 161, 175, 203, 217, 245, 259, 287, 301, 329, 343, 371, 413, …

Fermat-9 (d=9):
81, 99, 117, 135, 153, 171, 189, 207, 243, 261, 279, 333, 369, 387, 423, 477, 531, 549, 603, 639, …

Fermat-11 (d=11):
121, 143, 165, 187, 209, 231, 253, 275, 297, 319, 341, 363, 385, 407, 451, 473, 517, 539, 583, 605, …

Fermat-13 (d = 13):
169, 195, 221, 247, 273, 299, 325, 351, 377, 403, 429, 455, 481, 507, 533, 559, 611, 637, 689, 715, …

Inspeksi sekilas, sequence-sequence ini selalu dimulai dari N^2 kemudian bertambah secara aritmatik dengan penambahan 2N (lihat gambar di atas). Oops, tunggu dulu, jika dilihat lebih lanjut, ada bilangan yang hilang di sequence itu dan tergantikan di sequence lain, misal

N=45, 75, tidak ada di Fermat-3, tetapi muncul di Fermat-5
N=63, tidak ada di Fermat-3, tetapi muncul di Fermat-7
N=81, tidak ada di Fermat-3, tetapi muncul di Fermat-9

Saya tulis, deret aritmatik ini sebagai

Pseudo Fermat-N = (N^2 + 2Nn)

dengan N adalah bilangan ganjil mulai dari 3, dan n adalah bilangan bulat (0, 1, 2, 3, 4, …). Jika kita masukkan N = 1 ke dalam rumus di atas, bukan barisan bilangan prima yang kita peroleh, melainkan deret bilangan ganjil.

Tadinya saya berpikir, ah masak gak ada yang pernah nemu sequence di atas. Lalu saya cek di https://oeis.org/ (database sequence), ternyata memang tidak ada sequence-sequence di atas (kecuali yang pertama yaitu bilangan prima).


Lanjut ke Part-2.