CoolFace
Apppublic

linpershey/process_mining

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
process_map.ipynb3567 linesDownload Raw Back to root
1{2 "cells": [3  {4   "cell_type": "code",5   "execution_count": 85,6   "id": "1fd93a3a-e7e0-4cf8-9c4c-01189927cbbb",7   "metadata": {},8   "outputs": [],9   "source": [10    "import plotly.graph_objects as go\n",11    "import networkx as nx\n",12    "import matplotlib.pyplot as plt\n",13    "\n",14    "\n",15    "from model import *"16   ]17  },18  {19   "cell_type": "markdown",20   "id": "e1a4b01c-a1da-481d-9886-8ba7a8e61e73",21   "metadata": {},22   "source": [23    "## Create a directed graph\n",24    "- networkx\n",25    "- graphviz"26   ]27  },28  {29   "cell_type": "code",30   "execution_count": 126,31   "id": "ceecfc72-0a9a-4a38-939f-d5451510f488",32   "metadata": {},33   "outputs": [],34   "source": [35    "\n",36    "\n",37    "    \n",38    "def test_networkx():\n",39    "    \"\"\"\n",40    "    \"\"\"\n",41    "    # create graph #\n",42    "    G = nx.DiGraph()\n",43    "    \n",44    "    # Add nodes\n",45    "    nodes = [1, 2, 3, 4]\n",46    "    \n",47    "    # Add edges\n",48    "    edges = [(1, 2), (2, 3), (3, 4), (1, 4)]\n",49    "    \n",50    "    fig =  view_networkx( nodes, edges)\n",51    "    fig.show()\n",52    "\n",53    "# test_networkx()\n"54   ]55  },56  {57   "cell_type": "code",58   "execution_count": null,59   "id": "7c212ea8-aa3e-4ddc-8a64-89ccf476b6ee",60   "metadata": {},61   "outputs": [],62   "source": []63  },64  {65   "cell_type": "markdown",66   "id": "5737bae1-b784-453d-aa6e-e17818077f09",67   "metadata": {},68   "source": [69    "### graphviz ###"70   ]71  },72  {73   "cell_type": "code",74   "execution_count": 49,75   "id": "f4ef2c04-07b2-4a12-b6be-60f40f7a5569",76   "metadata": {},77   "outputs": [],78   "source": [79    "\n",80    "import graphviz  # doctest: +NO_EXE\n",81    "\n"82   ]83  },84  {85   "cell_type": "code",86   "execution_count": 57,87   "id": "0a9dec29-f6c8-4484-930b-1fcf0b1bccef",88   "metadata": {},89   "outputs": [90    {91     "name": "stdout",92     "output_type": "stream",93     "text": [94      "// The Round Table\n",95      "digraph {\n",96      "\tA [label=\"King Arthur\"]\n",97      "\tB [label=\"Sir Bedevere the Wise\"]\n",98      "\tL [label=\"Sir Lancelot the Brave\"]\n",99      "\tA -> B\n",100      "\tA -> L\n",101      "\tB -> L [constraint=false]\n",102      "}\n",103      "\n"104     ]105    },106    {107     "data": {108      "image/svg+xml": [109       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",110       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",111       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",112       "<!-- Generated by graphviz version 2.43.0 (0)\n",113       " -->\n",114       "<!-- Title: %3 Pages: 1 -->\n",115       "<svg width=\"484pt\" height=\"116pt\"\n",116       " viewBox=\"0.00 0.00 484.43 116.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",117       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 112)\">\n",118       "<title>%3</title>\n",119       "<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-112 480.43,-112 480.43,4 -4,4\"/>\n",120       "<!-- A -->\n",121       "<g id=\"node1\" class=\"node\">\n",122       "<title>A</title>\n",123       "<ellipse fill=\"none\" stroke=\"black\" cx=\"237.39\" cy=\"-90\" rx=\"65.79\" ry=\"18\"/>\n",124       "<text text-anchor=\"middle\" x=\"237.39\" y=\"-86.3\" font-family=\"Times,serif\" font-size=\"14.00\">King Arthur</text>\n",125       "</g>\n",126       "<!-- B -->\n",127       "<g id=\"node2\" class=\"node\">\n",128       "<title>B</title>\n",129       "<ellipse fill=\"none\" stroke=\"black\" cx=\"114.39\" cy=\"-18\" rx=\"114.28\" ry=\"18\"/>\n",130       "<text text-anchor=\"middle\" x=\"114.39\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\">Sir Bedevere the Wise</text>\n",131       "</g>\n",132       "<!-- A&#45;&gt;B -->\n",133       "<g id=\"edge1\" class=\"edge\">\n",134       "<title>A&#45;&gt;B</title>\n",135       "<path fill=\"none\" stroke=\"black\" d=\"M210.09,-73.46C193.06,-63.77 170.9,-51.16 152.19,-40.51\"/>\n",136       "<polygon fill=\"black\" stroke=\"black\" points=\"153.75,-37.37 143.33,-35.47 150.28,-43.46 153.75,-37.37\"/>\n",137       "</g>\n",138       "<!-- L -->\n",139       "<g id=\"node3\" class=\"node\">\n",140       "<title>L</title>\n",141       "<ellipse fill=\"none\" stroke=\"black\" cx=\"361.39\" cy=\"-18\" rx=\"115.08\" ry=\"18\"/>\n",142       "<text text-anchor=\"middle\" x=\"361.39\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\">Sir Lancelot the Brave</text>\n",143       "</g>\n",144       "<!-- A&#45;&gt;L -->\n",145       "<g id=\"edge2\" class=\"edge\">\n",146       "<title>A&#45;&gt;L</title>\n",147       "<path fill=\"none\" stroke=\"black\" d=\"M264.91,-73.46C282.08,-63.77 304.42,-51.16 323.28,-40.51\"/>\n",148       "<polygon fill=\"black\" stroke=\"black\" points=\"325.23,-43.43 332.22,-35.47 321.79,-37.34 325.23,-43.43\"/>\n",149       "</g>\n",150       "<!-- B&#45;&gt;L -->\n",151       "<g id=\"edge3\" class=\"edge\">\n",152       "<title>B&#45;&gt;L</title>\n",153       "<path fill=\"none\" stroke=\"black\" d=\"M229.21,-18C231.51,-18 233.82,-18 236.13,-18\"/>\n",154       "<polygon fill=\"black\" stroke=\"black\" points=\"236.25,-21.5 246.25,-18 236.25,-14.5 236.25,-21.5\"/>\n",155       "</g>\n",156       "</g>\n",157       "</svg>\n"158      ],159      "text/plain": [160       "<graphviz.graphs.Digraph at 0x7fe5a835d180>"161      ]162     },163     "execution_count": 57,164     "metadata": {},165     "output_type": "execute_result"166    }167   ],168   "source": [169    "def test_dot():\n",170    "    dot = graphviz.Digraph(comment='The Round Table')\n",171    "    dot.node('A', 'King Arthur')  # doctest: +NO_EXE\n",172    "    dot.node('B', 'Sir Bedevere the Wise')\n",173    "    dot.node('L', 'Sir Lancelot the Brave')\n",174    "    \n",175    "    dot.edges(['AB', 'AL'])\n",176    "    dot.edge('B', 'L', constraint='false')\n",177    "    \n",178    "    print( dot.source)\n",179    "    return dot\n",180    "test_dot()"181   ]182  },183  {184   "cell_type": "code",185   "execution_count": 63,186   "id": "1099dcb2-89f5-4ac1-af64-59fe38696cdb",187   "metadata": {},188   "outputs": [189    {190     "data": {191      "text/plain": [192       "{('check ticket', 'decide'): 6,\n",193       " ('check ticket', 'examine casually'): 2,\n",194       " ('check ticket', 'examine thoroughly'): 1,\n",195       " ('decide', 'pay compensation'): 3,\n",196       " ('decide', 'reinitiate request'): 3,\n",197       " ('decide', 'reject request'): 3,\n",198       " ('examine casually', 'check ticket'): 4,\n",199       " ('examine casually', 'decide'): 2,\n",200       " ('examine thoroughly', 'check ticket'): 2,\n",201       " ('examine thoroughly', 'decide'): 1,\n",202       " ('register request', 'check ticket'): 2,\n",203       " ('register request', 'examine casually'): 3,\n",204       " ('register request', 'examine thoroughly'): 1,\n",205       " ('reinitiate request', 'check ticket'): 1,\n",206       " ('reinitiate request', 'examine casually'): 1,\n",207       " ('reinitiate request', 'examine thoroughly'): 1}"208      ]209     },210     "execution_count": 63,211     "metadata": {},212     "output_type": "execute_result"213    }214   ],215   "source": [216    "dfg"217   ]218  },219  {220   "cell_type": "markdown",221   "id": "8fd8b200-66ea-45f1-af95-7adacbf664e6",222   "metadata": {},223   "source": [224    "## pm4py"225   ]226  },227  {228   "cell_type": "code",229   "execution_count": 178,230   "id": "e680c9db-0fbc-40bc-a763-682efc53b3e1",231   "metadata": {},232   "outputs": [233    {234     "data": {235      "text/plain": [236       "Index(['case_id', 'activity', 'timestamp', 'costs', 'resource'], dtype='object')"237      ]238     },239     "execution_count": 178,240     "metadata": {},241     "output_type": "execute_result"242    }243   ],244   "source": [245    "import pandas as pd\n",246    "import pm4py\n",247    "import datetime\n",248    "\n",249    "data = pd.read_csv(\"data/running-example.csv\", sep=';', dtype={'case_id': str}, parse_dates = ['timestamp'])\n",250    "data.loc[ :, \"timestamp\"]  = pd.to_datetime(data[\"timestamp\"])\n",251    "data.describe()\n",252    "data.columns\n"253   ]254  },255  {256   "cell_type": "code",257   "execution_count": null,258   "id": "ac6b7642-eb9c-49e7-98b8-c157800cf35e",259   "metadata": {},260   "outputs": [],261   "source": []262  },263  {264   "cell_type": "code",265   "execution_count": null,266   "id": "3a8737a4-55a7-4aed-bb8d-dd349d62beb5",267   "metadata": {},268   "outputs": [],269   "source": []270  },271  {272   "cell_type": "code",273   "execution_count": 36,274   "id": "0fa3ccf3-fe11-4a13-811c-c2d48a3c593b",275   "metadata": {},276   "outputs": [277    {278     "name": "stdout",279     "output_type": "stream",280     "text": [281      "Start activities: {'register request': 6}\n",282      "End activities: {'reject request': 3, 'pay compensation': 3}\n"283     ]284    }285   ],286   "source": [287    "event_log = pm4py.format_dataframe( data, case_id='case_id', activity_key='activity', timestamp_key='timestamp')\n",288    "start_activities = pm4py.get_start_activities(event_log)\n",289    "end_activities = pm4py.get_end_activities(event_log)\n",290    "print(\"Start activities: {}\\nEnd activities: {}\".format(start_activities, end_activities))\n"291   ]292  },293  {294   "cell_type": "code",295   "execution_count": 37,296   "id": "c1488767-0745-456b-b073-4a390090c00d",297   "metadata": {},298   "outputs": [299    {300     "data": {301      "text/plain": [302       "{'register request': 6}"303      ]304     },305     "execution_count": 37,306     "metadata": {},307     "output_type": "execute_result"308    }309   ],310   "source": [311    "start_activities"312   ]313  },314  {315   "cell_type": "markdown",316   "id": "eadada7f-9c7f-45a5-be9c-c05941e34be6",317   "metadata": {},318   "source": [319    "### filter ###"320   ]321  },322  {323   "cell_type": "code",324   "execution_count": 27,325   "id": "3f0a294f-a5f5-47f9-a417-622d4895da01",326   "metadata": {},327   "outputs": [],328   "source": [329    "filtered = pm4py.filter_start_activities( event_log, {'register request'}, activity_key='activity',)"330   ]331  },332  {333   "cell_type": "code",334   "execution_count": 152,335   "id": "34b9f573-60ae-4bdd-96d9-bd57421791ca",336   "metadata": {},337   "outputs": [],338   "source": [339    "# {'register request'}\n",340    "\n",341    "# filtered_relations = [('decide', 'reinitiate request')]\n",342    "filtered_relations = [('check ticket', 'decide')]\n",343    "filtered_reinit_event_log = pm4py.filter_directly_follows_relation( event_log, relations = filtered_relations )\n",344    "top_variant_event_log = pm4py.filter_variants_top_k( event_log, k = 1)"345   ]346  },347  {348   "cell_type": "code",349   "execution_count": null,350   "id": "299e91c5-4193-432f-b525-daa78c7008e4",351   "metadata": {},352   "outputs": [],353   "source": []354  },355  {356   "cell_type": "code",357   "execution_count": null,358   "id": "9001b1c1-c988-4c5e-bd95-480510d9cdf6",359   "metadata": {},360   "outputs": [],361   "source": []362  },363  {364   "cell_type": "markdown",365   "id": "9bd75d53-6dc5-41c9-a754-33d109696679",366   "metadata": {},367   "source": [368    "### process discovery ###"369   ]370  },371  {372   "cell_type": "code",373   "execution_count": 235,374   "id": "5bbc00c2-1182-4b72-923e-da6b089f5f5c",375   "metadata": {},376   "outputs": [377    {378     "data": {379      "image/png": "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",380      "text/plain": [381       "<IPython.core.display.Image object>"382      ]383     },384     "metadata": {},385     "output_type": "display_data"386    },387    {388     "data": {389      "text/plain": [390       "''"391      ]392     },393     "execution_count": 235,394     "metadata": {},395     "output_type": "execute_result"396    }397   ],398   "source": [399    "### --- dfg --- ###\n",400    "# dfg, start_activities, end_activities = pm4py.discover_dfg(event_log)\n",401    "# chart = pm4py.view_dfg(dfg, start_activities=start_activities, end_activities=end_activities)\n",402    "# chart \n",403    "\n",404    "### --- heuristic map --- ###\n",405    "# petrinet, initial_marking, final_marking = pm4py.discover_petri_net_alpha(event_log)\n",406    "# pm4py.view_petri_net( petri_net=petrinet, initial_marking=initial_marking, final_marking=final_marking)\n",407    "\n",408    "### --- heuristic map --- ###\n",409    "# map = pm4py.discover_heuristics_net(event_log)\n",410    "# pm4py.view_heuristics_net(map)\n",411    "\n",412    "### --- BPMN --- ###\n",413    "# bpmn = pm4py.discover_bpmn_inductive(event_log)\n",414    "# pm4py.view_bpmn( bpmn, format='png')\n",415    "# pm4py.save_vis_bpmn( bpmn, \"output/bpmn.png\")\n",416    "    \n",417    "### --- Process tree --- ###\n",418    "# map = pm4py.discover_process_tree_inductive(event_log)\n",419    "# pm4py.view_process_tree(map)\n",420    "\n",421    "### --- inductive --- ###\n",422    "petrinet, initial_marking, final_marking = pm4py.discover_petri_net_inductive(event_log)\n",423    "pm4py.view_petri_net( petri_net=petrinet, initial_marking=initial_marking, final_marking=final_marking)\n",424    "pm4py.save_vis_petri_net( petrinet, initial_marking, final_marking, 'output/petri_net.png')\n",425    "\n",426    "# petrinet, initial_marking, final_marking = pm4py.discover_petri_net_inductive(filtered_reinit_event_log)\n",427    "# pm4py.view_petri_net( petri_net=petrinet, initial_marking=initial_marking, final_marking=final_marking)\n",428    "\n",429    "# petrinet, initial_marking, final_marking = pm4py.discover_petri_net_inductive(top_variant_event_log)\n",430    "# pm4py.view_petri_net( petri_net=petrinet, initial_marking=initial_marking, final_marking=final_marking)\n",431    "\n",432    "### --- ILP miner --- ###\n",433    "# petrinet, initial_marking, final_marking = pm4py.discover_petri_net_ilp(event_log)\n",434    "# pm4py.view_petri_net( petri_net=petrinet, initial_marking=initial_marking, final_marking=final_marking)\n",435    "\n",436    "### --- dotted chart --- ###\n",437    "# pm4py.view_dotted_chart( event_log, format='png')"438   ]439  },440  {441   "cell_type": "code",442   "execution_count": null,443   "id": "afa3e14b-a4d5-42cd-80c8-1d533b6a9207",444   "metadata": {},445   "outputs": [],446   "source": []447  },448  {449   "cell_type": "code",450   "execution_count": 69,451   "id": "0fdc4dc8-6fbf-44c9-97b6-09c2acfa5bd1",452   "metadata": {},453   "outputs": [454    {455     "name": "stdout",456     "output_type": "stream",457     "text": [458      "nodes->{'#Start#': 0, '#End#': 1, 'register request': 2, 'reject request': 3, 'pay compensation': 4, 'check ticket': 5, 'decide': 6, 'examine casually': 7, 'examine thoroughly': 8, 'reinitiate request': 9}\n",459      "edges->[('#Start#', 'register request'), ('reject request', '#End#'), ('pay compensation', '#End#'), ('check ticket', 'decide'), ('check ticket', 'examine casually'), ('check ticket', 'examine thoroughly'), ('decide', 'pay compensation'), ('decide', 'reinitiate request'), ('decide', 'reject request'), ('examine casually', 'check ticket'), ('examine casually', 'decide'), ('examine thoroughly', 'check ticket'), ('examine thoroughly', 'decide'), ('register request', 'check ticket'), ('register request', 'examine casually'), ('register request', 'examine thoroughly'), ('reinitiate request', 'check ticket'), ('reinitiate request', 'examine casually'), ('reinitiate request', 'examine thoroughly')]\n",460      "// sample\n",461      "digraph {\n",462      "\t0 [label=\"#Start#\"]\n",463      "\t1 [label=\"#End#\"]\n",464      "\t2 [label=\"register request\"]\n",465      "\t3 [label=\"reject request\"]\n",466      "\t4 [label=\"pay compensation\"]\n",467      "\t5 [label=\"check ticket\"]\n",468      "\t6 [label=decide]\n",469      "\t7 [label=\"examine casually\"]\n",470      "\t8 [label=\"examine thoroughly\"]\n",471      "\t9 [label=\"reinitiate request\"]\n",472      "\t0 -> 2\n",473      "\t3 -> 1\n",474      "\t4 -> 1\n",475      "\t5 -> 6\n",476      "\t5 -> 7\n",477      "\t5 -> 8\n",478      "\t6 -> 4\n",479      "\t6 -> 9\n",480      "\t6 -> 3\n",481      "\t7 -> 5\n",482      "\t7 -> 6\n",483      "\t8 -> 5\n",484      "\t8 -> 6\n",485      "\t2 -> 5\n",486      "\t2 -> 7\n",487      "\t2 -> 8\n",488      "\t9 -> 5\n",489      "\t9 -> 7\n",490      "\t9 -> 8\n",491      "}\n",492      "\n"493     ]494    },495    {496     "data": {497      "image/svg+xml": [498       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",499       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",500       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",501       "<!-- Generated by graphviz version 2.43.0 (0)\n",502       " -->\n",503       "<!-- Title: %3 Pages: 1 -->\n",504       "<svg width=\"914pt\" height=\"404pt\"\n",505       " viewBox=\"0.00 0.00 913.68 404.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",506       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 400)\">\n",507       "<title>%3</title>\n",508       "<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-400 909.68,-400 909.68,4 -4,4\"/>\n",509       "<!-- 0 -->\n",510       "<g id=\"node1\" class=\"node\">\n",511       "<title>0</title>\n",512       "<ellipse fill=\"none\" stroke=\"black\" cx=\"291.34\" cy=\"-378\" rx=\"50.09\" ry=\"18\"/>\n",513       "<text text-anchor=\"middle\" x=\"291.34\" y=\"-374.3\" font-family=\"Times,serif\" font-size=\"14.00\">#Start#</text>\n",514       "</g>\n",515       "<!-- 2 -->\n",516       "<g id=\"node3\" class=\"node\">\n",517       "<title>2</title>\n",518       "<ellipse fill=\"none\" stroke=\"black\" cx=\"291.34\" cy=\"-306\" rx=\"86.38\" ry=\"18\"/>\n",519       "<text text-anchor=\"middle\" x=\"291.34\" y=\"-302.3\" font-family=\"Times,serif\" font-size=\"14.00\">register request</text>\n",520       "</g>\n",521       "<!-- 0&#45;&gt;2 -->\n",522       "<g id=\"edge1\" class=\"edge\">\n",523       "<title>0&#45;&gt;2</title>\n",524       "<path fill=\"none\" stroke=\"black\" d=\"M291.34,-359.7C291.34,-351.98 291.34,-342.71 291.34,-334.11\"/>\n",525       "<polygon fill=\"black\" stroke=\"black\" points=\"294.84,-334.1 291.34,-324.1 287.84,-334.1 294.84,-334.1\"/>\n",526       "</g>\n",527       "<!-- 1 -->\n",528       "<g id=\"node2\" class=\"node\">\n",529       "<title>1</title>\n",530       "<ellipse fill=\"none\" stroke=\"black\" cx=\"537.34\" cy=\"-18\" rx=\"44.69\" ry=\"18\"/>\n",531       "<text text-anchor=\"middle\" x=\"537.34\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\">#End#</text>\n",532       "</g>\n",533       "<!-- 5 -->\n",534       "<g id=\"node6\" class=\"node\">\n",535       "<title>5</title>\n",536       "<ellipse fill=\"none\" stroke=\"black\" cx=\"291.34\" cy=\"-234\" rx=\"66.09\" ry=\"18\"/>\n",537       "<text text-anchor=\"middle\" x=\"291.34\" y=\"-230.3\" font-family=\"Times,serif\" font-size=\"14.00\">check ticket</text>\n",538       "</g>\n",539       "<!-- 2&#45;&gt;5 -->\n",540       "<g id=\"edge14\" class=\"edge\">\n",541       "<title>2&#45;&gt;5</title>\n",542       "<path fill=\"none\" stroke=\"black\" d=\"M291.34,-287.7C291.34,-279.98 291.34,-270.71 291.34,-262.11\"/>\n",543       "<polygon fill=\"black\" stroke=\"black\" points=\"294.84,-262.1 291.34,-252.1 287.84,-262.1 294.84,-262.1\"/>\n",544       "</g>\n",545       "<!-- 7 -->\n",546       "<g id=\"node8\" class=\"node\">\n",547       "<title>7</title>\n",548       "<ellipse fill=\"none\" stroke=\"black\" cx=\"90.34\" cy=\"-18\" rx=\"90.18\" ry=\"18\"/>\n",549       "<text text-anchor=\"middle\" x=\"90.34\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\">examine casually</text>\n",550       "</g>\n",551       "<!-- 2&#45;&gt;7 -->\n",552       "<g id=\"edge15\" class=\"edge\">\n",553       "<title>2&#45;&gt;7</title>\n",554       "<path fill=\"none\" stroke=\"black\" d=\"M264.42,-288.88C218.77,-259.67 128.15,-193.08 97.34,-108 90.19,-88.24 88.65,-64.43 88.78,-46.42\"/>\n",555       "<polygon fill=\"black\" stroke=\"black\" points=\"92.28,-46.38 89.04,-36.3 85.29,-46.21 92.28,-46.38\"/>\n",556       "</g>\n",557       "<!-- 8 -->\n",558       "<g id=\"node9\" class=\"node\">\n",559       "<title>8</title>\n",560       "<ellipse fill=\"none\" stroke=\"black\" cx=\"802.34\" cy=\"-18\" rx=\"103.18\" ry=\"18\"/>\n",561       "<text text-anchor=\"middle\" x=\"802.34\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\">examine thoroughly</text>\n",562       "</g>\n",563       "<!-- 2&#45;&gt;8 -->\n",564       "<g id=\"edge16\" class=\"edge\">\n",565       "<title>2&#45;&gt;8</title>\n",566       "<path fill=\"none\" stroke=\"black\" d=\"M375.64,-301.89C496.18,-292.24 713.07,-254.29 802.34,-108 813.56,-89.61 812.56,-64.86 809.32,-46.12\"/>\n",567       "<polygon fill=\"black\" stroke=\"black\" points=\"812.72,-45.25 807.3,-36.15 805.86,-46.64 812.72,-45.25\"/>\n",568       "</g>\n",569       "<!-- 3 -->\n",570       "<g id=\"node4\" class=\"node\">\n",571       "<title>3</title>\n",572       "<ellipse fill=\"none\" stroke=\"black\" cx=\"443.34\" cy=\"-90\" rx=\"76.09\" ry=\"18\"/>\n",573       "<text text-anchor=\"middle\" x=\"443.34\" y=\"-86.3\" font-family=\"Times,serif\" font-size=\"14.00\">reject request</text>\n",574       "</g>\n",575       "<!-- 3&#45;&gt;1 -->\n",576       "<g id=\"edge2\" class=\"edge\">\n",577       "<title>3&#45;&gt;1</title>\n",578       "<path fill=\"none\" stroke=\"black\" d=\"M465.62,-72.41C478.48,-62.84 494.79,-50.69 508.6,-40.4\"/>\n",579       "<polygon fill=\"black\" stroke=\"black\" points=\"510.9,-43.05 516.83,-34.27 506.72,-37.44 510.9,-43.05\"/>\n",580       "</g>\n",581       "<!-- 4 -->\n",582       "<g id=\"node5\" class=\"node\">\n",583       "<title>4</title>\n",584       "<ellipse fill=\"none\" stroke=\"black\" cx=\"632.34\" cy=\"-90\" rx=\"94.78\" ry=\"18\"/>\n",585       "<text text-anchor=\"middle\" x=\"632.34\" y=\"-86.3\" font-family=\"Times,serif\" font-size=\"14.00\">pay compensation</text>\n",586       "</g>\n",587       "<!-- 4&#45;&gt;1 -->\n",588       "<g id=\"edge3\" class=\"edge\">\n",589       "<title>4&#45;&gt;1</title>\n",590       "<path fill=\"none\" stroke=\"black\" d=\"M609.83,-72.41C596.74,-62.77 580.12,-50.52 566.09,-40.19\"/>\n",591       "<polygon fill=\"black\" stroke=\"black\" points=\"567.88,-37.15 557.75,-34.04 563.73,-42.79 567.88,-37.15\"/>\n",592       "</g>\n",593       "<!-- 6 -->\n",594       "<g id=\"node7\" class=\"node\">\n",595       "<title>6</title>\n",596       "<ellipse fill=\"none\" stroke=\"black\" cx=\"391.34\" cy=\"-162\" rx=\"40.89\" ry=\"18\"/>\n",597       "<text text-anchor=\"middle\" x=\"391.34\" y=\"-158.3\" font-family=\"Times,serif\" font-size=\"14.00\">decide</text>\n",598       "</g>\n",599       "<!-- 5&#45;&gt;6 -->\n",600       "<g id=\"edge4\" class=\"edge\">\n",601       "<title>5&#45;&gt;6</title>\n",602       "<path fill=\"none\" stroke=\"black\" d=\"M314.54,-216.76C328.62,-206.91 346.73,-194.23 361.83,-183.66\"/>\n",603       "<polygon fill=\"black\" stroke=\"black\" points=\"364.13,-186.32 370.32,-177.72 360.12,-180.58 364.13,-186.32\"/>\n",604       "</g>\n",605       "<!-- 5&#45;&gt;7 -->\n",606       "<g id=\"edge5\" class=\"edge\">\n",607       "<title>5&#45;&gt;7</title>\n",608       "<path fill=\"none\" stroke=\"black\" d=\"M254.9,-218.84C213.43,-199.24 147.06,-160.29 109.34,-108 96.13,-89.69 89,-64.92 86.71,-46.17\"/>\n",609       "<polygon fill=\"black\" stroke=\"black\" points=\"90.19,-45.87 85.91,-36.18 83.22,-46.43 90.19,-45.87\"/>\n",610       "</g>\n",611       "<!-- 5&#45;&gt;8 -->\n",612       "<g id=\"edge6\" class=\"edge\">\n",613       "<title>5&#45;&gt;8</title>\n",614       "<path fill=\"none\" stroke=\"black\" d=\"M347.04,-224.11C457.34,-206.31 697.76,-163.23 759.34,-108 777.17,-92.01 785.71,-65.65 791.39,-45.75\"/>\n",615       "<polygon fill=\"black\" stroke=\"black\" points=\"794.78,-46.6 794.13,-36.03 788.05,-44.7 794.78,-46.6\"/>\n",616       "</g>\n",617       "<!-- 6&#45;&gt;3 -->\n",618       "<g id=\"edge9\" class=\"edge\">\n",619       "<title>6&#45;&gt;3</title>\n",620       "<path fill=\"none\" stroke=\"black\" d=\"M403.4,-144.76C409.65,-136.35 417.42,-125.89 424.45,-116.44\"/>\n",621       "<polygon fill=\"black\" stroke=\"black\" points=\"427.47,-118.24 430.62,-108.12 421.85,-114.06 427.47,-118.24\"/>\n",622       "</g>\n",623       "<!-- 6&#45;&gt;4 -->\n",624       "<g id=\"edge7\" class=\"edge\">\n",625       "<title>6&#45;&gt;4</title>\n",626       "<path fill=\"none\" stroke=\"black\" d=\"M424.6,-151.34C462.81,-140.24 526.26,-121.81 573,-108.24\"/>\n",627       "<polygon fill=\"black\" stroke=\"black\" points=\"574.08,-111.57 582.71,-105.42 572.13,-104.85 574.08,-111.57\"/>\n",628       "</g>\n",629       "<!-- 9 -->\n",630       "<g id=\"node10\" class=\"node\">\n",631       "<title>9</title>\n",632       "<ellipse fill=\"none\" stroke=\"black\" cx=\"219.34\" cy=\"-90\" rx=\"92.08\" ry=\"18\"/>\n",633       "<text text-anchor=\"middle\" x=\"219.34\" y=\"-86.3\" font-family=\"Times,serif\" font-size=\"14.00\">reinitiate request</text>\n",634       "</g>\n",635       "<!-- 6&#45;&gt;9 -->\n",636       "<g id=\"edge8\" class=\"edge\">\n",637       "<title>6&#45;&gt;9</title>\n",638       "<path fill=\"none\" stroke=\"black\" d=\"M362.16,-149.13C336.13,-138.53 297.53,-122.82 267.02,-110.4\"/>\n",639       "<polygon fill=\"black\" stroke=\"black\" points=\"268,-107.02 257.42,-106.5 265.36,-113.51 268,-107.02\"/>\n",640       "</g>\n",641       "<!-- 7&#45;&gt;5 -->\n",642       "<g id=\"edge10\" class=\"edge\">\n",643       "<title>7&#45;&gt;5</title>\n",644       "<path fill=\"none\" stroke=\"black\" d=\"M99,-36.18C104.51,-55.25 111.61,-86.19 127.34,-108 161.32,-155.1 218.53,-191.37 255.73,-212.43\"/>\n",645       "<polygon fill=\"black\" stroke=\"black\" points=\"254.29,-215.64 264.73,-217.45 257.7,-209.52 254.29,-215.64\"/>\n",646       "</g>\n",647       "<!-- 7&#45;&gt;6 -->\n",648       "<g id=\"edge11\" class=\"edge\">\n",649       "<title>7&#45;&gt;6</title>\n",650       "<path fill=\"none\" stroke=\"black\" d=\"M174.24,-24.84C220.25,-31.22 276.65,-44.49 320.34,-72 333.69,-80.41 357.99,-112.93 374.4,-136.22\"/>\n",651       "<polygon fill=\"black\" stroke=\"black\" points=\"371.67,-138.43 380.26,-144.63 377.42,-134.43 371.67,-138.43\"/>\n",652       "</g>\n",653       "<!-- 8&#45;&gt;5 -->\n",654       "<g id=\"edge12\" class=\"edge\">\n",655       "<title>8&#45;&gt;5</title>\n",656       "<path fill=\"none\" stroke=\"black\" d=\"M806.86,-36.03C806.4,-56.14 798.28,-89.23 777.34,-108 716.19,-162.85 478.67,-205.71 359.78,-223.73\"/>\n",657       "<polygon fill=\"black\" stroke=\"black\" points=\"359.06,-220.3 349.69,-225.24 360.1,-227.22 359.06,-220.3\"/>\n",658       "</g>\n",659       "<!-- 8&#45;&gt;6 -->\n",660       "<g id=\"edge13\" class=\"edge\">\n",661       "<title>8&#45;&gt;6</title>\n",662       "<path fill=\"none\" stroke=\"black\" d=\"M794.66,-36.3C784.5,-57.01 764.51,-91.02 736.34,-108 687.71,-137.32 525.35,-152.12 441.87,-157.94\"/>\n",663       "<polygon fill=\"black\" stroke=\"black\" points=\"441.59,-154.45 431.85,-158.62 442.06,-161.44 441.59,-154.45\"/>\n",664       "</g>\n",665       "<!-- 9&#45;&gt;5 -->\n",666       "<g id=\"edge17\" class=\"edge\">\n",667       "<title>9&#45;&gt;5</title>\n",668       "<path fill=\"none\" stroke=\"black\" d=\"M228.06,-108.19C240.51,-132.74 263.49,-178.07 278.06,-206.81\"/>\n",669       "<polygon fill=\"black\" stroke=\"black\" points=\"275.01,-208.54 282.66,-215.87 281.26,-205.37 275.01,-208.54\"/>\n",670       "</g>\n",671       "<!-- 9&#45;&gt;7 -->\n",672       "<g id=\"edge18\" class=\"edge\">\n",673       "<title>9&#45;&gt;7</title>\n",674       "<path fill=\"none\" stroke=\"black\" d=\"M189.75,-72.94C171.77,-63.18 148.61,-50.62 129.17,-40.07\"/>\n",675       "<polygon fill=\"black\" stroke=\"black\" points=\"130.7,-36.92 120.25,-35.23 127.37,-43.07 130.7,-36.92\"/>\n",676       "</g>\n",677       "<!-- 9&#45;&gt;8 -->\n",678       "<g id=\"edge19\" class=\"edge\">\n",679       "<title>9&#45;&gt;8</title>\n",680       "<path fill=\"none\" stroke=\"black\" d=\"M295.08,-79.7C315.61,-77.19 337.83,-74.48 358.34,-72 479.49,-57.36 619.26,-40.72 709.11,-30.05\"/>\n",681       "<polygon fill=\"black\" stroke=\"black\" points=\"709.76,-33.5 719.27,-28.84 708.93,-26.55 709.76,-33.5\"/>\n",682       "</g>\n",683       "</g>\n",684       "</svg>\n"685      ],686      "text/plain": [687       "<graphviz.graphs.Digraph at 0x7fe5a2920760>"688      ]689     },690     "execution_count": 69,691     "metadata": {},692     "output_type": "execute_result"693    }694   ],695   "source": [696    "def dfg2dot( dfg, start, end, dot_name: str):\n",697    "    \"\"\"\n",698    "    Argument\n",699    "        dfg: a list of dict of edges from directly-follow-graph\n",700    "        start: a dict of start activities\n",701    "        end: a dict of end activities\n",702    "    Return\n",703    "        dot: dot-formatted digraph\n",704    "    \"\"\"\n",705    "    PROCESS_START = '#Start#'\n",706    "    PROCESS_END = '#End#'\n",707    "    nodes = { PROCESS_START: 0, PROCESS_END: 1}\n",708    "    node_idx = 2\n",709    "    for activity in start:\n",710    "        assert activity not in nodes, f\"#ERROR: {activity} exists\"\n",711    "        nodes[activity] = node_idx\n",712    "        node_idx += 1\n",713    "    for activity in end:\n",714    "        assert activity not in nodes, f\"#ERROR: {activity} exists\"\n",715    "        nodes[activity] = node_idx\n",716    "        node_idx += 1\n",717    "    for node in dfg:\n",718    "        left_activity = node[0]\n",719    "        if left_activity not in nodes:\n",720    "            nodes[left_activity] = node_idx\n",721    "            node_idx +=1 \n",722    "        right_activity = node[1]\n",723    "        if right_activity not in nodes:\n",724    "            nodes[right_activity] = node_idx\n",725    "            node_idx +=1 \n",726    "\n",727    "    edges = []\n",728    "    for activity in start:\n",729    "        from_id = str(nodes.get(PROCESS_START))\n",730    "        to_id = str(nodes.get(activity))\n",731    "        edges.append( ( PROCESS_START, activity) ) \n",732    "    for activity in end:\n",733    "        from_id = sfigtr(nodes.get(activity))\n",734    "        to_id = str(nodes.get(PROCESS_END))\n",735    "        edges.append( ( activity, PROCESS_END) ) \n",736    "    for transition in dfg:\n",737    "        edges.append( ( transition[0], transition[1]) ) \n",738    "    print(f\"nodes->{nodes}\")\n",739    "    print(f\"edges->{edges}\")\n",740    "    \n",741    "    dot = graphviz.Digraph(comment=dot_name)\n",742    "    for node_name, node_id in nodes.items():\n",743    "        dot.node( str(node_id), str(node_name))  # doctest: +NO_EXE\n",744    "    for edge in edges:\n",745    "        dot.edge( str(nodes.get(edge[0])), str(nodes.get(edge[1])) )\n",746    "    \n",747    "    print( dot.source)\n",748    "    return dot\n",749    "\n",750    "dot = dfg2dot( dfg, start_activities, end_activities, 'sample')\n",751    "dot"752   ]753  },754  {755   "cell_type": "code",756   "execution_count": 96,757   "id": "2b3140af-463e-480a-bf5f-e3414610efe5",758   "metadata": {},759   "outputs": [760    {761     "name": "stdout",762     "output_type": "stream",763     "text": [764      "nodes->['#Start#', '#End#', 'register request', 'reject request', 'pay compensation', 'check ticket', 'decide', 'examine casually', 'examine thoroughly', 'reinitiate request']\n",765      "edges->[('#Start#', 'register request'), ('reject request', '#End#'), ('pay compensation', '#End#'), ('check ticket', 'decide'), ('check ticket', 'examine casually'), ('check ticket', 'examine thoroughly'), ('decide', 'pay compensation'), ('decide', 'reinitiate request'), ('decide', 'reject request'), ('examine casually', 'check ticket'), ('examine casually', 'decide'), ('examine thoroughly', 'check ticket'), ('examine thoroughly', 'decide'), ('register request', 'check ticket'), ('register request', 'examine casually'), ('register request', 'examine thoroughly'), ('reinitiate request', 'check ticket'), ('reinitiate request', 'examine casually'), ('reinitiate request', 'examine thoroughly')]\n"766     ]767    }768   ],769   "source": [770    "\n",771    "\n",772    "\n",773    "    "774   ]775  },776  {777   "cell_type": "code",778   "execution_count": 128,779   "id": "f7837d3a-2b9f-4bf9-9431-6c2448abc073",780   "metadata": {},781   "outputs": [782    {783     "data": {784      "application/vnd.plotly.v1+json": {785       "config": {786        "plotlyServerURL": "https://plot.ly"787       },788       "data": [789        {790         "hoverinfo": "none",791         "line": {792          "color": "#888",793          "width": 1.5794         },795         "mode": "lines",796         "type": "scatter",797         "x": [798          50.046,799          406.89,800          null,801          406.89,802          680.41,803          null,804          406.89,805          666.92,806          null,807          406.89,808          742.74,809          null,810          1416.6,811          1666.4,812          null,813          1395.7,814          1666.4,815          null,816          680.41,817          1030.2,818          null,819          680.41,820          666.92,821          null,822          680.41,823          742.74,824          null,825          1030.2,826          1395.7,827          null,828          1030.2,829          856.59,830          null,831          1030.2,832          1416.6,833          null,834          666.92,835          680.41,836          null,837          666.92,838          1030.2,839          null,840          742.74,841          680.41,842          null,843          742.74,844          1030.2,845          null,846          856.59,847          680.41,848          null,849          856.59,850          666.92,851          null,852          856.59,853          742.74,854          null855         ],856         "y": [857          231.25,858          186.8,859          null,860          186.8,861          22.284,862          null,863          186.8,864          148.66,865          null,866          186.8,867          256.01,868          null,869          59.309,870          202.14,871          null,872          303.13,873          202.14,874          null,875          22.284,876          150.69,877          null,878          22.284,879          148.66,880          null,881          22.284,882          256.01,883          null,884          150.69,885          303.13,886          null,887          150.69,888          18,889          null,890          150.69,891          59.309,892          null,893          148.66,894          22.284,895          null,896          148.66,897          150.69,898          null,899          256.01,900          22.284,901          null,902          256.01,903          150.69,904          null,905          18,906          22.284,907          null,908          18,909          148.66,910          null,911          18,912          256.01,913          null914         ]915        },916        {917         "hovertext": [918          "#Start#",919          "#End#",920          "register request",921          "reject request",922          "pay compensation",923          "check ticket",924          "decide",925          "examine casually",926          "examine thoroughly",927          "reinitiate request"928         ],929         "marker": {930          "color": "LightSkyBlue",931          "line": {932           "width": 2933          },934          "size": 5935         },936         "mode": "markers+text",937         "text": [938          "#Start#",939          "#End#",940          "register request",941          "reject request",942          "pay compensation",943          "check ticket",944          "decide",945          "examine casually",946          "examine thoroughly",947          "reinitiate request"948         ],949         "textposition": "top center",950         "type": "scatter",951         "x": [952          50.046,953          1666.4,954          406.89,955          1416.6,956          1395.7,957          680.41,958          1030.2,959          666.92,960          742.74,961          856.59962         ],963         "y": [964          231.25,965          202.14,966          186.8,967          59.309,968          303.13,969          22.284,970          150.69,971          148.66,972          256.01,973          18974         ]975        }976       ],977       "layout": {978        "annotations": [979         {980          "arrowcolor": "Gray",981          "arrowhead": 2,982          "arrowsize": 1,983          "arrowwidth": 2,984          "ax": 50.046,985          "axref": "x",986          "ay": 231.25,987          "ayref": "y",988          "showarrow": true,989          "x": 406.89,990          "xref": "x",991          "y": 186.8,992          "yref": "y"993         },994         {995          "arrowcolor": "Gray",996          "arrowhead": 2,997          "arrowsize": 1,998          "arrowwidth": 2,999          "ax": 406.89,1000          "axref": "x",1001          "ay": 186.8,1002          "ayref": "y",1003          "showarrow": true,1004          "x": 680.41,1005          "xref": "x",1006          "y": 22.284,1007          "yref": "y"1008         },1009         {1010          "arrowcolor": "Gray",1011          "arrowhead": 2,1012          "arrowsize": 1,1013          "arrowwidth": 2,1014          "ax": 406.89,1015          "axref": "x",1016          "ay": 186.8,1017          "ayref": "y",1018          "showarrow": true,1019          "x": 666.92,1020          "xref": "x",1021          "y": 148.66,1022          "yref": "y"1023         },1024         {1025          "arrowcolor": "Gray",1026          "arrowhead": 2,1027          "arrowsize": 1,1028          "arrowwidth": 2,1029          "ax": 406.89,1030          "axref": "x",1031          "ay": 186.8,1032          "ayref": "y",1033          "showarrow": true,1034          "x": 742.74,1035          "xref": "x",1036          "y": 256.01,1037          "yref": "y"1038         },1039         {1040          "arrowcolor": "Gray",1041          "arrowhead": 2,1042          "arrowsize": 1,1043          "arrowwidth": 2,1044          "ax": 1416.6,1045          "axref": "x",1046          "ay": 59.309,1047          "ayref": "y",1048          "showarrow": true,1049          "x": 1666.4,1050          "xref": "x",1051          "y": 202.14,1052          "yref": "y"1053         },1054         {1055          "arrowcolor": "Gray",1056          "arrowhead": 2,1057          "arrowsize": 1,1058          "arrowwidth": 2,1059          "ax": 1395.7,1060          "axref": "x",1061          "ay": 303.13,1062          "ayref": "y",1063          "showarrow": true,1064          "x": 1666.4,1065          "xref": "x",1066          "y": 202.14,1067          "yref": "y"1068         },1069         {1070          "arrowcolor": "Gray",1071          "arrowhead": 2,1072          "arrowsize": 1,1073          "arrowwidth": 2,1074          "ax": 680.41,1075          "axref": "x",1076          "ay": 22.284,1077          "ayref": "y",1078          "showarrow": true,1079          "x": 1030.2,1080          "xref": "x",1081          "y": 150.69,1082          "yref": "y"1083         },1084         {1085          "arrowcolor": "Gray",1086          "arrowhead": 2,1087          "arrowsize": 1,1088          "arrowwidth": 2,1089          "ax": 680.41,1090          "axref": "x",1091          "ay": 22.284,1092          "ayref": "y",1093          "showarrow": true,1094          "x": 666.92,1095          "xref": "x",1096          "y": 148.66,1097          "yref": "y"1098         },1099         {1100          "arrowcolor": "Gray",1101          "arrowhead": 2,1102          "arrowsize": 1,1103          "arrowwidth": 2,1104          "ax": 680.41,1105          "axref": "x",1106          "ay": 22.284,1107          "ayref": "y",1108          "showarrow": true,1109          "x": 742.74,1110          "xref": "x",1111          "y": 256.01,1112          "yref": "y"1113         },1114         {1115          "arrowcolor": "Gray",1116          "arrowhead": 2,1117          "arrowsize": 1,1118          "arrowwidth": 2,1119          "ax": 1030.2,1120          "axref": "x",1121          "ay": 150.69,1122          "ayref": "y",1123          "showarrow": true,1124          "x": 1395.7,1125          "xref": "x",1126          "y": 303.13,1127          "yref": "y"1128         },1129         {1130          "arrowcolor": "Gray",1131          "arrowhead": 2,1132          "arrowsize": 1,1133          "arrowwidth": 2,1134          "ax": 1030.2,1135          "axref": "x",1136          "ay": 150.69,1137          "ayref": "y",1138          "showarrow": true,1139          "x": 856.59,1140          "xref": "x",1141          "y": 18,1142          "yref": "y"1143         },1144         {1145          "arrowcolor": "Gray",1146          "arrowhead": 2,1147          "arrowsize": 1,1148          "arrowwidth": 2,1149          "ax": 1030.2,1150          "axref": "x",1151          "ay": 150.69,1152          "ayref": "y",1153          "showarrow": true,1154          "x": 1416.6,1155          "xref": "x",1156          "y": 59.309,1157          "yref": "y"1158         },1159         {1160          "arrowcolor": "Gray",1161          "arrowhead": 2,1162          "arrowsize": 1,1163          "arrowwidth": 2,1164          "ax": 666.92,1165          "axref": "x",1166          "ay": 148.66,1167          "ayref": "y",1168          "showarrow": true,1169          "x": 680.41,1170          "xref": "x",1171          "y": 22.284,1172          "yref": "y"1173         },1174         {1175          "arrowcolor": "Gray",1176          "arrowhead": 2,1177          "arrowsize": 1,1178          "arrowwidth": 2,1179          "ax": 666.92,1180          "axref": "x",1181          "ay": 148.66,1182          "ayref": "y",1183          "showarrow": true,1184          "x": 1030.2,1185          "xref": "x",1186          "y": 150.69,1187          "yref": "y"1188         },1189         {1190          "arrowcolor": "Gray",1191          "arrowhead": 2,1192          "arrowsize": 1,1193          "arrowwidth": 2,1194          "ax": 742.74,1195          "axref": "x",1196          "ay": 256.01,1197          "ayref": "y",1198          "showarrow": true,1199          "x": 680.41,1200          "xref": "x",

Showing the first 1,200 of 3567 lines. Download the file for the rest.