AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Einfache "Kugeln Ziehen"-Aufgabe mit Schleife

Ein Thema von yga · begonnen am 25. Jan 2012 · letzter Beitrag vom 26. Jan 2012
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#11

AW: Einfache "Kugeln Ziehen"-Aufgabe mit Schleife

  Alt 26. Jan 2012, 07:23
Nein, denn die Beschreibung der Aufgabe, der Kommentar und der Code besagen, bei 2 Weißen geht eine Schwarze wieder rein.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Einfache "Kugeln Ziehen"-Aufgabe mit Schleife

  Alt 26. Jan 2012, 07:36
@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ß
Ansgar
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#13

AW: Einfache "Kugeln Ziehen"-Aufgabe mit Schleife

  Alt 26. Jan 2012, 07:39
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;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (26. Jan 2012 um 09:25 Uhr)
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.477 Beiträge
 
Delphi 12 Athens
 
#14

AW: Einfache "Kugeln Ziehen"-Aufgabe mit Schleife

  Alt 26. Jan 2012, 09:23
Der Wahrscheinlichkeit ist mit den 4 Fällen mehr als Genüge getan, es wird durch das separate Ziehen nicht wahrscheinlicher
Das Problem ist hier, die 4 Fälle sind vor jedem Doppelzug unterschiedlich wahrscheinlich.
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.

Geändert von Blup (26. Jan 2012 um 09:25 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#15

AW: Einfache "Kugeln Ziehen"-Aufgabe mit Schleife

  Alt 26. Jan 2012, 09:27
Es fiel mir - nach dem Kaffee - auch wie Schuppen aus den Haaren
Darum der EDIT in meinem Beitrag
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz