Forum: PC-Programmierung Laufzeitberechnung


von Markus D. (emtec)


Lesenswert?

Hallo Freunde,

ich hätte da ein interessantes Problem. Gefragt ist, wie lange der 
momentan schnellste Supercomputer "Tianhe-1A" benötigt, um alle 
möglichen Stellungen (4,63x10^170) auf einem internationalen GO-Brett 
(19 x 19 Felder) zu errechnen. Die Leistungsfähigkeit der Maschine wird 
mit 2,57x10^15 FLOPS/sek angegeben. Ich bin zu folgender Lösung 
gekommen, aber mir nicht sicher, ob ich richtig gerechnet habe!


2,57 x 10^15 FLOPS/sek x 60² x 24 x 365 = 8,104752 x 10^22 FLOPS/Jahr
4,63 x 10^170 / 8,104752 x 10^22 = 5,712697933 x 10^147 Jahre


Liege ich richtig oder hab ich falsch gerechnet?

Grüße

: Bearbeitet durch User
von Robert L. (lrlr)


Lesenswert?

fehlt da nicht die Angabe, wie viele FLOPS man zur Berechnung einer 
Stellung braucht ?

von Markus D. (emtec)


Lesenswert?

Hmm, gute Frage, ich glaube aber eher nicht!

Um die Laufzeit in Jahren zu errechnen, muss doch nur die Anzahl aller 
möglichen Stellung durch die theoretische Anzahl der FLOPS pro Jahr 
dividiert werden. Oder nicht!?

von Peter II (Gast)


Lesenswert?

Markus D. schrieb:
> Gefragt ist, wie lange der
> momentan schnellste Supercomputer "Tianhe-1A" benötigt, um alle
> möglichen Stellungen (4,63x10^170) auf einem internationalen GO-Brett
> (19 x 19 Felder) zu errechnen.

was meinst du damit? Wie viel Stellungen es gibt kann man einfach 
ausrechnen. (hast du je selber gemacht)

Was soll denn jetzt noch berechnet werden?

von Markus D. (emtec)


Lesenswert?

Es soll berechnet werden wie lange (in Jahren) die angegebene Maschine 
benötigt, um alle möglichen Stellungen durchzurechnen. Wie viele 
Stellungen es insgesamt gibt ist ja bekannt und nicht das Problem! Mein 
Problem ist, daß ich mir nicht ganz sicher bin, ob ich mich nicht 
irgendwo (z.B beim umrechnen in die Exponetialschreibweise) verrechnet 
habe bzw. ob der Rechenweg überhaupt korrekt ist!?

von Peter II (Gast)


Lesenswert?

Markus D. schrieb:
> Wie viele
> Stellungen es insgesamt gibt ist ja bekannt und nicht das Problem!

was ist denn das Problem? Wenn es bekannt ist, dann braucht mal ja wohl 
scheinbar keine sehr schnellen Computer um es auszurechnen. Oder glaubst 
du es läuft seit ein paar Millionen Jahren?

Also Definiere doch erstmals was den gerechnet werden soll?

von Ziegenpeter (Gast)


Lesenswert?

Markus D. schrieb:
> Es soll berechnet werden wie lange (in Jahren) die angegebene Maschine
> benötigt, um alle möglichen Stellungen durchzurechnen...

Welche Berechnungen werden denn durchgeführt um eine Stellungen 
"durchzurechnen"?
Bzw. was ist deine Definition von "Durchrechnen"?

von Eckhard (Gast)


Lesenswert?

Hallo,


und wieso braucht man dazu FLOPS ?
Fliesskomma macht doch in dem Kontext keinen Sinn.

Eckhard

von Fred (Gast)


Lesenswert?

Markus D. schrieb:
> 4,63x10^170

Interessehalber: wie kommst du auf diesen Wert? Ich bin mir fast sicher, 
daß der zu hoch gegriffen ist.

von Karl H. (kbuchegg)


Lesenswert?

Markus D. schrieb:

