Einstieg - Wege im Galton-Brett

Wege im Galtonbrett

Ein Galton-Brett besteht aus Stäben, die in Reihen untereinander versetzt angeordnet sind.

Galton-Brett

Wenn man eine Kugel ein solches Galton-Brett herunterrollen lässt, dann trifft es auf jeweils auf einen Stab und rollt dann entweder links oder rechts davon weiter herunter.

Die Stäbe in der Abbildung oben sind bereits mit Stab-Koordinaten versehen. Mit diesen Koordinaten könnte man einen möglichen Kugelweg so beschreiben: (0,0), (1, 0), (2, 1), (3, 1), (4, 1), (5, 2).

Aufgabe 1

Wie viele Wege gibt es im Galton-Brett bis zum Stab (m, n)? Bestimme für alle Stäbe erst einmal die jeweilige Anzahl. Zur Kontrolle: Bis zum Stab (5, 3) gibt es 10 Wege.

Aufgabe 2

Die Funktion galton(m, n) beschreibe die Anzahl der Wege im Galton-Brett bis zum Stab (m, n). Begründe folgende Eigenschaften dieser Funktion:

Aufgabe 3

Teste die folgenden Funktionsdefinitionen. Worin unterscheiden sie sich? Welche ist korrekt?

Version 1:

def galton(m, n):
    if m < n:
        return None
    else:
        if (n == 0) or (n == m):
            return 1
        else:
            return (galton(m-1, n-1) + galton(m-1, n))

Version 2:

def galton(m, n):
    if m < n:
        return 0
    else:
        if n == 0:
            return 1
        else:
            return (galton(m-1, n-1) + galton(m-1, n))

Version 3:

def galton(m, n):
    if m == 0:
        if n == 0:
            return 1
        else:
            return 0
    else:
        if n == 0:
            return 1
        else:
            return (galton(m-1, n-1) + galton(m-1, n))
X

Fehler melden

X

Suche