Lewati ke konten utama
CalcMax

Kalkulator Konvolusi

Hasil

4, 13, 28, 27, 18

Hasil konvolusi

Total
90,000000
Jumlah suku hasil
5

Kalkulator konvolusi menerima dua barisan lalu menggabungkannya menjadi barisan ketiga dengan mengalikan setiap pasangan yang berbaris sejajar dan menjumlahkan setiap kumpulan hasil kalinya. Inilah konvolusi diskret dari dua barisan berhingga, dan pergeserannya benar-benar harfiah: satu barisan bergeser satu tempat setiap kali melewati barisan yang lain, dan setiap posisi di sepanjang perjalanan itu menyumbang satu entri hasilnya. Entri pertamanya adalah angka pertama satu barisan dikali angka pertama barisan yang lain; entri kedua adalah jumlah dari dua hasil kali yang bertumpang tindih di situ, dan seterusnya sampai ujung yang jauh. Dua barisan bertiga suku memberi hasil lima suku, karena panjang konvolusi penuh adalah jumlah kedua panjangnya dikurangi satu. Hasilnya dicetak berurutan, jadi posisinya sekaligus indeksnya, dan total seluruh entri dilaporkan di sebelahnya — besaran yang bisa diperiksa sekilas, karena nilainya selalu sama dengan hasil kali kedua jumlah barisannya. Nilai desimal dan negatif diterima, dan barisan berisi satu angka pun diperbolehkan: konvolusinya dengan barisan itu hanyalah penskalaan biasa.

Pasangan bawaan, diuraikan indeks demi indeks

Indeks kSukuNilai
01 × 44
11 × 5 + 2 × 413
21 × 6 + 2 × 5 + 3 × 428
32 × 6 + 3 × 527
43 × 618

Inilah penurunan di balik bacaan di panel, dengan indeksnya dituliskan untuk setiap entri — panelnya membuang indeks karena baris yang dipisahkan koma sudah punya urutan, tetapi pemetaan dari posisi ke indeks justru itulah yang ditunjukkan tabel ini. Bacalah kolom tengahnya ke bawah dan pergeserannya terlihat: hasil kalinya bertambah banyak menuju bagian tengah lalu menyusut lagi di ujung yang jauh, dan setiap baris hanya memakai entri yang benar-benar bertumpang tindih di situ. Nilainya bilangan bulat karena kedua barisan bawaannya bilangan bulat; entri berdesimal akan menghasilkan kolom berdesimal, dan tabel ini memakai titik biasa di seluruhnya karena sel tabel tidak dilokalkan.

Rumus

(a * b)[k] = Σᵢ a[i] × b[k − i] panjang = m + n − 1

a, b
Kedua barisan itu, diketik sebagai angka-angka yang dipisahkan titik koma. Urutannya tidak berpengaruh — konvolusi bersifat komutatif, jadi menukar kedua kotaknya mengembalikan hasil yang identik. Keduanya tidak harus sama panjang, dan masing-masing boleh memuat desimal atau nilai negatif. Setiap kotak menerima paling banyak 200 entri
k
Indeks entri yang sedang dihasilkan, berjalan dari 0 sampai panjang hasilnya dikurangi satu. Ia tidak dicetak di sebelah setiap nilai, karena baris yang dipisahkan koma sudah punya urutan: angka pertama adalah k = 0, angka kedua k = 1. Tabel rujukan di bawah menuliskan indeksnya satu per satu untuk pasangan bawaan, satu baris masing-masing, dan di sanalah tempat mencarinya kalau yang sedang Anda periksa adalah posisinya
a[i] × b[k − i]
Satu hasil kali di dalam penjumlahannya. Untuk setiap k, indeks i berjalan melewati setiap posisi tempat kedua barisan punya entri, sehingga banyaknya hasil kali yang dijumlahkan naik dari satu di kedua ujung menjadi sepanjang barisan yang lebih pendek di bagian tengah. Pola tumpang tindihnya itulah gagasan seluruhnya: satu barisan bergeser melewati barisan yang lain, dan hasil kalinya dikumpulkan kolom demi kolom
Σᵢ
Penjumlahan atas hasil kali tersebut, yaitu satu entri hasilnya. Setiap entri dibulatkan ke enam angka desimal, dan total yang dilaporkan di sebelah barisannya adalah jumlah dari entri yang sudah dibulatkan itu, bukan dari entri yang belum — sehingga menjumlahkan angka yang tercetak di panel memberi tepat total yang tercetak
m + n − 1
Panjang hasilnya, yang dilaporkan sebagai bacaan tersendiri. Dua barisan bertiga suku memberi lima entri; satu angka yang dikonvolusikan dengan barisan bertiga suku memberi tiga. Entri tambahan di luar barisan yang lebih panjang itulah yang membuat ini konvolusi penuh dan bukan jenis yang hanya menyimpan bagian tempat kedua barisan bertumpang tindih sepenuhnya

Pakai halaman ini ketika dua barisan harus digabungkan menjadi sebuah sebaran: banyaknya cara dua dadu bisa berjumlah setiap total, pengaruh jendela rata-rata bergerak pada suatu deret, atau koefisien hasil kali dua polinomial. Ketika pertanyaannya tentang satu barisan saja — suku-sukunya, jumlahnya, polanya — kalkulator barisan yang menanganinya, dan ketika jendela rata-rata bergerak itulah yang sedang Anda pilih, kalkulator rata-rata adalah halaman yang menyebutkannya.

Contoh hitungan

  1. Satu, dua, tiga melawan empat, lima, enam

    1. k = 0: hanya entri pertamanya yang bertumpang tindih, jadi 1 × 4 = 4
    2. k = 1: 1 × 5 + 2 × 4 = 5 + 8 = 13
    3. k = 2: 1 × 6 + 2 × 5 + 3 × 4 = 6 + 10 + 12 = 28
    4. k = 3: 2 × 6 + 3 × 5 = 12 + 15 = 27
    5. k = 4: hanya entri terakhirnya yang bertumpang tindih, 3 × 6 = 18
    6. Hasilnya 4, 13, 28, 27, 18 dan totalnya 90, yang juga 6 × 15

    Baris terakhir itulah pemeriksaan yang membuat halaman ini mudah dipercaya: jumlah sebuah konvolusi selalu sama dengan hasil kali kedua jumlah barisannya, di sini 1 + 2 + 3 = 6 melawan 4 + 5 + 6 = 15. Hal itu jatuh dari aljabarnya sendiri, karena setiap hasil kali di dalam hasilnya adalah hasil kali satu entri dari masing-masing barisan, dan setiap pasangan semacam itu muncul tepat sekali.

  2. Dua dadu dan bentuk totalnya

    1. Sebuah dadu punya satu cara untuk menampakkan masing-masing dari keenam sisinya, jadi setiap barisannya adalah enam angka satu
    2. Mengonvolusikannya menghitung pasangan yang berjumlah setiap total: k = 0 memberi 1 × 1 = 1 cara melempar jumlah 2
    3. k = 1 memberi 1 + 1 = 2 cara melempar jumlah 3, dan hitungannya terus naik
    4. Puncaknya 6, di entri tengah, yaitu jumlah 7
    5. Hasilnya 1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1, dan totalnya 36

    Inilah ilustrasi baku teorema limit pusat dalam ukuran kecil: dua sebaran datar yang dikonvolusikan memberi sebaran segitiga, dan mengonvolusikan dadu ketiga akan membulatkannya lebih jauh ke arah lonceng. Total 36 juga menjadi pemeriksaannya — hasil kali kedua jumlahnya adalah 6 × 6, yaitu setiap pasangan terurut sisi, satu hasil untuk masing-masing.

  3. Satu angka menskalakan seluruh barisannya

    1. Barisan berelemen satu tidak punya apa pun untuk bertumpang tindih, jadi setiap entri hasilnya adalah entri itu dikali satu entri barisan yang lain
    2. k = 0: 2 × 1 = 2
    3. k = 1: 2 × 2 = 4
    4. k = 2: 2 × 3 = 6
    5. Hasilnya 2, 4, 6 dan totalnya 12, yaitu 2 × 6

    Kasus merosot ini layak dijalankan sekali, karena ia menunjukkan bahwa gambaran pergeserannya punya ujung: dengan satu barisan sepanjang satu, tidak pernah ada lebih dari satu hasil kali untuk dijumlahkan, dan konvolusinya menyusut menjadi perkalian biasa. Itulah juga sebabnya rumus panjang m + n − 1 memberi 1 + 3 − 1 = 3 dan bukan angka yang lebih besar.

Batasan

Halaman ini menghitung konvolusi penuh, dan hanya konvolusi penuh. Dua varian yang hanya menyimpan sebagian hasilnya tidak disediakan: yang mengembalikan barisan sepanjang masukan terpanjang, dan yang hanya mengembalikan posisi tempat kedua barisan bertumpang tindih sepenuhnya. Keduanya tidak terdefinisi dengan baik untuk dua barisan yang panjangnya genap, dan hasil penuh itulah yang memuat keduanya — varian yang lebih pendek adalah potongan darinya, bukan perhitungan yang berbeda. Setiap barisan boleh memuat paling banyak 200 entri, dan setiap nilainya dibatasi pada besaran 1.000.000. Batas itu batas tampilan: konvolusi mengalikan lalu menjumlahkan, jadi entri yang besar melampaui rentang yang terbaca jauh sebelum melampaui kapasitas bilangan presisi ganda. Setiap entri hasilnya dibulatkan ke enam angka desimal, dan total yang dilaporkan adalah jumlah entri yang sudah dibulatkan itu, sehingga menjumlahkan angka yang tercetak dengan tangan menghasilkan total yang tercetak juga, bukan angka yang sedikit berbeda. Hasilnya berupa baris angka yang dipisahkan koma dan tidak dilokalkan, jadi tanda desimalnya tetap titik di bahasa mana pun halaman ini dibaca. Pada kedua kotak masukannya berlaku kebalikannya: tandanya adalah koma, sedangkan antarangka dipisahkan titik koma — jadi 1,5; 2,25 adalah dua angka, dan 1.500 ditolak karena bentuknya ambigu antara desimal dan pemisah ribuan. Posisinya mengandung indeksnya dan tidak diberi label satu per satu; tabel rujukan memberikan indeksnya secara tersurat untuk pasangan bawaannya.

Pertanyaan yang sering diajukan

Bagaimana cara mengonvolusikan dua barisan dengan tangan?
Geser satu barisan melewati barisan yang lain lalu jumlahkan hasil kalinya di setiap posisi. Dengan 1; 2; 3 dan 4; 5; 6, entri pertamanya 1 × 4 = 4, entri keduanya 1 × 5 + 2 × 4 = 13, dan seterusnya sampai 3 × 6 = 18 di ujung yang jauh. Hasilnya punya lima entri, karena dua barisan bertiga suku berkonvolusi menjadi panjang 3 + 3 − 1.
Bagaimana cara memeriksa bahwa konvolusinya benar?
Jumlahkan hasilnya lalu bandingkan dengan hasil kali kedua jumlah barisannya. Untuk 1; 2; 3 melawan 4; 5; 6 itu 90 melawan 6 × 15, dan keduanya harus cocok. Alasannya, setiap entri hasilnya adalah jumlah hasil kali berpasangan, dan setiap pasangan yang mungkin dari kedua barisan muncul tepat di salah satu penjumlahan itu.
Mengapa hasilnya punya lebih banyak entri daripada kedua barisannya?
Karena konvolusi penuh menyimpan posisi tempat kedua barisan hanya bertumpang tindih sebagian. Dengan 1; 2; 3 melawan 4; 5; 6 ada lima posisi semacam itu: satu di masing-masing ujung tempat sepasang entri bertemu, dan tiga di tengah tempat beberapa entri bertemu. Dua varian operasi yang lebih pendek — yang sepanjang masukan terpanjang, dan yang hanya menyimpan tumpang tindih lengkap — keduanya potongan dari hasil ini.
Apa hubungan mengonvolusikan dua dadu dengan peluang?
Konvolusi itu menghitung hasilnya. Sebuah dadu adalah barisan berisi enam angka satu, satu untuk tiap sisinya, dan mengonvolusikan barisan itu dengan dirinya sendiri menghitung pasangan terurut yang berjumlah setiap total: satu cara membuat 2, dua cara membuat 3, naik sampai enam cara membuat 7 lalu menurun lagi. Total hasilnya, 36, adalah banyaknya pasangan terurut, dan itulah sebabnya membagi setiap entri dengan angka itu memberi peluangnya.
Apakah rata-rata bergerak itu sebuah konvolusi?
Ya. Rata-rata bergerak mengambil jendela berbobot sama — misalnya lima hari dengan bobot seperlima masing-masing — lalu menggesernya sepanjang deretnya, dan itulah tepatnya konvolusi dengan jendela itu sebagai salah satu dari kedua barisannya. Itulah sebabnya operasi ini muncul pada pemulusan, pada filter, dan pada pengolahan citra: yang digeser adalah sekumpulan bobot, dan yang dihaluskan adalah deretnya.

Referensi

Kalkulator terkait