Das Generieren von Funktionen ist nützlich, wenn Sie Zählalgorithmen entwerfen. Das heißt, nicht nur, wenn Sie nach der Anzahl der Objekte mit einer bestimmten Eigenschaft suchen, sondern auch, wenn Sie nach einer Möglichkeit suchen, diese Objekte aufzulisten (und möglicherweise einen Algorithmus zum Zählen der Objekte zu generieren). In Kapitel 7 der Konkreten Mathematik gibt es eine sehr gute Präsentation von Ronald Graham, Donald Knuth und Oren Patashnik . Die folgenden Beispiele stammen aus diesen Büchern (die Fehler und Unklarheiten sind meine).
Angenommen, Sie suchen nach Möglichkeiten, mit einem bestimmten Satz Münzen Änderungen vorzunehmen. Zum Beispiel sind bei üblichen US-Stückelungen¹ die möglichen Münzen . Um ¢ 42 im Wechsel zu erhalten, ist eine Möglichkeit ; Eine andere Möglichkeit ist . Wir schreiben . Im Allgemeinen können wir eine Erzeugungsfunktion für alle Arten der Änderung schreiben:
Technisch gesehen ist ein Term im Raum der Potenzreihen über die fünf Variablen[ 25 ] [ 10 ] [ 5 ] [ 1 ] [ 1 ] [ 10 ] [ 10 ] [ 10 ] [ 10 ] [ 1 ] [ 1 ] 42 ⟨ [ 25 ] [ 10 ][ 1 ] , [ 5 ] , [ 10 ] , [ 25 ] , [ 100 ][ 25 ] [ 10 ] [ 5 ] [ 1 ] [ 1 ][ 10 ] [ 10 ] [ 10 ] [ 10 ] [ 1 ] [ 1 ]H = Σ h ≥ 0 Σ q ≥ 0 Σ d ≥ 0 Σ n ≥ 0 Σ p ≥ 0 [ 100 ] h [ 25 ] q [ 10 ] d [ 5 ] n [ 1 ] p42 ⟨ [ 25 ] [ 10 ] [ 5 ] [ 1 ]2⟩ = ⟨ [ 10 ]4[ 1 ]2⟩
H= ∑h ≥ 0∑q≥ 0∑d≥ 0∑n ≥ 0∑p ≥ 0[ 100 ]h[ 25 ]q[ 10 ]d[ 5 ]n[ 1 ]p
[ 100 ] , [ 25 ] , [ 10 ] , [ 5 ] , [ 1 ] ⟨ [ 100 ] h [ 25 ] q [ 10 ] d [ 5 ] n [ 1 ] p ⟩ = 100 h + 25 q + 10 d + 5 n + p v v H PH[ 100 ] , [ 25 ] , [ 10 ] , [ 5 ] , [ 1 ]. Definieren Sie die Bewertung eines Monoms in diesem Raum durch
Dann ist die Anzahl der Monome, deren Bewertung ist, die Möglichkeit, Cent in Veränderung zu geben . Wir können inkrementell ausdrücken , indem wir zuerst die Möglichkeiten aufschreiben , um nur eine Veränderung in Cent zu bewirken, dann die Möglichkeiten , um eine Veränderung in Cent und Nickel zu bewirken und so weiter. ( meine keine Münze.)
⟨ [ 100 ]h[ 25 ]q[ 10 ]d[ 5 ]n[ 1 ]p⟩ = 100 h + 25 q+ 10 d+ 5 n + p
vvHPI P = I + [ 1 ] + [ 1 ] 2 + [ 1 ] 3 + … = INichP= Ich+ [ 1 ] + [ 1 ]2+ [ 1 ]3+ … = Ichich- [ 1 ]N= ( Ich+ [ 5 ] + [ 5 ]2+ [ 5 ]3+ … ) P= Pich- [ 5 ]D = ( I+ [ 10 ] + [ 10 ]2+ [ 10 ]3+ … ) N= Nich- [ 10 ]Q = ( I+ [ 25 ] + [ 25 ]2+ [ 25 ]3+ … ) D = Dich- [ 25 ]H= ( Ich+ [ 100 ] + [ 100 ]2+ [ 100 ]3+ … ) Q = Qich- [ 100 ]
Wenn Sie zählen und nicht nur die Möglichkeiten aufzählen möchten, Änderungen herbeizuführen, gibt es eine einfache Möglichkeit, die formale Reihe zu verwenden, die wir erhalten haben. Wende den Homomorphismus
Der Koeffizient von in ist die Anzahl der Möglichkeiten, um Cent in Änderung anzugeben.
S:[ 1 ] ↦ X,[ 5 ] ↦ X5,[ 10 ] ↦ X10, [ 25 ] ↦ X25, [ 100 ] ≤ X100
XvS( C)v
Ein schwierigeres Beispiel: Angenommen, Sie möchten alle Möglichkeiten zum Kacheln von Rechtecken mit 2 × 1-Dominosteinen untersuchen. Zum Beispiel gibt es zwei Möglichkeiten, ein 2 × 2-Rechteck zu kacheln, entweder mit zwei horizontalen Dominosteinen oder mit zwei vertikalen Dominosteinen. Es ist ziemlich einfach, die Anzahl der Kacheln für ein Rechteck zu bestimmen , aber der Fall wird schnell nicht offensichtlich. Wir können alle möglichen Kacheln eines horizontalen Bandes der Höhe 3 durch Zusammenkleben von Dominosteinen , wodurch sich schnell wiederholende Muster ergeben:
2 × n3 × n
⎧⎩⎨⎪⎪⎪⎪⎪⎪U= o + L V+ Γ Λ + ≡ UV= IchU+ =-VΛ =ichU+-=Λ
wo die lustigen Formen elementare Domino-Arrangements darstellen: ist kein Domino, ist ein vertikaler Domino über dem linken Teil eines horizontalen , ist ein vertikaler der am unteren Rand des Bandes der Höhe 3 ausgerichtet ist, ist ein horizontaler Dominostein, der am oberen Rand des Bandes ausgerichtet ist, plus zwei horizontale Dominosteine darunter und einen Schritt nach rechts. usw. Hier repräsentiert Multiplikation horizontale Verkettung und ist nicht kommutativ, aber es gibt Gleichungen zwischen den Elementarmustern, die Variablen in dieser Potenzreihe bilden. Wie zuvor bei den Münzen können wir jedes Domino durch ersetzen und eine generierende Reihe für die Anzahl der Kacheln von a erhalten
ÖLich-=X3 × ( 2 n / 3 ) Rectangle (dh der Koeffizient von ist die Anzahl der Möglichkeiten, ein Rechteck der Fläche , das Dominosteine enthält und die Breite ). Die Serie kann auch vielseitiger eingesetzt werden. Indem wir beispielsweise vertikale und horizontale Dominosteine unterscheiden, können wir die Fliesen mit einer bestimmten Anzahl vertikaler und horizontaler Dominosteine zählen.
X3 k6 k3 k2 k
Lesen Sie erneut Konkrete Mathematik, um eine weniger überstürzte Präsentation zu erhalten.
¹ Ich weiß, dass meine Liste unvollständig ist. Nehmen Sie ein vereinfachtes US an, das für mathematische Beispiele geeignet ist.²
² Nehmen Sie auch kugelförmige Münzen an, wenn es auftaucht.
³ Und besser gesetzt.