> 2,57 x 10^15 FLOPS/sek x 60² x 24 x 365 = 8,104752 x 10^22 FLOPS/Jahr
> 4,63 x 10^170 / 8,104752 x 10^22 = 5,712697933 x 10^147 Jahre
>
>
> Liege ich richtig oder hab ich falsch gerechnet?


Überschlagsmässig im Kopf gerechnet kommt es hin.

> Hmm, gute Frage, ich glaube aber eher nicht!

Selbstverständlich brauchst du die.
Alelrdings spielt das bei den Zeträumen keine Rolle mehr. Da kommt es 
auf ein paar Milliarden Jahre mehr oder weniger nicht an. Das 10 hoch 
147 dominiert alles. Ob da jetzt 2 mal 10 hoch 147 steht oder 5 mal 10 
hoch 147, ist praktisch gesehen Jacke wie Hose.

: Bearbeitet durch User
von Markus D. (emtec)


Lesenswert?

Hallo,

zuerst rechne ich die Anzahl der FLOPS pro Sekunde in ein ganzes Jahr 
um:

2,57 x 10^15 FLOPS/sek x 60² x 24 x 365 = 8,104752 x 10^22 FLOPS/Jahr

Und im zweiten Schritt dividiere ich alle möglichen Stellungen (4,63 x 
10^170) der Steine auf dem GO-Brett durch die Anzahl der zuvor 
errechneten Anazhl der FLOPS pro Jahr.

4,63 x 10^170 / 8,104752 x 10^22 = 5,712697933 x 10^147 Jahre

So hab ich es mir zumindest gedacht!

Wie viele Berechnungen für eine Stellung notwendig sind weiß ich nicht. 
Mehr Informationen habe ich auch nicht. Die komplette 
Aufgabenbeschreibung steht in meinem ersten Post.

: Bearbeitet durch User
von Peter II (Gast)


Lesenswert?

Markus D. schrieb:
> Wie viele Berechnungen für eine Stellung notwendig sind weiß ich nicht.
> Mehr Informationen habe ich auch nicht. Die komplette
> Aufgabenbeschreibung steht in meinem ersten Post.

dann ist die Aufgabe nicht lösbar. Man weis weder was genau zu berechnen 
ist, noch wie viele Flops eine Rechnung braucht.

von Karl H. (kbuchegg)


Lesenswert?

Das ist doch bei solchen Aufgabenstellungen meist komplett irrelevant. 
Stell dir meinetwegen vor, der Computer soll alle möglichen 
Spielfeldstände erzeugen, von "kein Stein am Brett" bis hin zu 'Brett 
komplett' ausgefüllt, und das in allen möglichen Kombinationen von 
weissen und schwarzen Steinen.

Die Aussage die hier normalerweise getroffen wird lautet dann: Selbst 
wenn der COmputer mit Beginn des Universums angefangen hätte, wäre er 
heute noch lange nicht fertig. Noch nicht mal annähernd fertig. Auf ein 
paar Millionen Jahre kommt es dabei nicht an.
Ob das jetzt 10 hoch 147 oder 10 hoch 150 Jahre sind, ist nicht wirklich 
wichtig und eine reine Rechenübung.

: Bearbeitet durch User
von Fred (Gast)


Lesenswert?

Markus D. schrieb:
> alle möglichen Stellungen (4,63 x 10^170)

Bezweifle ich noch immer stark.

von Fred (Gast)


Lesenswert?

Und nach etwas Googeln scheinst du doch im großen und ganzen recht zu 
haben.

Die Zahl der Stellungen ist unbekannt, aber die besten Schätzungen 
liegen gerade um den Faktor 2 neben deiner Angabe.

von Peter II (Gast)


Lesenswert?

19 x 19 Felder = 361

jedes 3 Feld 3 Möglichkeiten ( Weiß, Schwarz, Frei )

3^361 = 1,7408965065903192790718823807056e+172

kann man noch optimieren, Feld ist ja Symmetrisch und Schwarz Weiß kann 
getauscht werden.

von Markus D. (emtec)


Lesenswert?

Karl Heinz schrieb:

> Die Aussage die hier normalerweise getroffen wird lautet dann: Selbst
> wenn der COmputer mit Beginn des Universums angefangen hätte, wäre er
> heute noch lange nicht fertig. Noch nicht mal annähernd fertig. Auf ein
> paar Millionen Jahre kommt es dabei nicht an.
> Ob das jetzt 10 hoch 147 oder 10 hoch 150 Jahre sind, ist nicht wirklich
> wichtig und eine reine Rechenübung.

Danke, das klingt soweit plausibel!
In erster Linie wollte ich wissen, ob ich nicht komplett daneben liege 
mit meinem Rechenweg. Dass für eine exakte Berrechnung sicherlich noch 
weitere Angaben nötig sind mag ja stimmen, aber primär ging es mir nur 
um den Rechenweg und nicht um ein ganz exaktes Ergebnis. Bei diesen 
Dimensionen interessiert das wohl sowieso niemanden mehr...

Danke an alle!

Viele Grüße

von Karl H. (kbuchegg)


Lesenswert?

Fred schrieb:
> Markus D. schrieb:
>> alle möglichen Stellungen (4,63 x 10^170)
>
> Bezweifle ich noch immer stark.

Es gibt 19*19 gleich 361 Felder.
Jedes Feld kann 3 Zustände haben (nichts, weiss, schwarz)
Daher gibt es 3 hoch 361 verschiedene Zustände. 3^361 = 1.74 E 172

von Karl H. (kbuchegg)


Lesenswert?

Markus D. schrieb:

> Danke, das klingt soweit plausibel!
> In erster Linie wollte ich wissen, ob ich nicht komplett daneben liege
> mit meinem Rechenweg.


in 1 Stunde produziere ich 15 Stück Ware.
Wie lange brauche ich um 300 Stück Ware zu produzieren.

Was ist an diesem Rechenweg schwierig?

Der Rest: das kann man auch überschlagsmässig im Kopf rechnen. Der 
Grundgedanke ist: ich kümmere mich nur um die Exponenten. Das Kleinvieh 
in der Mantisse geht unter.
Exponent hat den Vorteil, dass ich nur addieren und subtrahieren muss. 
Denn eine Multiplikation 2-er Zahlen bedeutet, dass die Exponenten 
addiert werden, bzw. eine Division das die Exponenten subtrahiert werden 
(genau das ist ja der Trick warum früher Logarithmen so populär waren. 
Kennt heute keiner mehr, heute rechnet alles der Taschenrechner)

Also
der Rechner schafft 10 hoch 15 Flops. 15
pro Sekunde. Pro Minute, mal 60. Das rechne ich jetzt mal großzügig mal 
10, denn dann wird der Exponent einfach nur um 1 größer. 16
Minute nach Stunde. 17
Stunde auf Tag. 18
365 Tage im Jahr. großzügig als mal 100 gerechnet, also im Exponenten 2 
dazu: 20
Für das ganze Kleinvieh, das ich auf dem Weg unterschlagen habe, geb ich 
noch 2 dazu: 22

du hast 10 hoch 172 Stellungen. 10 hoch 172 durch 10 hoch 22: 172 - 22 
ergibt 150.
Das Ergnis liegt größenordnungsmässig also ungefähr bei 10 hoch 150.

Also sind deine 10 hoch 147 plausibel,

: Bearbeitet durch User
von Markus D. (emtec)


Lesenswert?

Karl Heinz schrieb:

> Was ist an diesem Rechenweg schwierig?

Nichts sonst wäre ich ja zu gar keiner Lösung gekommen. Nur hat mich die 
enorme Größe der Zahlen dermassen iritiert, daß ich mir bei diesen 
riesigen Werten schlussletzt nicht mehr sicher war.... :)

Danke

von Stefan R. (srand)


Lesenswert?

Karl Heinz schrieb:
> Daher gibt es 3 hoch 361 verschiedene Zustände. 3^361 = 1.74 E 172

Eben nicht.

Symmetrien töten ein paar der Möglichkeiten, aber kurz nach dem Endspiel 
ist das kaum relevant. Jedenfalls nciht so, daß sich Größenordnungen 
verschieben würden.

Jedoch sind viele deiner 3^361 Stellungen schlicht illegal. Denk dir nur 
mal ein großes, unbedingt lebendes Gebiet. Da fallen Unmengen 
Teilstellungen raus.

von Mr. X (Gast)


Lesenswert?

Markus D. schrieb:
> Die Leistungsfähigkeit der Maschine wird mit 2,57x10^15 FLOPS/sek
> angegeben.
Soll das eine Scherzfrage sein?
Das ist ein kombinatorischen Problem und hat so etwas von überhaupt nix 
mit Gleitkommazahlen zu tun, jedenfalls wenn es exakt gelöst werden soll 
;-)
Und was nützt die Angabe zur Rechnerleistung, wenn der 
Algorithmus/Rechenaufwand zur Berechnung einer Stellung nicht bekannt 
ist.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Mr. X schrieb:
> wenn der
> Algorithmus/Rechenaufwand zur Berechnung einer Stellung nicht bekannt
> ist.

Der ist irrelevant, wenn selbst ein Algorithmus, der mit genau einer 
Instruktion pro Stellung auskommt, erheblich länger braucht, als es 
überhaupt schon Menschen auf diesem Planeten gibt.

von LostInMusic (Gast)


Lesenswert?

>FLOPS pro Sekunde

FLOPS = floating point operations per second. Da steckt das "pro 
Sekunde" also schon drin.

>2,57 x 10^15 FLOPS/sek x 60² x 24 x 365 = 8,104752 x 10^22 FLOPS/Jahr

Wenn Du's korrekt schreiben willst:

2,57 x 10^15 FLOPS x 60² x 24 x 365 = 8,104752 x 10^22 operations/Jahr

von Amateur (Gast)


Lesenswert?

Man nehme eine, völlig aus der Luft gegriffene Annahme, ein paar Zahlen, 
die man irgendwo gelesen hat, etwas Farbe für den wissenschaftlichen 
Anstrich und drücke auf Start.

Schon die Annahme: Eine Fließkommaoperation pro Stellung...

von Rolf Magnus (Gast)


Lesenswert?

Robert L. schrieb:
> fehlt da nicht die Angabe, wie viele FLOPS man zur Berechnung einer
> Stellung braucht ?

Markus D. schrieb:
> Hmm, gute Frage, ich glaube aber eher nicht!
>
> Um die Laufzeit in Jahren zu errechnen, muss doch nur die Anzahl aller
> möglichen Stellung durch die theoretische Anzahl der FLOPS pro Jahr
> dividiert werden. Oder nicht!?

Wie kommst du darauf, daß eine Stellung genau eine Gleitkomma-Operation 
braucht? Welche wäre es denn dann deiner Meinung nach? Eine 
Multiplikation? Eine Addition?
Wenn du etwas mit einem Laster transportieren willst, und du hast 8 
Packstücke, nimmst du den 7-Tonner oder den 12-Tonner? Nach der Art, wie 
du hier rechnest, nimmst du den 12-Tonner, denn du setzt einfach mal die 
Zahl der Packstücke mit deren Gewicht in Tonnen gleich, ohne dich 
überhaupt zu fragen, wie schwer den ein Packstück tatsächlich ist. Genau 
so setzt du hier die Zahl der Stellungen mit der Zahl der benötigten 
Gleitkomma-Operationen gleich.
Und wie schon erwähnt, ergibt es eigentlich gar keinen Sinn, bei diesem 
Problem überhaupt mit Gleitkomma rechnen zu wollen.

Btw: FLOPS sind schon pro Sekunde. Dafür steht nämlich das 'PS' am 
Schluß.

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.