Forum: Offtopic Kombinatorik Frage


von D. I. (Gast)


Lesenswert?

Mich verlassen grad meine Kombinatorikkenntnisse. Folgende Probleme:

1. Gegeben seien n Kugeln nummeriert von 1 bis n. Ich ziehe willkürlich 
k <= n Kugeln. Wie hoch ist die WSK, dass sich eine bestimmte Kugel i, 1 
<= i <= n unter den gezogenen k Kugeln befindet?

2. Gegeben seien n Kugeln nummeriert von 1 bis n. Für jede Kugel besteht 
eine Wahrscheinlichkeit p_i in einen Pool aufgenommen zu werden. Aus 
diesem Pool ziehe ich willkürlich k <= |Pool| Kugeln. Wie hoch ist die 
WSK, dass sich eine bestimmte Kugel i, 1 <= i <= n unter den gezogenen k 
Kugeln befindet?

von Daniel R. (daniel_r)


Lesenswert?

Zu 1:
Beim 1. Zug ist die W'keit, dass Du Kugel i erwischst 1/n. Beim zweiten 
1/(n-1), beim dritten 1/(n-2) usw.

Mehr verrate ich nicht. Schliesslich wollen wir ja, dass Du Deine 
Kombinatorikkenntnisse wiedererlangst.

Für 2 habe ich keine Zeit mehr. Ein ander Mal vllt.

von Matthias L. (Gast)


Lesenswert?

Die Frage, die mich bei solchen Aufgaben immer beschäftigt hat. Was 
bringen diese Aussagen in der Praxis?

Das Ausrechnen einen Widerstandswertes in der Schaltung, oder eines 
Trägers in der Statik ok. Aber wenn es heisst (zB), die 
Wahrscheinlichkeit, mit dem Auto einen tödlichen Unfall zu haben, ist 
1%.

Ja schön? Und nun? nach 99 Fahrten das Auto stehen lassen?

Mir fehlt das irgendwie der Sinn solcher Betrachtungen...

von (prx) A. K. (prx)


Lesenswert?

Matthias Lipinsky schrieb:

> Mir fehlt das irgendwie der Sinn solcher Betrachtungen...

Versicherungsmathematikern nicht - allen Leuten, die Ausfallraten 
jeglicher Art berechnen. Auch diverse andere Methoden Geld zu verdienen 
haben eine Affinität zu Statistik, wie Lotto, andere Gewinnspiele und 
manches Banking.

> Ja schön? Und nun? nach 99 Fahrten das Auto stehen lassen?

Und zwar so lange bis das Risiko rum ist, d.h. bis es gescheppert hat. 
Weil, das muss dann ja kommen, das Schicksal schlägt dann unerbittlich 
zu und du solltest dein Auto besser gleich verkaufen. ;-)

von Matthias L. (Gast)


Lesenswert?

>Versicherungsmathematikern nicht - allen Leuten, die Ausfallraten
>jeglicher Art berechnen.

Ja schön. Da sind wir auch nicht weiter. Und dann?
Werden die Prämien erhöht.. Wie immer.

Eine nachträgliche Auswertung vom zB Unfällen letztes Jahres ok. Aber 
Ausrechnen, ob/wie wahrscheinlich ein Ereignis in Zukunft eintreten 
wird...

Naja,...

von D. I. (Gast)


Lesenswert?

Daniel R. schrieb:
> Zu 1:
> Beim 1. Zug ist die W'keit, dass Du Kugel i erwischst 1/n. Beim zweiten
> 1/(n-1), beim dritten 1/(n-2) usw.

Das bezweifle ich. Gut der erste Fall ist auch nicht so schwer. Ich 
betrachte alle k-Teilmengen in denen die Kugel vorkommt und teile das 
durch alle möglichen Teilmengen, dann habe ich die WSK dass eine 
bestimmte Kugel in der k-Teilmenge ist und das multipliziert mit 1/k, 
sollte die gesuchte WSK sein.


>
> Mehr verrate ich nicht. Schliesslich wollen wir ja, dass Du Deine
> Kombinatorikkenntnisse wiedererlangst.

Wenn du einfach zugibst, dass du die Fragestellung nicht beantworten 
kannst hätte das schon gereicht...

Die 2. Aufgabe ist wie mir scheint jedoch deutlich kniffliger, weil sich 
die p_i gegenseitig beeinflussen und aufs Gesamtergebnis auswirken.

Matthias Lipinsky schrieb:
> Die Frage, die mich bei solchen Aufgaben immer beschäftigt hat. Was
> bringen diese Aussagen in der Praxis?

Zum Beispiel wüßte man gern wie man die Parameter n,k,p_i wählen muss um 
für eine bestimmte Kugel eine Ziehwahrscheinlichkeit zu erreichen.
Wenn dus etwas praxisnäher haben willst: Auf einer Spieleseite gibts 
Items zu verlosen, aber da die Items unterschiedlich wertvoll sind, 
sollen die nicht mit gleicher Wahrscheinlichkeit aus dem Itempool 
gezogen werden und jetzt möchte man für jedes Item eine gewisse 
Wahrscheinlichkeit erreichen.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Zu Frage 1: Für jede der gezogenen k Kugeln ist die Wahrscheinlichkeit,
dass es sich dabei um die vorgegebenene Kugel i handelt, gleich 1/n. Da
die Kugel i nicht zweimal gezogen werden kann, können die Einzelwahr-
scheinlichkeiten einfach addiert werden, so dass die Wahrscheinlichkeit,
dass irgendeine der k Kugeln die Kugel i ist, gleich k/n ist.

Zu Frage 2: Da in diesem Fall k keine vorgegebene Konstante ist, sondern
u.a. von der Poolgröße abhängt, hängt das Ergebnis davon ab, wie k in
Abhängigkeit von der Poolgröße festgelegt wird. Kannst du mehr Informa-
tionen über den genauen Ablauf des Zufallsexperiments liefern?

von D. I. (Gast)


Lesenswert?

Yalu X. schrieb:
> Zu Frage 2: Da in diesem Fall k keine vorgegebene Konstante ist, sondern
> u.a. von der Poolgröße abhängt, hängt das Ergebnis davon ab, wie k in
> Abhängigkeit von der Poolgröße festgelegt wird. Kannst du mehr Informa-
> tionen über den genauen Ablauf des Zufallsexperiments liefern?

Gerne:

Ich habe eine Tabelle folgender Form:

Kugel | WSK im Pool zu landen (p)
k1    | 100%
k2    | 80%
k3    | 95%
...
kn    | 66%

Wenn nun eine Kugel bestimmt werden soll:

Pool pool;
forall Kugeln k:
  wenn random() < p_i: pool.add(k) //0.0 <= random() < 1.0

wenn !pool.empty(): k_chosen = pool.randomElement()

random() und randomElement() liefern gleichverteilte Ergebnisse, also 
wenn etwas im Pool landet, dann haben alle Elemente im Pool die gleiche 
WSK gezogen zu werden.

von Großes F. (112)


Lesenswert?

WSK(Kugel_i) = 1/Poolgröße * p_i

von Karl H. (kbuchegg)


Lesenswert?

Yalu X. schrieb:
> Zu Frage 1: Für jede der gezogenen k Kugeln ist die Wahrscheinlichkeit,
> dass es sich dabei um die vorgegebenene Kugel i handelt, gleich 1/n.

Ich lese die Aufgabenstellung als "Ziehen ohne zurücklegen".

D.h. beim ersten mal ziehen sind n Kugeln im Beutel.
Die Wahrscheinlichkeit ist daher 1/n da alle Kugeln die gleiche 
Wahrscheinlichkeit haben.
Da aber die Kugel nicht zurückgelegt wird, sind beim nächsten mal ziehen 
nur noch n-1 Kugeln im Beutel. Die Wahrscheinlichkeit, die gewünschte zu 
ziehen ist daher 1/(n-1). Damit verbleiben n-2 Kugel im Beutel etc.

von Stefan S. (ssalewski)


Lesenswert?

@Karl Heinz Buchegger

