Entries tagged as matheRelated tags 17eck algebra geometrie lineal zirkel ableitung esdiff latex accents euler AES bruch festplatte flash heise kryptografie seminar verschlüsselung vorlesung vortrag XOR aes buch clay hilbert ideal klausur nullstellensatz polynom bacon descartes dyson physik bier bigtimes blog abmahnung chat e-mail fefe hostname html jena kommentar privoxy s9y soup.io tor torvalds twitter wandern webseite werbung boltzmann cantor video 24c3 angerichtet anonymität appelbaum assange auflage cambridge ccc commons cryptome csrf cypherpunks datenschutz diskussion dresden hacker hausdurchsuchung i2p iacr installation internet interview it-sicherheit jondonym linux lotto lug mixmaster mpi murdoch oreilly polizei presse primzahl privatsphäre remailer rezension shell sicherheit stern csu wahl zahl derive lied euklid programmierung python sed funktionalanalysis lernen funktionentheorie gauß modulo potenzrechnung rätsel biometrie informatik bis circletech cryptoparty DES geheimdienst gnupg goldwasser google hackspace hash john nash keccak micali nsa openpgp prüfung sassaman sha3 sms truecrypt turing award vpn wikileaks zeit amscd auctex bigdelim censor charter chemie chemnitz diagramm editor emacs geany jed jlm klammer komascript l2tabu multirow pgf praktikum protokoll russisch schrift siunitx skipt skript software spiegel symbol syntaxdiagramm tar tikz todo tutorial mittelwertsatz peking postcrossing amsterdam asbest ateneum bahnhof brunnen china edward eis england estland estremoz finnland frankreich genf haanja holland hämeelinna indianapolis italien japan kaikohe kanada katze krakau kuh leeds lettland levi limoges lordi murten neufundland neuseeland niederlande nordlicht nottingham okayama papst park polen polva portugal porzellan queenstown area51 haskell newsgroup stackoverflow usenet webforum datenbank fsfs git github mixminion subversion trac terror web2.0 webserverMonday, June 7. 2010Primzahl oder nichtVon Primzahlen geht für viele eine große Faszination aus das Thema wird aus verschiedenen Richtungen gern beleuchtet. Sehr alt ist dabei die Fragestellung, wie viele Primzahlen es denn gibt. Euklid fand neben anderen die Antwort auf diese Frage: Es gibt unendlich viele Primzahlen. Sein Beweis ist recht einleuchtend. Stellen wir uns vor, es gäbe nur endlich fünf Primzahlen (In der
Regel sagt man: Bei Mathoverflow wurden diverse Fehleinschätzungen diskutiert. Unter anderem zählte dazu, dass die oben konstruierte Zahl z eine Primzahl sei. Wenn man den Beweis oberflächlich liest (siehe auch die Skripte zu Algebra 1 oder Zahlentheorie), könnte man in der Tat zu dem Schluss kommen. Die Zahlen 2, 3, 5, 7, 11 und 13 liefern jedoch ein Gegenbeispiel. Schlimm finde ich dann die in dem Posting angegebenen Beispiele von Leerern (sic!), die ihre Schülern unter Beschimpfungen vor die Tür stellen, weil sie auf den obigen Umstand hinweisen und den auch noch beweisen.
Posted by Jens Kubieziel
in General
at
22:21
| Comments (0)
| Trackbacks (0)
![]()
Von Primzahlen geht für viele eine große Faszination aus das Thema wird aus verschiedenen Richtungen gern beleuchtet. Sehr alt ist dabei die Fragestellung, wie viele Primzahlen es denn gibt. Euklid fand neben anderen die Antwort auf diese Frage: Es gibt unendlich viele Primzahlen. Sein Beweis ist recht einleuchtend. Stellen wir uns vor, es gäbe nur endlich fünf Primzahlen (In der Regel sagt man: endlich viele) p1, p2, p3, p4 und p5. Dann berechnet man eine neue Zahl z = p1*p2*p3*p4*p5+1, d.h. alle Primzahlen werden multipliziert und anschließend wird die Zahl 1 addiert. Keine der bisherigen Primzahlen teilt diese Zahl z. Da aber jede natürliche Zahl einen Primteiler besitzt, muss der außerhalb der bisher bekannten Primzahlen liegen, d.h. es gibt mindestens eine neue Primzahl p6. Die Aussage lässt sich dann wieder anwenden und so ergibt sich, dass die Zahl der Primzahlen nicht endlich sein kann. Bei Mathoverflow wurden diverse Fehleinschätzungen diskutiert.
Friday, April 16. 2010Das reguläre 17-EckFalls ihr euch schon immer mal gefragt habt, wie man ein reguläres 17-Eck mit Zirkel und Lineal konstruiert. Hier ist die Lösung:
Wednesday, September 16. 2009Dangerous KnowledgeBei Holgi fand ich folgendes wunderbare Video. Es erzählt die Geschichte des Mathematikers Cantors, des Physikers Boltzmann sowie weiterer Größen. Ich finde das bisher (bin noch nicht am Ende) sehr sehenswert. Monday, August 3. 2009Ableitungen mit LaTeX setzenStell dir vor, du schreibst einen mathematischen Text und musst einen Ausdruck der Form df/dt (als richtigen Bruch) schreiben. Der einfachste Weg, dies zu realisieren, wäre mittels Ich stolperte vor kurzem über das Paket esdiff. Dies macht es sehr einfach, die obigen Konstrukte zu setzen. Für den obigen Ausdruck existiert der Befehl Insgesamt vereinfacht das Paket den Satz von Ableitungen und wird ab sofort zu meinem Standardrepertoire gehören.
Posted by Jens Kubieziel
in Software
at
22:20
| Comments (0)
| Trackbacks (0)
![]()
Stell dir vor, du schreibst einen mathematischen Text und musst einen Ausdruck der Form df/dt (als richtigen Bruch) schreiben. Der einfachste Weg, dies zu realisieren, wäre mittels \\frac{df}{dt}. Das d muss jedoch aufrecht stehen. Also müsste man ein Konstrukt mit \\mathrm{} oder ähnlichem basteln. Ähnlich sieht die Situation bei partiellen Ableitungen aus. Ich stolperte vor kurzem über das Paket esdiff. Dies macht es sehr einfach, die obigen Konstrukte zu setzen. Für den obigen Ausdruck existiert der Befehl \\diff{}{} und man würde schreiben: \\diff{f}{t}. Für partielle Ableitungen lässt sich \\diffp{}{} nutzen. Insgesamt vereinfacht das Paket den Satz von Ableitungen und wird ab sofort zu meinem Standardrepertoire gehören.
Thursday, July 23. 2009Lösung zum MatherätselIn einem Rätsel fragte ich vor kurzem nach der Lösung zu folgendem Problem:
Nach den Kommentaren zu urteilen, haben viele ihre Lieblingsprogrammiersprache angeworfen, gerechnet und hatten das Ergebnis. Der Witz an dem Rätsel ist aber, die Lösung ohne solche Hilfsmittel und ohne explizites Errechnen zu ermitteln. Wie sieht nun ein möglicher Weg aus? Überlegt euch zunächst mal ein paar Eigenschaften einer Zahl, die alle Ziffern von 0 bis 9 (im folgenden mal Oberzahl genannt) genau einmal enthält. Ist diese durch 2, 3, 4 usw. teilbar? Was relativ schnell klar sein sollte, ist, dass die Zahl sowohl durch 3 als auch durch 9 teilbar ist. Die Teilbarkeitseigenschaft wird in beiden Fällen über die Quersumme ermittelt. Das Ergebnis von 0+1+2+3+4+5+6+7+8+9 wusste bereits der kleine Herr Gauß (und brachte damit seinen Lehrer zur Verzweiflung) und ist 45 (9*(9+1)/2). Da diese Zahl durch 3 und 9 teilbar ist, muss auch die ursprüngliche durch 3 und 9 teilbar sein. Wenden wir uns insbesondere der Teilbarkeit durch 9 zu. Stellt euch vor, wir ziehen von der Oberzahl (also der, die alle Zahlen von 0 bis 9 einmal enthält) 1 ab und schauen, ob das Ergebnis durch 9 teilbar ist. Dies ist natürlich nicht mehr der Fall. Dividieren durch 9 ergibt irgendetwas mit Rest 8 (oder auch mit Rest -1). Auch die Quersumme ist nun 44, also eine Zahl, die den Rest 8 (oder auch -1) ergibt, wenn man sie durch 9 teilt. Andererseits könnte man von der Oberzahl einfach eine Zahl weglassen und schauen, was Division durch 9 ergibt. Wenn ihr also die 1 aus der Zahl entfernt, ist die Quersumme wieder 44, also eine Zahl mit Rest 8 (modulo 9). Das heißt, mit diesem Wissen müssen wir uns nun anschauen, welchen Rest die Zahl 229 bei der Division mit 9 hat. Im einfachsten Fall kann man sich dazu die ersten Glieder der Folge
ausrechnen und schauen, ob es Regelmäßigkeiten gibt: Es ist hier also ein Zyklus 1, 2, 4, 8, 7, 5 zu erkennen. Wenn man den Zyklus bis 29 betrachtet, erhält man das Ergebnis 229=5 (mod 9). Der eher mathematische Weg wäre, den Satz von Euler geeignet auszunutzen. Da muss man die obigen Schritte nicht mühselig per Hand rechnen, sondern bekommt das Ergebnis gleich präsentiert. Im obigen Beispiel war das Ergbnis Rest 8, da von der Oberzahl 1 abgezogen wurde. Hier erhalten wir als Ergebnis 5. Also fehlt in 229 die Zahl 4. Bild von eqqman
Posted by Jens Kubieziel
in General
at
11:30
| Comments (0)
| Trackbacks (0)
![]()
In einem Rätsel fragte ich vor kurzem nach der Lösung zu folgendem Problem: Wenn man das Ganze nun 29mal macht, also 229, erhält man eine neunstellige Zahl. Diese neun Zahlen sind voneinander verschieden. Da wir im normalen Leben mit 10 Zahlen (0, ..., 9) rechnen, muss hier also eine fehlen. Die Frage ist, welche Zahl ist das? Nach den Kommentaren zu urteilen, haben viele ihre Lieblingsprogrammiersprache angeworfen, gerechnet und hatten das Ergebnis. Der Witz an dem Rätsel ist aber, die Lösung ohne solche Hilfsmittel und ohne explizites Errechnen zu ermitteln. Wie sieht nun ein möglicher Weg aus? Überlegt euch zunächst mal ein paar Eigenschaften einer Zahl, die alle Ziffern von 0 bis 9 (im folgenden mal Oberzahl genannt) genau einmal enthält. Ist diese durch 2, 3, 4 usw. teilbar? Was relativ schnell klar sein sollte, ist, dass die Zahl sowohl durch 3 als auch durch 9 teilbar ist. Die Teilbarkeitseigenschaft wird in beiden Fällen über die Quersumme ermi
Monday, July 13. 2009Matherätsel--Welche Zahl fehlt?Zu Anfang der Woche habe ich ein kleines Rätsel für alle Freunde der Mathematik. Ich fand das bei God Plays Dice und habe es unten mal ins Deutsche gebracht. Die Potenzrechnung dürfte euch allen noch aus der Schule bekannt sein. Freunde der Bits und Bytes rechnen gern zur Basis 2. Das heißt zum Beispiel 21=2, 22=2·2=4, 23=2·2·2=8 usw. Wenn man das Ganze nun 29mal macht, also 229, erhält man eine neunstellige Zahl. Update: Satzbau oben nach dem Kommentar von Sven geändert.
Posted by Jens Kubieziel
in General
at
05:43
| Comments (5)
| Trackback (1)
![]()
Zu Anfang der Woche habe ich ein kleines Rätsel für alle Freunde der Mathematik. Ich fand das bei God Plays Dice und habe es unten mal ins Deutsche gebracht. Die Potenzrechnung dürfte euch allen noch aus der Schule bekannt sein. Freunde der Bits und Bytes rechnen gern zur Basis 2. Das heißt zum Beispiel 21=2, 22=2·2=4, 23=2·2·2=8 usw. Wenn man das Ganze nun 29mal macht, also 229, erhält man eine neunstellige Zahl. Alle dDiese neun Zahlen sind voneinander verschieden. Da wir im normalen Leben mit 10 Zahlen (0, ..., 9) rechnen, muss hier also eine fehlen. Die Frage ist, welche Zahl ist das? Wer hat eine Idee? Update: Satzbau oben nach dem Kommentar von Sven geändert.
Friday, July 3. 2009Unterlagen zum AES-VortragIm Rahmen eines Seminars an der Uni hielt ich kürzlich einen Vortrag über AES und eine Einführung in Public-Key-Kryptografie. Die Unterlagen sind als PDF-Dokument verfügbar. Zum Grundverständnis finde ich auch diese Animation interessant. Sie enthält aus mathematischer Sicht nur ein paar Unzulänglichkeiten. Der Vortrag verlief aus meiner Sicht sowie der der Teilnehmer gut. Nur der betreuende Professor meinte, er finde es schade, dass so wenig Mathematik dabei ist. Mittlerweile gibt es einen neuen Angriff auf den Algorithmus. Bruce Schneier verweist im Beitrag New attack on AES auf die Veröfentlichung. Die Autoren haben auch eine FAQ zu den wichtigsten Fragen des Angriffs. Ich muss das demnächst mal lesen und verstehen.
Posted by Jens Kubieziel
in Krypto
at
16:05
| Comments (0)
| Trackbacks (2)
![]()
Im Rahmen eines Seminars an der Uni hielt ich kürzlich einen Vortrag über AES und eine Einführung in Public-Key-Kryptografie. Die Unterlagen sind als PDF-Dokument verfügbar. Zum Grundverständnis finde ich auch diese Animation interessant. Sie enthält aus mathematischer Sicht nur ein paar Unzulänglichkeiten. Der Vortrag verlief aus meiner Sicht sowie der der Teilnehmer gut. Nur der betreuende Professor meinte, er finde es schade, dass so wenig Mathematik dabei ist. Mittlerweile gibt es einen neuen Angriff auf den Algorithmus. Bruce Schneier verweist im Beitrag New attack on AES auf die Veröfentlichung. Die Autoren haben auch eine FAQ zu den wichtigsten Fragen des Angriffs. Ich muss das demnächst mal lesen und verstehen.
Thursday, June 4. 2009Große Brüche in LaTeXViele scheint die Frage zu bewegen, wie man Brüche und insbesondere große Brüche in LaTeX schreiben kann. Üblich ist die Verwendung von Für eine Seminararbeit zu AES werte ich unter anderem auch Angriffe gegen den Algorithmus aus. Die Forscher Ferguson, Schroeppel und Whiting stellten 2001 in A simple algebraic representation of Rijndael (PDF) AES als Kettenbruch dar: Wie macht man das mit LaTeX? Eigentlich ganz einfach! Man könnte den Ausdruck mittels Continue reading "Große Brüche in LaTeX"
Posted by Jens Kubieziel
in Software
at
11:03
| Comments (2)
| Trackbacks (0)
![]()
Viele scheint die Frage zu bewegen, wie man Brüche und insbesondere große Brüche in LaTeX schreiben kann. Üblich ist die Verwendung von \\frac{}{}. Das führt zu der gewohnten Darstellung eines Bruches. Manchmal ist es besser, den Bruch mit einem Schrägstrich zu setzen (so wie 1/2). Hierzu muss mittels \\usepackage{nicefrac} das Paket nicefrac eingebunden werden. Danach steht der Befehl \\nicefrac{}{} zur Verfügung. Wie bei \\frac{}{} kommt in die erste geschweifte Klammer der Term oberhalb des Bruchstriches und in die zweite der Term unterhalb des Bruchstriches. Für eine Seminararbeit zu AES werte ich unter anderem auch Angriffe gegen den Algorithmus aus. Die Forscher Ferguson, Schroeppel und Whiting stellten 2001 in A simple algebraic representation of Rijndael (PDF) AES als Kettenbruch dar: Wie macht man das mit LaTeX? Eigentlich ganz einfach! Man könnte den Ausdruck mittels \\frac{}{} verschachteln. Das sieht aber recht unschön aus, da der Abstand im Nenner gleic
Tuesday, June 2. 2009Der Mathematikverführer -- Eine kurze Bewertung![]() Zum meinem Geburtstag bekam ich recht viele Bücher geschenkt. Eines davon war Um was geht es? Der Autor erklärt mathematische Problemstellungen anhand praktischer Beispiele. Zunächst geht es um das Rechnen allgemein. Es wird erklärt, ob es sich für den Chef der Deutschen Bank lohnt, einen Fünf-Euro-Schein, der vor seiner Tür liegt, aufzuheben (Wenn er länger als fünf Sekunden für den Gang braucht, hat er in derselben Zeit mehr verdient), wieviele Hartz-IV-Empfänger von den Kosten eines Eurofighters bezahlt werden können etc. Das erste Kapitel bot für mich ein Aha-Erlebnis. Folgendes “Spiel” wird beschrieben:
Das Spiel beschreibt natürlich die Lottovariante 6 aus 49. Ich denke, hiermit lässt sich vielen die Chance beim Lotto greifbar machen. Für einen Sechser mit Zusatzzahl muss es dann eine zwei Millimeter dicke Latte sein. Das folgende Kapitel beschreibt bedingte Wahrscheinlichkeiten am Beispiel von DNA-Tests und es folgt ein Kapitel zum Dreisatz. Die Anordnung dieser wie auch anderer Kapitel könnte besser sein. Denn der Dreisatz ist vergleichsweise leichter Stoff. Immerhin wird der schon in der Schule behandelt. Wahrscheinlichkeiten kommen nach meiner Beobachtung als Schulstoff eher zu kurz und könnten daher von der Mehrzahl der Leser als schwieriges Thema beurteilt werden. Ich finde es besser, wenn sich der Schwierigkeitsgrad langsam steigert. Die weiteren Kapitel bringen eine Einführung in das Gerrymandering, zum simpsonschen Paradoxon, zum Problem des Handlungsreisenden und einigem mehr. Die meisten der diskutierten Problemstellungen waren mir bekannt. Daher habe ich meist nur die Geschichte zur Einführung gelesen und die Erklärungen übersprungen. Die Geschichten fand ich recht unterhaltsam. Sie haben gut in das jeweilige Thema eingeführt und auch Interesse geweckt, was denn nun kommt. Die Stellen mit den Erklärungen, die ich las, hatten wieder den üblichen Mangel. Der Autor versuchte sämtliche Insgesamt ist das Buch eine gute Zusammenstellung verschiedener mathematischer Phänomene. Die Geschichten zur Motivation sind gut geschrieben und ich kann mir gut vorstellen, dass das Buch bei einem Mathematikinteressierten mehr Interesse weckt. Diejenigen, die sich auch sonst mit Matheproblemen beschäftigen, wird das Buch wohl nicht vom Hocker hauen. Denn größtenteils steht Bekanntes drin.
Posted by Jens Kubieziel
in Persönliches
at
09:10
| Comments (0)
| Trackbacks (0)
![]()
Zum meinem Geburtstag bekam ich recht viele Bücher geschenkt. Eines davon war Der Mathematikverführer von Christoph Drösser. Das Buch hatte ich bereits vor einigen Wochen in einer Buchhandlung gesehen. Nach kurzem Durchblättern entschied ich mich damals gegen den Kauf. Um was geht es? Der Autor erklärt mathematische Problemstellungen anhand praktischer Beispiele. Zunächst geht es um das Rechnen allgemein. Es wird erklärt, ob es sich für den Chef der Deutschen Bank lohnt, einen Fünf-Euro-Schein, der vor seiner Tür liegt, aufzuheben (Wenn er länger als fünf Sekunden für den Gang braucht, hat er in derselben Zeit mehr verdient), wieviele Hartz-IV-Empfänger von den Kosten eines Eurofighters bezahlt werden können etc. Das erste Kapitel bot für mich ein Aha-Erlebnis. Folgendes “Spiel” wird beschrieben: Stellen Sie sich [...] folgendes Spiel vor: Jemand hat am Rand der Autobahn von Hamburg nach Berlin eine zwei Zentimeter breite und zwei Meter hohe
Saturday, May 2. 2009\bigtimes für LaTeXIn der Vorlesung Gruppentheorie wurde kürzlich das direkte Produkt von Gruppen definiert. Neben dem üblichen Produktzeichen ∏ verwendete der Vorlesende auch ein großes ×. Intuitiv verwendete ich bei meiner LaTeX-Mitschrift Da alle Varianten für mich mehr Nach- als Vorteile bringen, habe ein wenig gegoogelt und bin auf den Beitrag von Roland Illig gestossen. Seine Lösung baute ich mir zu
Falls jemand andere/bessere Lösungen weiß, dann immer her damit.
Posted by Jens Kubieziel
in Software
at
14:57
| Comments (0)
| Trackbacks (0)
![]()
In der Vorlesung Gruppentheorie wurde kürzlich das direkte Produkt von Gruppen definiert. Neben dem üblichen Produktzeichen ∏ verwendete der Vorlesende auch ein großes ×. Intuitiv verwendete ich bei meiner LaTeX-Mitschrift \\bigtimes. Das resultierte im einem Fehler, da es dieses Zeichen in den eingebundenen Paketen nicht gab. Ein Blick in die The Comprehensive LaTeX Symbol List (PDF) sagte mir, dass es im Paket txfonts die Anweisung \\varprod gibt und die Pakete MnSymbol sowie mathabx mein intuitiv gewähltes Zeichen vorrätig haben. Da alle Varianten für mich mehr Nach- als Vorteile bringen, habe ein wenig gegoogelt und bin auf den Beitrag von Roland Illig gestossen. Seine Lösung baute ich mir zu \\newcommand*{\\bigtimes}{\\mathop{\\raisebox{-.5ex}{\\hbox{\\huge{$\\times$}}}}} um. Das passt erstmal recht gut in meinen Text: Falls jemand andere/bessere Lösungen weiß, dann immer her damit.
Friday, April 24. 2009Das zwölfte Eulersche ProblemMeine Leser kennen sicher meine Vorliebe für das Project Euler. Bereits seit längerem beschäftigt mich das zwölfte Problem. Dort soll der Wert der ersten Dreieckszahl berechnet werden, die mehr als 500 Teiler hat. Im Rückblick betrachtet, ist diese Aufgabe relativ klar. Ich habe jedoch sehr viel Zeit daran verschwendet, das Problem zu verkomplizieren, theoretische Ober- und Untergrenzen zu berechnen. Nachdem ich nicht weiterkam, habe ich das Problem liegen lassen. Gerade eben kam es mir wieder in den Sinn. Als setzt ich mich hin und programmierte die Aufgabe einfach naiv und ohne Nachzudenken. Viola, das Ergebnis war richtig.
Posted by Jens Kubieziel
in Persönliches
at
10:20
| Comments (0)
| Trackbacks (0)
![]()
Meine Leser kennen sicher meine Vorliebe für das Project Euler. Bereits seit längerem beschäftigt mich das zwölfte Problem. Dort soll der Wert der ersten Dreieckszahl berechnet werden, die mehr als 500 Teiler hat. Im Rückblick betrachtet, ist diese Aufgabe relativ klar. Ich habe jedoch sehr viel Zeit daran verschwendet, das Problem zu verkomplizieren, theoretische Ober- und Untergrenzen zu berechnen. Nachdem ich nicht weiterkam, habe ich das Problem liegen lassen. Gerade eben kam es mir wieder in den Sinn. Als setzt ich mich hin und programmierte die Aufgabe einfach naiv und ohne Nachzudenken. Viola, das Ergebnis war richtig.
Friday, March 27. 2009Code optimierenBislang konnte ich die Eulerschen Probleme mit einem naiven Programmieransatz lösen. Das heißt, die erste Idee, die mir in den Kopf kam, schrieb ich runter und bekam eine Lösung. Das zehnte Problem warf mir einen Stock zwischen die Beine. Erstmals musste ich mir Gedanken über die Optimierung des Codes machen. Das zehnte Problem klingt erstmal ganz harmlos:
Die Werte in sieb müssen dann nur noch addiert werden und fertig. Jedoch kam ich gar nicht soweit. Denn das Programm lief und lief und lief. Das brachte mich zum Nachdenken, woran das liegen könnte. Letztlich ist die Ursache offensichtlich. Denn der Code berechnet jedes Produkt. Dafür werden schon 2 000 000 * 2 000 000 = 4 000 000 000 000 Berechnungen durchgeführt. Wenn man von der (viel zu optimistischen) Variante ausgeht, dass jede Berechnung ein CPU-Zyklus ist, würde das Programm auf aktuellen Architekturen länger als eine halbe Stunde laufen. In der Realität lief es 15 Stunden. Wie lässt sich die Laufzeit nun verbessern? Es ist recht offensichtlich, dass das Programm zuviel berechnet. Im ersten Schleifendurchlauf gibt es die Multiplikationen: 2*2, 2*3, 2*4, ..., 2*1999999 = 3999998. Beim zweiten Schleifendurchlauf: 3*2, 3*3, 3*4, ..., 3*1999999 = 5999997. Am klarsten fällt es im letzten Durchlauf auf: 1999999*2, 1999999*3, ..., 1999999*1999999 = 3999996000001. Die Berechnung 3*2 wurde schon im ersten Schritt (nur umgekehrt mit 2*3) durchgeführt. Hier wirkt das Kommutativgesetz. Also kann die Schleife im zweiten Durchlauf erst bei drei beginnen. Im dritten Durchlauf würde nach obigem Algorithmus 4*2, 4*3, 4*4 usw. berechnet werden. Verallgemeinert lässt sich also sagen, dass die Variable der zweiten Schleife genausogroß oder größer als die erste Variable sein muss. Dieser Schritt halbiert die Zahl der Berechnungen. In der obigen Darstellung wird klar ersichtlich, dass das Programm nicht in jedem Fall bis zum Maximum von 2 000 000 laufen muss. Schon im ersten Durchlauf werden Werte über 2 000 000 berechnet. Das heißt, das Produkt i*j muss kleiner oder gleich 2 000 000 sein. Umformen nach j ergibt: j≤2 000 000/i. Eine weitere oft genutzte Optimierung ist es, die erste Schleifenvariable nur bis √2000000 laufen zu lassen. Weiterhin fiel mir auch ein, dass man schon die initiale Liste nicht mit Zahlen von 2 bis 2 000 000 füllen muss. Denn es ist bekannt, dass alle Vielfachen von 2 sofort ausfallen. Man kann sogar soweit gehen, dass man nur Zahlen nach dem Muster 6*n-1 und 6*n+1 aufnimmt. Denn die Zahlen 6*n+0, 6*n+2 und 6*n+4 sind gerade und damit keine Primzahlen. Die Zahl 6*n+3 entspricht 3(2*n+1) und ist somit durch drei teilbar. Es verbleibt das obige Muster. Theoretisch hätetn die obigen Anpassungen schon reichen sollen, um
die Laufzeit unter eine Minute zu drücken. Jedoch lief das Programm
immer nach weitaus länger. Nach einigem Stöbern fiel mir dann auf,
dass in Python die Listenoperationen
Grundsätzlich lassen sich weitere Möglichkeiten der Optimierung ausdenken. Jedoch reichte mir das obige Ergebnis, um das Ziel zu erreichen. Wahrscheinlich benötige ich in späteren Aufgabe noch eine weitere Verbesserung.
Posted by Jens Kubieziel
in Software
at
23:01
| Comments (2)
| Trackbacks (0)
![]()
Bislang konnte ich die Eulerschen Probleme mit einem naiven Programmieransatz lösen. Das heißt, die erste Idee, die mir in den Kopf kam, schrieb ich runter und bekam eine Lösung. Das zehnte Problem warf mir einen Stock zwischen die Beine. Erstmals musste ich mir Gedanken über die Optimierung des Codes machen. Das zehnte Problem klingt erstmal ganz harmlos: Finden Sie die Summen aller Primzahlen, die kleiner als 2 000 000 sind.. Ha, das ist ja eine einfache Fingerübung: sieb = [ i for i in xrange(2,2000000) ] for i in xrange(2,2000000): for j in xrange(2,2000000): if i*j in sieb: sieb.remove(i*j) Die Werte in sieb müssen dann nur noch addiert werden und fertig. Jedoch kam ich gar nicht soweit. Denn das Programm lief und lief und lief. Das brachte mich zum Nachdenken, woran das liegen könnte. Letztlich ist die Ursache offensichtlich. Denn der Code berechnet jedes Produkt. Dafür werden schon 2 000 000 * 2 00
Sunday, February 15. 2009Lernen für höhere AnalysisJetzt ist an den Unis Prüfungszeit ausgebrochen, so auch in Jena. Ich lerne gerade für die Vorlesung zu Funktionalanalysis oder, wie es hier heißt, Höhere Analysis. Zum Lernen habe ich mir ein paar Flashcards gebastelt. Wer das vielleicht ebenfalls zum Vorbereiten nutzen will, findet die Lernliste online. Also dann: sei ε positiv und beliebig ...
Posted by Jens Kubieziel
in Persönliches
at
12:44
| Comments (3)
| Trackbacks (0)
![]()
Jetzt ist an den Unis Prüfungszeit ausgebrochen, so auch in Jena. Ich lerne gerade für die Vorlesung zu Funktionalanalysis oder, wie es hier heißt, Höhere Analysis. Zum Lernen habe ich mir ein paar Flashcards gebastelt. Wer das vielleicht ebenfalls zum Vorbereiten nutzen will, findet die Lernliste online. Also dann: sei ε positiv und beliebig ...
Wednesday, February 11. 2009Peking und der MittelwertsatzDer Mittelwertsatz ist eines der ersten wichtigen Sätze, die im Studium der Mathematik gelehrt werden. Die Chinesen haben die Wichtigkeit erkannt und würdigen ihn auf ihre Weise: ![]() Friday, January 16. 2009Post aus SlovenienDie Karte stammt aus der Nähe des Golfs von Triest, genauer aus Ajdovščina. Wie Die Autorin der Karte ist eine begeisterte Ski- und Snowboardfahrerin. Auf der Karte ist etwas von ihren Update: Zwei Tippfehler korrigiert und noch eine Erklärung zur obigen Bemerkung:
In dem Sinne war auch die obige Bemerkung zu verstehen.
Posted by Jens Kubieziel
in Postcrossing
at
16:29
| Comments (0)
| Trackbacks (0)
![]()
Die Karte stammt aus der Nähe des Golfs von Triest, genauer aus Ajdovščina. Wier leicht zu sehen ist, kann man die Stadt auf der Karte nicht sehen. Vielmehr sind da zwei Kinder, die wahrscheinlich gerade ein paar Vögel füttern. Die Autorin der Karte ist eine begeisterte Ski- und Snowboardfahrerin. Auf der Karte ist etwas von ihrentrn diesbezüglichen Aktivitäten zu lesen. Weiterhin erzählt sie mir getreu dem Motto In Mathe war ich immer schlecht, dass sie in Mathe immer schlecht ist bzw. das nicht mag. Aber das kenn ich ja schon zur genüge. Update: Zwei Tippfehler korrigiert und noch eine Erklärung zur obigen Bemerkung: Lest am besten mal die Einleitung zu dem oben verlinkten Buch oder, wenn euch mal jemand nach eurem Beruf fragt, dann erzählt, dass ihr was mit Mathematik macht. In weit 90% aller Fälle wird man dann mit einem Blick gemustert und es folgen die Worte: In Mathe war ich immer schlecht. oder etwas äquivalentes. Beutelspacher schreibt in der Einle
(Page 1 of 2, totaling 30 entries)
» next page
|
Weitere Inhalte auf kubieziel.deQuicksearchArchivesKategorienGetaggte Artikel24c3 26c3 29c3 AES akvorrat algebra anonymität auto berlin biometrie blog browser buch bundestrojaner ccc chaosradio chemnitz computer datei datenkanal datenschutz datenspuren debian demonstration diskussion dns dresden e-mail editor emacs euler fdp fehler festplatte finnland firefox flugzeug gesetz gnupg google grml hacker hash html i2p internet it-sicherheit jemen jena kamera kernel keysigning kind kryptografie latex linux lug mail mathe mixmaster openssl pets pgp piratenpartei polizei postcrossing privatsphäre remailer rezension sanaa seminar shell sicherheit software spam spd ssl terror thüringen tor twitter ubuntu usa vds verlosung verschlüsselung video vim virus vorlesung vortrag vserver wahl webseite wikileaks windows zensur zensus zsh überwachung
Syndicate This Blog |

