Monte Carlo Simulationen mit Python

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Antworten
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Hi

Wer weiß schon so aus der Hüfte was Monte Carlo Simulationen sind? Ich jedenfalls hatte lange keine Ahnung und habe mich rel. mühsam eingelesen. Gestern aber bin ich über ein wunderschönes Dokument gestolpert, das solche Silmulationen am Beispiel eines einfachen Pythonscriptes erklärt.

Ich finde solch gute Sachen kann man ruhig mal in diesem Forum anpreisen, auch wenn es nur eine Minderheit von uns interessieren wird. Schließlich ist es nicht nur eine gute Erklärung: Ein kreativer Programmierstil wird hier auch noch gezeigt. Herz was willst Du mehr?
Hoffe ihr habt auch so viel Spaß dran wie ich ...

Gruß,
Christian

PS Fände es toll, wenn ihr ähnliche Dokumente zu Tage fördert (zu Monte Carlo Simulationen in Python) oder gar selber Scripte schreibt ;-).
PPS Wer das große Script im Anhang des Artikels haben möchte und es nicht so einfach aus diesem PDF rausbekommt: Nachricht an mich! (Ich habe auch mal an den Autor geschrieben wegen ein paar Fehlern drin, vielleicht gibt es ja noch ein update.)
PPPS Das in diesem Artikel erwähnte "Surely you'e joking, Mr. Feynman - Sie belieben wohl zu scherzen, Mr. Feynman" ist wirklich zu empfehlen - auch ohne Interesse an Monte Carlo Simulationen!
gecko
User
Beiträge: 47
Registriert: Samstag 9. Juni 2007, 10:48

Mal was ausprobiert?

p.s. das thema ist nicht wirklich off-topic, oder?
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

gecko hat geschrieben:Mal was ausprobiert?
Magst Du eine ganze Frage stellen? Dann kann ich Dir vielleicht auch eine ganze Antwort geben.
gecko hat geschrieben: p.s. das thema ist nicht wirklich off-topic, oder?
Na ja, ich fand halt, es ist nicht wirklich ein brauchbares Tutorial, daß ich hier hätte verlinken können. Schlimm? ;-)
Das "Problem" mit Monte Carlo Simulationen ist doch, daß man zwar eine Einführung lesen kann, aber die Anwendung auf ein spezifisches Problem läßt sich nicht nach Schema F abwickeln. Insofern betrachte ich es nicht als "Tutorial". Geschmackssache.

Gruß,
Christian
gecko
User
Beiträge: 47
Registriert: Samstag 9. Juni 2007, 10:48

Hast Du schon mal verschiedene MC Simulationen ausprobiert? Gibt es libraries?

Im numerischen Bereich ist Python mittlerweile recht stark denke ich.
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

gecko hat geschrieben:Hast Du schon mal verschiedene MC Simulationen ausprobiert? Gibt es libraries?
Ad 1.) Ja, in verschiedenen Sprachen, aber nichts größeres in Python, weil zu langsam.
Ad 2.) Weiß ich nicht. Wie gesagt, MC-Simulationen sind meist zugeschnitten auf spezifische Probleme. Vielleicht im Molekulardynamikbereich? mawe, weißt Du da was? Ansonsten: Keine Ahnung.
gecko hat geschrieben: Im numerischen Bereich ist Python mittlerweile recht stark denke ich.
Ja, und was willst Du damit sagen?

Gruß,
Christian
gecko
User
Beiträge: 47
Registriert: Samstag 9. Juni 2007, 10:48

Ja, und was willst Du damit sagen?
Dass Python in Numerik eine gute Alternative bietet zu CAS wie Mathematica. Das war einfach eine generische Aussage zu der jemand ein Kommentar abgeben kann oder auch nicht.
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Sorry, ich wollte nicht brüsk rüberkommen, aber Du weckst einen alten Thread und drückst Dich reichlich knapp aus - so knapp, daß ich wirklich kaum verstanden habe, was Du eigentlich wissen oder mit welchem Zweck kommentieren willst.

