[python] Wie lange wird diese Exponentiation dauern? |
| 12.11.2023, 17:43 | Malcang | Auf diesen Beitrag antworten » | ||||||
[python] Wie lange wird diese Exponentiation dauern?
Ich lasse gerade einige Berechnungen laufen (Proth'sche Zahlen, wie immer
).Jedenfalls geht es dabei um sehr große modulare Exponentiationen. Im vorliegenden Fall will ich folgendes Berechnen: mit (das ist die derzeit größte bekannte Cullen-Primzahl). Nun wollte ich gerne abschätzen, wie lange das dauert. Dazu habe ich folgendes gemacht: Ich habe diese Berechnungen für alle der Form mit und durchgeführt. (Ich hatte das erst mit allen Zahlen probiert, aber festgestellt, dass es bei verschiedenen Restklassen sehr unterschiedliche Ergebnisse gab. Daher hier auf gegangen). Diese Zeiten habe ich gemessen und mit einem Polynom 2. Grades angenähert. Außerdem habe ich das Rauschen untersucht. Das ganze sieht so aus (die Beschriftung an der x-Achse ist falsch. Das ist nur die Anzahl der untersuchten Exponenten, nicht der jeweilige Exponent selbst) [attach]57349[/attach] Das quadratische Polynom lautet Nun habe ich mir also angeschaut. Das ergbit eine Berechnungszeit von 45 Stunden. Mir ist schon klar, dass dies nicht die genaue Zeit ist, und es sicher eher länger dauern wird. Aber ist dies eine "annehmbare" Approximation? Kann ich eine bessere Abschätzung erlangen? |
||||||||
| 12.11.2023, 18:26 | HAL 9000 | Auf diesen Beitrag antworten » | ||||||
Du willst also auf andere Weise als über das Quadratische Reziprozitätsgesetz berechnen?
|
||||||||
| 12.11.2023, 18:30 | Malcang | Auf diesen Beitrag antworten » | ||||||
Hallo HAL. Ich habe das nun über die in python eingebaute Funktion
Du sagst, eine andere Weise als das QRP? Ah, du willst darauf hinaus dass ich die größte Cullen-Primzahl erwähnt hab, oder? Im Allgemeinen nutze ich meinen Algorithmus aus dem anderen Thread. In diesem Falle hier weiß ich halt einfach, dass rauskommen sollte. Ich wollte das für meine Ausarbeitung einfach mal "live" machen
Oder habe ich dich falsch verstanden. |
||||||||
| 12.11.2023, 18:32 | HAL 9000 | Auf diesen Beitrag antworten » | ||||||
Ja, wenn man natürlich nicht weiß, dass dieses eine Primzahl ist, dann funktioniert der Weg über das Quadratische Reziprozitätsgesetz selbstredend nicht.
|
||||||||
| 12.11.2023, 18:34 | Malcang | Auf diesen Beitrag antworten » | ||||||
Danke HAL und sorry, da war ich zu betriebsblind und hab es deshalb nicht erwähnt
Aber wenn ich das mal rein auf die Berechnungszeit betrachte, ist mein Ansatz mit der Messung dann korrekt? |
||||||||
| 12.11.2023, 18:48 | HAL 9000 | Auf diesen Beitrag antworten » | ||||||
Ich versuche das mal aufgrund der angenommenen Berechnungsweise zu verstehen: Eine Multiplikation zweier ganzer Zahlen mit ungefähr Binärstellen hat Komplexität , das schaffen zumindest moderne Multiplikationsalgorithmen basierend auf FFT (gegenüber dem herkömmlichen, schlechteren der "schriftlichen" Multiplikation). Nun sind bei dieser Potenzberechnung auch in etwa solche Multiplikationen nötig, daher wäre meine Vermutung für die Komplexität eher als dein .
|
||||||||
| Anzeige | ||||||||
|
|
||||||||
| 12.11.2023, 18:55 | Malcang | Auf diesen Beitrag antworten » | ||||||
Danke sehr, das gibt mir schon eine andere Sicht. Ich war einfach von quadratischem Wachstum ausgegangen und konnte mir "np.polyfit" auch noch eine Phyton-Funktion finden, die mir das so annähert. Aber sieht der der empirischen Daten denn nicht auch stark quadratisch aus? Ich bin beim Thema Komplexität leider völlig raus. Aber mit dem Hintergrundwissen von dir, HAL, wie könnte ich denn hier eine besser passende Funktion finden? Also wie könnte ich meine empirischen Daten durch eine Funktion der Form (richtig?) annähern? |
||||||||
| 12.11.2023, 19:05 | HAL 9000 | Auf diesen Beitrag antworten » | ||||||
Naja, wenn du es mit dem Ansatz probieren willst, der entspricht ja mit Diese Koeffizienten kann man aus deinem empirischen Material mit multipler linearer Regression fitten. Allzu kleine würde ich noch nicht in diese Statistik einbeziehen, da dort der Einfluss des "krummen" 631383 im Exponent noch zu groß ist. Also über den Daumen gepeilt anhand deines Graphes vielleicht nur die von 400..800 einbeziehen. Verlang aber bloß keine genauere Erklärung für dieses eher heuristische Argument.
|
||||||||
| 12.11.2023, 19:16 | Malcang | Auf diesen Beitrag antworten » | ||||||
Das war nur mein erster Gedanke. Was würdest du denn machen?
|
||||||||
| 12.11.2023, 21:40 | HAL 9000 | Auf diesen Beitrag antworten » | ||||||
Musst ja nicht jedes Wort eine Goldwaage legen. Probier es einfach aus, und wenn ein gutes Bestimmtheitsmaß herauskommt, umso besser. Wenn nicht, dann kannst du dir ja dann nochmal Gedanken machen, ob weitere/andere Glieder im Modell evtl. sinnvoll sein könnten. |
||||||||
| 13.11.2023, 19:57 | Malcang | Auf diesen Beitrag antworten » | ||||||
So war das nicht gemeint. Ich hatte nur aus deinem
reausgelesen, dass du es vielleicht mit einem anderen Ansatz machen würdest. Und der wäre mit deinem Wissen dann natürlich sinniger
|
||||||||
| 14.11.2023, 08:33 | HAL 9000 | Auf diesen Beitrag antworten » | ||||||
Das ist ja alles sehr schön, aber hast du nun diese Regression durchgeführt oder nicht? |
||||||||
| 14.11.2023, 09:26 | Malcang | Auf diesen Beitrag antworten » | ||||||
Nein, ich hatte das weil die Berechnung nach ~60 Stunden fertig war dann wieder ad acta gelegt. Interessieren würde es mich aber trotzdem. Dazu würde ich aber ohnehin wieder einen Thread aufmachen, weil ich das Thema gar nicht kenne
Können wir das hier vielleicht fortführen? Womit muss ich beginnen? Ich habe ja die Wertepaare , wobei hier nur meine angenäherte Funktion ist. |
||||||||
| 14.11.2023, 09:46 | HAL 9000 | Auf diesen Beitrag antworten » | ||||||
Ok, das werde ich jetzt nicht im einzelnen erläutern, verweise auf die in https://de.wikipedia.org/wiki/Multiple_lineare_Regression dargestellten Grundlagen. Die Kurzfassung bezogen auf dein Modell : Du hast Datenpaare für vorliegen, für die du so anpassen willst, dass Näherung möglichst gut funktioniert. Dazu konstruiere Matrizen bzw. Vektoren und , dann sind optimal im Sinne einer minimalen Summe der quadratischen Abweichung bzgl. . Alternativ kannst du gemäß auch einfach lineare Regression angewandt auf die Datenpaare durchführen, was aber zu leicht anderen Koeffizienten führt, weil das Optimalitätskriterium hier ein anderes ist, nämlich bzgl. . Bedeutet eine stärkere Gewichtung der kleineren , was wir hier eigentlich nicht wollen (Ziel ist ja die Extrapolation der Rechenzeiten für große ). Daher würde ich die "echte" erstgenannte Regresssion hier vorziehen. |
||||||||
| 14.11.2023, 09:58 | Malcang | Auf diesen Beitrag antworten » | ||||||
Cool, danke sehr HAL!
Später am Laptop werde ich das sofort mal umsetzen! |
||||||||
| 14.11.2023, 19:33 | Malcang | Auf diesen Beitrag antworten » | ||||||
HAL, ist eine -Matrix, oder? Denn dann ist doch nicht defniert? |
||||||||
| 14.11.2023, 19:46 | HAL 9000 | Auf diesen Beitrag antworten » | ||||||
Brauchen wir wirklich eine Wiederholung Grundlagen Matrix-Multiplikation??? Nun gut: Matrix mit Dimension multipliziert mit Matrix der Dimension ergibt Matrix der Dimension . Und nund die Anwendung hier: ist eine -Matrix, und ein -Vektor bzw. gleichbedeutend eine -Matrix. Dann besitzen die folgenden Größen diese Dimensionen: Dimension Dimension Dimension Dimension Dimension Wo siehst du da Probleme??? |
||||||||
| 14.11.2023, 19:57 | Malcang | Auf diesen Beitrag antworten » | ||||||
Nirgendwo... ach man, warum passieren mir immernoch diese Flüchtigkeitsfehler... Sorry und Danke! |
||||||||
| 16.11.2023, 08:53 | HAL 9000 | Auf diesen Beitrag antworten » | ||||||
Wenn's so ein Riesenproblem ist, dann reich den Datensatz mit den gemessenen Zeiten für die jeweiligen $x$ einfach mal rüber und ich berechne dir bzw. dann in der Folge , inklusive Bestimmtheitsmaß (Gütefaktor der Anpassung). |
||||||||
| 16.11.2023, 08:59 | Malcang | Auf diesen Beitrag antworten » | ||||||
Das ist ein tolles Angebot, vielen Dank HAL! Ich wollte aber ohnehin gerade einen neuen Thread aufmachen, in dem es um Komplexitätsbestimmung geht (auch für diesen Algorithmus). Ich hoffe das ist ok wenn ich dazu einen neuen Thread starte. Ansonsten kann ein Moderator das vielleicht einfach löschen und den Post hierher verschieben? Danke nochmal für das Angebot und die Hilfe!!
Schade dass das Board diesen Math-mode nicht unterstützt. Mir passiert es auch ständig
|
||||||||
|
|
Verwandte Themen
| Die Beliebtesten » |
|
| Die Größten » |
| Die Neuesten » |
|

).