{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Diskrete Mathematik\n", "\n", "Python bietet diverse Funktionen, um grundlegende Konzepte aus der Kombinatorik umzusetzen.\n", "Zum Beispiel lassen sich alle Kombinationen von zwei oder mehr Mengen mittels der Funktion `product` bilden, oder geordnete Auswahlen aus einer Liste mit oder ohne zurücklegen treffen.\n", "\n", "Dokumentation: [itertools](https://docs.python.org/2/library/itertools.html)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Für die folgenden Beispiele definieren wir uns die folgenden zwei diskrete Mengen (eine Liste ist OK)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "animals = [\"cat\", \"dog\", \"fish\"]\n", "owners = [\"susi\", \"tim\", \"franziska\", \"henry\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Produktbildung\n", "\n", "Alle Kombinationen durchprobieren" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "cat belongs to susi \n", "cat belongs to tim \n", "cat belongs to franziska \n", "cat belongs to henry \n", "dog belongs to susi \n", "dog belongs to tim \n", "dog belongs to franziska \n", "dog belongs to henry \n", "fish belongs to susi \n", "fish belongs to tim \n", "fish belongs to franziska \n", "fish belongs to henry \n" ] } ], "source": [ "from itertools import product\n", "for animal, owner in product(animals, owners):\n", " print(\"%-5s belongs to %-10s\" % (animal, owner))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Kombinationen aus einer Menge ziehen" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "susi \n", "tim \n", "franziska \n", "henry \n" ] } ], "source": [ "# Ziehe 1 ...\n", "from itertools import combinations\n", "for owner1 in combinations(owners, 1):\n", " print(\"%-10s\" % (owner1))" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "susi tim \n", "susi franziska \n", "susi henry \n", "tim franziska \n", "tim henry \n", "franziska henry \n" ] } ], "source": [ "# ... ziehe 2 ...\n", "from itertools import combinations\n", "for owner1, owner2 in combinations(owners, 2):\n", " print(\"%-10s %-10s\" % (owner1, owner2))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "susi tim franziska \n", "susi tim henry \n", "susi franziska henry \n", "tim franziska henry \n" ] } ], "source": [ "# ... oder 3 ....\n", "from itertools import combinations\n", "for owner1, owner2, owner3 in combinations(owners, 3):\n", " print(\"%-10s %-10s %-10s\" % (owner1, owner2, owner3))" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "susi tim franziska henry \n" ] } ], "source": [ "# ... oder gar 4!\n", "from itertools import combinations\n", "for owner1, owner2, owner3, owner4 in combinations(owners, 4):\n", " print(\"%-10s %-10s %-10s %-10s\" % (owner1, owner2, owner3, owner4))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Kombinationen mit Zurücklegen" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "susi susi \n", "susi tim \n", "susi franziska \n", "susi henry \n", "tim tim \n", "tim franziska \n", "tim henry \n", "franziska franziska \n", "franziska henry \n", "henry henry \n" ] } ], "source": [ "from itertools import combinations_with_replacement\n", "for owner1, owner2 in combinations_with_replacement(owners, 2):\n", " print(\"%-10s %-10s\" % (owner1, owner2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Permutationen" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "susi tim \n", "susi franziska \n", "susi henry \n", "tim susi \n", "tim franziska \n", "tim henry \n", "franziska susi \n", "franziska tim \n", "franziska henry \n", "henry susi \n", "henry tim \n", "henry franziska \n" ] } ], "source": [ "from itertools import permutations\n", "for owner1, owner2 in permutations(owners, 2):\n", " print(\"%-10s %-10s\" % (owner1, owner2))" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "susi tim franziska \n", "susi tim henry \n", "susi franziska tim \n", "susi franziska henry \n", "susi henry tim \n", "susi henry franziska \n", "tim susi franziska \n", "tim susi henry \n", "tim franziska susi \n", "tim franziska henry \n", "tim henry susi \n", "tim henry franziska \n", "franziska susi tim \n", "franziska susi henry \n", "franziska tim susi \n", "franziska tim henry \n", "franziska henry susi \n", "franziska henry tim \n", "henry susi tim \n", "henry susi franziska \n", "henry tim susi \n", "henry tim franziska \n", "henry franziska susi \n", "henry franziska tim \n" ] } ], "source": [ "from itertools import permutations\n", "for owner1, owner2, owner3 in permutations(owners, 3):\n", " print(\"%-10s %-10s %-10s\" % (owner1, owner2, owner3))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Graphen\n", "\n", "[NetworkX](https://networkx.github.io/) ist eine der am weitesten verbreiteten Python-Bibliotheken für Graphentheorie\n", "mit einer [Menge von Algorithmen](http://networkx.github.io/documentation/latest/reference/algorithms.html).\n", "\n", "\n", "[NetworkX Dokumentation](http://networkx.github.io/documentation/networkx-1.9.1/)\n", "\n", "(Eine andere Pythonbibliothek wäre [SageMath / Graph Theory](http://doc.sagemath.org/html/en/reference/graphs/index.html))\n", "\n", "Ein Graph ist eine Menge von Knoten und Kanten (Vertices and Edges),\n", "wobei die Kanten für Verbindungen zwischen den Knoten stehen.\n", "Es gibt ungerichtete und gerichtete Verbindungen -- letzteres ist dann ein \"gerichteter Graph\".\n", "Eine Implementierung im Computer besteht nun darin,\n", "in einer Datenstruktur diese Kanten und Knoten effizient zu verwalten\n", "und dann darauf aufbauend Algorithmen aus der Graphentheorie anzuwenden.\n", "\n", "Bemerkung: Falls die Bibliothek `networkx` nicht installiert sein sollte, so kann man dies entweder in der Kommandozeile oder in Canopy unter Tools → Canopy Terminal mittels\n", "\n", " pip install networkx\n", " \n", "nachholen." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'1.11'" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import networkx as nx\n", "%matplotlib inline\n", "nx.__version__" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hier wird ein einfacher Graph instanziert. Die Knoten sind einige Hauptstädte, die Kanten stellen (Zug-) Verbindungen zwischen ihnen dar. " ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [], "source": [ "g1 = nx.Graph()\n", "\n", "g1.add_node(\"Wien\")\n", "g1.add_node(\"Graz\")\n", "g1.add_node(\"Linz\")\n", "g1.add_node(\"Salzburg\")\n", "g1.add_node(\"Innsbruck\")\n", "g1.add_node(\"Villach\")\n", "g1.add_node(\"St. Pölten\")\n", "\n", "g1.add_edge(\"Graz\", \"Salzburg\")\n", "g1.add_edge(\"Wien\", \"Salzburg\")\n", "g1.add_path([\"Wien\", \"Graz\", \"Linz\", \"Salzburg\", \"Innsbruck\"])\n", "g1.add_path([\"St. Pölten\", \"Villach\", \"Graz\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plot des Graphen, wobei mit `spring_layout` eine gleichmäßig verteilte Positionierung der Knoten berechnet wird.\n", "Anschließend werden nicht nur die Knoten und Kanten,\n", "sondern auch die Namen der Knoten geplottet." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nvn37mu38PJUqVSIkJISwsDDWr1+Pp6cnBw8eNHVZopCY5786IUohvV5PQEAAjRo1wtramrNnz+Lr\n64udnZ2pS8uT5557jv379zNhwgRef/11Bg0axLVr10xdlnhCEgJCFDGDwcC6detwc3Pj2LFjHDp0\niEWLFlGpUiVTl5ZvGo2Gfv36cfbsWWrXro27uztz584lNTXV1KWJApILw0IUoR9++AFfX19sbW1Z\nsGABL7zwgqlLKlTR0dGMHz+ec+fOsWjRIry8vExdksgnCQEhisCvv/7KxIkTOXPmDB9//DG9evUq\n1f3td+zYwbvvvourqyuLFi2ifv38zGYkTElOBwlRiG7cuMGbb77Jiy++SMeOHfn1118tYsCVl5cX\np06dol27drRs2RI/Pz+SkpJMXZbIAwkBIQrB3bt3mTVrFo0bN8be3p5z584xfvx4bG1tTV1asbGx\nsWHixImcPHmSq1ev0qBBA/773//KPQnMnJwOEuIJZGRksG7dOj788EPatGnDnDlzePrpp01dllk4\nePAgY8eORavVsnTpUp577jlTlyRyICEgRAHt3r0bX19fHBwcCAwMpGXLlqYuyexkZGSwevVqpk6d\nire3Nx999FGOt8sUpiOng4TIp6ioKLp168aYMWPw9/cnIiJCAiAXVlZWjBw5krNnz2JjY0OjRo34\nv//7P9LT001dmsgkISBEHl27do033niDTp064eXlxenTp/Hx8Sn1F30Lg5OTE0uWLGHv3r189dVX\nNGvWjPDwcFOXJZAQEOIfJSUlMX36dJo2bUqlSpU4d+4c77zzDjY2NqYurcRp2rQpP/zwA1OnTmXw\n4MH07duXK1eumLosiyYhIEQuMjIyWLlyJa6urly4cIFffvmFuXPnUqFCBVOXVqJpNBp69+7NmTNn\ncHNz47nnnmP27NmkpKSYujSLJBeGhXiIUoqwsDAmTpxIxYoVWbBgAR4eHqYuq9T67bffeP/99zlx\n4gQLFy6kR48ecoqtGEkICJHN8ePHmTBhAleuXGHevHl0795dPpCKye7duxk3bhx16tRh0aJFNGjQ\nwNQlWQQ5HSQE8OeffzJs2DBeeuklvL29iYqKkm+kxaxz586cOHGCrl270qZNG3x9fblz546pyyr1\nJASERUtMTOTDDz/kmWeeoXr16pw7d44xY8ZgbW1t6tIskrW1NePHj+f06dPcunWLBg0asHbtWgwG\n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\nOU2zJj4V7QAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "pos = nx.spring_layout(g1)\n", "nx.draw_networkx_labels(g1, pos, font_size = 12)\n", "nx.draw(g1, pos)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ausgehend von diesem Graph lassen sich einige Kennzahlen und Parameter ausrechnen:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ist er zusammenhängend?" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nx.is_connected(g1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Grad von Graz" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "4" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nx.degree(g1, \"Graz\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Durchmesser des ganzen Graphs" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "4" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nx.diameter(g1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Exzentrizität" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{'Graz': 2,\n", " 'Innsbruck': 4,\n", " 'Linz': 3,\n", " 'Salzburg': 3,\n", " 'St. Pölten': 4,\n", " 'Villach': 3,\n", " 'Wien': 3}" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nx.eccentricity(g1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Kürzester Weg von Linz nach Innsbruck" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "['Linz', 'Salzburg', 'Innsbruck']" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nx.shortest_path(g1, \"Linz\", \"Innsbruck\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Es gibt außerdem eine große Bibliothek für Graphen.\n", "Hier wird ein Dodekaedergraph geladen und der 10-te Knoten entfernt." ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "g2=nx.dodecahedral_graph()\n", "g2.remove_node(10)\n", "nx.draw(g2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Durchmesser" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "5" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nx.diameter(g2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vergleich der Dichte beider Graphen:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(0.38095238095238093, 0.15789473684210525)" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nx.density(g1), nx.density(g2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Histogramdaten für die Grade aller Knoten:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[0, 0, 3, 16]" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nx.degree_histogram(g2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Gerichteter Graph\n", "\n", "Ein **gerichteter Graph** für die Wörter in einem Text." ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": true }, "outputs": [], "source": [ "text = '''11:15 Restate my assumptions:\n", "1. Mathematics is the language of nature.\n", "2. Everything around us can be represented and understood through numbers. \n", "3. If you graph these numbers, patterns emerge.\n", "Therefore: There are patterns everywhere in nature.'''" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import re\n", "words = re.compile(r'[a-zA-Z]+')\n", "tokens = words.findall(text)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [], "source": [ "text_digraph = nx.MultiDiGraph()\n", "for t1, t2 in zip(tokens[:-1], tokens[1:]):\n", " text_digraph.add_edge(t1, t2)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nZWoqNYCsFmRLAOZrNLyh0zHezN1eWq0WT09P/P39CQoKYtCgQQwfPhx/f3+srKw4duwYK1asYNSo\nUSxcuJBdu3YRHR3NrVu3sLW1xdbWtsh9H3Li8OHD3Lt3j4YNG5o7lDyzsLDgwIEDANStWzdPx9Lp\ndLz44ou88cYbHD58mAEDBnD27Fl8fX1xdHTMj3DNZtQ779DtxAna5XI/Z8AyNZX18fFYWFvj4OBA\nixYtCiLE4sfcnwSU/Ld//35xdXXNl0/+BSkqKkpCgoPF3spKelhYyDyQ5SDzQPpoteJoYyMhwcEF\n3h2dn1JTU+XEiROyatUqee+99+Tll18WFxcXKV26tLRq1UpGjRol33zzjZw6deqp6PJdtmyZvPba\na+YOI98sWbKkQK4nPj5exo4dK87OzjJgwAD5+++/c32Mq1evyvTwcOnfs6d0b99e+vfsKW3btDHd\nGvH29pZ169aJiMiZM2ekefPm4uDgIK6urtKtWzfTcYYOHSqlS5cWe3t78fX1lWPHjomISGBgoCxc\nuNC03ZIlSyQgIMD0WKPRSHh4uFhoNGJnLDkbA9IYxAGkK0iKsfW7A6Q8yEcgLiCVQFYay9BqS5QQ\nKysrsba2Fjs7O+nYsaOIiHh6esrPP/8sIiL37t2TIUOGSNmyZaVcuXIydOhQuX//voiI7NixQ8qX\nLy8zZ86U0qVLS9myZWXx4sWmODdv3izPP/+82NnZmbZ72qlEXMwkJSWJt7e3rFy50tyh5NjgwYPl\nlVatZEBoqHRv314GhIbKjIiIYlNTWq/Xyz///CMbN2403XeuVKmS2NraSuPGjU33nffv35/lfefV\nq1fLggULJCoqSpKSkgo19j/++ENsdTp5I0NymB4e/tR+b65cuSKOjo6mP/r5LS4uTsaMGSPOzs7y\n5ptv5ighR0ZGSs+gIHG0sZG+NjYyH2QFyHyQFs89J/bW1tIzKEg++ugjsbW1lStXrkj37t3lo48+\nEhFDUvvtt99ERGTbtm1Sv359uXnzpoiInDx5Uq5cuSIiWSfipk2bmh5rNBrx9vaWEGtrOQ5iDfIS\nyN8gN0GeB1mWIRGXABkBch9kJ0hJkNPGD9H169d/qGs6YyKeMGGC+Pv7S3x8vMTHx0vjxo1N9cB3\n7NghJUqUkEmTJklqaqps2bJFdDqd6baPu7u76XqvX78uBw8ezP03qohRibiYee+996Rz586i1+vN\n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\njep53d3dERkZicjIyGu2Wa1WdHV1DQrnof3GKwGkQZl20WS77wSApwGch9Kf/R8AOm3bngIwH8Bh\nAMehFJoFBQYiLy9vVK9/IrKH6YKcHGzp70fWMMVtwMjFV0RjgS1imtDuRIsYGP8tpUuXLsHT09Nx\newqAVwE8C+BBADuhhEcBAHubuR/KfMh/A3AZSiHaBdtjASAWwD8MBrS0to756x9v6uvrUbJrFw7e\nYB70TSy+oruAQUxkYx8GNB5bShaLBd999x1aW1vx/vvv46PKSmivXoUbgEtQWr9aKJekjzo9Tgvl\nS8M5AMugFCXZLQPwTUAA2s6evSvnMB6pMQ860VAMYiIn472l1NHRgYiICCQvXIglNTWOFvFGKKv9\njBTErlAqptkiJhp/2EdM5CQmJgYVBw44WkonnVpKcx54AIUqt5QuXboErVaLyLlzceLIEUy+fBl/\nvYnHBUFZPWgHlMvXJwCcBBDl5TWGr5aIbgaDmGgYt7Ni1FiaPXs2Nm/ejDfffBP/uHwZHgASr7O/\n81Qi+wGsBTANSihrXFxgCAsbw1dLRDeDl6aJJii1hl0R0Z3FICaaoOrq6rAsKemG01sOZQKwQKfD\np0eOsCKYaBzgFJdEE9RDDz2E/KIiJOt0jnHEN2IfdpVfVMQQJhonGMREE9i63/4WuUVFWKDToVij\nwY8j7NcL4FWNBgs4SxTRuMNL00Q/A+N92BURjYxBTPQzwgkqiCYeBjEREZGK2EdMRESkIgYxERGR\nihjEREREKmIQExERqYhBTEREpCIGMRERkYoYxERERCpiEBMREamIQUxERKQiBjEREZGKGMREREQq\nYhATERGpiEFMRESkIgYxERGRihjEREREKmIQExERqYhBTEREpCIGMRERkYoYxERERCpiEBMREamI\nQUxERKQiBjEREZGKGMREREQqYhATERGpiEFMRESkIgYxERGRihjEREREKmIQExERqYhBTEREpCIG\nMRERkYoYxERERCpiEBMREamIQUxERKQiBjEREZGKGMREREQqYhATERGpiEFMRESkIgYxERGRihjE\nREREKmIQExERqYhBTEREpCIGMRERkYoYxERERCpiEBMREamIQUxERKQiBjEREZGKGMREREQqYhAT\nERGpiEFMRESkIgYxERGRihjEREREKvonxa9vZGQ5v0sAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "nx.draw(text_digraph, with_labels = True)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "['Everything',\n", " 'around',\n", " 'us',\n", " 'can',\n", " 'be',\n", " 'represented',\n", " 'and',\n", " 'understood',\n", " 'through',\n", " 'numbers']" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nx.shortest_path(text_digraph, \"Everything\", \"numbers\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Baum (Tree)\n", "\n", "Ein Baum startet bei einem Wurzelknoten und verästelt sich ohne Schleifen zu bilden.\n", "Knoten ohne Kinder werden Blätter genannt." ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "rtree = nx.balanced_tree(2, 3)\n", "%matplotlib inline\n", "nx.draw(rtree)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nx.is_tree(rtree)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Liste der Blätter-Knoten (Grad ist 1)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[7, 8, 9, 10, 11, 12, 13, 14]" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[ k for k, v in nx.degree(rtree).items() if v == 1]" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Anaconda (Python 3)", "language": "python", "name": "anaconda3" }, "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.5.1" } }, "nbformat": 4, "nbformat_minor": 0 }