matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenAlgorithmen und DatenstrukturenKartenspiel zufällig sortieren
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Deutsch • Englisch • Französisch • Latein • Spanisch • Russisch • Griechisch
Forum "Algorithmen und Datenstrukturen" - Kartenspiel zufällig sortieren
Kartenspiel zufällig sortieren < Algor.+Datenstr. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Algorithmen und Datenstrukturen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Kartenspiel zufällig sortieren: verrechnet?Fakultät umkehren?
Status: (Frage) beantwortet Status 
Datum: 18:09 Di 21.10.2014
Autor: Christoph_X

Aufgabe
Ein Kartenspiel von n (durchnummerierten) Karten soll sortiert werden. Betrachten Sie dazu folgenden naiven Algorithmus:
1. Mische das Kartenspiel zufällig.
2.Überprüfe, ob das Kartenspiel nun sortiert ist. Falls "ja", dann ist man fertig. Falls "nein", dann gehe zu Zeile 1.
Nehmen Sie an, dass das Mischen einem gleichverteilten Zufallsexperiment entspricht.
Außerdem sei eine Abfolge "Mischen und Überprüfen" eine Operation.

a)....

b)Es sei N die Anzahl der Atome im Weltall (verwenden Sie den Wert
N = [mm] 10^{77}). [/mm] Der  Sortieralgorithmus werde nun auf N vielen (!!!) Superrechnern, die jeweils N mal (!!!) so schnell seien wie heutige Rechner (mit [mm] 10^{9} [/mm] Operationen pro Sekunde) parallelisiert. Gehen Sie davon aus, dass die Rechner die Arbeit optimal untereinander verteilen können.
Wir sind bereit, das komplette Alter des Universums (= [mm] 10^{10} [/mm] Jahre) auf das Ergebnis des Sortierverfahrens zu warten. Berechnen Sie, wie groß das Kartenspiel sein darf, damit obiger Algorithmus in dieser erwarteten Zeit hält.


Hey,
habe ein Problem bei der obigen Aufgabe, denn entweder ich habe irgendeinen Murks zusammengerechnet, oder ich muss die Fakultätsfunktion umkehren, wo ich nicht weiß wie das geht - in jedem Fall brauche ich Hilfe :D Hoffe das Unterforum passt soweit.
Zunächst ist noch zu sagen, dass in a) die erwartete Anzahl von Operationen des Algorithmus mit n! ausgerechnet wurde.
(Erwartungswert geometrische Verteilung mit Erfolgswahrscheinlichkeit 1/n!)

So nun habe ich folgende Rechnung angestellt:
Zeit S auf einem Rechner: S = [mm] \bruch{n! Operationen}{N*10^{9} Operationen/Sekunde} [/mm] = [mm] \bruch{n!}{N*10^{9}} [/mm] Sekunden
Zeit P auf N Rechnern in Sekunden somit: P_sec = S/N = [mm] \bruch{\bruch{n!}{N*10^{9}}}{N} [/mm] = [mm] \bruch{n!}{N^{2}*10^{9}} [/mm] Sekunden.

Das ganze dann in Jahre umgerechnet(1 Tag = 86400 Sekunden, vereinfacht auf 365 Tage / Jahr):
P_year = [mm] \bruch{\bruch{n!}{N^{2}*10^{9}}}{365*86400} [/mm] Jahre =
[mm] \bruch{n!}{N^{2}*10^{9}*365*86400} [/mm] Jahre.

Der Spaß soll nun [mm] \le [/mm] als [mm] 10^{10} [/mm] Jahre dauern, d.h. P_year [mm] \le 10^{10}. [/mm] => n! [mm] \le 10^{10}*N^{2}*10^{9}*365*86400 [/mm]
So und das ist der Punkt, wo ich nicht weiterkomme:
Habe ich da Blödsinn gerechnet, oder muss ich hier irgendwie die Fakultätsfunktion umkehren? Wenn ja - wie?
Danke euch schonmal.


PS: Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

        
Bezug
Kartenspiel zufällig sortieren: Antwort
Status: (Antwort) fertig Status 
Datum: 19:07 Fr 24.10.2014
Autor: felixf

Moin!

> Ein Kartenspiel von n (durchnummerierten) Karten soll
> sortiert werden. Betrachten Sie dazu folgenden naiven
> Algorithmus:
>  1. Mische das Kartenspiel zufällig.
>  2.Überprüfe, ob das Kartenspiel nun sortiert ist. Falls
> "ja", dann ist man fertig. Falls "nein", dann gehe zu Zeile
> 1.
>  Nehmen Sie an, dass das Mischen einem gleichverteilten
> Zufallsexperiment entspricht.
>  Außerdem sei eine Abfolge "Mischen und Überprüfen" eine
> Operation.
>  
> a)....
>  
> b)Es sei N die Anzahl der Atome im Weltall (verwenden Sie
> den Wert
>  N = [mm]10^{77}).[/mm] Der  Sortieralgorithmus werde nun auf N
> vielen (!!!) Superrechnern, die jeweils N mal (!!!) so
> schnell seien wie heutige Rechner (mit [mm]10^{9}[/mm] Operationen
> pro Sekunde) parallelisiert. Gehen Sie davon aus, dass die
> Rechner die Arbeit optimal untereinander verteilen
> können.
>  Wir sind bereit, das komplette Alter des Universums (=
> [mm]10^{10}[/mm] Jahre) auf das Ergebnis des Sortierverfahrens zu
> warten. Berechnen Sie, wie groß das Kartenspiel sein darf,
> damit obiger Algorithmus in dieser erwarteten Zeit hält.

Na immerhin ist dieser Algorithmus in []NP ;-)

> Hey,
>  habe ein Problem bei der obigen Aufgabe, denn entweder ich
> habe irgendeinen Murks zusammengerechnet, oder ich muss die
> Fakultätsfunktion umkehren, wo ich nicht weiß wie das
> geht - in jedem Fall brauche ich Hilfe :D Hoffe das
> Unterforum passt soweit.
>  Zunächst ist noch zu sagen, dass in a) die erwartete
> Anzahl von Operationen des Algorithmus mit n! ausgerechnet
> wurde.
> (Erwartungswert geometrische Verteilung mit
> Erfolgswahrscheinlichkeit 1/n!)

[ok]

> So nun habe ich folgende Rechnung angestellt:
>  Zeit S auf einem Rechner: S = [mm]\bruch{n! Operationen}{N*10^{9} Operationen/Sekunde}[/mm]
> = [mm]\bruch{n!}{N*10^{9}}[/mm] Sekunden
>  Zeit P auf N Rechnern in Sekunden somit: P_sec = S/N =
> [mm]\bruch{\bruch{n!}{N*10^{9}}}{N}[/mm] = [mm]\bruch{n!}{N^{2}*10^{9}}[/mm]
> Sekunden.
>
> Das ganze dann in Jahre umgerechnet(1 Tag = 86400 Sekunden,
> vereinfacht auf 365 Tage / Jahr):
>  P_year = [mm]\bruch{\bruch{n!}{N^{2}*10^{9}}}{365*86400}[/mm] Jahre
> =
> [mm]\bruch{n!}{N^{2}*10^{9}*365*86400}[/mm] Jahre.
>  
> Der Spaß soll nun [mm]\le[/mm] als [mm]10^{10}[/mm] Jahre dauern, d.h.
> P_year [mm]\le 10^{10}.[/mm] => n! [mm]\le 10^{10}*N^{2}*10^{9}*365*86400[/mm]

Genau. Und $N$ selber kannst du auch noch einsetzen.

> So und das ist der Punkt, wo ich nicht weiterkomme:
>  Habe ich da Blödsinn gerechnet, oder muss ich hier
> irgendwie die Fakultätsfunktion umkehren? Wenn ja - wie?
>  Danke euch schonmal.

Nun, einmal kannst du mit einem passenden Programm (Maple z.B., oder auch mit Python, da du dort einfach so mit beliebig grossen Ganzzahlen rechnen kannst) recht schnell solange Werte für $n$ einsetzen, bis $n!$ grösser als die rechte Seite ist. Das geht ziemlich schnell, da die Fakultätsfunktion sehr stark ansteigt.

Allgemeiner kannst du die []Stirlingformel verwenden, um $n!$ abzuschätzen. Die dadurch entstehende approximative Ungleichung ist aber (auch wenn man so tut, als wenn sie genau stimmen würde) auch nicht so viel einfacher auflösbar. Am einfachsten geht es numerisch. Aber da kannst du auch gleich Werte für $n$ in die exakte Fakultätsfunktion einsetzen.

LG Felix



PS: $n < 120$.


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Algorithmen und Datenstrukturen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.matheraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]