Forum: Offtopic Kleines Rätsel zum Feierabend


von D. I. (Gast)


Lesenswert?

Passend zur Frauenquote:

In Hinterwald will jedes Paar unbedingt ein männliches Baby. Kriegt ein 
Päärchen eine Tochter, zeugt es ein weiteres Baby. Dies wird von jedem 
Paar solange wiederholt bis ein Junge geboren wird. Wie ist die 
Geschlechterverteilung der Babys (m : w) sobald jedes Paar einen Jungen 
hat?

Annahme: Mädchen oder Junge ist gleichwahrscheinlich.

Disclaimer: Aus dem Hausaufgabenalter bin ich raus ;)

Follow-Up: Mädchen oder Junge ist nicht mehr gleichwahrscheinlich.

von Karl H. (kbuchegg)


Lesenswert?

D. I. schrieb:
> Passend zur Frauenquote:
>
> In Hinterwald will jedes Paar unbedingt ein männliches Baby. Kriegt ein
> Päärchen eine Tochter, zeugt es ein weiteres Baby. Dies wird von jedem
> Paar solange wiederholt bis ein Junge geboren wird. Wie ist die
> Geschlechterverteilung der Babys (m : w) sobald jedes Paar einen Jungen
> hat?
>
> Annahme: Mädchen oder Junge ist gleichwahrscheinlich.


Da gibt es sicher einen Trick dabei, den ich nicht sehen kann.
Denn theoretisch kann ja ein Pärchen unendlich viele Mädchen bekommen, 
praktisch so viele bis die Frau in die Menopause kommt. Aber der 
springende Punkt ist, dass die Wahrscheinlichkeit nach jeder Geburt 
wieder 50:50 ist.

von D. I. (Gast)


Lesenswert?

Mit dem Einwand hast du im Wesentlichen auch recht, weswegen die Antwort 
streng genommen auch etwas Unschärfe besitzt ;) Aber wenn man mal von 
quasi unendlich vielen Päärchen ausgeht und so... :)

Ich präzisiere: Woran nähert sich das Geschlechterverhältnis mit 
steigender Anzahl Päärchen an?

Für die Nitpicker: Pro Geburt nur ein Kind, keine Zwillinge etc...

von Mike M. (mikeii)


Lesenswert?

Ohne viel nachgedacht zu haben tippe ich mal Blind auf M:W (25:75)

von Kara B. (Firma: ...) (karabenemsi)


Lesenswert?

Das Verhältnis wird weiterhin 50:50 betragen. In jeder "Zeugungsrunde" 
werden gleichviele Jungen wie Mädchen geboren. Nur die 50%, die keinen 
Jungen haben, gehen in die nächste Runde.
Einfach mal den Verzweigungsbaum aufzeichnen.

von Mike M. (mikeii)


Lesenswert?

Ich nehm alles zurück, hast recht!

von Karl H. (kbuchegg)


Lesenswert?

D. I. schrieb:

> Ich präzisiere: Woran nähert sich das Geschlechterverhältnis mit
> steigender Anzahl Päärchen an?

Einem Debattierclub, vor dem die Männer flüchten?
Sorry, konnte nicht widerstehen. Schmeiss gleich mal den Compiler an.

von Steffen M. (steffen_m)


Lesenswert?

Die Zahl der Kinder je Paar ist

da dass letzte Kinde jeweils ein Junge ist, ist die Zahl der Mädchen

das heißt das Verhältnis Junge/Mädchen wird für große n wieder 1:1

von Karl H. (kbuchegg)


Lesenswert?

Steffen M. schrieb:

> das heißt das Verhältnis Junge/Mädchen wird für große n wieder 1:1

Das sagt auch meine Simulation. Ich konnte es gar nicht glauben.

von D. I. (Gast)


Lesenswert?

Sehr gut, richtig :)

Dann kannst du die ja noch für p != 0.5 durchrödeln lassen :)

von Mike M. (mikeii)


Lesenswert?

Blöde frage, wie schreibt man ohne großen Aufwand einen 
Pseudozufallsgenerator mit einstellbarer Wahrscheinlichkeit?
Gibts da nen speziellen Weg? Ich würde jetzt meine Idee auf ca. 20 
Zeilen schätzen

