Aufgabendiskussion 10. Türchen

    • kosakenzipfel schrieb:

      Ich hab die Simulation in IDL geschrieben, und es kommen exakt die richtigen Lösungen (Anzahl Kekse und Anzahl Würfe) raus. Also entweder es liegt an JAva oder an dir ;( . Vielleicht schaust du dir deinen Code nochmal nach Fehlern durch ...
      Viel Erfolg!
      Ich stimme zu.

      Habe eine einfache Simulation in Excel gemacht. Es kommen genau die Werte raus, die in der Lösung angegeben sind.
    • Hier noch mein Java-Programm dazu.
      Dieses sammelt kumuliert zusätzlich die Plätzchen je Wichtel und die Häufigkeit der einzelnen Plätzchen in der Simulation.
      Dabei kommen die richtigen Ergebnisse raus...

      static void a2016_10() {

      boolean[] plate = new boolean[6];
      int[] wichtel = new int[3];
      int[] cookies = new int[3000];
      int nTrials = 1000000;

      int nSum = 0;
      for ( int i = 0; i < nTrials; i++ ) {
      for ( int j = 0; j < 6; j++ ) {
      plate[j] = false;
      }
      for ( int j = 0; j < 3; j++ ) {
      //wichtel[j] = 0;
      }
      int nCount = 0;
      int k = 0;
      while (true) {
      int n = (int) Math.floor( 6 * Math.random() );
      if ( plate[n] ) {
      nCount++;
      wichtel[k%3]++;
      }
      plate[n] = !plate[n];
      if ( plate[0] && plate[1] && plate[2] && plate[3] && plate[4] && plate[5] ) {
      nCount += 6;
      wichtel[k%3] += 6;
      break;
      }
      k++;
      }
      nSum += nCount;
      cookies[nCount]++;
      }
      System.out.println( "Wichtel: " + wichtel[0] + ", " + wichtel[1] + ", " + wichtel[2] + ", " );
      System.out.println( "nCount: " + 1.0 * nSum / nTrials );
      for ( int i = 0; i < 3000; i++ ) {
      if ( cookies > 0 ) {
      System.out.println( i + ": " + cookies[i] );
      }
      }
      }
    • Hallo!
      Vielen Dank an Kosakenzipfel, Hupe und Mr.X für Eure Posts!
      Mr.Xs Code konnte ich (nach kleiner Änderung) laufen lassen. An dieser Stelle: Danke für Dein Code! Ich werde leider nicht schlau aus den Ergebnissen. Da bräuchte ich Deine Hilfe. (Dazu später mehr. Vielleicht schaffe ich das heute nicht mehr zu posten. Sorry...)
      Die wichtigste Frage an das Matheon-Kalender-Team bleibt, unabhängig von den Simulationen, unbeantwortet:
      Warum ist die folgende Annahme kein Fehler?
      Annahme: "Nehmen wir an, das Spiel sei nach m Würfen beendet"
      Hintergrund meiner Frage: Wir wollen zeigen, dass es zu erwarten ist, dass das Spiel endet. Wenn wir annehmen, dass das Spiel nach m schritten endet, dann klingt das für mich so, als würde ich das, was ich beweisen möchte, einfach annehmen oder voraussetzen.
      Deshalb verstehe ich die Annahme leider nicht. F1!
      Nette Grüße und noch mal Danke!
    • Hallo lieber Mr.X,
      Dein Code bestätigt die Lösung! Ich hatte folgende Zeile im Output übersehen:
      nCount: 44.587231
      (Ändern musste ich cookie durch cookie[i] (am Ende vom Code). Das ist aber eine Kleinigkeit.)
      Vielen Dank!
      @Matheon-Kalender-Team: Meine vorheriger Frage ist hiervon unberührt... Es wäre schön, Eure Klärung zu hören (ok, lesen :-))
      Viele Grüße!