Untuk menghitung banyak jenis objek kombinatorial, seperti pohon dalam kasus ini, ada alat matematika yang kuat (metode simbolik) yang memungkinkan Anda untuk secara mekanis menghitung jumlah tersebut dari deskripsi bagaimana objek kombinatorial dibangun. Ini melibatkan fungsi menghasilkan.
Referensi yang sangat baik adalah Analytic Combinatorics oleh Philipe Flajolet dan Robert Sedgewick. Ini tersedia dari tautan di atas.
Almarhum Herbert Wilf ini buku generatingfunctionology adalah sumber bebas yang lain.
Dan tentu saja Matematika Beton oleh GKP adalah harta karun.
Untuk pohon biner bunyinya seperti ini: Pertama, Anda perlu definisi yang jelas tentang pohon itu.
Pohon biner adalah pohon berakar di mana setiap simpul non-daun memiliki derajat 2 persis.
Selanjutnya kita harus menyetujui apa yang ingin kita sebut ukuran pohon.
Di sebelah kiri semua node sama. Di tengah kita membedakan daun dan bukan daun. Di sebelah kanan kami memiliki pohon biner yang telah dipangkas, tempat dedaunannya telah dihilangkan. Perhatikan bahwa ia memiliki cabang unary dari dua jenis (kiri dan kanan)!
Sekarang kita harus memperoleh deskripsi tentang bagaimana objek kombinatorial ini dibangun. Dalam kasus pohon biner, dekomposisi rekursif dimungkinkan.
Misalkan adalah himpunan semua pohon biner dari tipe pertama yang secara simbolis kita miliki:
A
Bunyinya sebagai: "Objek kelas pohon biner adalah simpul atau simpul yang diikuti oleh dua pohon biner." Ini dapat ditulis sebagai persamaan set:
A={∙}∪({∙}×A×A)
Dengan memperkenalkan fungsi pembangkit yang menyebutkan kelas objek kombinatorial ini, kita dapat menerjemahkan persamaan himpunan ke dalam persamaan yang melibatkan fungsi pembangkit.A(z)
A(z)=z+zA2(z)
Pilihan kami untuk memperlakukan semua node secara merata dan mengambil jumlah node dalam pohon sebagai gagasan tentang ukurannya dinyatakan dengan "menandai" node dengan variabel .z
Kita sekarang dapat menyelesaikan persamaan kuadrat untuk A ( z ) dan mendapatkan, seperti biasa, dua solusi, bentuk tertutup eksplisit dari fungsi pembangkit:zA2(z)−A(z)+z=0A(z)
A(z)=1±1−4z2−−−−−−√2z
Sekarang kita hanya membutuhkan Teorema Binomial Newton (umum):
(1+x)a=∑k=0∞(ak)xk
dengan dan x = - 4 z 2 untuk memperluas bentuk tertutup dari fungsi pembangkit kembali menjadi serangkaian listrik. Kami melakukan ini karena, koefisien pada z n hanyalah jumlah objek kombinatorial ukuran n , biasanya ditulis sebagai [ z n ] A ( z ) . Tapi di sini gagasan kami “ukuran” pasukan pohon kita untuk mencari koefisien di z 2 n + 1 . Setelah sedikit juggling dengan binomial dan faktorial, kita dapat:a=1/2x=−4z2znn[zn]A(z)z2n+1
[z2n+1]A(z)=1n+1(2nn).
Jika kita mulai dengan gagasan kedua tentang ukuran dekomposisi rekursif adalah:
Kami mendapatkan kelas yang berbeda dari kombinasi benda . Bunyinya: "Objek kelas pohon biner adalah daun atau simpul interal diikuti oleh dua pohon biner."B
B={□}∪({∙}×B×B)B=1+zB2(z)z
B(z)=1−1−4z−−−−−√2z
Ekstraksi hasil koefisien
[zn]B(z)=1n+1(2nn).
ABnn+12n+1
Dalam kasus terakhir kita harus bekerja sedikit lebih keras:
CD={∙}∪({∙}×C)∪({∙}×C)∪({∙}×C×C)={ϵ}∪({∙}×C×C)
dan menulis ulang dengan menghasilkan fungsi
C(z)D(z)=z+2zC(z)+zC2(z)=1+zC2(z)
memecahkan persamaan kuadrat
C(z)D(z)=1−2z−1−4z−−−−−√2z=1−1−4z−−−−−√2z
dan dapatkan lagi
[zn]C(z)=1n+1(2nn)n≥1[zn]D(z)=1n+1(2nn)n≥0
Perhatikan bahwa fungsi menghasilkan Catalan adalah
E(z)=1−1−4z−−−−−√2
itu menyebutkan kelas pohon umum . Itu adalah pohon tanpa batasan pada derajat simpul.
E={∙}×SEQ(E)
Bunyinya sebagai: "Objek kelas pohon umum adalah simpul yang diikuti oleh kemungkinan urutan pohon umum yang kosong."
E(z)=z1−E(z)
Dengan Formula Inversi Lagrange-Bürmann kita dapatkan
[zn]E(z)=1n+1(2nn)
Jadi kami membuktikan bahwa ada pohon umum sebanyak pohon biner. Tidak heran ada perhentian antara pohon umum dan pohon biner. Bijection dikenal sebagai korespondensi rotasi (dijelaskan pada akhir artikel terkait), yang memungkinkan kita menyimpan dua pohon umum sebagai pohon biner.
CT
T={∙}×SEQ≤2(T)
T(z)=1−z−1−2z−3z2−−−−−−−−−−√2z
[zn]T(z)=1n∑k(nk)(n−kk−1).
Oh dan jika Anda tidak suka membuat fungsi, ada banyak bukti lain juga. Lihat di sini , ada satu di mana Anda dapat menggunakan pengkodean pohon biner sebagai kata-kata Dyck dan dan memperoleh pengulangan dari definisi rekursif mereka. Kemudian memecahkan kekambuhan itu juga memberikan jawabannya. Namun metode simbolis menyelamatkan Anda dari kemunculannya di tempat pertama, karena ia bekerja secara langsung dengan cetak biru dari objek kombinatorial.