Im letzten Beitrag „Rätsel lösen mit R“ habe ich das System R benutzt um ein mathematisches Rätsel zu lösen. Das Instrumentarium an frei verfügbaren Programmen aus dem Bereich der Mathematik ist heute sehr vielfältig und faszinierend.
Mit Maxima steht ein leistungsfähiger freier Vertreter aus der Klasse der Computeralgebrasysteme zur Verfügung. Computeralgebrasysteme sind vereinfacht gesagt Mathematikprogramme, die nicht nur Rechnen, sondern auch Formel umstellen und Gleichungen auflösen können. In diesem Post will ich eine Lösung mittels Maxima präsentieren. Im Folgebeitrag geht es dann um Geogebra.
Wer die Aufgabe noch nicht kennt, bitte im Vorgängerartikel nachlesen.
Diesmal wird die Lösung verraten, also bitte nur weiter lesen, wer die Lösung sehen will.
Auch hier definiert man im ersten Schritt die Funktion für die Wahrscheinlichkeit abhängig von der Anzahl der roten und schwarzen Socken.
(%i1) fp(r, b) := r / (r + b) * (r - 1) / (r + b - 1);
Die Fähigkeiten von Maxima erkennt man, wenn man die Gleichung Wahrscheinlichkeit=1/2 nach b auflösen läßt, es wird eine Liste von zwei Lösungen als Ausdruck zurückgegeben.
(%i2) solve(fp(r, b)=1/2, r);
Da die erste Lösung negative Werte ergibt, verwenden wir nur die zweite und geben Ihr den Namen rb
.
(%i3) rb: rhs(%[2]);
Für die Probe lösen wir das ganze auch nach b auf.
(%i4) solve(fp(r, b)=1/2, b);
Auch hier verwenden wir nur die positive Lösung und geben ihr den Namen br
.
(%i5) br: %[2];
Der Schritt des Ausprobierens: Wir lassen Maxima den Ausdruck rb
auswerten, indem wir für b alle Werte von 1 bis 10 einsetzen:
(%i6) ev(rb, b=makelist(i, i, 1, 10))
;
Man sieht, dass nur die Werte r=3 und r=15 an erster und sechster Stelle ganzzahlig sind. Das ist die Lösung der Aufgabe. Machen wir durch Berechnen von b an diesen Stellen die Probe:
(%i7) br, r=[3, 15];
Passt! Weil es so schön ist, auch hier noch eine Graphik, Maxima verwendet gnuplot für diese Aufgaben:
(%i8) plot3d (fp(r, b), [r, 1, 30], [b, 1, 30],
[azimuth, 230], [grid, 30, 30],
[gnuplot_term, "png size 800,600"], [gnuplot_out_file, "50probability01.png"]
);
Der plot3d Befehl liefert das folgende ganz ansprechende Bild, das ohne die Ausgabeparameter auch noch mit der Maus interaktiv drehbar in einem Fenster dargestellt wird:
Siehe dazu auch:
Pingback: Rätsel lösen mit R | Hotchpotch Blog
Pingback: Rätsel Lösen mit Geogebra | Hotchpotch Blog