From c8c9f496015f1506a9fb8353f6e9b4649c48cdcd Mon Sep 17 00:00:00 2001 From: Paul Aumann Date: Mon, 24 Apr 2023 21:53:19 +0200 Subject: [PATCH] Initial commit --- .gitignore | 139 +++++++++++++++++++++++++ Aufgabe 1/aufgabe01.ipynb | 212 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 351 insertions(+) create mode 100644 .gitignore create mode 100644 Aufgabe 1/aufgabe01.ipynb diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5f8e751 --- /dev/null +++ b/.gitignore @@ -0,0 +1,139 @@ + + +*.bundle.* +lib/ +node_modules/ +*.egg-info/ +.ipynb_checkpoints +*.tsbuildinfo + +# Created by https://www.gitignore.io/api/python +# Edit at https://www.gitignore.io/?templates=python + +### Python ### +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +pip-wheel-metadata/ +share/python-wheels/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# Mr Developer +.mr.developer.cfg +.project +.pydevproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# OS X stuff +*.DS_Store + +# End of https://www.gitignore.io/api/python + +_temp_extension +junit.xml +[uU]ntitled* +notebook/static/* +!notebook/static/favicons +notebook/labextension +notebook/schemas +docs/source/changelog.md +docs/source/contributing.md + +# playwright +ui-tests/test-results +ui-tests/playwright-report + +# VSCode +.vscode + +# RTC +.jupyter_ystore.db + +# yarn >=2.x local files +.yarn/* +.pnp.* +ui-tests/.yarn/* +ui-tests/.pnp.* \ No newline at end of file diff --git a/Aufgabe 1/aufgabe01.ipynb b/Aufgabe 1/aufgabe01.ipynb new file mode 100644 index 0000000..8257b4e --- /dev/null +++ b/Aufgabe 1/aufgabe01.ipynb @@ -0,0 +1,212 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Aufgabe 1\n", + "import numpy as np\n", + "\n", + "rng = np.random.default_rng()\n", + "\n", + "values = [rng.standard_normal(10), rng.standard_normal(100), rng.standard_normal(1000)]\n", + "\n", + "import matplotlib.pyplot as plt\n", + "\n", + "fig, axs = plt.subplots(3)\n", + "\n", + "for i in range(3):\n", + " axs[i].hist(values[i])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# Aufgabe 2\n", + "\n", + "import numpy as np\n", + "\n", + "rng = np.random.default_rng()\n", + "\n", + "n = 5\n", + "values = rng.integers(low=0, high=2, size=n)\n", + "\n", + "while sum(values) < n:\n", + " values = [v ^ 1 if rng.random() > 0.1 else v for v in values]\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Aufgabe 3\n", + "\n", + "import numpy as np\n", + "\n", + "rng = np.random.default_rng()\n", + "\n", + "\n", + "def bitflip(n: int = 5) -> int:\n", + " values = rng.integers(low=0, high=2, size=n)\n", + "\n", + " counter = 0\n", + " while sum(values) < n:\n", + " counter += 1\n", + " values = [v ^ 1 if rng.random() > 0.1 else v for v in values]\n", + "\n", + " return counter\n", + "\n", + "\n", + "counts = [bitflip() for _ in range(100)]\n", + "\n", + "import matplotlib.pyplot as plt\n", + "\n", + "plt.hist(counts)\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Aufgabe 4\n", + "\n", + "\n", + "def rosenbrock(x, y):\n", + " return ((1 - x) ** 2) + 100 * ((y - (x**2)) ** 2)\n", + "\n", + "\n", + "import numpy as np\n", + "\n", + "x = np.linspace(start=-2.0, stop=2.0, num=1000)\n", + "y = np.linspace(start=-1.0, stop=3.0, num=1000)\n", + "X, Y = np.meshgrid(x, y)\n", + "Z = rosenbrock(X, Y)\n", + "\n", + "import matplotlib.pyplot as plt\n", + "from matplotlib.colors import LogNorm\n", + "\n", + "\n", + "# 4.1\n", + "fig, ax = plt.subplots(1,1, facecolor=\"w\")\n", + "im = ax.imshow(Z, norm=LogNorm(), origin=\"lower\", extent=[-2, 2, -1, 3])\n", + "cset = ax.contour(X, Y, Z, [0.1, 1, 10, 100, 1000], colors=\"#ffffff\", linewidths=1)\n", + "fig.colorbar(im) # adding the colorbar on the right\n", + "ax.plot(1, 1, color=\"black\", marker=\"+\", markersize=20) # minimum\n", + "\n", + "\n", + "# 4.2\n", + "rng = np.random.default_rng()\n", + "\n", + "popsize = 30\n", + "population = zip(rng.uniform(-2, 2, size=popsize), rng.uniform(-1, 3, size=popsize))\n", + "population = sorted(population, key=lambda p: rosenbrock(p[0], p[1]))\n", + "top3 = list(zip(*population[:3]))\n", + "points = ax.scatter(*top3, color=\"#353535\")\n", + "\n", + "# 4.3\n", + "import time\n", + "from IPython import display\n", + "hdisplay = display.display(\"\", display_id=True)\n", + "\n", + "selsize = 10\n", + "generations = 30\n", + "\n", + "for g in range(generations):\n", + " # Sort population by fitness\n", + " population = sorted(population, key=lambda p: rosenbrock(p[0], p[1]))\n", + " selection = list(zip(*population[:selsize]))\n", + "\n", + " # Plot population\n", + " points.remove()\n", + " points = ax.scatter(*selection, color=\"#353535\")\n", + " ax.title.set_text(f\"Generation: {g}\")\n", + " hdisplay.update(fig)\n", + "\n", + " # Wait\n", + " time.sleep(0.5)\n", + "\n", + " # Recombination\n", + " population = []\n", + " for _ in range(popsize - selsize):\n", + " parents = (rng.choice(selection), rng.choice(selection))\n", + " population.append(((parents[0][0] + parents[1][0]) / 2, (parents[0][1] + parents[1][1]) / 2))\n", + " population += selection\n", + "\n", + " # Mutation\n", + " m = 0.5 * np.exp(-0.1 * g)\n", + " population = [(p[0] + rng.normal(scale=m), p[1] + rng.normal(scale=m)) for p in population]\n", + "\n", + "plt.close()\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.4" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +}