Wahrscheinlichkeit einer Summe


  • Mod

    @EinNutzer0 sagte in Wahrscheinlichkeit einer Summe:

    Die Übungsblätter sind in dem real life use case wirklich so gestrickt, dass "der durchschnittliche Student" ca. genau die Hälfte der maximal erreichbaren Punkte bekommt.

    Wenn's möglich wäre, würde ich eine hohe Geldsumme wetten, dass deine Annahmen komplett unrealistisch und falsch sind. Das Übungsblatt, das eine zufällige Gleichverteilung von Punkten erzeugt, muss erst noch erfunden werden. Daher meine und manni66s Skepsis. Das schreit geradezu nach falschem Modell, ist aber eine essentielle Annahme bei deiner Rechnung. Da dies aber nun schon die dritte Erwähnung davon ist und du die ersten beiden Male auch nicht darauf eingegangen bist, gebe ich es auf, dich zu deinem Glück zu zwingen.



  • Ich hatte meine Frage gestellt und meine bisherigen Versuche. Dass es so kompliziert wird, hätte ich nicht gedacht. Ich bin auch nicht sehr unfreundlich geworden. Was hätte ich anders machen sollen?

    Obige Formel ist noch nicht ganz richtig. Der Erwartungswert (5*(x/2)) pro Übungsblatt/Summenglied ist aber richtig...



  • Hallo nochmal,
    also folgendes soll 0.5 ausgeben:

    // Example program
    #include <iostream>
    #include <string>
    
    bool besteht(int * maxs, int * aktuell) {
        int sum = 0;
        bool b = true;
        //const int len = sizeof(maxs) / sizeof(maxs[0]);
        const int len = 5;
        for (int i = 0; i < len; i++) {
            sum += aktuell[i];
            if ((100.0 / (double)maxs[i]) * (double)aktuell[i] < 42.0) {
                b = false;
            }
        }
        if ((sum >= 100) || (sum >= 50 && b)) {
            return true;
        } else {
            return false;
        }
    }
    
    int main()
    {
        const int m = 39; // ???
        int maxs[5] = {
            m, m, m, m, m
        };
        int aktuell[5];
        int sum = 0;
        for (int i = 0; i < 1000; i++) {
            for (int j = 0; j < 5; j++) {
                aktuell[j] = rand() % (m + 1);
            }
            std::cout << i << " " << besteht(maxs, aktuell) << "\n";
            if (besteht(maxs, aktuell))
                sum++;
        }
        std::cout << (1.0 / (1000.0 / sum)) << "\n"; // (... 0.465)
        return 0;
    }
    

    Die Frage wär, wie m (bei den drei Fragezeichen) gewählt werden muss.

    Bekannt ist:
    ((x/2)*5) Erwartungswert
    (1-0.42)^5 * ((x/2)*5) erste Wahrscheinlichkeit
    ?



  • @EinNutzer0
    Ich kenne dein Problem nicht, aber warum fragst du nicht deinen PC?

    // Example program
    #include <iostream>
    #include <string>
    
    bool besteht(int * maxs, int * aktuell) {
        int sum = 0;
        bool b = true;
        //const int len = sizeof(maxs) / sizeof(maxs[0]);
        const int len = 5;
        for (int i = 0; i < len; i++) {
            sum += aktuell[i];
            if ((100.0 / (double)maxs[i]) * (double)aktuell[i] < 42.0) {
                b = false;
            }
        }
        if ((sum >= 100) || (sum >= 50 && b)) {
            return true;
        } else {
            return false;
        }
    }
    
    
    void Test(int m)
    {
        //const int m = 39; // ???
        int maxs[5] = {
            m, m, m, m, m
        };
        int aktuell[5];
        int sum = 0;
        for (int i = 0; i < 1000; i++) {
            for (int j = 0; j < 5; j++) {
                aktuell[j] = rand() % (m + 1);
            }
            //std::cout << i << " " << besteht(maxs, aktuell) << "\n";
            if (besteht(maxs, aktuell))
                sum++;
        }
        //std::cout << (1.0 / (1000.0 / sum)) << "\n"; // (... 0.465)
    
        std::cout << "Variable m: " << m << "     " << (1.0 / (1000.0 / sum)) << "\n"; // (... 0.465)
    }
    
    int main()
    {
        for (int i = 0; i < 100; i++)
        {
            Test(i);
        }
        return 0;
    }
    

    Bei m = 40 bekomme ich 0.497 heraus, bei m = 41 0.572.



  • @Quiche-Lorraine sagte in Wahrscheinlichkeit einer Summe:

    aber warum fragst du nicht deinen PC

    Weil ich ja nach der mathematischen Gleichung dafür suche, um den genauen Wert für m zu ermitteln. Dieser kann auch "rational" sein...



  • Wenn du das rand rausnimmst und einfach enumerierst, dann ist das eine mathematische Formel. In simpel: Summe über alle Ergegnisse, 0 bei nicht bestanden, 1/Anzahl Ergebnisse bei bestanden.



  • @TGGC Kannst Du vielleicht meine Frage beantworten oder einfach Rand halten? Über irgendetwas iterieren ist keine mathematische Formel.



  • @EinNutzer0 doof?



  • Ich würde wegen eines Nonsense Beitrags von @TGGC nicht direkt von Doofheit ausgehen, aber wenn Du auch keine Antwort auf die Frage hast, wieso antwortest Du dann? Sich einfach etwas wichtig und hervor tun? Verzichtbar für mich... Geh einfach und Trolle wen anders... 🙂


  • Mod

    Ich mache hier mal zu, bevor das noch bizarrer wird...


Log in to reply