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 Hochschulmathe
  Status Uni-Analysis
    Status Reelle Analysis
    Status UKomplx
    Status Uni-Kompl. Analysis
    Status Differentialgl.
    Status Maß/Integrat-Theorie
    Status Funktionalanalysis
    Status Transformationen
    Status UAnaSon
  Status Uni-Lin. Algebra
    Status Abbildungen
    Status ULinAGS
    Status Matrizen
    Status Determinanten
    Status Eigenwerte
    Status Skalarprodukte
    Status Moduln/Vektorraum
    Status Sonstiges
  Status Algebra+Zahlentheo.
    Status Algebra
    Status Zahlentheorie
  Status Diskrete Mathematik
    Status Diskrete Optimierung
    Status Graphentheorie
    Status Operations Research
    Status Relationen
  Status Fachdidaktik
  Status Finanz+Versicherung
    Status Uni-Finanzmathematik
    Status Uni-Versicherungsmat
  Status Logik+Mengenlehre
    Status Logik
    Status Mengenlehre
  Status Numerik
    Status Lin. Gleich.-systeme
    Status Nichtlineare Gleich.
    Status Interpol.+Approx.
    Status Integr.+Differenz.
    Status Eigenwertprobleme
    Status DGL
  Status Uni-Stochastik
    Status Kombinatorik
    Status math. Statistik
    Status Statistik (Anwend.)
    Status stoch. Analysis
    Status stoch. Prozesse
    Status Wahrscheinlichkeitstheorie
  Status Topologie+Geometrie
  Status Uni-Sonstiges

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
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. Philosophie • Religion • Kunst • Musik • Sport • Pädagogik
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.unimatheforum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]