cadCAD/demos/verifiers_dilemma.ipynb

1756 lines
188 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Configuration"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from datetime import timedelta\n",
"\n",
"from SimCAD import configs\n",
"from SimCAD.configuration import Configuration\n",
"from SimCAD.configuration.utils import exo_update_per_ts, proc_trigger, bound_norm_random, \\\n",
" ep_time_step\n",
"\n",
"seed = {\n",
"}\n",
"\n",
"# Genesis States\n",
"genesis_states = {\n",
" 'Verifiers_On': True,\n",
" 'Cheaters_On': False,\n",
" 'Total_Volume': 100,\n",
" 'Honest_Volume': 100,\n",
" 'Cheats_Volume': 0,\n",
" 'Cheats_Caught_Volume': 0,\n",
" 'Verifiers_Cost': 0,\n",
" 'Verifiers_Reward': 0,\n",
" 'Cheaters_Cost': 0,\n",
" 'Cheater_Reward': 0,\n",
" 'timestamp': '2018-01-01 00:00:00'\n",
"}\n",
"\n",
"# Verifier's cost per transaction verified\n",
"alfa = 0.001\n",
"def verifier_cost(s):\n",
" return alfa * (s['Total_Volume'])\n",
"\n",
"# Verifier's reward per cheat caught\n",
"beta = 4 \n",
"def verifier_reward(s):\n",
" return beta * s['Cheats_Volume']\n",
"\n",
"def verifier_expected_reward(s):\n",
" '''\n",
" We assume the existence of an off-chain signaling mechanism \n",
" by which potential verifiers become aware of some of cheating volume.\n",
" '''\n",
" off_chain_cheating_signal = 0.01\n",
" off_chain_expected_cheating = off_chain_cheating_signal * s['Cheats_Volume']\n",
" on_chain_expected_cheating = s['Cheats_Caught_Volume']\n",
" return beta * max([off_chain_expected_cheating, on_chain_expected_cheating])\n",
"\n",
"# Cheater's reward per transaction sent successfully\n",
"gamma = 1\n",
"def cheater_reward(s):\n",
" return gamma * (s['Cheats_Volume'])\n",
"\n",
"# Cheater's cost per cheat caught\n",
"delta = 5\n",
"def cheater_cost(s):\n",
" return delta * s['Cheats_Caught_Volume']\n",
"\n",
"# verifiers required expected profit threshold before verifying\n",
"theta = .1\n",
"\n",
"\n",
"# Behaviors\n",
"def verifier(step, sL, s):\n",
" act = False\n",
" if (verifier_expected_reward(s) > (1+theta)*verifier_cost(s)):\n",
" act = True\n",
" return {'verifier': act}\n",
"\n",
"def cheater(step, sL, s):\n",
" act = not(s['Verifiers_On'])\n",
" return {'cheater': act}\n",
"\n",
"# Mechanisms\n",
"def commit_resources_to_verifying(step, sL, s, _input):\n",
" y = 'Verifiers_On'\n",
" x = _input['verifier']\n",
" return (y, x)\n",
"\n",
"def commit_resources_to_cheating(step, sL, s, _input):\n",
" y = 'Cheaters_On'\n",
" x = _input['cheater']\n",
" return (y, x)\n",
"\n",
"mechanisms = {\n",
" 'commit': {\n",
" 'behaviors': {\n",
" 'verifier': verifier,\n",
" 'cheater': cheater\n",
" },\n",
" 'states': { \n",
" 'Verifiers_On': commit_resources_to_verifying,\n",
" 'Cheaters_On': commit_resources_to_cheating \n",
" }\n",
" }\n",
"}\n",
"\n",
"# Environmental Processes\n",
"epsilon = 1\n",
"def volume_ep(step, sL, s, _input):\n",
" y = 'Total_Volume'\n",
" x = epsilon*s['Total_Volume']\n",
" return (y, x)\n",
"\n",
"zeta=0.2\n",
"def cheat_volume_ep(step, sL, s, _input):\n",
" y = 'Cheats_Volume'\n",
" if (s['Cheaters_On']):\n",
" x = zeta*(s['Total_Volume'])\n",
" else:\n",
" x = 0\n",
" return (y, x)\n",
"\n",
"def honest_volume_ep(step, sL, s, _input):\n",
" y = 'Honest_Volume'\n",
" if (s['Cheaters_On']):\n",
" x = (1-zeta)*s['Total_Volume']\n",
" else:\n",
" x = s['Total_Volume']\n",
" return (y, x)\n",
"\n",
"def cheats_caught_ep(step, sL, s, _input):\n",
" y = 'Cheats_Caught_Volume'\n",
" if (s['Verifiers_On']):\n",
" x = s['Cheats_Volume']\n",
" else:\n",
" x = 0\n",
" return (y, x)\n",
"\n",
"def verifier_cost_ep(step, sL, s, _input):\n",
" y = 'Verifiers_Cost'\n",
" if (s['Verifiers_On']):\n",
" x = verifier_cost(s)\n",
" else:\n",
" x = 0\n",
" return (y, x)\n",
"\n",
"def verifier_reward_ep(step, sL, s, _input):\n",
" y = 'Verifiers_Reward'\n",
" if (s['Verifiers_On']):\n",
" x = verifier_reward(s)\n",
" else:\n",
" x = 0\n",
" return (y, x)\n",
"\n",
"def cheater_cost_ep(step, sL, s, _input):\n",
" y = 'Cheaters_Cost'\n",
" if (s['Verifiers_On']):\n",
" x = cheater_cost(s)\n",
" else:\n",
" x = 0\n",
" return (y, x)\n",
"\n",
"def cheater_reward_ep(step, sL, s, _input):\n",
" y = 'Cheater_Reward'\n",
" if (s['Cheaters_On']):\n",
" x = cheater_reward(s)\n",
" else:\n",
" x = 0\n",
" return (y, x)\n",
"\n",
"ts_format = '%Y-%m-%d %H:%M:%S'\n",
"t_delta = timedelta(days=0, minutes=0, seconds=1)\n",
"def time_model(step, sL, s, _input):\n",
" y = 'timestamp'\n",
" x = ep_time_step(s, dt_str=s['timestamp'], fromat_str=ts_format, _timedelta=t_delta)\n",
" return (y, x)\n",
"\n",
"\n",
"\n",
"# remove `exo_update_per_ts` to update every ts\n",
"exogenous_states = exo_update_per_ts(\n",
" {\n",
" 'Total_Volume': volume_ep,\n",
" 'Honest_Volume': honest_volume_ep,\n",
" 'Cheats_Volume': cheat_volume_ep,\n",
" 'Cheats_Caught_Volume': cheats_caught_ep,\n",
" 'Verifiers_Cost': verifier_cost_ep,\n",
" 'Verifiers_Reward': verifier_reward_ep,\n",
" 'Cheaters_Cost': cheater_cost_ep,\n",
" 'Cheater_Reward': cheater_reward_ep,\n",
" 'timestamp': time_model\n",
" }\n",
")\n",
"\n",
"env_processes = {\n",
"}\n",
"\n",
"\n",
"\n",
"sim_config = {\n",
" 'N': 1,\n",
" 'T': range(100)\n",
"}\n",
"\n",
"configs.append(\n",
" Configuration(\n",
" sim_config=sim_config,\n",
" state_dict=genesis_states,\n",
" seed=seed,\n",
" exogenous_states=exogenous_states,\n",
" env_processes=env_processes,\n",
" mechanisms=mechanisms\n",
" )\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Run the engine"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"single_proc: [<SimCAD.configuration.Configuration object at 0x1207d9128>]\n"
]
}
],
"source": [
"from SimCAD.engine import ExecutionMode, ExecutionContext, Executor\n",
"# from demos import simple_tracker_config\n",
"from SimCAD import configs\n",
"exec_mode = ExecutionMode()\n",
"\n",
"single_config = [configs[0]]\n",
"single_proc_ctx = ExecutionContext(exec_mode.single_proc)\n",
"run = Executor(single_proc_ctx, single_config)\n",
"run_raw_result = run.main()[0]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Analyze the results"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x1217bb5f8>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEACAYAAAC9Gb03AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJztnXmYVMW5/z/V3TM9M8zSMwMCsogiiyCKMopLxC0ucUHcJSaKJtcYozEmGrdc45LHuMVr9Jfo1YviGndxTa7LhShiJCC4gQooCoKs3QPDrN1dvz9On57TyzmnzplulqY+z+Mjc7rO21XnVL1V9a2qt4WUEo1Go9GULoGtnQGNRqPRFBft6DUajabE0Y5eo9FoShzt6DUajabE0Y5eo9FoShzt6DUajabE0Y5eo9FoShzt6DUajabE0Y5eo9FoSpzQ1s4AQO/eveWQIUO2djY0Go1mu2LevHnrpJR93NJtE45+yJAhzJ07d2tnQ6PRaLYrhBBfq6TT0o1Go9GUONrRazQaTYmjHb1Go9GUONrRazQaTYmjHb1Go9GUOK6OXgjxoBBijRDiE8u1BiHEG0KIxan/16euCyHE3UKIJUKIj4QQ+xYz8xqNRqNxR2VEPw04NuvaVcBbUsphwFupvwF+AAxL/XcBcG9hsqnRaDQav7juo5dSvi2EGJJ1+STgsNS/HwZmAlemrj8ijd8n/JcQIiKE6C+lXFWoDFt58G9PUPvtO3k/2xSo4x9VE0EIVztCJjh+83Qq5WbHdEmCvFn1A5qDDUr5G9f+Hrt1LXZN92G4iS/KRynZ3Dm+nIPbZgLOPwG5NtiXmVXHKNksl+0cu/klwrLdMV2cMv6314m0BqqV7B7UNoMB8eWu6eZUHMzXZUOVbA7pWsJ+7bNd060I7cJ7lYcq2eyV3MTRm18hRJdjug5Rwd97TaJLlCvZPaL17zQm1rqkEsyqPJxVoYFKNkd0fsJeHR+4pltaNoIPKsYr2Ywk1nNk6z8IkHBM1yp68VqvSUgRdDcqJce2vkhNcqNzMgLMqDqG9UHXMz8A7N0xl+GdC13TLSzfm0/DeyvZ3Cm+igltbyJc2lQs0MAbVccr+ZSgjHPc5heokG2uaaMDj+A/zjpdKa9+8Xtgqq/pvKWUq4QQO6WuDwCsLXtF6lqOoxdCXIAx6mfw4MG+MjGo5ROObPlbzvVA6oV9GB6n1IB261rCjzc9AECS/C/RtNkhwrxSfZpS/i5ovptIMmpr07Q7uvMjrm+8Q8nm8S3P8/22v7vaBMOBqjjlPTs+5OxNDwLu5V8f7M3bVUe52hQywcWx2wmSdM3roPjX3Fn/n642AU7d9AT7d8x2tRknxHsVE5Qa5X7t73FWy8OAe/m/Ce3Kgor9XG3WJJv5WfOfHW2admuTMabWXeJqE+DsjQ8yomuhq80NgQZ+XvGEks0JbW9xRsujSnVqUfkYviwf7mpz58QKztt4H+BefkGSZ2rOUcrrlOZ72TnxravNZaF/cWWfvyrZPLr1FU7c/JxS+T+o2J/1wZ1s05kM71zEjzZNBZzLD/Ba6wClfPYIKaXrf8AQ4BPL37Gsz6Op/78KfM9y/S1gnJv9cePGyYKy+A0pf18r5dfvqaX/7O9G+uVz7dMkk1Le2FvK1/9TzWYiIeX1ESnfvNE53VM/lvKeJjWbUkr5xGQp/3Kgc5oFfzPKs26Jms15jxjpNyyzT9MWM9LM+rOazZZ1Rvr3/uqc7sHjpJx6rJpNKaX8n6OknHaCc5p37zG+uzWqZvOdO430HS32adYtMdLMf0LN5prPjPQfPeOc7p79pHzyR2o2pZTyz2OlfOY85zSvXyflDQ1GnVXhH9dIeVNf5zTfvG+U54vX1Wx+NctIv+T/nNPduquUL/9KzaaUUt48SMpXr3BOM/0iKe8YoW7zuQukvHNP5zSLXjHK8+0HajY/ecFIv+pj9Xz4AJgrFXy43103q4UQ/QFS/1+Tur4CGGRJNxBY6fM7/FPVaPy/dYNa+rZUuioHSUYIw66qzY5mkMnuvNjhxSYYeXXKp2kTfJTfIa/hWgiEutMWwiYYZVG1CUaZVJ6pNQ8qNkMVUFZVWJug9q7aomo2Tbsq5U/GoWNTYW2aaVVQfv8e6n+iy2hXqjalsxSTZmu1qS2IX0f/EnBu6t/nAi9arp+T2n1zANAsi6TPO5J+KevV0pvpClkpWz1U9LYNkEwq2l2v5jzNtKo2g2Eo72WfJt3ReX2mCg1I1aZpt9BOyXR0TjJPRR2IYBHqVIO6zUQc2mMeyu8hr67vyUedsubF1q6H9292iCp1KtEBnc5rbmmKUqcU6/8WQmV75d+A94ARQogVQoifALcARwkhFgNHpf4GeA34ElgCPABcVJRcu1Hpo1IGyiBc42K3vjiOTiaNBqxqV3n04bGhu+nZnjo6L45OcfSVTBiNvRgdXaXLM/Xb0bnZ9ePoVGyCt3fl9kzDdSACha//lQ2Fd55+2n/B29QGKK+GUFgtfZFR2XUz2eajI/OklcAvepqpHlPeyxiheplmqzq6Ne4r/mmboF4p26LuaZNJNUeXtqlafgWbpl2vMxoVpyQT0N4MlRHntO3NgFSwaTZ0D9NslZFXlYfye5GuzI7Orf6pSIzWz73IbPW7OKcJBIzn7qVNlVVBWaVzuqoGWOm+iyhtE7xJd27lArX6X1EHCO8+ZRuhNE/G+hl9qTg6X9JFAafZ7TE13T9cY8xQCjmiAW8yQzHKXwybZjrl9+9h9BmqhHIH3d+0mexS09O3ifJ7GNF6sakyoytG+VV1/0DQ+4x+G9HnoVQdPXjX01UrZVvUkBBcbXqQLqzpHW0qjmi2lY7OTfc3bYLau1KdupsLxwUvv5eOzkOdMvPgarMIdSoRN2ZKxejolAYPjZDohM4WNZvmPW42QbFOKc6STLva0W9jVNV7q5SV9Qo2G1J6erOazUCZodO52TTTu9GmKIeYdr3IDKo226JqC8emHOImR3iRmVQdvRApmUnhmSYT0BZTa+iqNiHV0BXqVKUHmUnVKaX1dAWbqrq/+b2e2pSiTTO9ik3wIN0V0KZpV3k9RbFNbSFK2NF7WeTyOvpSaUAKOzm82vSykq86+lJd4DRtyoQx1XVDeURbhBmNmUal82iLAdKbTSWZwWOd8tLRuTkQU0/3NEsogqMreJuKQlkvKKtwTlfhpaPzWKdaFbfCqr7/LYR29Mlk8ZySis3yagiWF3bqDuqNsl1xv7/1e1U7JdUOyUyvYtN6j5tdT52nos1kHDqcj/Wn7Ra8Tq03FjjddH9Qr/+en6kHPb0odUrBphc9vRhtKt5p1BHt6LcAlQ3G4qWbnt7RbIxSVXedgHoFUnF0XvT0YuiJXm1a73Gzq/JMwzUpPV2xobsdbDKp8tjQlaQ7j52SkhzgwWZbVF0OMNeTXG16GNFWNhgLx256uhfd33ObUnhPpt2Cz2gUO7r0fn/FvG4BStfRp/enu8gMfhyd0jTbw/aqyga1Rtm63hj9u+n+VptuerqXiu61Uao4JS8dnal7KsSvUR7Re5q6m+V3eVdeHF36IFYBZ0mgPvr06uis99iherDJmka5TSmOklWlO9VtwGaaRAd0tbrY9DBL2EKUtqMH90rpVfdVsWmmUa6UHhqliu4P6nq616mr9R47vOj+5ncXUg6z2nQbfXmVLqz32NHuQfcXwvv7V8Groy/k7MNL51ERUT+I5an8qtJd6mCTm+5v2jTz4WhTO/othzltKmSlLO+lpqcnk95W3b04Oi82zXscbRahoXtZ4DS/u9Aj2sqG7oNYbjbB2+izkHUKvOnpXm26dnQbPOj+ijuEvDi6QMCDnu6l/nuQ7jy3KcX3r3fdbAGK4ehUZQbVg00mqqMv1ROcpk1QcMoeZjSmnu42JVY9wWmiGtjMq6Mz73Gzqar7q0pXXh29ckfnYUZT2aAW2GxrDx5Mu27PVPVgU7ZNlRnd1mxTW4gdwNEX+KWobLFKa5Re9ERFPd1L5wFqjVLlYBOod3RFG9F6lG7Afe3DPP6uIoeZerpbp+RFDgS1jk41oFnapoeObms7OhWZxYvub9pMdLoHNlPdBmraBPf277X+bwFK19F7GX2pBDRL21WYEvpxdCqBzYo1olU52GS1W8ipO6AU2Myz7u/h/auOPL12dIUc0Xo52GTaBLV3pfpMVQObFWNG48em9T4nuwVvU9tWQDMoZUevGtjMywInFG9EC86VXTWgWY5Nt7x6sGnadW2UPkZ0bnq6V93fi6P3MvLy9P4LKDN4lsMUd4h5GdGqBjZr3ZA62OQS0MxERbr080yt99na9VD+CtWObtsKaAal7OiVR18eX0oxGrrK6MOr7l9erRbYzKuj8zKjKeQiVzFsmp976ugUR58qAc2sNt0OYvmZJVnvc7JbjPrvx6ZTR+fb0Tu8K68HmwJBY5dQoevUFqB0HT2ojz69jmjdDmL50WjBeaTk1abZ0anOaFRRbeiqur9pE5zfldcRbTqwWQFHtOb3q+jJXp8pONsthqP3st8/bVe1TXl09G4HsfzMEsG5/nvV/U27hW5TW4ASd/QKgc08jz4a3A9imbq/ysEmUBt9egloZrWr4ui82nRbOFaN82OiEtjMq6NTCWyWiKsHNDNRHtF6OBWp5Oi9dnQKB7G8bhowv7+Qur9p07zPySZ4mNEVwSYorqdsWwHNoOQdvWKj9PqizfucbHrS/T1USq+dkpNNrwucpk23g1ieR3TFKr/L+/dysMnE1KjdZAavNs37nGxa07qhsj89bdNLp6Sopxe8TW1QC2hmoqKnex08gGJHt20FNIMd3dF7XeAEi1NyGSl5sZkObFbAES24V0ovAc3SNhVlBq8O2bzP1qaPvcnm7KPQNl31dB9yELjPaFQPNqXtutR/X3VKceHYV51yeFdebaYDm6nIgQVsU9tgQDModUefjvdio6d7CWhmtQkKI3oPjk5l4bgYI1q/Nq332tn18kzTgc1cbKoebDJxOx3pa0SrWP5ijGi9ygFu0p0fR28GNrM7iJXo8q77K7cpj0HC3KS7nrQpu44u3XlsOwHNoNQdfVUjIO31dL8jOiisozftumm0qgHNrDbbNtjr6V51X2tat7x6eabpjk7BpqocBsUb0Zr5yYfXg01gCWzmskbjuU65bIX0NaJ1WeT0tcCp6ug9jpJV37/XTjnRYX8Qy49P2QLsAI4e+5e9rYxoQU1P9eroKhucD2L5HdFZ783G1P19jT4LOEpO23TQ0/3KYdZ7s/GzwKkS2MyXoyvSiNZ6byFsqgQ28+3oXQYPqgHNTNzqv586tQUocUfvEtjMz4jWDGxmN6IxdX8/Tslte6Ufm2CvU/sd0VjvzcbrwSYTt9ORfka0boHNvG7ZtKa1y6sfm6Ams/iy6SAzmAHNVA82gXv5/YxozYVjx/rvp0252exJm7Irv482tQUocUfvMs320/u66eleDzaZuI1ofU3d3Zyyj0YZrjG2jtpO3X1OXd1kBr8jOvNeO5uedf8ijGhNu4WUw0ybToHN/No0781r0+eI1qn+ew1olm3TaUa3LbSpLcAO4ugLPM1yapR+NTq3/el+p+7mvXY2vRxsAveOrkeOrghTd3B+V17lsPRBrELXKQeZxY/ub82DU1796P5uNq3frWxXpU35qFOJTvuDWEWpUz7rf5EpbUfvpqe1bfB2sClt12Hblu+pu4Ke7rtROlRKLwHNrHYLXdGdApslE94PNlnzYDvN9jF1Nw9iOdkE73adbHoNaGa1ac1TNn7WPdwCm/k52GemL3Sbciu/3wVuJ5vbYEAzKHVH7xbYzM8CJxRvRAv5K5Cf/f4ZNu3y6sOmabcYMxo7Pd2v7q8y+vQz8lJ6/wWUGXqi+1vvz2fXaz7dApt5Pdhk4jSj6ckztd6fY9dH+d0OYm2DAc2g1B29q8zg8wRbURq6g1Pyq/unD2IV2tFt4UZZtIbuY+pu2nUaJXsJaGa1aXcQqxh1yrxejPrfE5v5Oroev/8878rvwab0QawCl7/IlLajB/dG6XdEZ3cQy2+ldJKZ/I6S3eK9+K2UbjaDYW8LnODcKP0cbAI1Pd2XU3Jq6H4HD07vvwiOPh3QzO+MxqlN+TgsVNVofxCrGB2931kSFKdNFZkdwNE76Ol+p1lVDdgexGr1qfs7TbP96p6mXbvtlX6DLzktHHsNaGbiFNjM706GdEeXx2axHF3bBv+ODsgbBsDvYqRTYDM/+/1NHNdoetjR5Xv/ftc9imETcNwKvQ0GNIMdwtEXaZpp3m9n04/u72QTCiuz+AlolrbZaB/YbFsa0Zr32MlhfnR/q007maEYdQq8O5BAwP79F6NOmXYLXn6fur+Tnt7jOlXgjq7I9MjRCyEuE0J8KoT4RAjxNyFEhRBiVyHE+0KIxUKIp4QQ5YXKrC/sGnoy6W8xClyckk+b5sLxFnN0PgKaWW2Cvczid5Rs3p/PpjWNV7tOclBPOrq8Mzq/js6lo/Ma0Cxt1+b9F6JO5e3oerDuZd6fY9PnM3XS03tUfpuObhsNaAY9cPRCiAHAL4EmKeWeQBA4C7gV+C8p5TAgCvykEBn1jV1gM3OB0880y1FP9+nonI7BF2P01VObVhvZdv3YdAps1rreONjky9G5NHSvuj+4v/+C16keyAF20pXfWYJ5Tz493TzYVJQ25TNImJ2eXog2ld3RbaMBzaDn0k0IqBRChIAqYBVwBPBs6vOHgUk9/I6eUdVIXj29Rxqlw+jDz95cq107jdZrQDOrzXx6ul/d13pPXgfic0TnFNjM7zZQsNdTexJ8Kr2ekvWu/Pxik4kZ2MxujcJ3nbLZCtmTE5x260l+ApqlbTrUKb8zb7CvUz1d90p05gY220YDmoHhqH0hpfxWCHEH8A3QBrwOzANiUsp4KtkKYECPc9kTevU2/n/H8EzdXKYcX68eVPSXL4VXf535WaIThhzi3aZp9/NX4aY+mdeTcaju5133B6jqbZT1DzvlL39Vb382AZ78oTE9tpLo9GfTtPvBI/Dh37JsdkG/Mf5tbl6b55mmZni9fOTVrDMPHmNowCbmCM+PTSGM+2b9F8y+J/OzRCcMPcK7TTMvn72Sv06BP6dslu+ecYUrf0XEmNG9fi28+fvMzxKdMOYM7zbNvNiVv7zGu+4P3fX71iGFa1NFxrejF0LUAycBuwIx4BngB3mS5g00IYS4ALgAYPDgwX6z4c6wo+CwayDelvtZeS/Y5WDvNsPVcOLdEP0qz4cC9p7s3SbA4dfCgH3zfzZwP3829zzFmGYmu3I/q4j4c6CRwXDsLdCyOvczEYR9fuTdJsDRN8Gyd/J/tuuh/mzue47xf5lnK2xNf6j1MQ7pPxa+f31+jT5YDqN8TmKP/xN8Oy//ZyOO82fzgItSo9Y8zbBhqLeAZiZDDoHDfwddeUL1hiph6JHebQYCcNJfYe2i/J/veZp3mwCH/AZ6D8v/md/Bw8jjIHaVEa44m/JqGDTen90iIqTTL8U43SjE6cCxUsqfpP4+BzgQOB3oJ6WMCyEOBK6XUh7jZKupqUnOnTvXVz40Go1mR0UIMU9K2eSWrica/TfAAUKIKiGEAI4EFgIzALP7PRd4sQffodFoNJoe4tvRSynfx1h0/QD4OGXrfuBK4NdCiCVAIzC1APnUaDQajU98a/QAUsrfA1krJ3wJ7N8TuxqNRqMpHKV/Mlaj0Wh2cLSj12g0mhJHO3qNRqMpcbSj12g0mhJHO3qNRqMpcbSj12g0mhJHO3qNRqMpcbSj12g0mhJHO3qNRqMpcbSj12g0mhJHO3qNRqMpcbSj12g0mhJHO3qNRqMpcbSj12g0mhJHO3qNRqMpcbSj12g0mhJHO3qNRqMpcbSj12g0mhJHO3qNRqMpcbSj12g0mhJHO3qNRqMpcUJbOwMazfZMV1cXK1asoL29fWtnRVPCVFRUMHDgQMrKynzdrx29RtMDVqxYQU1NDUOGDEEIsbWzoylBpJSsX7+eFStWsOuuu/qyoaUbjaYHtLe309jYqJ28pmgIIWhsbOzRrFE7eo2mh2gnryk2Pa1j2tFrNBpNiaMdvUazHbN+/XrGjh3L2LFj6devHwMGDEj/3dnZmZN+w4YN3Hfffa524/E4kUgk72dSSgYPHszSpUszrl988cXceeedtjbffPNNJk2a5PrdmsKjHb1Gsx3T2NjIggULWLBgARdeeCGXXXZZ+u/y8vKc9KqO3gkhBGeeeSZPPvlk+loikeD555/njDPO6JFtTXHQu240mgJxw8ufsnDlxoLaHLVzLb8/cbSve2+77TYeeeQRAH72s59xySWXcNVVV/H5558zduxYjj32WK655homTZpELBYjHo9z8803c8IJJ7janjx5Mueeey7XXnstADNmzGD48OEMHDiQtrY2LrzwQj744APKysq46667mDBhQsb9v/vd7+jduze/+tWvABg5ciRvvvkm7e3tTJo0if3335/333+fcePGcfbZZ3PDDTewbt06nnjiCZqammhpaeHiiy9m4cKFdHV1ceONN3LiiSf6ek47AtrRazQlyJw5c3j88ceZM2cOiUSC/fffn0MPPZRbbrmFJUuWsGDBAsA4B/Diiy9SU1PDmjVrOPjgg5Uc/b777ktXVxeffvopo0eP5sknn2Ty5MkA3H333ZSXl/Pxxx/z6aefctxxx7F48WLlvH/++ec8/fTTjBw5kn333ZdwOMzs2bN57rnnuOWWW3j22We58cYbOfbYY5k2bRrRaJTx48dz1FFHUVFR4e+BlTja0Ws0BcLvyLsYvPPOO5x66qlUVVUBMGnSJGbNmsXRRx+dkU5KyZVXXsmsWbMIBAIsX76cdevW2erzVs466yyefPJJrrvuOl5++WVuvfVWAGbNmsUVV1wBwOjRo9l5551ZsmSJct533313Ro0aBcCoUaP4/ve/D8CYMWP44x//CMDrr7/O3//+d2655RbA2Ob6zTffMHz4cOXv2ZHokaMXQkSA/wH2BCRwPvA58BQwBFgGnCGljPYolxqNxhNSSqV0jzzyCM3NzXzwwQeEQiEGDhyovF978uTJnHjiiYwfP56mpiYaGxuVvzsUCpFMJtN/W78zHA6n/x0IBNJ/BwIB4vF4+jumT5/O0KFDlfK6o9PTxdg/A/+QUo4E9gYWAVcBb0kphwFvpf7WaDRbkAkTJvDCCy/Q1tZGS0sLL774Iocccgg1NTVs2rQpna65uZmddtqJUCjEG2+8wbfffqv8HSNGjKC6uprf/e53adnG/O7HH38cgEWLFrFq1Sp23333jHuHDBnCvHnzAENmWr58uafyHXPMMdx9993pv+fPn+/p/h0N345eCFELTACmAkgpO6WUMeAk4OFUsocBvZ9Ko9nC7L///kyePJn99tuPAw44gJ///OeMGTOGvn370tTUxJgxY7jqqqv48Y9/zOzZs2lqauKZZ55h2LBhnr5n8uTJfP7555x00knpa5dccgltbW2MGTOGs88+m0ceeSRnB9Dpp5/O6tWr2WeffZg6dSq77babp+/9/e9/T2trK2PGjGH06NFcf/31nu7f0RCqU7ycG4UYC9wPLMQYzc8DLgW+lVJGLOmiUsr6PPdfAFwAMHjw4HFff/21r3xoNFuTRYsWsccee2ztbGh2APLVNSHEPCllk9u9PZFuQsC+wL1Syn2AzXiQaaSU90spm6SUTX369OlBNjQajUbjRE8WY1cAK6SU76f+fhbD0a8WQvSXUq4SQvQH1vQ0kxqNZuuwYMECpkyZknGtqqqK2bNnb50MaXzh29FLKb8TQiwXQoyQUn4OHIkh4ywEzgVuSf3/xYLkVKPRbHHGjh2b3nOv2X7p6T76S4DHhRDlwJfAeRhy0NNCiJ8A3wCn9/A7NBqNRtMDeuTopZQLgHwLAUf2xK5Go9FoCocOaqbRaDQljnb0Go1GU+JoR6/RbOdUV1dn/D1t2jQuvvjiLfLdd911F62trbafT5kyhf/+7//OuDZ9+nSOO+44R7vZZdL0DO3oNRqNb9wc/eTJkzPi1gMZkS41WwYdvVKjKRR/vwq++7iwNvuNgR/c4vv2r7/+mvPPP5+1a9fSp08fHnroIQYPHsyUKVOora1l7ty5fPfdd9x2222cdtppANx+++08/fTTdHR0cPLJJ3PDDTewefNmzjjjDFasWEEikeA///M/Wb16NStXruTwww+nd+/ezJgxI+f7v//97zNlyhRWrVpF//79aW1t5c033+SBBx4A4M477+TBBx8E4Kc//Wk6Pr3JzJkzueOOO3jllVcA41esmpqamDJlCkOGDOGHP/whM2bMoKuri/vvv5+rr76aJUuWcMUVV3DhhRfalmdHQzt6jWY7p62tjbFjx6b/3rBhAxMnTgQMx3jOOedw7rnn8uCDD/LLX/6S6dOnA7Bq1SpmzZrFZ599xsSJEznttNN4/fXXWbx4MXPmzEFKycSJE3n77bdZu3YtO++8M6+++ipgBEOrq6vjzjvvZMaMGfTu3Ttv3oLBIKeccgpPP/00l156KS+99BKHH344NTU1zJs3j4ceeoj3338fKSXjx4/n0EMPZZ999lEu+6BBg3jvvfe47LLLmDJlCu+++y7t7e2MHj2aCy+80LY82T+EUupoR6/RFIoejLx7QmVlZcahpmnTpjF37lwA3nvvPZ5//nkAfvzjH/Pb3/42nW7SpEkEAgFGjRrF6tWrASPO++uvv552ti0tLSxevJhDDjmEyy+/nCuvvJITTjiBQw45RDl/kydP5oorruDSSy/lySef5JxzzgGMuPUnn3wyvXr1AuCUU07hnXfe8eTozQ5tzJgxtLS0UFNTQ01NDRUVFcRiMdvyaEev0WhKFiFE+t/WuO9mcEMpJVdffTU/+9nPcu6dN28er732GldffTVHH3001113ndJ3HnzwwaxatYoPP/yQ2bNnpzX7nsatt5bBGrfe/DsejzuWZ0dCL8ZqNCXMQQcdlHasjz/+ON/73vcc0x9zzDE8+OCDtLS0APDtt9+yZs0aVq5cSVVVFT/60Y+4/PLL+eCDDwBy4tvnQwjBGWecwbnnnstxxx2X/rm/CRMmMH36dFpbW9m8eTMvvPBCzkxhl112YeGueqr6AAAgAElEQVTChXR0dNDc3Mxbb73lqfx25dnR0CN6jaaEufvuuzn//PO5/fbb04uxThx99NEsWrSIAw88EDC2OT722GPpBc5AIEBZWRn33nsvABdccAE/+MEP6N+/f97FWJPJkydz++23p3/6D4zfnZ0yZQr7778/YCzGZss2gwYN4owzzmCvvfZi2LBhnmQdp/LstNNOnuxs7/iOR19ImpqapKkpajTbEzoevWZLsbXi0Ws0Go1mO0BLNxqNpiCMHz+ejo6OjGuPPvooY8aM2Uo50phoR6/RaArC+++/755Is1XQ0o1Go9GUONrRazQaTYmjHb1Go9GUONrRazQaTYmjHb1GUwJ89913nHXWWQwdOpRRo0Zx3HHHcf/993PCCScUxP706dNZuHChp3uWLVvGwIEDM0IYgPGD43PmzLG97/rrr+eOO+7wlU9NfrSj12i2c6SUnHzyyRx22GEsXbqUhQsXcvPNN6cDlRUCP45+yJAhDBo0iHfeeSd97bPPPmPTpk3p07CaLYPeXqnRFIhb59zKZxs+K6jNkQ0juXL/Kx3TzJgxg7KysnT8dTBGzbFYjLfeeovTTjuNTz75hHHjxvHYY48hhGDevHn8+te/pqWlhd69ezNt2jT69+/PAw88wP33309nZye77747jz76KAsWLOCll17in//8J3/4wx947rnnePXVV7nvvvsIhUKMGjUq58dFTMwfHjn00EOBzB8dsYuVb+Wwww7jjjvuoKmpiXXr1tHU1MSyZcuYNm0a06dPJ5FI8Mknn/Cb3/yGzs5OHn30UcLhMK+99hoNDQ0sXbqUX/ziF6xdu5aqqioeeOABRo4c2ZNXsl2iR/QazXaO6cTzMX/+fO666y4WLlzIl19+ybvvvktXVxeXXHIJzz77LPPmzeP888/n2muvBYxQwf/+97/58MMP2WOPPZg6dSoHHXQQEydO5Pbbb2fBggUMHTqUW265hfnz5/PRRx9x33332ebtjDPOYPr06cTjcQCeeuopzjrrLKA7Vv5HH33E2WefzS9/+UvP5X7iiSeYM2cO1157LVVVVcyfP58DDzyQRx55BDBi8dxzzz3MmzePO+64g4suusjTd5QKekSv0RQIt5H31mD//fdn4MCBgDHKX7ZsGZFIhE8++YSjjjoKgEQiQf/+/QHDef7ud78jFovR0tLCMccck9fuXnvtxdlnn82kSZOYNGmS7ff369eP0aNH89Zbb9G3b1/KysrYc889AedY+SqYP2BSU1NDXV0dJ554ImDEpv/oo49oaWlh9uzZnH766el7sk/u7ihoR6/RbOeMHj2aZ599Nu9n1hjtwWAwHaN99OjRvPfeeznpp0yZwvTp09l7772ZNm0aM2fOzGv31Vdf5e233+all17ipptu4tNPPyUUyu9OTPmmb9++jr8Va42Vb2KNR28Xix4y49GbseiTySSRSCTjR1l2VLR0o9Fs5xxxxBF0dHSkf4cV4N///jf//Oc/86YfMWIEa9euTTv6rq4uPv30UwA2bdpE//796erq4vHHH0/fY407n0wmWb58OYcffji33XZbevRvx6mnnsprr72WIduAWqz8IUOGMG/ePADbzsyO2tpadt11V5555hnAWLT+8MMPPdkoFbSj12i2c4QQvPDCC7zxxhsMHTqU0aNHc/3117PzzjvnTV9eXs6zzz7LlVdeyd57783YsWOZPXs2ADfddBPjx4/nqKOOyli0POuss7j99tvZZ599WLx4MT/60Y8YM2YM++yzD5dddhmRSMQ2f5FIhAMOOIC+ffuy6667pq/ffffdPPTQQ+y11148+uij/PnPf8659/LLL+fee+/loIMOYt26dZ6fzeOPP87UqVPZe++9GT16NC+++KJnG6WAjkev0fQAHY9es6XQ8eg1Go1GY4tejNVoND3moYceypFeDj74YP7yl79spRxprGhHr9Foesx5553Heeedt7WzobGhx9KNECIohJgvhHgl9feuQoj3hRCLhRBPCSHKe55NjUaj0filEBr9pcAiy9+3Av8lpRwGRIGfFOA7NBqNRuOTHjl6IcRA4Hjgf1J/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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"import pandas as pd\n",
"from tabulate import tabulate\n",
"result = pd.DataFrame(run_raw_result)\n",
"result.plot('timestamp', \n",
" ['Total_Volume',\n",
" 'Honest_Volume',\n",
" 'Cheats_Volume',\n",
" 'Cheats_Caught_Volume'])"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x121aeb400>"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"result.plot('timestamp', ['Verifiers_Cost',\n",
" 'Verifiers_Reward',\n",
" 'Cheaters_Cost',\n",
" 'Cheater_Reward'])"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Cheater_Reward</th>\n",
" <th>Cheaters_Cost</th>\n",
" <th>Cheaters_On</th>\n",
" <th>Cheats_Caught_Volume</th>\n",
" <th>Cheats_Volume</th>\n",
" <th>Honest_Volume</th>\n",
" <th>Total_Volume</th>\n",
" <th>Verifiers_Cost</th>\n",
" <th>Verifiers_On</th>\n",
" <th>Verifiers_Reward</th>\n",
" <th>mech_step</th>\n",
" <th>run</th>\n",
" <th>time_step</th>\n",
" <th>timestamp</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>False</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>100.0</td>\n",
" <td>100</td>\n",
" <td>0.0</td>\n",
" <td>True</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>2018-01-01 00:00:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>100.0</td>\n",
" <td>100</td>\n",
" <td>0.1</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2018-01-01 00:00:01</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>100.0</td>\n",
" <td>100</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>2018-01-01 00:00:02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>20.0</td>\n",
" <td>80.0</td>\n",
" <td>100</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>2018-01-01 00:00:03</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>20.0</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>20.0</td>\n",
" <td>80.0</td>\n",
" <td>100</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>2018-01-01 00:00:04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>20.0</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>20.0</td>\n",
" <td>20.0</td>\n",
" <td>80.0</td>\n",
" <td>100</td>\n",
" <td>0.1</td>\n",
" <td>1</td>\n",
" <td>80.0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>2018-01-01 00:00:05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>0.0</td>\n",
" <td>100.0</td>\n",
" <td>0</td>\n",
" <td>20.0</td>\n",
" <td>0.0</td>\n",
" <td>100.0</td>\n",
" <td>100</td>\n",
" <td>0.1</td>\n",
" <td>1</td>\n",
" <td>80.0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2018-01-01 00:00:06</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>0.0</td>\n",
" <td>100.0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>100.0</td>\n",
" <td>100</td>\n",
" <td>0.1</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>7</td>\n",
" <td>2018-01-01 00:00:07</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>100.0</td>\n",
" <td>100</td>\n",
" <td>0.1</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>2018-01-01 00:00:08</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>100.0</td>\n",
" <td>100</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>9</td>\n",
" <td>2018-01-01 00:00:09</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>20.0</td>\n",
" <td>80.0</td>\n",
" <td>100</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>10</td>\n",
" <td>2018-01-01 00:00:10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>20.0</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>20.0</td>\n",
" <td>80.0</td>\n",
" <td>100</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>11</td>\n",
" <td>2018-01-01 00:00:11</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>20.0</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>20.0</td>\n",
" <td>20.0</td>\n",
" <td>80.0</td>\n",
" <td>100</td>\n",
" <td>0.1</td>\n",
" <td>1</td>\n",
" <td>80.0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>12</td>\n",
" <td>2018-01-01 00:00:12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>0.0</td>\n",
" <td>100.0</td>\n",
" <td>0</td>\n",
" <td>20.0</td>\n",
" <td>0.0</td>\n",
" <td>100.0</td>\n",
" <td>100</td>\n",
" <td>0.1</td>\n",
" <td>1</td>\n",
" <td>80.0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>13</td>\n",
" <td>2018-01-01 00:00:13</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>0.0</td>\n",
" <td>100.0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>100.0</td>\n",
" <td>100</td>\n",
" <td>0.1</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>14</td>\n",
" <td>2018-01-01 00:00:14</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>100.0</td>\n",
" <td>100</td>\n",
" <td>0.1</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>15</td>\n",
" <td>2018-01-01 00:00:15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>100.0</td>\n",
" <td>100</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>16</td>\n",
" <td>2018-01-01 00:00:16</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>20.0</td>\n",
" <td>80.0</td>\n",
" <td>100</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>17</td>\n",
" <td>2018-01-01 00:00:17</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>20.0</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>20.0</td>\n",
" <td>80.0</td>\n",
" <td>100</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>0.0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>18</td>\n",
" <td>2018-01-01 00:00:18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>20.0</td>\n",
" <td>0.0</td>\n",
" <td>0</td>\n",
" <td>20.0</td>\n",
" <td>20.0</td>\n",
" <td>80.0</td>\n",
" <td>100</td>\n",
" <td>0.1</td>\n",
" <td>1</td>\n",
" <td>80.0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>19</td>\n",
" <td>2018-01-01 00:00:19</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Cheater_Reward Cheaters_Cost Cheaters_On Cheats_Caught_Volume \\\n",
"0 0.0 0.0 False 0.0 \n",
"1 0.0 0.0 0 0.0 \n",
"2 0.0 0.0 1 0.0 \n",
"3 0.0 0.0 1 0.0 \n",
"4 20.0 0.0 1 0.0 \n",
"5 20.0 0.0 0 20.0 \n",
"6 0.0 100.0 0 20.0 \n",
"7 0.0 100.0 0 0.0 \n",
"8 0.0 0.0 0 0.0 \n",
"9 0.0 0.0 1 0.0 \n",
"10 0.0 0.0 1 0.0 \n",
"11 20.0 0.0 1 0.0 \n",
"12 20.0 0.0 0 20.0 \n",
"13 0.0 100.0 0 20.0 \n",
"14 0.0 100.0 0 0.0 \n",
"15 0.0 0.0 0 0.0 \n",
"16 0.0 0.0 1 0.0 \n",
"17 0.0 0.0 1 0.0 \n",
"18 20.0 0.0 1 0.0 \n",
"19 20.0 0.0 0 20.0 \n",
"\n",
" Cheats_Volume Honest_Volume Total_Volume Verifiers_Cost Verifiers_On \\\n",
"0 0.0 100.0 100 0.0 True \n",
"1 0.0 100.0 100 0.1 0 \n",
"2 0.0 100.0 100 0.0 0 \n",
"3 20.0 80.0 100 0.0 0 \n",
"4 20.0 80.0 100 0.0 1 \n",
"5 20.0 80.0 100 0.1 1 \n",
"6 0.0 100.0 100 0.1 1 \n",
"7 0.0 100.0 100 0.1 1 \n",
"8 0.0 100.0 100 0.1 0 \n",
"9 0.0 100.0 100 0.0 0 \n",
"10 20.0 80.0 100 0.0 0 \n",
"11 20.0 80.0 100 0.0 1 \n",
"12 20.0 80.0 100 0.1 1 \n",
"13 0.0 100.0 100 0.1 1 \n",
"14 0.0 100.0 100 0.1 1 \n",
"15 0.0 100.0 100 0.1 0 \n",
"16 0.0 100.0 100 0.0 0 \n",
"17 20.0 80.0 100 0.0 0 \n",
"18 20.0 80.0 100 0.0 1 \n",
"19 20.0 80.0 100 0.1 1 \n",
"\n",
" Verifiers_Reward mech_step run time_step timestamp \n",
"0 0.0 0 1 0 2018-01-01 00:00:00 \n",
"1 0.0 1 1 1 2018-01-01 00:00:01 \n",
"2 0.0 1 1 2 2018-01-01 00:00:02 \n",
"3 0.0 1 1 3 2018-01-01 00:00:03 \n",
"4 0.0 1 1 4 2018-01-01 00:00:04 \n",
"5 80.0 1 1 5 2018-01-01 00:00:05 \n",
"6 80.0 1 1 6 2018-01-01 00:00:06 \n",
"7 0.0 1 1 7 2018-01-01 00:00:07 \n",
"8 0.0 1 1 8 2018-01-01 00:00:08 \n",
"9 0.0 1 1 9 2018-01-01 00:00:09 \n",
"10 0.0 1 1 10 2018-01-01 00:00:10 \n",
"11 0.0 1 1 11 2018-01-01 00:00:11 \n",
"12 80.0 1 1 12 2018-01-01 00:00:12 \n",
"13 80.0 1 1 13 2018-01-01 00:00:13 \n",
"14 0.0 1 1 14 2018-01-01 00:00:14 \n",
"15 0.0 1 1 15 2018-01-01 00:00:15 \n",
"16 0.0 1 1 16 2018-01-01 00:00:16 \n",
"17 0.0 1 1 17 2018-01-01 00:00:17 \n",
"18 0.0 1 1 18 2018-01-01 00:00:18 \n",
"19 80.0 1 1 19 2018-01-01 00:00:19 "
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"result.head(20)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"result[\"Cumulative_Cheating_Volume\"]= result['Cheats_Volume'].cumsum()\n",
"result[\"Cumulative_Cheating_Rewards\"]= result['Cheater_Reward'].cumsum()\n",
"\n",
"result[\"Cumulative_Verifiers_Cost\"]= result['Verifiers_Cost'].cumsum()\n",
"result[\"Cumulative_Verifier_Rewards\"]= result['Verifiers_Reward'].cumsum()\n",
"\n",
"result[\"Cumulative_Cheating_Penalties\"]= result['Cheaters_Cost'].cumsum()\n",
"result[\"Cumulative_Cheating_Profit\"] = result[\"Cumulative_Cheating_Rewards\"]-result[\"Cumulative_Cheating_Penalties\"]\n",
"\n",
"result[\"Cumulative_Verifier_Profit\"] = result[\"Cumulative_Verifier_Rewards\"]-result[\"Cumulative_Verifiers_Cost\"]\n",
"result[\"Cumulative_Verifier_ROI\"] = result[\"Cumulative_Verifier_Profit\"]/result[\"Cumulative_Verifiers_Cost\"]\n",
"\n",
"result[\"Running_Cheating_Volume_Fraction\"]=result[\"Cumulative_Cheating_Volume\"]/result[\"Total_Volume\"].cumsum()\n",
"\n",
"result[\"Cumulative_Net_Profit\"] = result[\"Cumulative_Verifier_Profit\"] + result[\"Cumulative_Cheating_Profit\"]"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x121c98240>"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"result[['Cumulative_Cheating_Profit', \"Cumulative_Verifier_Profit\", \"Cumulative_Net_Profit\"]].plot()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.084\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"result[\"Running_Cheating_Volume_Fraction\"].plot()\n",
"h = result[\"Running_Cheating_Volume_Fraction\"].median()\n",
"ax = plt.axis()\n",
"plt.hlines(h, ax[0], ax[1], 'r')\n",
"print(h)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"390.83673469387764\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"result[\"Cumulative_Verifier_ROI\"].plot()\n",
"h = result[\"Cumulative_Verifier_ROI\"].median()\n",
"ax = plt.axis()\n",
"plt.hlines(h, ax[0], ax[1], 'r')\n",
"print(h)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead tr th {\n",
" text-align: left;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr>\n",
" <th></th>\n",
" <th>Cheaters_On</th>\n",
" <th colspan=\"2\" halign=\"left\">False</th>\n",
" <th colspan=\"2\" halign=\"left\">1</th>\n",
" </tr>\n",
" <tr>\n",
" <th></th>\n",
" <th>Verifiers_On</th>\n",
" <th>0</th>\n",
" <th>True</th>\n",
" <th>0</th>\n",
" <th>True</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th rowspan=\"8\" valign=\"top\">Cheater_Reward</th>\n",
" <th>count</th>\n",
" <td>15.000000</td>\n",
" <td>43.000000</td>\n",
" <td>29.000000</td>\n",
" <td>14.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>0.000000</td>\n",
" <td>6.511628</td>\n",
" <td>0.000000</td>\n",
" <td>20.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>0.000000</td>\n",
" <td>9.482746</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>20.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>20.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>20.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>0.000000</td>\n",
" <td>20.000000</td>\n",
" <td>0.000000</td>\n",
" <td>20.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>0.000000</td>\n",
" <td>20.000000</td>\n",
" <td>0.000000</td>\n",
" <td>20.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"8\" valign=\"top\">Cheaters_Cost</th>\n",
" <th>count</th>\n",
" <td>15.000000</td>\n",
" <td>43.000000</td>\n",
" <td>29.000000</td>\n",
" <td>14.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>0.000000</td>\n",
" <td>65.116279</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>0.000000</td>\n",
" <td>48.224282</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>0.000000</td>\n",
" <td>100.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>0.000000</td>\n",
" <td>100.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>0.000000</td>\n",
" <td>100.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"8\" valign=\"top\">Cheats_Caught_Volume</th>\n",
" <th>count</th>\n",
" <td>15.000000</td>\n",
" <td>43.000000</td>\n",
" <td>29.000000</td>\n",
" <td>14.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>0.000000</td>\n",
" <td>13.023256</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>0.000000</td>\n",
" <td>9.644856</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>0.000000</td>\n",
" <td>20.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>0.000000</td>\n",
" <td>20.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>0.000000</td>\n",
" <td>20.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"6\" valign=\"top\">Cheats_Volume</th>\n",
" <th>count</th>\n",
" <td>15.000000</td>\n",
" <td>43.000000</td>\n",
" <td>29.000000</td>\n",
" <td>14.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>0.000000</td>\n",
" <td>6.511628</td>\n",
" <td>9.655172</td>\n",
" <td>20.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>0.000000</td>\n",
" <td>9.482746</td>\n",
" <td>10.170953</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>20.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>20.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>20.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"6\" valign=\"top\">Verifiers_Reward</th>\n",
" <th>std</th>\n",
" <td>0.000000</td>\n",
" <td>38.579426</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>0.000000</td>\n",
" <td>80.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>0.000000</td>\n",
" <td>80.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>0.000000</td>\n",
" <td>80.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"8\" valign=\"top\">mech_step</th>\n",
" <th>count</th>\n",
" <td>15.000000</td>\n",
" <td>43.000000</td>\n",
" <td>29.000000</td>\n",
" <td>14.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>1.000000</td>\n",
" <td>0.976744</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>0.000000</td>\n",
" <td>0.152499</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"8\" valign=\"top\">run</th>\n",
" <th>count</th>\n",
" <td>15.000000</td>\n",
" <td>43.000000</td>\n",
" <td>29.000000</td>\n",
" <td>14.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"8\" valign=\"top\">time_step</th>\n",
" <th>count</th>\n",
" <td>15.000000</td>\n",
" <td>43.000000</td>\n",
" <td>29.000000</td>\n",
" <td>14.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>50.000000</td>\n",
" <td>50.302326</td>\n",
" <td>49.793103</td>\n",
" <td>49.500000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>31.304952</td>\n",
" <td>29.301824</td>\n",
" <td>29.828533</td>\n",
" <td>29.283101</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" <td>2.000000</td>\n",
" <td>4.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>25.500000</td>\n",
" <td>26.500000</td>\n",
" <td>24.000000</td>\n",
" <td>26.750000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>50.000000</td>\n",
" <td>49.000000</td>\n",
" <td>51.000000</td>\n",
" <td>49.500000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>74.500000</td>\n",
" <td>75.500000</td>\n",
" <td>73.000000</td>\n",
" <td>72.250000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>99.000000</td>\n",
" <td>98.000000</td>\n",
" <td>100.000000</td>\n",
" <td>95.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>168 rows × 4 columns</p>\n",
"</div>"
],
"text/plain": [
"Cheaters_On False 1 \n",
"Verifiers_On 0 True 0 True\n",
"Cheater_Reward count 15.000000 43.000000 29.000000 14.000000\n",
" mean 0.000000 6.511628 0.000000 20.000000\n",
" std 0.000000 9.482746 0.000000 0.000000\n",
" min 0.000000 0.000000 0.000000 20.000000\n",
" 25% 0.000000 0.000000 0.000000 20.000000\n",
" 50% 0.000000 0.000000 0.000000 20.000000\n",
" 75% 0.000000 20.000000 0.000000 20.000000\n",
" max 0.000000 20.000000 0.000000 20.000000\n",
"Cheaters_Cost count 15.000000 43.000000 29.000000 14.000000\n",
" mean 0.000000 65.116279 0.000000 0.000000\n",
" std 0.000000 48.224282 0.000000 0.000000\n",
" min 0.000000 0.000000 0.000000 0.000000\n",
" 25% 0.000000 0.000000 0.000000 0.000000\n",
" 50% 0.000000 100.000000 0.000000 0.000000\n",
" 75% 0.000000 100.000000 0.000000 0.000000\n",
" max 0.000000 100.000000 0.000000 0.000000\n",
"Cheats_Caught_Volume count 15.000000 43.000000 29.000000 14.000000\n",
" mean 0.000000 13.023256 0.000000 0.000000\n",
" std 0.000000 9.644856 0.000000 0.000000\n",
" min 0.000000 0.000000 0.000000 0.000000\n",
" 25% 0.000000 0.000000 0.000000 0.000000\n",
" 50% 0.000000 20.000000 0.000000 0.000000\n",
" 75% 0.000000 20.000000 0.000000 0.000000\n",
" max 0.000000 20.000000 0.000000 0.000000\n",
"Cheats_Volume count 15.000000 43.000000 29.000000 14.000000\n",
" mean 0.000000 6.511628 9.655172 20.000000\n",
" std 0.000000 9.482746 10.170953 0.000000\n",
" min 0.000000 0.000000 0.000000 20.000000\n",
" 25% 0.000000 0.000000 0.000000 20.000000\n",
" 50% 0.000000 0.000000 0.000000 20.000000\n",
"... ... ... ... ...\n",
"Verifiers_Reward std 0.000000 38.579426 0.000000 0.000000\n",
" min 0.000000 0.000000 0.000000 0.000000\n",
" 25% 0.000000 0.000000 0.000000 0.000000\n",
" 50% 0.000000 80.000000 0.000000 0.000000\n",
" 75% 0.000000 80.000000 0.000000 0.000000\n",
" max 0.000000 80.000000 0.000000 0.000000\n",
"mech_step count 15.000000 43.000000 29.000000 14.000000\n",
" mean 1.000000 0.976744 1.000000 1.000000\n",
" std 0.000000 0.152499 0.000000 0.000000\n",
" min 1.000000 0.000000 1.000000 1.000000\n",
" 25% 1.000000 1.000000 1.000000 1.000000\n",
" 50% 1.000000 1.000000 1.000000 1.000000\n",
" 75% 1.000000 1.000000 1.000000 1.000000\n",
" max 1.000000 1.000000 1.000000 1.000000\n",
"run count 15.000000 43.000000 29.000000 14.000000\n",
" mean 1.000000 1.000000 1.000000 1.000000\n",
" std 0.000000 0.000000 0.000000 0.000000\n",
" min 1.000000 1.000000 1.000000 1.000000\n",
" 25% 1.000000 1.000000 1.000000 1.000000\n",
" 50% 1.000000 1.000000 1.000000 1.000000\n",
" 75% 1.000000 1.000000 1.000000 1.000000\n",
" max 1.000000 1.000000 1.000000 1.000000\n",
"time_step count 15.000000 43.000000 29.000000 14.000000\n",
" mean 50.000000 50.302326 49.793103 49.500000\n",
" std 31.304952 29.301824 29.828533 29.283101\n",
" min 1.000000 0.000000 2.000000 4.000000\n",
" 25% 25.500000 26.500000 24.000000 26.750000\n",
" 50% 50.000000 49.000000 51.000000 49.500000\n",
" 75% 74.500000 75.500000 73.000000 72.250000\n",
" max 99.000000 98.000000 100.000000 95.000000\n",
"\n",
"[168 rows x 4 columns]"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data =result.groupby(['Cheaters_On', 'Verifiers_On']).describe()\n",
"data.T"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead tr th {\n",
" text-align: left;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr>\n",
" <th>Cheaters_On</th>\n",
" <th colspan=\"2\" halign=\"left\">False</th>\n",
" <th colspan=\"2\" halign=\"left\">1</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Verifiers_On</th>\n",
" <th>0</th>\n",
" <th>True</th>\n",
" <th>0</th>\n",
" <th>True</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>15.0</td>\n",
" <td>43.000000</td>\n",
" <td>29.0</td>\n",
" <td>14.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>0.0</td>\n",
" <td>6.511628</td>\n",
" <td>0.0</td>\n",
" <td>20.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>0.0</td>\n",
" <td>9.482746</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>20.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>20.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>0.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>20.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>0.0</td>\n",
" <td>20.000000</td>\n",
" <td>0.0</td>\n",
" <td>20.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>0.0</td>\n",
" <td>20.000000</td>\n",
" <td>0.0</td>\n",
" <td>20.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
"Cheaters_On False 1 \n",
"Verifiers_On 0 True 0 True\n",
"count 15.0 43.000000 29.0 14.0\n",
"mean 0.0 6.511628 0.0 20.0\n",
"std 0.0 9.482746 0.0 0.0\n",
"min 0.0 0.000000 0.0 20.0\n",
"25% 0.0 0.000000 0.0 20.0\n",
"50% 0.0 0.000000 0.0 20.0\n",
"75% 0.0 20.000000 0.0 20.0\n",
"max 0.0 20.000000 0.0 20.0"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.Cheater_Reward.T"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th></th>\n",
" <th>count</th>\n",
" <th>mean</th>\n",
" <th>std</th>\n",
" <th>min</th>\n",
" <th>25%</th>\n",
" <th>50%</th>\n",
" <th>75%</th>\n",
" <th>max</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Cheaters_On</th>\n",
" <th>Verifiers_On</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th rowspan=\"2\" valign=\"top\">False</th>\n",
" <th>0</th>\n",
" <td>15.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>True</th>\n",
" <td>43.0</td>\n",
" <td>13.023256</td>\n",
" <td>9.644856</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>20.0</td>\n",
" <td>20.0</td>\n",
" <td>20.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th rowspan=\"2\" valign=\"top\">1</th>\n",
" <th>0</th>\n",
" <td>29.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>True</th>\n",
" <td>14.0</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" count mean std min 25% 50% 75% \\\n",
"Cheaters_On Verifiers_On \n",
"False 0 15.0 0.000000 0.000000 0.0 0.0 0.0 0.0 \n",
" True 43.0 13.023256 9.644856 0.0 0.0 20.0 20.0 \n",
"1 0 29.0 0.000000 0.000000 0.0 0.0 0.0 0.0 \n",
" True 14.0 0.000000 0.000000 0.0 0.0 0.0 0.0 \n",
"\n",
" max \n",
"Cheaters_On Verifiers_On \n",
"False 0 0.0 \n",
" True 20.0 \n",
"1 0 0.0 \n",
" True 0.0 "
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.Cheats_Caught_Volume"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"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.7.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}