Wie kommen die da bloss wieder raus?

Hi ich habe hier ein Rätsel für euch:

In einem Gefängnis sitzen 100 Gefangene, in 100 Zellen. Sie können nicht miteinander kommunizieren. Es gibt in diesem Gefängnis noch ein Raum mit einem Schalter und einer Lampe.
Ein Gefängniswärter wählt jeden Tag ein zufällig ausgewählten Gefangenen aus und bring ihn in den Raum mit der Lampe. Der Gefangene kann nur diese Lampe anmachen (wenn die aus ist) oder ausmachen (wenn die an ist) oder die Behauptung aufstellen jetzt waren alle 100 Gefangenen min. einmal in diesem Raum.Wenn es stimmt werden alle Gefangenen frei gelassen, wenn nicht alle erschossen.
Bevor das Spiel beginnt können die Gefangenen sich einmal beraten.Das Licht in dem Raum ist zu Beginn des Spiels aus.

Wie kommen die Gefangenen frei?

MfG

Andreas

Sieh hier;
http://www.wer-weiss-was.de/cgi-bin/forum/showarchiv…

Hi Ihr,

eine Lösung ist:
einer der Leute wird zum Counter ernannt.

Seine Aufgabe:
jedesmal wenn er in den Raum kommt, zählt er seinen
Counter um eins hoch wenn die Lampe brennt, und macht sie
dann aus. ansonsten macht er garnichts.

die Aufgabe der anderen:
wenn sie in den Raum kommen und sie die Lampe noch nie
angemacht haben, machen sie die Lampe an. Falls die schon brennt,
lassen sie die an. Wenn die Lampe aus ist und sie die Lampe
aber schon angemacht haben, lassen sie sie aus.

Die Ungenauigkeit, ergibt sich daraus, dass die Leute die die
Lampe noch nicht angemacht haben eine brennende brennen lassen.
Das verzögert aber nur insgesamt die Zeit, aber verfälscht nicht
den Counter.

Kann nach dieser Lösung natürlich etwas dauern *lol*

Wenn alle lebenslänglich haben lohnt sichs aber wohl…

Alex

Hi,

noch schneller geht´s, wenn jeder Beteiligte Counter spielt.
Dann kommen alle frei, sobald der erste 100 gezählt hat.
Diese Aufgabe ist vom Typ her ein ‚collection problem‘:
Wieviele Karten muss man aus einer Serie von 100 sammeln, um mit einer gewissen Wahrscheinlichkeit von jeder mindestens eine zu besitzen.
Ich werde noch darüber brüten und evtl. die Lösung bringen.
Gruss,

Hi,
Da ich es analytisch nicht herausbekomme, hab ich es mit einer Simulation in EXCEL versucht.
Nach 500 Tagen liegt die Wahrscheinlichkeit, dass sie freigekommen sind grob bei 50 %. Nach 1000 Tagen, also knapp 3 Jahren, bei 99 %.
(wenn man aus 100 Werten 500 mal mit Zurücklegen zieht, ist die Wahrscheinlichkeit, dass man jeden Wert mindestens 1 mal hat, ungefähr 50%)
Dieses Rätsel ist natürlich eine rein akademische Aufgabe. Es ist unwahrscheinlich, dass 100 Leute sich über einen so langen Zeitraum derart zusammenreissen können.

Puh, jetzt geh ich ins Bett.
Gute Nacht.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Lösung für welches Problem?
Hallo,

noch schneller geht´s, wenn jeder Beteiligte Counter spielt.

Wie meinst Du das? Das Licht ausmachen kann doch nur einer. Und anmachen nur jeder einmal. Das führt also dann dazu, daß einige am Ende des Vorgangs gezählt haben, andere nicht, die Summe aller Zähler genau 100 beträgt. Danach erfolgt doch keine weitere Zählung mehr. Oder wo liegt mein Denkfehler?

Dann kommen alle frei, sobald der erste 100 gezählt hat.

Passiert nie.

Diese Aufgabe ist vom Typ her ein ‚collection problem‘:
Wieviele Karten muss man aus einer Serie von 100 sammeln, um
mit einer gewissen Wahrscheinlichkeit von jeder mindestens
eine zu besitzen.

Das ist doch ein ganz anderes Problem. Dort kennt man doch seine Karten. Die Gefangenen können aber ihre Zählerstände nicht zusammenzählen, da sie keinen Kontakt untereinander haben.

Gruß
Axel

Hallo,
die Idee ist gut, eine bessere Lösung habe ich auch nicht gefunden.
Der ausgesuchte Counter muss mindestens 99 mal in den Raum gelangen,
und auch noch immer das Glück haben, dass jemand die Lampe an gemacht hatte. Schnellstens wäre es dann in 198 Tagen möglich aus dem Gefängnis zu kommen. Interessant wäre die Wahrscheinlichkeit zu berechnen, die dafür nötig wäre.
Gruss Q-Bert

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

C++ Programm
Hallo,

ich hab die Lösung mit dem Counter mal unter C++ programmiert. Da könnt ihr mal ein bisschen mit den Zahlen spielen:

#include
#include

void main()
{ int g[100];
int counter=1;
int z,i,s=0;
for (i=0;i>z;

}

Für eine andere Zahl der Gefangenen muss man einfach die 100 durch eine beliebige andere Zahl ersetzen.

Man kommt so z.B. für

10 Gefangene auf 173 Tage
100 Gefangene auf 12601 Tage = über 34 Jahe
1000 Gefangene auf 979408 Tage = über 2683 Jahre

Wächst also ganz schön schnell!!

Gruß
Oliver