Mathe, Stochastik, zwei Spieler spielen wiederholt eine Runde


  • Gesperrt

    Was wäre denn, wenn ich nun behaupten würde,

    0.533935546875 sei falsch und

    0.5661862967491151 (also 56%, nicht 53%) sei die genaue Wahrscheinlichkeit für das Ende des Spiels nach 6 Runden?

    Spoiler:

    public class Wahr {
        public static void main(String[] args) {
            System.out.println("n=05: " + w(0, 0, 0, 15, 9, 20, 5));
            System.out.println("n=06: " + w(0, 0, 0, 15, 9, 20, 6));
            System.out.println("n=07: " + w(0, 0, 0, 15, 9, 20, 7));
        }
    
        public static double w(int deep, int w1, int w2, int p1, int p2, int n, int maxDeep) {
            if (deep > maxDeep) {
                return 0;
            }
            if (w1 == 5 || w2 == 5) {
                return 1;
            }
            double f = 1.0 / (n * n);
            double w0 = 0;
            w0 += ((n - p1) * (n - p2)) * f * w(deep + 1, w1, w2, p1, p2, n, maxDeep);
            w0 += (p1 * (n - p2)) * f * w(deep + 1, w1 + 1, w2, p1, p2, n, maxDeep);
            w0 += ((n - p1) * p2) * f * w(deep + 1, w1, w2 + 1, p1, p2, n, maxDeep);
            w0 += (p1 * p2) * f * w(deep + 1, w1 + 1, w2 + 1, p1, p2, n, maxDeep);
            return w0;
        }
    }
    


  • @omggg sagte in Mathe, Stochastik, zwei Spieler spielen wiederholt eine Runde:

    deshalb kann @Schlangenmensch und Du mir Blödsinn erzählen ("merkt der ja eh nicht ..."). 😞

    Wo habe ich Blödsinn geschrieben? Ich habe nur den Fall betrachtet, das Spieler 2 ein Spiel gewinnt und Spieler 1 verliert oO

    Und, @SeppJ hat logisch hergeleitet, dass N=5 Spiele nicht ausreichen können, und bei N=6 Spieler 1 ausreicht, um über 50 Prozent zu kommen. Und nur darauf bezieht sich die 53%

    Ich komme für eine genaue Wahrscheinlichkeit auf 0,6031, denn du muss den Fall hinzuaddieren, dass Spieler 2 6 aus 6 gewinnt (0.0083), und das Spieler 2 5 aus 6 gewinnt (0.0609).

    Da sich Gewinne gegenseitig nicht ausschließen sollten die Einzelwahrscheinlichkeiten unabhängig voneinander sein.


  • Gesperrt

    Danke erst mal,

    @Schlangenmensch sagte in Mathe, Stochastik, zwei Spieler spielen wiederholt eine Runde:

    denn du muss den Fall hinzuaddieren, dass Spieler 2 6 aus 6 gewinnt (0.0083), und das Spieler 2 5 aus 6 gewinnt (0.0609).

    Jaein ... Spieler 2 (oder Spieler 1) kann doch gar nicht 6 aus 6 gewinnen, da das Spiel vorher beendet wäre...

    @Schlangenmensch sagte in Mathe, Stochastik, zwei Spieler spielen wiederholt eine Runde:

    Da sich Gewinne gegenseitig nicht ausschließen sollten die Einzelwahrscheinlichkeiten unabhängig voneinander sein.

    Und wie kann ich das erreichen?


  • Gesperrt

    Es könnte jedoch die Hälfte der Rechenzeit eingespart werden durch einfaches Pruning:

    public class Wahr {
        public static void main(String[] args) {
            System.out.println("n=05: " + w(0, 0, 0, 15, 9, 20, 5));
            System.out.println("n=06: " + w(0, 0, 0, 15, 9, 20, 6));
            System.out.println("n=07: " + w(0, 0, 0, 15, 9, 20, 7));
        }
    
        public static double w(int deep, int w1, int w2, int p1, int p2, int n, int maxDeep) {
            if (deep >= maxDeep) {
                return w1 == 5 || w2 == 5 ? 1 : 0;
            }
            if (w1 == 5 || w2 == 5) {
                return 1;
            }
            double f = 1.0 / (n * n);
            double w0 = 0;
            w0 += ((n - p1) * (n - p2)) * f * w(deep + 1, w1, w2, p1, p2, n, maxDeep);
            w0 += (p1 * (n - p2)) * f * w(deep + 1, w1 + 1, w2, p1, p2, n, maxDeep);
            w0 += ((n - p1) * p2) * f * w(deep + 1, w1, w2 + 1, p1, p2, n, maxDeep);
            w0 += (p1 * p2) * f * w(deep + 1, w1 + 1, w2 + 1, p1, p2, n, maxDeep);
            return w0;
        }
    }
    


  • @omggg Die Frage war doch, wie wahrscheinlich ist es in 6 Spielen mindestens 5 mal zu gewinnen. Dafür muss du alle möglichen Varianten betrachten, die 5 Siege beinhalten. Die Frage war nicht, wie wahrscheinlich ist es exakt 5 mal zu gewinnen.

    @omggg sagte in Mathe, Stochastik, zwei Spieler spielen wiederholt eine Runde:

    Und wie kann ich das erreichen?

    Wobei? Die Frage verstehe ich gerade nicht, habe ich noch nicht genug Kaffee für getrunken.


  • Gesperrt

    🤔 Für hierauf aufbauende Folgeberechnungen ist, "wird schon so ungefähr richtig sein", immer schlecht ... nicht umsonst gibt es doch genaue Rundungs- und Fehleregeln usw.

    Aber vielleicht ist dieses Wissen auch nur echten Mathematikern vorbehalten, und der bin ich ja nicht. 🤷♂



  • @omggg Nein, hier geht es nicht um "wird so ungefähr richtig sein". Es gibt bei 6 Spielen zwei Möglichkeiten die ersten 5 Spiele zu gewinnen: Man gewinnt die ersten 5 und verliert das 6. oder man gewinnt alle 6. Beide Wahrscheinlichkeiten müssen für 5 aus 6 mit betrachtet werden, auch wenn du bei einem Experiment nach 5 Siegen aufhören könntest.


  • Gesperrt

    🙈 Ich glaube, ich habe den Fehler inzwischen selber gefunden ...

    Da 75 % + 45 % größer als 1 ist, schließen sich die Ereignisse nicht gegenseitig aus (sind nicht mutually exclusive) ... und damit dürfen sie auch nicht addiert werden:

    https://math.stackexchange.com/questions/2636056/probability-for-sum-of-events-greater-than-1

    Das heißt, mein Ansatz (oder meine Ansätze) wird vermutlich falsch sein, weil ich in den Methoden Wahrscheinlichkeiten addiere.

    Das war die gute Nachricht. Die schlechte ist, ich weiß nicht, wie das anders geht. Ich leg's dann mal auf Eis.



  • @omggg Ich glaube, du hast die Antwort falsch verstanden. Es geht nicht darum das man Wahrscheinlichkeiten dann überhaupt nicht addieren kann. Da steht nur, das die Wahrscheinlichkeit, das Spieler 1 gewinnt, oder Spieler 2 gewinnt, nicht die Addition der Einzelwahrscheinlichkeiten ist (die ja in deinem Fall größer 1 wäre).


  • Gesperrt

    @Schlangenmensch Dennoch, mit der Variante aus https://www.c-plusplus.net/forum/topic/354643/mathe-stochastik-zwei-spieler-spielen-wiederholt-eine-runde/29 komme ich nicht auf das Ergebnis von https://www.c-plusplus.net/forum/topic/354643/mathe-stochastik-zwei-spieler-spielen-wiederholt-eine-runde/16 (0.533935546875), und ich weiß nicht, ob dies als absolut richtig betrachtet werden kann, weil @SeppJ einfach nur geschrieben hat, dass es lediglich genau sei, und weil es mir spanisch vorkommt, dass das Ereignis "Spieler 2 gewinnt, aber Spieler 1 nicht" nicht explizit auftaucht. Das sollte doch dabei sein?


  • Gesperrt

    Hmmm, auch Monte-Carlo bestätigt die 0.533935546875 nicht direkt ... Es sagt, durchschnittlich sei nach 6,65 Runden Schluss:

    import java.util.ArrayList;
    import java.util.IntSummaryStatistics;
    import java.util.List;
    
    public class Wahr {
        public static void main(String[] args) {
            System.out.println("n=6: " + w(0, 0, 0, 15, 9, 20, 6));
            monteCarlo(15, 9, 20, 6);
        }
    
        public static double w(int deep, int w1, int w2, int p1, int p2, int n, int maxDeep) {
            if (deep > maxDeep) {
                return 0;
            }
            if (w1 == 5 || w2 == 5) {
                return 1;
            }
            double w0 = 0;
            w0 += (n - Math.max(p1, p2)) * 1.0 / n * w(deep + 1, w1, w2, p1, p2, n, maxDeep);
            w0 += (Math.max(p1, p2) - Math.min(p1, p2)) * 1.0 / n * w(deep + 1, w1 + 1, w2, p1, p2, n, maxDeep);
            w0 += Math.min(p1, p2) * 1.0 / n * w(deep + 1, w1 + 1, w2 + 1, p1, p2, n, maxDeep);
            return w0;
        }
    
        public static void monteCarlo(int p1, int p2, int n, int max) {
            List<Integer> endsAfter = new ArrayList<>();
            for (int j = 0; j < 10000; j++) {
                int wins1 = 0;
                int wins2 = 0;
                for (int i = 0; i < 100; i++) {
                    int r = (int) (Math.random() * n);
                    if (r < Math.min(p1, p2)) {
                        wins1++;
                        wins2++;
                    } else if (r < Math.max(p1, p2)) {
                        wins1++;
                    }
                    if (wins1 == 5 || wins2 == 5) {
                        endsAfter.add(i + 1);
                        break;
                    }
                }
            }
            IntSummaryStatistics iss = endsAfter.stream().mapToInt(Integer::intValue).summaryStatistics();
            System.out.println(iss);
            long count1 = endsAfter.stream().filter(i -> i == max).count();
            long count2 = endsAfter.stream().filter(i -> i != max).count();
            System.out.println(count1 + " " + count2);
            System.out.println(1.0 * count1 / count2);
        }
    }
    

    Also los ... wo ist der Wurm?

    Bestimmt ist Zeile 49 falsch. 🤒



  • Ich denke der Wurm wird in der Hauptsache darin liegen, dass du nicht weiß was du tust.

    In diesem und in zwei weiteren Foren kursiert eine Formel, die das gewünschte berechnen soll. Mangels deiner Kenntnisse in allen MINT Disziplinen kannst du das nichtmal verifizieren.

    Wegen anderer Konzepte - Dunning-Kruger Effekt bist du nicht in der lage zu sehen, wie schlecht deine Aussagen und Schlussfolgerungen sind.

    Es dient hier ausschließlich dazu die Leute im Forum zu nerven. Oder für einen kurzen Moment so zu tun, als hätte man jemanden zu sprechen. Denn wenn du in deiner Realität so auftrittst, wie du dich in den hinderten Foren tust, dann wirst du verdammt wenig Freunde haben.

    Gleichzeitig ist deine Funktion nur zusammengewürfelt irgendwelche Operationen, die wenn ich dich darum bitten würde deine Vorgehensweise in Bezug auf das hier postete zu erkäutern, einfach scheitern wird, weil es nix mit der gegeben Aufgabenstellung zu tun hat.

    My two cents.


  • Gesperrt

    Geh weg.


  • Gesperrt

    @oxide sagte in Mathe, Stochastik, zwei Spieler spielen wiederholt eine Runde:

    Dünning-Krüger Effekt

    Das Problem ist, dass von uns beiden ich nicht der Dumme bin. 😢 Also, was soll das Getrolle? Du hast obendrein auch ein unnormales Mitteilungsbedürfnis ... Das solltest du mal psychologisch aufarbeiten lassen. Schlechte Kindheit gehabt?


  • Mod


  • Gesperrt

    Hab's ... ChatGPT (Model 4) sagt Folgendes:

    Die erweiterte Binomialverteilung bezieht sich auf Situationen, in denen man die Wahrscheinlichkeit mehrerer nicht disjunkter (sich nicht gegenseitig ausschließender) Ereignisse untersucht. Die herkömmliche Binomialverteilung setzt voraus, dass jedes Ereignis unabhängig und nur entweder ein Erfolg oder ein Misserfolg ist. Bei der erweiterten Binomialverteilung betrachten wir jedoch eine Menge von Ereignissen, die nicht unbedingt unabhängig und deren Wahrscheinlichkeiten in Summe größer als 1 sein können.

    Stellen wir uns vor, wir haben Ereignisse A1,A2,...,AkA_1, A_2, ..., A_k mit Wahrscheinlichkeiten P(A1),P(A2),...,P(Ak)P(A_1), P(A_2), ..., P(A_k). Diese Ereignisse sind nicht notwendig disjunkt, was bedeutet, dass sie sich überlappen können, und die Summe ihrer Einzelwahrscheinlichkeiten kann größer als 1 sein.

    Berechnung

    Für die Berechnung der Wahrscheinlichkeit einer Kombination dieser Ereignisse untersuchen wir die Möglichkeit, dass verschiedene Kombinationen der Ereignisse eintreten. Nehmen wir an, dass ein zufälliges Experiment nn-mal durchgeführt wird, und wir wollen die Wahrscheinlichkeit berechnen, dass bestimmte Kombinationen dieser Ereignisse in genau diesen nn Versuchen auftreten.

    Erweitertes Inclusion-Exclusion Prinzip

    Ein wichtiges Werkzeug zur Berechnung solcher Wahrscheinlichkeiten ist das Inklusions-Exklusions-Prinzip (inclusion-exclusion principle), das verwendet wird, um die Wahrscheinlichkeit der Vereinigung mehrerer nicht-disjunkter Ereignisse zu finden. Es lautet im Allgemeinen:

    P(A1A2...Ak)=i=1kP(Ai)1i<jkP(AiAj)+1i<j<mkP(AiAjAm)...+(1)k+1P(A1A2...Ak)P(A_1 \cup A_2 \cup ... \cup A_k) = \sum_{i=1}^{k} P(A_i) - \sum_{1 \leq i < j \leq k} P(A_i \cap A_j) + \sum_{1 \leq i < j < m \leq k} P(A_i \cap A_j \cap A_m) - ... + (-1)^{k+1} P(A_1 \cap A_2 \cap ... \cap A_k)

    Anwendung auf n Versuche

    Um solche Wahrscheinlichkeiten über nn Versuche hinweg zu kombinieren, berücksichtigt man oft komplexe Wahrscheinlichkeiten und Kombinatorik:

    1. Berücksichtigung von mehrfachen gemeinsamen Ereignissen: Weil sich Ereignisse überschneiden können, sollten die Schnittmengen der diversen Kombinationen von Ereignissen berücksichtigt werden.
    2. Multivariate Binomialverteilung: In Fällen, wo man die Verteilung mehrerer abhängiger und häufiger auftretender Ereignisse berücksichtigt, müssen Techniken der multivariaten Statistik und verallgemeinerten binomialen Verteilungen (z.B. Hypergeometrische Verteilungen) angewandt werden.

    Beispiel

    Angenommen, wir haben zwei Ereignisse AA und BB mit P(A)=0.6P(A) = 0.6 und P(B)=0.5P(B) = 0.5, und die Wahrscheinlichkeit ihrer gleichzeitigen Eintretens ist P(AB)=0.3P(A \cap 😎 = 0.3.

    Die Wahrscheinlichkeit wenigstens eines dieser Ereignisse bei einem einzelnen Versuch zu beobachten ist:

    P(AB)=P(A)+P(B)P(AB)=0.6+0.50.3=0.8P(A \cup 😎 = P(A) + P(B) - P(A \cap 😎 = 0.6 + 0.5 - 0.3 = 0.8

    Wenn man dies nun auf nn Versuche ausdehnt, muss man die Wahrscheinlichkeit berechnen, dass eine bestimmte Anzahl von Versuchen dieses kombinierte Ereignis trifft, was deutlich komplexer wird und eine tiefergehende Analyse der möglichen Kombinationen und deren Wahrscheinlichkeiten erfordert.

    Zusammenfassung

    Die erweiterte Binomialverteilung bezieht sich auf die Wahrscheinlichkeit des Auftretens mehrerer, sich möglicherweise überschneidender Ereignisse in bestimmten Versuchen. Diese Art von Analyse erfordert die Anwendung des Inklusions-Exklusions-Prinzips, Kombinatorik und gegebenenfalls Techniken der Multivariaten Statistik.


  • Gesperrt

    @SeppJ sagte in Mathe, Stochastik, zwei Spieler spielen wiederholt eine Runde:

    2 + 2 = 4 leite ich mir ja auch nicht ständig neu aus den Peano Axiomen her.

    *kopfkratz* vielleicht nicht du... 😉

    ChatGPT: Die Peano-Axiome, benannt nach dem italienischen Mathematiker Giuseppe Peano, sind eine Sammlung von Axiomen für die natürlichen Zahlen ℕ und bilden eine Grundlage für die Arithmetik. Diese Axiome sind:

    1. Null ist eine natürliche Zahl.

      • formal: (0 \in ℕ)
    2. Jede natürliche Zahl hat genau einen Nachfolger, der auch eine natürliche Zahl ist.

      • formal: (\forall n \in ℕ, S(n) \in ℕ)
      • Hierbei ist (S(n)) der Nachfolger von (n).
    3. Null ist nicht der Nachfolger irgendeiner natürlichen Zahl.

      • formal: (\forall n \in ℕ, S(n) \neq 0)
    4. Verschiedene Zahlen haben verschiedene Nachfolger.

      • formal: (\forall m, n \in ℕ, m \neq n \Rightarrow S(m) \neq S(n))
    5. (Induktionsaxiom) Eigenschaft (P) gilt für alle natürlichen Zahlen, wenn sie für (0) gilt und wenn gilt: sofern (P(k)) für eine natürliche Zahl (k) gilt, dann gilt auch (P(S(k))).

      • formal: (P(0) \land (\forall k \in ℕ, P(k) \Rightarrow P(S(k))) \Rightarrow \forall n \in ℕ, P(n))

    Mit diesen Axiomen lässt sich das Rechnen mit natürlichen Zahlen und insbesondere die Addition formalisieren. Hier leiten wir (2 + 2 = 4) her.

    1. Definition von 1, 2, 3, 4:

    • (1 = S(0))
    • (2 = S(1))
    • (3 = S(2))
    • (4 = S(3))

    2. Definition der Addition:

    • Addition wird durch:
      • Basisfall: (a + 0 = a)
      • Induktionsfall: (a + S(b) = S(a + b))
        definiert.

    3. Herleitung von (2 + 2 = 4):

    1. Schritt: Berechne (2 + 0):
      [
      2 + 0 = 2
      ]
      (nach der Definition der Addition, Basisfall)

    2. Schritt: Berechne (2 + S(0)):
      [
      2 + S(0) = S(2 + 0) = S(2) = 3
      ]
      (nach der Definition der Addition, Induktionsfall, und der Definition von (3))

    3. Schritt: Berechne (2 + S(1)):
      [
      2 + S(1) = S(2 + 1) = S(3) = 4
      ]
      (nach der Definition der Addition, Induktionsfall, und der Definition von (4))

    4. Schritt: Berechne (2 + 2):
      [
      2 + 2 = 2 + S(1) = 4
      ]

    Damit haben wir gezeigt, dass (2 + 2 = 4) unter Verwendung der Peano-Axiome.


Anmelden zum Antworten