Memasukkan
Sebuah matriks Mdirepresentasikan sebagai dua garis bilangan bulat yang dipisahkan ruang. Setiap baris akan memiliki jumlah bilangan bulat yang sama dan setiap bilangan bulat akan menjadi -1 atau 1. Jumlah bilangan bulat per baris paling banyak 20. MOleh karena itu akan 2dengan di nmana njumlah bilangan bulat pada masing-masing dari dua baris.
Kode Anda harus merupakan program yang lengkap. dan menerima input baik pada standar di atau dari file (itu adalah pilihan Anda). Anda dapat menerima input dari standar masuk, dari file atau hanya sebagai parameter. Namun, jika Anda melakukan yang terakhir tolong berikan contoh eksplisit tentang bagaimana kode Anda harus bekerja dan ingat bahwa itu harus menjadi program yang lengkap dan bagaimana matriks Makan diwakili dalam input. Dengan kata lain, Anda harus melakukan parsing.
Keluaran
The biner Shannon entropi dari distribusi M*xdi mana unsur-unsur xyang seragam dan independen dipilih dari {-1,1}. xadalah nvektor kolom -dimensi.
Entropi dari distribusi probabilitas diskrit adalah
- sum p_i log_2(p_i)
Dalam hal ini, p_iadalah probabilitas ikeunikan mungkin M*x.
Contoh dan petunjuk bermanfaat
Sebagai contoh yang dikerjakan, biarkan matriks Mmenjadi
-1 1
-1 -1
Sekarang lihat semua 2^2kemungkinan vektor yang berbeda x. Untuk masing-masing kita menghitung M*xdan menempatkan semua hasil dalam array (array 4-elemen dari vektor 2-komponen). Meskipun untuk masing-masing dari 4 vektor kemungkinan itu terjadi adalah 1/2^2 = 1/4, kami hanya tertarik pada berapa kali setiap vektor hasil yang unikM*x terjadi, dan jadi kami merangkum probabilitas individu dari konfigurasi yang mengarah ke vektor unik yang sama. Dengan kata lain, kemungkinan M*xvektor unik menggambarkan hasil distribusi yang kami selidiki, dan kami harus menentukan probabilitas masing-masing hasil ini (yang akan, dengan konstruksi, selalu menjadi kelipatan bilangan bulat dari 1/2^2, atau 1/2^nsecara umum) untuk hitung entropi.
Dalam nkasus umum , tergantung pada Mhasil yang mungkin M*xdapat berkisar dari "semua berbeda" (dalam hal ini kami memiliki nnilai idalam p_i, dan masing-masing p_isama dengan 1/2^n), hingga "semua sama" (dalam hal ini ada satu kemungkinan hasil, dan p_1 = 1).
Secara khusus, untuk 2x2matriks di atas Mkita dapat menemukan dengan mengalikannya dengan empat kemungkinan konfigurasi ( [+-1; +-1]), bahwa setiap vektor yang dihasilkan berbeda. Jadi dalam hal ini ada empat hasil, dan akibatnya p_1 = p_2 = p_3 = p_4 = 1/2^2 = 1/4. Mengingat yang log_2(1/4) = -2kita miliki:
- sum p_i log_2(p_i) = -(4*(-2)/4) = 2
Jadi hasil akhir untuk matriks ini adalah 2.
Uji kasus
Memasukkan:
-1 -1
-1 -1
Keluaran:
1.5
Memasukkan:
-1 -1 -1 -1
-1 -1 -1 -1
Keluaran:
2.03063906223
Memasukkan:
-1 -1 -1 1
1 -1 -1 -1
Keluaran:
3
x? 2. Untuk kepentingan membuat pertanyaan itu mandiri, bagaimanaMxdefinisi biner Shannon didefinisikan?