margarita
Aufgabe 12 2024
10
462
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Aufgabe 12 2024
Lösungsideen
Hier habe ich auch nach langem Grübeln keine mathematische Lösung finden können, sondern bin durch ausprobieren bei den entsprechenden Wegen gelandet:

R(2/1)->R(3/1)->R(4/1)->L(7/2)->L(10/3)->L(13/4)->L(16/5)->L(19/6)->L(22/7)

R(2/1)->R(3/1)->L(5/2)->R(8/3)->R(11/4)->L(19/7)->R(30/11)->L(49/18)->L(68/25)->L(87/32)

-- >In Summe acht mal rechts und elf mal links -> Antwort 2
Code:
Lösung: 2 (11 Links- und 8 Rechtsdrehungen)

Das in der Aufgabe verwendete Schema ist der sogenannte Stern-Brocot-Baum. Er wird in der Numerik verwendet, um reelle Zahlen durch Brüche zu approximieren. Interpretiert man die beiden Zahlen an jedem Knoten als Bruch, so bilden alle Knoten von links nach rechts eine streng monoton aufsteigende Folge von Brüchen. Alle Brüche liegen in bereits gekürzter Form vor.

Das heißt, wenn ich eine bestimmte reelle Zahl approximieren möchte, muss ich mir nur merken welche beiden Brüche zuletzt links bzw. rechts von der gesuchten Zahl liegen. Die nächst bessere Approximation ergibt sich dann durch Addition der beiden Zähler und der beiden Nenner. Ist der neue Bruch größer als die gesuchte Zahl, muss ich nach links gehen. Ist er kleiner - nach rechts.

Den ersten Bruch 22/7 erreicht man auf diesem Weg:

\begin{tabular}{c|c|c|c}
   Bruch links & Bruch rechts & Knoten & Abbiegen nach \\
   \hline
    0/1 &  1/0  &  $1/1 < 22/7$ & rechts \\
    1/1 &  1/0  &  $2/1 < 22/7$ & rechts \\
    2/1 &  1/0  &  $3/1 < 22/7$ & rechts \\
    3/1 &  1/0  &  $4/1 > 22/7$ & links \\
    3/1 &  4/1  &  $7/2 > 22/7$ & links \\
    3/1 &  7/2  &  $10/3 > 22/7$ & links \\
    3/1 &  10/3  &  $13/4 > 22/7$ & links \\
    3/1 &  13/4  &  $16/5 > 22/7$ & links \\
    3/1 &  16/5  &  $19/6 > 22/7$ & links \\
    3/1 &  19/6  &  $22/7$ &  \\
\end{tabular}

Zum zweiten Bruch 87/32 kommt man so:

\begin{tabular}{c|c|c|c}
   Bruch links & Bruch rechts & Knoten & Abbiegen nach \\
   \hline
    0/1 &  1/0  &  $1/1 < 87/32$ & rechts \\
    1/1 &  1/0  &  $2/1 < 87/32$ & rechts \\
    2/1 &  1/0  &  $3/1 > 87/32$ & links \\
    2/1 &  3/1  &  $5/2 < 87/32$ & rechts \\
    5/2 &  3/1  &  $8/3 < 87/32$ & rechts \\
    8/3 &  3/1  &  $11/4 > 87/32$ & links \\
    8/3 &  11/4  &  $19/7 < 87/32$ & rechts \\
    19/7 &  11/4  &  $30/11 > 87/32$ & links \\
    19/7 &  30/11  &  $49/18 > 87/32$ & links \\
    19/7 &  49/18  &  $68/25 > 87/32$ & links \\
    19/7 &  68/25  &  $87/32$ &  \\
\end{tabular}
Statt Brüchen hab ich die einzelnen Zweige als Punkte in 2D aufgefasst. Somit hab ich die Suche nach den beiden Zielpunkten immer weiter eingrenzen können, indem ich mir immer jeweils 2 Halbgeraden gezeichnet hab, so nach dem Motto: Was passiert, wenn ich ab einem Punkt X nur noch stets weiter nach links bzw. nur noch stets weiter nach rechts gehe. Liegt dann der Zielpunkt zwischen oder gar auf einer der beiden Halbgeraden, ist der bisher eingeschlagene Weg via Punkt X offensichtlich der Richtige. So kann man die Suche immer weiter führen, bis irgendwann der Zielpunkt auf einer Halbgeraden liegt. Ich hoffe, das war einigermaßen verständlich...?
Ich wusste nicht, dass es ein Stern-Brocot-Baum ist. Aber wer sortierte Binärbäume aus der Informatik kennt, konnte auch ohne diesen Baum im speziellen zu kennen sehr schnell auf die Idee kommen, wie man die zwei gesuchten Wege findet.
Grüße
DFUx
Man kann auch umgekehrt vorgehen, indem man die gesuchte Zahl als regulären Kettenbruch schreibt: z.B. 22/7 = 3 + 1/7. Verringert man den letzten/innersten Nenner des Kettenbruchs um 1, erhält man den Elternknoten (3 + 1/6 = 19/6). Nun wiederholt man den Prozess, bis man irgendwann bei 1/1 angelangt ist.

Code:
22/7 = 3 + 1/7
--> 3 + 1/6 = 19/6
--> 3 + 1/5 = 16/5
--> 3 + 1/4 = 13/4
--> 3 + 1/3 = 10/3
--> 3 + 1/2 = 7/2
--> 4
--> 3
--> 2
--> 1

87/32 = 2 + 1/(1 + 1/(2 + 1/(1 + 1/(1 + 1/4))))
--> 2 + 1/(1 + 1/(2 + 1/(1 + 1/(1 + 1/3)))) = 68/25
--> 2 + 1/(1 + 1/(2 + 1/(1 + 1/(1 + 1/2)))) = 49/18
--> 2 + 1/(1 + 1/(2 + 1/(1 + 1/2))) = 30/11
--> 2 + 1/(1 + 1/(2 + 1/2)) = 19/7
--> 2 + 1/(1 + 1/3) = 11/4
--> 2 + 1/(1 + 1/2) = 8/3
--> 2 + 1/2 = 5/2
--> 3
--> 2
--> 1
Die beiden vorgegebenen Brüche sind Näherungen für pi und e.
Eine Näherung für Phi ( (1+sqrt(5)) / 2 ) wechselt bei jedem Schritt die Richtung und man erhält stets einen Bruch aus zwei aufeinanderfolgenden Fibonacci-Zahlen.
Die Lösung ist vom Lösungsweg unabhängig.
(12-21-2024, 02:02 AM)Georg J. aus D. schrieb: Die beiden vorgegebenen Brüche sind Näherungen für pi und e.
Eine Näherung für Phi ( (1+sqrt(5)) / 2 ) wechselt bei jedem Schritt die Richtung und man erhält stets einen Bruch aus zwei aufeinanderfolgenden Fibonacci-Zahlen.

Das ist cool, hätte auch gut in die Aufgabe gepasst.
Auf langwierige Abwege hat mich hier der Hinweis in der Aufgabenstellung geführt, dass die Beschriftungen nicht unbedingt als rationale Zahlen aufzufassen sind. So habe ich lange nicht erkannt, dass sie ja eben sortiert sind.
(12-21-2024, 08:42 AM)tfry schrieb: Auf langwierige Abwege hat mich hier der Hinweis in der Aufgabenstellung geführt, dass die Beschriftungen nicht unbedingt als rationale Zahlen aufzufassen sind. So habe ich lange nicht erkannt, dass sie ja eben sortiert sind.

Ja, ging mir genauso. Nachdem ich endlich darauf gekommen war, die Ausdrücke doch als Brüche zu interpretieren, war die Lösung schnell gefunden.


Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
2 Gast/Gäste