MoSim - Modellierung und Simulation I (WiSe 2018/2019)
Zweiter Teil: MoSim II
Dozent
Jun.-Prof. Dr. Christian Mendl, WIL B211
Email:
Zeit und Ort
Übung integriert.
Vorlesung am 25.10.2018 vorverlegt auf den 22.10.2018 (1. DS).
Inhalt und Gliederung
- Raytracing als Modellierungsbeispiel
- Modellbildung und -analyse (Erhaltungsgleichungen, Dimensionsanalyse, ...)
- Grundlagen künstlicher neuronaler Netze
- Informationssuche im Web, Google's PageRank
- Diskretisierung partieller Differentialgleichungen
Python
Eine frei verfügbare Python-Distribution, die wissenschaftliche Pakete wie NumPy und SciPy bereits beinhaltet, ist z.B. Anaconda (aktuell Python 3.7). Spyder stellt eine integrierte Entwicklungsumgebung (ähnlich zu Matlab) zur Verfügung. Unter Linux ist Python meist schon vorinstalliert, gegebenenfalls müssten dann nur noch NumPy und SciPy hinzugefügt werden (etwa mittels sudo apt-get install python3-numpy unter Ubuntu, analog für SciPy und Spyder). Jupyter ermöglichen eine graphische Aufbereitung und Darstellung von Python-Rechnungen.
Einführung in Python: python_basics.ipynb (Jupyter Notebook)
Übungsblätter
Blatt01.pdf (Grundzüge von Python, Pfad eines Lichtteilchens, Fallender Regentropfen), Abgabe: 24. Oktober 2018
- Lösungsvorschläge:
Blatt02.pdf (Raytracing-Implementierung in Python, Monte-Carlo-Integration, Spiralmuster), Abgabe: 7. November 2018
- Source-Code für A3: raytracing.zip
- Lösungsvorschläge:
Blatt03.pdf (Dimensionsanalyse, Entdimensionalisierung und Skalierung, Game of Life), Abgabe: 22. November 2018
- Die bei Aufgabe 6a angegebene Python-Funktion verwendet eine Variante von np.roll, die unter Python 2.7 noch nicht zur Verfügung steht. Ersetzen Sie für Python 2.7 daher den inneren Teil der for-Schleife durch neighs += np.roll(np.roll(P, shift[0], axis=0), shift[1], axis=1)
- Lösungsvorschläge:
- A6: game_of_life.zip (aktualisierte Version mit hexagonalem Gitter, basierend auf Implementierung von Jonas Hippold)
Blatt04.pdf (Perzeptron und NAND-Gate, Trainieren eines künstlichen Neurons, Universalität), Abgabe: 5. Dezember 2018
Blatt05.pdf (Implementierung eines künstlichen neuronalen Netzwerks, Cross-entropy Kostenfunktion, Backpropagation für komplexwertige Netze), Abgabe: 19. Dezember 2018
- Source-Code für A9: ann_mnist.zip
Blatt06.pdf (Optimiertes Trainieren anhand CIFAR-10, Hyperlink-Struktur, Instabile Gradienten bei tiefen neuronalen Netzen), Abgabe: 16. Januar 2019
- Source-Code für A11: improved_learning.zip
Blatt07.pdf (Google's PageRank, Eigenfunktionen des Laplace-Operators, Diskretisierung der Poisson-Gleichung), Abgabe: 30. Januar 2019
- Source-Code für A13c: web_crawler.py
- Lösungsvorschlag zu T7: poisson.zip
Abgabe in Gruppen (bis zu 3 Personen) erlaubt.
Zulassung zur Prüfung erfordert mindestens die Hälfte der maximal erreichbaren Hausaufgabenpunkte.
Vorlesungsmaterial
- Folien Einführung Modellierung und Simulation: PDF
Literatur
-
Matt Pharr, Wenzel Jakob, Greg Humphreys: Physically Based Rendering: From Theory to Implementation. Morgan Kaufmann (2016)
- Peter Shirley: Ray Tracing in One Weekend. (2016)
- Frank Haußer, Yury Luchko: Mathematische Modellierung mit MATLAB. Springer (2011)
- Michael Nielsen
Neural Networks and Deep Learning
Determination Press (2015) - Stanford CS231n: Convolutional Neural Networks for Visual Recognition
-
Ian Goodfellow, Yoshua Bengio, and Aaron Courville
Deep Learning
MIT Press (2016)