![]() |
AW: Einfache "Kugeln Ziehen"-Aufgabe mit Schleife
Nein, denn die Beschreibung der Aufgabe, der Kommentar und der Code besagen, bei 2 Weißen geht eine Schwarze wieder rein.
|
AW: Einfache "Kugeln Ziehen"-Aufgabe mit Schleife
@sx2008. Um der Wahrscheinlichkeit gerecht zu werden müsste man die beiden Kugeln einzeln ziehen. Es sind ja nicht zu jedem Zeitpunkt die gleiche Anzahl Schwarz und Weiße Kugeln vorhanden. ;)
Aber noch eine Frage: Wenn man denn nun den Fall hat->Zwei weiße Kugeln gezogen und vorher noch keine schwarze Kugel gezogen (oder zumindest keine mehr neben dem Topf liegen hat, weil man sie alle wieder reingeworfen hat), wird dann eine neue schwarze Kugel "generiert", oder der Schritt "Eine schwarze wieder in den Topf" übersprungen? Gruß |
AW: Einfache "Kugeln Ziehen"-Aufgabe mit Schleife
Ganz einfach, die Anzahl der schwarzen Kugeln im Gefäß wird erhöht.
Es ist ein theretisches Konstrukt mit der Annahme, dass die schwarzen Kugeln ausserhalb in beliebiger Anzahl verfügbar sind EDIT: Der Wahrscheinlichkeit ist mit den 4 Fällen mehr als Genüge getan, es wird durch das separate Ziehen nicht wahrscheinlicher ;) EDIT2: Wenn ich es mir recht überlege, dann hängt die Wahrscheinlichkeit welche Kombination gezogen wird, ja stark von dem Verhältnis schwarz zu weiß ab - ich glaube jetzt bin ich auch wach. Somit ist der Lösungsansatz von einbeliebigername eigentlich der sinnvollste
Delphi-Quellcode:
z1 := Random( Schwarze + Weisse ) + 1; // 1. Kugel ziehen
z2 := Random( Schwarze + Weisse - 1 ) + 1; // 2. Kugel ziehen - ist jetzt 1 Kugel weniger im Gefäß if ( z1 <= Schwarze ) then // Erste Kugel ist Schwarz begin if ( z2 <= Schwarze - 1 ) then Fall := 1 // Beide Kugeln Schwarz else Fall := 3; // Schwarz und Weiß end else // Erste Kugel ist Weiß begin if ( z2 > Schwarze ) then Fall := 2 // Beide Kugeln Weiß else Fall := 3; // Schwarz und Weiß end; |
AW: Einfache "Kugeln Ziehen"-Aufgabe mit Schleife
Zitat:
Im Extremfall sind zum Beispiel nur schwarze Kugeln im Hut. Man müsste also vor jedem Doppelzug erst einmal die Wahrscheinlichkeit für jede Kombination ermitteln. Einfacher zu Programmieren ist auf jeden Fall die Variante, jede Kugel einzeln zu ziehen. Im Prinzip z.B. so:
Delphi-Quellcode:
function Ziehung: Farbe;
begin n := Random(AnzahlSchwarz + AnzahlWeiss); if n < AnzahlSchwarze then begin Result := Schwarz; Dec(AnzahlSchwarz); end else Kugel1 := Weiss; Dec(AnzahlWeiss); end; end; procedure Doppelzug; begin Kugel1 := Ziehung; Kugel2 := Ziehung; if Kugel1 = Kugel2 then Inc(AnzahlSchwarz) else Inc(AnzahlWeiss); end; Edit: Sehe auch gerade das "einbeliebigername" das Prinzip schon gepostet hat. |
AW: Einfache "Kugeln Ziehen"-Aufgabe mit Schleife
Es fiel mir - nach dem Kaffee - auch wie Schuppen aus den Haaren :mrgreen:
Darum der EDIT in meinem Beitrag :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz