Struktuelle Induktion auf Bäumen?


15.12.2022, 20:50

Ich habe nun:

sumLeaves t = sumNodes t + 1

I.A. t = (Tree 0) = (Leaf 0)

sumLeaves (Leaf 0) = 1 sumNodes (Leaf 0) + 1

0 + 1 = 1

1 = 1

I.V.: Wir nehmen an, dass die Aussage für ein beliebiges t gilt.

Wie sieht nun der Induktionsschritt aus?

2 Antworten

Beweisen Sie mittels struktureller Induktion, dass für alle endlichen Bäume t :: Tree a gilt:
sumLeaves t = sumNodes t + 1

Das kann nur dann gelten, wenn der Baum voll besetzt ist, denn dann gilt ja, daß die Anzahl der Knoten in jeder Ebene 2^t ist. Sei obdA t die Blattebene, dann liegen in der Blattebene 2^t Blätter.Zugleich gibt es

 Innere Knoten.

Also ist die Zahl der Blätter um genau 1 größer als die Zahl der inneren Knoten.

Zu Deiner Verankerung, t=0 ist lediglich die Wurzel, Du hast 0 innere Knoten und genau 1 Blatt. Alles weitere ergibt sich strukturell dadurch, daß Du aus jedem Blatt immer einen inneren Knoten mit 2 neuen Blättern machst.

Man kann den Prozess auch umgekehrt durch Kontraktion des Baumes machen.

Ein weiterer Ansatz wäre:

Wir betrachten Baum der Tiefe t und nehmen an die Eigenschaft ist erfüllt, Baum der Tiefe t+1 entsteht, indem ich 2 Bäume der Tiefe t unter einer neuen Wurzel zusammenfassen, hierbei verdoppelt sich die Blattzahl, die Zahl der inneren Knoten verdoppelt sich und es kommt noch die neue Wurzel als innerer Knoten hinzu.

Aber wie gesagt, das gitl wirklich nur für den Vollbesatz.

Ist dir schon mal aufgefallen, das sich hier niemand mit Deinen Fragen auskennt?

Möglicherweise wärst du in einem Haskelforum besser aufgehoben?