Bzgl. des Vergleichs mit Mathematica (was ich eigentlich nicht näher kenne): Ich würde sagen, daß Python mit numpy/scipy und Co., weil Python eben eine sehr mächtige Programmiersprache ist, zwar einerseits irgendwo zwischen Igor / Matlab / Mathematica ist, aber andererseits auch eben anders: Es kann mehr, weil man teilw. mehr programmieren kann und weniger, weil es z. T. aufwendiger zu nutzen ist - vieles ist nicht direkt zu nutzen ohne selber noch zu coden.

Gruß,
Christian
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

PS Mir fällt noch ein: Es gibt in der scipy sandbox etwas Funktionalität - habe ich aber nie angewendet.
http://svn.scipy.org/svn/scipy/trunk/Li ... tecarlo.py
gecko
User
Beiträge: 47
Registriert: Samstag 9. Juni 2007, 10:48

Ja, sorry. Neuer Versuch :wink:

Hast Du mit Pyhton MC-Simulationen (MCS) gemacht und die Performance verglichen mit CAS oder C++?

Ich vermute mal, wenn man wirklich tief in die Materie einsteigen will muss man sich den SciPy source anschauen und detailierte Vergleiche machen. Vielleicht gibt es ja solche Untersuchungen schon.

Meine zweite Frage ist ob man kommerzielle CAS (Mathematica, Maple, Matlab) gut hinsichtlich Performance vergleichen kann, eben insbesondere bei MCS?
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

gecko hat geschrieben:J
Hast Du mit Pyhton MC-Simulationen (MCS) gemacht und die Performance verglichen mit CAS oder C++?
Oh Gott, nein. Dann hätte ich die Programme ja zweimal schreiben müssen. Wenn der zugrundeliegende Algorithmus, der in der MCS aufgerufen wird, schon langsam ist, überlegt schreibe ich nicht in Python. Zumal wenn ich schon ein Muster in C++ habe ;-).
gecko hat geschrieben: Ich vermute mal, wenn man wirklich tief in die Materie einsteigen will muss man sich den SciPy source anschauen und detailierte Vergleiche machen. Vielleicht gibt es ja solche Untersuchungen schon.

Meine zweite Frage ist ob man kommerzielle CAS (Mathematica, Maple, Matlab) gut hinsichtlich Performance vergleichen kann, eben insbesondere bei MCS?
Es gab mal Benchmarks - habe ich selber schon in der Mailingliste gelesen -, aber heute habe nichts Einschlägiges mehr finden können, also etwas, was mit MCS zu tun hat. Wenn Dich das wirklich interessiert, muß ich gestehen, daß ich kein Benchmarkexperte bin und nichts Wertvolles in der Richtung selber erstellen kann. Aber auf der scipy-user-Mailingliste sind solche Fragen immer gerne und heiß diskutiert ;-).

Gruß,
Christian
Zuletzt geändert von CM am Dienstag 4. September 2007, 09:52, insgesamt 1-mal geändert.
gecko
User
Beiträge: 47
Registriert: Samstag 9. Juni 2007, 10:48

Ok, danke für den Hinweis. Werde mir mal die Mailingliste anschauen.
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

CM hat geschrieben:
gecko hat geschrieben:Hast Du schon mal verschiedene MC Simulationen ausprobiert? Gibt es libraries?
Ad 1.) Ja, in verschiedenen Sprachen, aber nichts größeres in Python, weil zu langsam.
Das muß ich jetzt korrigieren: Ich habe MC in Python am laufen. Sogar eine ziemlich große App., allerdings mußte ich den entscheidenden Verifikationspart in C auslagern, weil die Komplexität O(N^2) ist und mein N leider recht groß ...

Den Code möchte ich noch nicht rausrücken, weil ich daraus in etwa einem halben Jahr hoffentlich eine Veröffentlichung machen kann, bis dahin kann ich aber auch gerne Hilfestellung geben, falls es allgemeine Fragen zum Thema gibt. Inzwischen habe ich etwas Erfahrung.

Gruß,
Christian
Antworten