Salah satu cara untuk memikirkan entropi adalah "informasi rata-rata yang akan diperoleh", jadi saya pikir lebih baik kembali ke pemodelan informasi. Saya tahu dua pendekatan dasar untuk informasi pemodelan matematis. (Maafkan saya karena memberikan referensi Wikipedia, tapi IMHO itu tidak buruk.)
Informasi Shannon , yang melihat pada set simbol, distribusi probabilitas pada mereka, kode yang dapat mentransfer informasi antara set simbol, dan panjang kode-kode itu. Konsep umum efisiensi kode, noise, deteksi kesalahan dan koreksi melalui redundansi, dll. Ditulis dalam kerangka teori informasi Shannon. Salah satu cara untuk mengungkapkan informasi adalah dengan mengatakan bahwa itu adalah panjang kode biner terpendek yang dapat mewakili simbol. Ini didasarkan pada probabilitas, yang merupakan nilai numerik yang diberikan pada simbol atau peristiwa oleh beberapa pengamat.
Informasi Solomonoff (atau Kolmogorov ). Ini penjelasan lain. Dalam formulasi ini, konten informasi dari simbol atau peristiwa diwakili oleh panjang program terpendek yang dapat menghitungnya. Sekali lagi, ini relatif, bukan untuk pengamat yang menetapkan probabilitas, tetapi untuk mesin universal yang dapat menjalankan program. Karena setiap mesin universal dapat disimulasikan oleh mesin Turing universal, itu berarti, dalam arti tertentu, bahwa konten informasi dari simbol atau peristiwa tidak relatif, tetapi absolut.
Jika saya bisa mengambil kebebasan untuk mengatakan apa yang saya pikir artinya dalam istilah sehari-hari, tentang yang saya tulis buku , itu berarti kompleksitas sebuah program adalah panjangnya, ketika hal-hal seperti spesifikasi fungsional dan bahasa dipertahankan konstan, dengan tepat tunjangan untuk hal-hal seperti komentar dan panjang nama. Tapi ada masalah dengan ini - "APL tarpit", di mana keringkasan sama dengan tidak bisa dimengerti.
Jauh lebih baik untuk mempertimbangkan (seperti yang saya lakukan ketika mempelajari AI) bahwa spesifikasi fungsional dari program ini terdiri dari model mental, yang tidak hanya nyata, tetapi disandikan secara efisien, yaitu, dengan redundansi yang cukup kecil yang mengubah pikiran seseorang tentang persyaratan. dapat dilakukan tanpa terlalu banyak bahaya membuatnya tidak konsisten secara internal - yaitu memiliki "bug". Maka proses pemrograman adalah saluran informasi yang mengambil sebagai input model mental, dan outputnya adalah kode sumber yang berfungsi. Kemudian ketika perubahan dibuat dalam model mental, delta itu harus dimasukkan melalui proses pemrograman dan berubah menjadi delta yang sesuai dalam kode sumber. Delta itu mudah diukur. Bedakan sumber antara sebelum menerapkan delta itu, dan setelah menerapkannya (sepenuhnya, dengan semua bug berhasil), dan hitung jumlah blok kode yang dimasukkan, dihapus, dan diganti. Semakin kecil artinya, semakin baik bahasa kode sumber mewakili bahasa yang diwakili oleh model mental (dalam hal kata benda, kata kerja, dan struktur). Jika ukuran itu entah bagaimana dirata-ratakan atas ruang kemungkinan perubahan fungsional, itu adalah konsep entropi bahasa sumber, dan lebih sedikit lebih baik. Ada istilah untuk ini -Bahasa Khusus Domain (DSL)
Saya minta maaf jika referensi lemah / pribadi, tapi saya pikir pertanyaan keseluruhan ini adalah yang sangat penting.