Bu türdeki ağaçlar gibi birçok türden kombinasyon nesnesini saymak için, bu tür sayıları birleştirici nesnelerin nasıl oluşturulduğunu açıklayan bir açıklamadan elde etmenize izin veren güçlü matematiksel araçlar (sembolik yöntem) vardır. Bu üretme işlevlerini içerir.
Mükemmel bir referans, Philipe Flajolet ve Robert Sedgewick’in Analitik Kombinatorikleridir . Yukarıdaki linkten erişilebilir.
Herbert Wilf'in kitap üretme işlevinin son dönemleri bir başka serbest kaynaktır.
Ve elbette GKP'nin Beton Matematiği bir hazine hazinesidir.
İkili ağaçlar için şöyle olur: İlk önce ağacın açık bir tanımına ihtiyacınız var.
Bir ikili ağaç, her yaprak olmayan düğümün tam olarak 2. dereceye sahip olduğu köklü bir ağaçtır.
Daha sonra bir ağacın büyüklüğünü ne demek istediğimize karar vermeliyiz .
Solda tüm düğümler eşittir. Ortada, yaprakları ve olmayanları ayırt ediyoruz. Sağ tarafta, yaprakların çıkarıldığı budanmış bir ikili ağaca sahibiz. İki tip tekli dallara sahip olduğuna dikkat edin (sol ve sağ)!
Şimdi bu birleşik nesnelerin nasıl inşa edildiğinin bir tanımını türetmeliyiz. İkili ağaçlar durumunda, özyinelemeli bir ayrışma mümkündür.
Let sonra ilk türdeki tüm ikili ağaçların sembolik olarak elimizdeki kümesi olsun:
bir
“İkili ağaç sınıfının bir nesnesi ya bir düğüm ya da iki ikili ağaç tarafından takip edilen bir düğümdür” şeklinde okur. Bu, kümelerin denklemi olarak yazılabilir:
bir= { ∙ } ∪ ( { ∙ } × Ax bir)
Bu birleşimsel nesne sınıfını kodlayan üretici işlevi tanıtılarak set denklemini üretici işlevi içeren bir denkleme çevirebiliriz.Bir ( z)
Bir ( z) = Z+ zbir2( z)
Tüm düğümlere eşit davranma ve ağaçtaki düğüm sayısını büyüklük kavramı olarak alma seçimimiz, değişkenli düğümlerin “işaretlenmesi” ile ifade edilir .z
Şimdi bir kuadratik denklemi çözebilir için ve almak üretme fonksiyonunun açık, kapalı bir şekilde, iki çözeltinin, her zaman olduğu gibi:A ( z )zbir2( z) - A ( z) + z= 0Bir ( z)
Bir ( z) = 1 ± 1 - 4 z2------√2 z
Şimdi Newton'un (genelleştirilmiş) Binom Teoremine ihtiyacımız var:
( 1 + x )bir= ∑k = 0∞( ak) xk
ile ve , bir güç dizi üreten fonksiyonu arka kapalı formunu genişletmek. Bunu yaparız, çünkü katsayı , yalnızca olarak yazılan boyutundaki birleştirme nesnelerinin sayısıdır . Fakat burada ağacın “büyüklüğü” kavramı, bizi katsayısını aramaya zorlar . Binom ve factorials ile biraz hokkabazlık yaptıktan sonra:x = - 4 z 2 Z N , N [ z , n ] bir ( z ) Z 2 , n + 1Bir = 1 / 2x = - 4 z2znn[ zn] A ( z)z2 n + 1
[ z2 n + 1] A ( z) = 1n + 1( 2nn) .
Boyutun ikinci kavramına başlarsak özyinelemeli ayrışım şöyledir:
Farklı bir sınıfsal nesne sınıfı alıyoruz . “İkili ağaçlar sınıfının bir nesnesi bir yaprak veya iki ikili ağaç tarafından takip edilen bir interal düğümdür” diyor.B
Aynı yaklaşım kullanın ve dönebilir içine . Sadece bu kez değişkeni sadece iç düğümleri işaretler, yaprakları değil, çünkü “boyut” tanımı burada farklıdır. Farklı bir üretici işlevi de alıyoruz: B = 1 + z B 2 ( z ) zB={□}∪({∙}×B×B)B=1+zB2(z)z
B(z)=1−1−4z−−−−−√2z
Katsayı verimlerinin çıkarılması
[zn]B(z)=1n+1(2nn).
Sınıf ve sayımlar üzerinde hemfikir çünkü iç düğümleri olan bir ikili ağaç yapraklara sahiptir, dolayısıyla toplamda düğüm vardır.B n n + 1 2 n + 1ABnn+12n+1
Son durumda biraz daha çalışmak zorundayız:
Bu, boş olmayan budanmış ikili denemelerin bir açıklamasıdır. Bunu
CD={∙}∪({∙}×C)∪({∙}×C)∪({∙}×C×C)={ϵ}∪({∙}×C×C)
ve üreten işlevlerle yeniden yazın
C(z)D(z)=z+2zC(z)+zC2(z)=1+zC2(z)
ikinci dereceden denklemleri çözebilir
C(z)D(z)=1−2z−1−4z−−−−−√2z=1−1−4z−−−−−√2z
ve bir daha olsun
[zn]C(z)=1n+1(2nn)n≥1[zn]D(z)=1n+1(2nn)n≥0
Not Katalanca üretme fonksiyonu olan
E(z)=1−1−4z−−−−−√2
genel ağaç sınıfını sıralar . Düğüm derecesinde kısıtlama olmayan ağaçlar.
E={∙}×SEQ(E)
“Genel ağaçlar sınıfının bir nesnesi, ardından boş bir genel ağaç dizisi izleyen bir düğümdür” şeklinde yazıyor.
E(z)=z1−E(z)
İle Lagrange-Burmann Inversion Formula biz olsun
[zn]E(z)=1n+1(2nn)
Böylece, ikili ağaçların olduğu kadar çok genel ağaç olduğunu da kanıtladık. Şüphesiz, genel ve ikili ağaçlar arasında bir çekişme var. Çekişme, her bir genel ağacı ikilik bir ağaç olarak saklamamıza izin veren rotasyon yazışmaları (bağlantılı makalenin sonunda açıklanmaktadır) olarak bilinir .
Unutmayın ki sol ve sağ kardeşi sınıfında , başka bir ağaç sınıfı elde ederiz :CT
tekli ikili ağaçlar.
Onlar da üretici bir işleve sahiptir:
ancak katsayıları farklıdır. Motzkin sayılarını alırsınız
T={∙}×SEQ≤2(T)
T(z)=1−z−1−2z−3z2−−−−−−−−−−√2z
[zn]T(z)=1n∑k(nk)(n−kk−1).
Ve eğer fonksiyon üretmekten hoşlanmıyorsanız, başka birçok kanıt var. Bkz burada , sen Dyck kelimeler olarak ikili ağaçların kodlamasını kullanır ve ve bunların özyinelemeli tanımından tekrarlanmasını elde edebileceğini bir tane var. O zaman bu tekrarı çözmek de cevabı verir. Bununla birlikte, sembolik yöntem, doğrudan birleştirme nesnelerinin planları ile çalıştığı için, ilk etapta tekrarlama ile karşılaşmanızı önler.