Die erste Aufgabe ist doch allein mit Menschenverstand lösbar:
Teile die n Kugeln in einen Haufen mit k und einen mit n-k Kugeln auf. 
Die obige Fragestellung entspricht dann der Frage, mit welcher 
Wahrscheinlichkeit Kugel i im Haufen mit den k Kugeln enthalten ist. Und 
das ist das Verhältnis günstige/alle, also k/n. Wie Yalu oben auch 
schrieb.

von Karl H. (kbuchegg)


Lesenswert?

Ich denke die Argumentation stimmt so nicht.

Wenn du günstig/alle betrachten willst, musst du dich fragen:
Auf wieviele Arten kann ich einen Haufen mit k Kugeln aus den n Kugeln 
bilden und in wievielen davon ist die gesuchte Kugel i drinnen.

von Karl H. (kbuchegg)


Lesenswert?

Ich nehm alles zurück und behaupte das Gegenteil.

Eine Simulation zeigt, dass ihr recht habt (war ja auch wieder mal 
klar.)

Wenn ich mich nicht vertan habe, dann zeigt das Programm
1
#include <stdio.h>
2
#include <stdlib.h>
3
4
int random( int min, int max )
5
{
6
  return min + rand() % ( max - min );
7
}
8
9
int main()
10
{
11
  int n, k, s, i;
12
  
13
  printf( "n: " );
14
  scanf( "%d", &n );
15
  printf( "Kugel suchen: " );
16
  scanf( "%d", &s );
17
18
  for( k = 1; k < n; ++k ) {
19
20
    int NrFound = 0;
21
    int nrExperiments = 0;
22
23
    for( nrExperiments = 0; nrExperiments < 100000; nrExperiments++ ) {
24
25
      // Kugeln in den Beutel
26
      int* Kugeln = new int [n];
27
      for( i = 0; i < n; ++i )
28
        Kugeln[i] = i;
29
30
      // Kugeln mischen
31
      for( i = 0; i < n - 1; ++i ) {
32
        int index = random( i, n );
33
        int tmp = Kugeln[index];
34
        Kugeln[index] = Kugeln[i];
35
        Kugeln[i] = tmp;
36
      }
37
      
38
      // die ersten k ziehen und nachsehen ob die gesuchte Kugel s dabei ist
39
      for( i = 0; i < k; ++i ) {
40
        if( Kugeln[i] == s ) {
41
          NrFound++;
42
          break;
43
        }
44
      }
45
46
      delete [] Kugeln;
47
    }
48
    
49
    printf( "gezogene Kugeln %d, gefunden %d, p = %lf\n", k, NrFound, (double)NrFound / nrExperiments );
50
  }
51
}

das die Wahrscheinlichkeit tatsächlich schön linear ansteigt.

Anstelle des Ziehens, mische ich einfach die Kugeln und 'ziehe' dann die 
k Kugeln, in dem ich nachsehe, ob die gesuchte Kugel unter den ersten k 
Kugeln ist. Müsste ja eigentlich gleichwertig sein.

Das Experiment wird 100000 mal wiederholt und bei 100 Kugeln ergibt sich 
tatsächlich ein einigermassen gleichmässiger Anstieg der 
Wahrscheinlichkeit.

von Stefan S. (ssalewski)


Lesenswert?

@Karl Heinz Buchegger

Man kann es sich noch auf eine andere Art anschaulich überlegen:
Man hat die n Kugeln, fortlaufend nummeriert von 1 bis n. Die Nummern 
seien abgeklebt/verdeckt. Man mischt die Kugeln und legt sie dann alle 
in eine Reihe. Für jede der n Positionen ist jetzt zunächst die 
Wahrscheinlichkeit, dass die dort liegende Kugel mit der Zahl i 
beschriftet ist, 1/n. Nun greift man eine der Kugeln und legt sie in 
einen Korb. Für die verbliebenen Kugeln hat sich durch die letzte Aktion 
aber nichts geändert -- greift man die nächste, so ist die 
Wahrscheinlichkeit, dass sie mit der Zahl i beschriftet ist, noch immer 
1/n. Hat man auf diese Weise seine k Kugeln im Korb und sieht nach, ob 
eine von ihnen mit i beschriftet ist, so ist die Wahrscheinlichkeit 
dafür k*(1/n) also k/n.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.