{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "autoscroll": false, "ein.tags": "worksheet-0", "slideshow": { "slide_type": "-" } }, "outputs": [], "source": [ "import numpy as np\n", "# import paths\n", "\n", "import sys\n", "sys.path.insert(0, \"../../\")\n", "from gklearn.utils.graphfiles import loadDataset\n", "# from ged.GED import ged\n", "# from ged.costfunctions import RiesenCostFunction, BasicCostFunction\n", "# from ged.bipartiteGED import computeBipartiteCostMatrix, getOptimalMapping" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "autoscroll": false, "ein.tags": "worksheet-0", "slideshow": { "slide_type": "-" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.6/dist-packages/networkx/drawing/nx_pylab.py:611: MatplotlibDeprecationWarning: isinstance(..., numbers.Number)\n", " if cb.is_numlike(alpha):\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "[0, 1, 4]\n" ] } ], "source": [ "import networkx as nx\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "dataset, y = loadDataset(\"../../datasets/acyclic/dataset_bps.ds\")\n", "nx.draw_networkx(dataset[12])\n", "plt.show()\n", "print(list(dataset[12][3]))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "autoscroll": false, "ein.tags": "worksheet-0", "slideshow": { "slide_type": "-" } }, "outputs": [ { "ename": "NameError", "evalue": "name 'BasicCostFunction' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mcf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mBasicCostFunction\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m3\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m3\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mN\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdataset\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mN\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mged_distances\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mzeros\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mN\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mN\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mN\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mNameError\u001b[0m: name 'BasicCostFunction' is not defined" ] } ], "source": [ "cf = BasicCostFunction(1,3,1,3)\n", "N=len(dataset)\n", "N=10\n", "ged_distances = np.zeros((N,N))\n", "for i in range(0,N):\n", " for j in range(i,N):\n", " ged_distances[j,i] = ged_distances[i,j] = ged(dataset[i],dataset[j],cf=cf, method='Riesen')[0]\n", " \n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "autoscroll": false, "ein.tags": "worksheet-0", "slideshow": { "slide_type": "-" } }, "outputs": [ { "ename": "NameError", "evalue": "name 'ged' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mG2\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdataset\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m12\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mged\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mG1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mG2\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mged\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mG1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mG2\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mmethod\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'Basic'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mged\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mG1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mG2\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mmethod\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'Riesen'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mNameError\u001b[0m: name 'ged' is not defined" ] } ], "source": [ "G1=dataset[12]\n", "G2=dataset[12]\n", "\n", "print(ged(G1,G2))\n", "print(ged(G1,G2,method='Basic'))\n", "print(ged(G1,G2,method='Riesen'))\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "autoscroll": false, "ein.tags": "worksheet-0", "slideshow": { "slide_type": "-" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{0: {0: [0], 3: [0, 3], 1: [0, 3, 1], 4: [0, 3, 4], 2: [0, 3, 4, 2]}, 1: {1: [1], 3: [1, 3], 0: [1, 3, 0], 4: [1, 3, 4], 2: [1, 3, 4, 2]}, 2: {2: [2], 4: [2, 4], 3: [2, 4, 3], 0: [2, 4, 3, 0], 1: [2, 4, 3, 1]}, 3: {3: [3], 0: [3, 0], 1: [3, 1], 4: [3, 4], 2: [3, 4, 2]}, 4: {4: [4], 2: [4, 2], 3: [4, 3], 0: [4, 3, 0], 1: [4, 3, 1]}}\n", "[[0. 2. 3. 1. 2.]\n", " [2. 0. 3. 1. 2.]\n", " [3. 3. 0. 2. 1.]\n", " [1. 1. 2. 0. 1.]\n", " [2. 2. 1. 1. 0.]]\n" ] } ], "source": [ "l = nx.shortest_path(G1)\n", "print(l)\n", "\n", "distances = np.zeros((G1.number_of_nodes(),G1.number_of_nodes()))\n", "for i in l.keys():\n", " for j in l[i].keys():\n", " distances[i,j] = len(l[i][j])-1\n", "\n", "print(distances)\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.6.7" }, "name": "test_lib.ipynb" }, "nbformat": 4, "nbformat_minor": 2 }