von J.-u. G. (juwe)


Lesenswert?

Mike Mike schrieb:
> Blöde frage, wie schreibt man ohne großen Aufwand einen
> Pseudozufallsgenerator mit einstellbarer Wahrscheinlichkeit?

Was meinst Du mit einstellbarer Wahrscheinlichkeit? Die Verteilung der 
(Pseudo-)Zufallszahlen?

Näherungsweise normalverteilte Zufallszahlen (mit einstellbarem 
Mittelwert und Standardabweichung) lassen sich aus gleichverteilten 
Zufallszahlen durch Anwendung des zentralen Grenzwertsatzes, z.B. 
mittels "Zwölferregel", erzeugen:
http://de.wikipedia.org/wiki/Zw%C3%B6lferregel

von Mike M. (mikeii)


Lesenswert?

Habs etwas unpräzise formuliert.
z.B. beim Münzwurf, gibt es nur zwei Ereignisse. Wie kann ich die 
Wahrscheinlichkeit des Eintreffens eines gewissen Ereignisses 
beeinflussen.
Mein Idee wäre einfach in gewissen Intervallen die Wahrscheinlichkeit zu 
ermitteln, und dann einfach das entsprechende Ereignis zum 
"Gegensteuern" ausgeben.

von J.-u. G. (juwe)


Lesenswert?

Mike Mike schrieb:
> z.B. beim Münzwurf, gibt es nur zwei Ereignisse. Wie kann ich die
> Wahrscheinlichkeit des Eintreffens eines gewissen Ereignisses
> beeinflussen.

Indem Du einen beliebigen Zufallszahlengenerator, der geichverteilte 
Zahlen im Intervall [0,1] liefert, verwendest und eine gewünschte 
Schwelle vorgibst, (z.B. 0.8) unterhalb derer alle Zufalsszahlen als 
"Kopf" gewertet werden.

von Mike M. (mikeii)


Lesenswert?

Super, genau so eine Lösung habe ich gesucht:)

Danke!

von J.-u. G. (juwe)


Lesenswert?

Mike Mike schrieb:
> Super, genau so eine Lösung habe ich gesucht:)

Freut mich, dass es Dir geholfen hat. Aber ich bin mir sicher, dass Du 
(wenn Du Dir etwas mehr Zeit zum Nachdenken genommen hättest), auch auf 
diese triviale Lösung gekommen wärst.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Ist die Wahrscheinlichkeit, bei einer Geburt einen Jungen zu bekommen,
gleich P (und entsprechend die Wahrscheinlichkeit für ein Mädchen 1-P),
dann ist das zu erwartende Verhältnis zwischen Jungen und Mädchen
natürlich

  P : (1-P)

Da jedes einzelne Kind unabhängig von allen anderen "gewürfelt" wird,
ändert an diesem Ergebnis auch eine – wie auch immer geartete –
"Zeugungsstrategie" überhaupt nichts. Zum Glück!

Ich gebe aber zu, dass ich auch erst hereingefallen bin und die Aufgabe
für beliebiges P mittels geometrischer Reihen zu Ende gerechnet habe
(Immerhin habe ich mir dabei die Anforderung auferlegt, das Ganze ohne
Computer, Papier und Bleistift, sondern im Kopf zu rechnen :)).

Man hätte aber eigentlich anders vorgehen müssen:

Wenn D. I. so eine Aufgabe stellt, dann gibt es nur zwei Möglichkeiten:

1. Die Aufgabe ist schwer und nur mit großer Anstrengung zu knacken.

2. Die Aufgabe ist eine Fangfrage und mit dem richtigen Kniff ganz
   leicht zu lösen.

Alternative 1 scheidet aus, weil die Aufgabe nur mit etwas Mittelstufen-
mathematik geradlinig gelöst werden kann. Also bleibt Alternative 2 ;-)

von J.-u. G. (juwe)


Lesenswert?

Yalu X. schrieb:
> Ich gebe aber zu, dass ich auch erst hereingefallen bi

Ja, offensichtlich ein natürlicher Reflex. Das liegt wohl an der 
unintuitiven Bedingung, dass die Pärchen, die einem Jungen bekommen 
haben, nicht mehr weitermachen dürfen.

von D. I. (Gast)


Lesenswert?

Yalu X. schrieb:
> Man hätte aber eigentlich anders vorgehen müssen:
>
> Wenn D. I. so eine Aufgabe stellt, dann gibt es nur zwei Möglichkeiten:
>
> 1. Die Aufgabe ist schwer und nur mit großer Anstrengung zu knacken.
>
> 2. Die Aufgabe ist eine Fangfrage und mit dem richtigen Kniff ganz
>    leicht zu lösen.
>
> Alternative 1 scheidet aus, weil die Aufgabe nur mit etwas Mittelstufen-
> mathematik geradlinig gelöst werden kann. Also bleibt Alternative 2 ;-)

Second Level Thinking :)

Mal sehen, für heute Abend habe ich evtl. auch noch eines, aber da 
knobel ich grad selbst noch dran rum grübel aber jetz erstmal ab zur 
Arbeit

von Rainer U. (r-u)


Lesenswert?

Ich hab es empirisch überschlagen und dadurch schon gelöst, denn nach 3 
Zeilen sieht man schnell ein, wo es endet (ganz ohne 
Grenzwertbetrachtung, Zufallsgenerator und Kombinatorik / 
Wahrscheinlichkeitsrechnung :-), egal ob gleich oder ungleich 
wahrscheinlich:

angenommen, man hat 200 Paare

1. Wurf (200 Paare) 100j 100m
2. Wurf (100 Paare)  50j  50m
3. Wurf ( 50 Paare)  25j  25m
...
...

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Karl Heinz Buchegger schrieb:
> Das sagt auch meine Simulation.
Meine auch. Und falls einer fragt, wie man das machen könnte hier eine 
rekursive Lösung, bei den jedes Pärchen solange weitermacht, bis es 
einen Jungen hat:
http://codepad.org/6bVGRPf1
1
#include <stdio.h>
2
#include <stdlib.h>
3
#include <time.h>
4
5
int  m = 0;  // maedels
6
int  j = 0;  // jungs
7
int mw = 50; // verhaeltnis
8
9
void getaboy(int x) {
10
   if (!--x) return; // depth limit -- > zu alt fuer weitere kinder ;-)
11
   if (rand()%100 >= mw) {
12
      j++;
13
      return;
14
   } 
15
   else {
16
      m++;
17
      getaboy(x);
18
   }
19
}
20
21
int main(void) {
22
   int i;
23
   time_t t;
24
   time(&t);
25
   srand((unsigned int)t);        
26
27
   // paerchen
28
   for (i=0; i<1000000; i++)  // 1000000 paerchen
29
      getaboy(1000);          // max. 1000 kinder pro paerchen
30
31
   printf("jungs: %d, maedels: %d",j,m);
32
33
   return 0;
34
}
Allerdings ist die Zufallszahl (mit %100 auf einen short) etwas 
unsymmetrisch, da könnte man noch was tun. Und das Limit kann man auch 
weglassen, wenn man keine Sorge um seinen Stack hat...  ;-)

von Yalu X. (yalu) (Moderator)


Lesenswert?

Lothar Miller schrieb:
> Und das Limit kann man auch weglassen, wenn man keine Sorge um seinen
> Stack hat...  ;-)

Mit GCC und -O2 ist diese Sorge unbegründet, da der Compiler Endrekur-
sionen automatisch auflöst. Man kann das aber auch manuell machen, indem
man die Funktion getaboy einfach folgendermaßen umschreibt:
1
void getaboy(int x) {
2
  while (--x) {
3
    if (rand()%100 >= mw) {
4
      j++;
5
      break;
6
    }
7
    m++;
8
  }
9
}

von Rainer U. (r-u)


Lesenswert?

Lothar Miller schrieb:
> könnte hier eine
> rekursive Lösung

Nun ja, der Vorgang der Zeugung ist aber - zumindest für kleine t, wohl 
eher sukzessiv als rekursiv.. :-)

von (prx) A. K. (prx)


Lesenswert?

Programme sind allenfalls im übertragenen Sinn befruchtend.

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.