1471 lines
270 KiB
Plaintext
1471 lines
270 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 62,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"from cadCAD.engine import ExecutionMode, ExecutionContext, Executor\n",
|
|
"from cadCAD.configuration import Configuration\n",
|
|
"import networkx as nx\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"import numpy as np\n",
|
|
"import scipy.stats as sts\n",
|
|
"import pandas as pd\n",
|
|
"import seaborn as sns\n",
|
|
"%matplotlib inline\n",
|
|
"\n",
|
|
"from scipy.stats import expon, gamma\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"This notebook uses the differential games framework developed by BlockScience. It is currently in private beta, and building towards a full open source release.\n",
|
|
"\n",
|
|
"**Description:**\n",
|
|
"\n",
|
|
"cadCAD is a Python library that assists in the processes of designing, testing and validating complex systems through simulation. At its core, cadCAD is a differential games engine that supports parameter sweeping and Monte Carlo analyses and can be easily integrated with other scientific computing Python modules and data science workflows.\n",
|
|
"\n",
|
|
"To learn more about cadCAD, follow our [tutorial series](https://github.com/BlockScience/cadCAD-Tutorials/tree/master/01%20Tutorials)\n",
|
|
"\n",
|
|
"**Installing cadCAD:**\n",
|
|
"\n",
|
|
"cadCAD is in private beta. Tokens are issued to participants. Replace `<TOKEN>` in the installation URL below\n",
|
|
"```bash\n",
|
|
"pip3 install cadCAD --extra-index-url https://<TOKEN>@repo.fury.io/blockscience/\n",
|
|
"```\n",
|
|
"\n",
|
|
"If you'd like to participate in the beta program, contact cadcad [at] block [dot] science.\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"#helper functions\n",
|
|
"def get_nodes_by_type(g, node_type_selection):\n",
|
|
" return [node for node in g.nodes if g.nodes[node]['type']== node_type_selection ]\n",
|
|
"\n",
|
|
"def get_edges_by_type(g, edge_type_selection):\n",
|
|
" return [edge for edge in g.edges if g.edges[edge]['type']== edge_type_selection ]\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"125020.46534074425\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"#generate an initial set of 'n' participants\n",
|
|
"network = nx.DiGraph()\n",
|
|
"n = 100\n",
|
|
"for i in range(n):\n",
|
|
" network.add_node(i)\n",
|
|
" network.nodes[i]['type']=\"participant\"\n",
|
|
" \n",
|
|
" h_rv = expon.rvs(loc=0.0, scale=1000)\n",
|
|
" network.nodes[i]['holdings'] = h_rv\n",
|
|
" \n",
|
|
" s_rv = np.random.rand() \n",
|
|
" network.nodes[i]['sentiment'] = s_rv\n",
|
|
"\n",
|
|
"participants = get_nodes_by_type(network, 'participant')\n",
|
|
"initial_supply = np.sum([ network.nodes[i]['holdings'] for i in participants])\n",
|
|
"print(initial_supply)\n",
|
|
"\n",
|
|
"initial_funds = initial_supply\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"1.5493976373731984\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"#generate initial proposals\n",
|
|
"m = 7\n",
|
|
"for j in range(m):\n",
|
|
" ind = n+j\n",
|
|
" network.add_node(ind)\n",
|
|
" network.nodes[ind]['type']=\"proposal\"\n",
|
|
" network.nodes[ind]['conviction']=0\n",
|
|
" network.nodes[ind]['status']='candidate'\n",
|
|
" network.nodes[ind]['age']=0\n",
|
|
" \n",
|
|
" r_rv = gamma.rvs(3,loc=0.001, scale=10000)\n",
|
|
" network.node[ind]['funds_requested'] = r_rv\n",
|
|
" \n",
|
|
" for i in range(n):\n",
|
|
" network.add_edge(i, ind)\n",
|
|
" \n",
|
|
" rv = np.random.rand()\n",
|
|
" a_rv = 1-4*(1-rv)*rv #polarized distribution\n",
|
|
" network.edges[(i, ind)]['affinity'] = a_rv\n",
|
|
" network.edges[(i,ind)]['tokens'] = 0\n",
|
|
" network.edges[(i, ind)]['conviction'] = 0\n",
|
|
"\n",
|
|
"proposals = get_nodes_by_type(network, 'proposal')\n",
|
|
"total_requested = np.sum([ network.nodes[i]['funds_requested'] for i in proposals])\n",
|
|
"print(total_requested/initial_funds)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"{'type': 'proposal',\n",
|
|
" 'conviction': 0,\n",
|
|
" 'status': 'candidate',\n",
|
|
" 'age': 0,\n",
|
|
" 'funds_requested': 27581.372211726168}"
|
|
]
|
|
},
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"network.nodes[get_nodes_by_type(network, 'proposal')[0]]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"{'type': 'participant',\n",
|
|
" 'holdings': 1368.7265371328936,\n",
|
|
" 'sentiment': 0.8242453852153833}"
|
|
]
|
|
},
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"network.nodes[get_nodes_by_type(network, 'participant')[0]]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"Text(0.5, 1.0, 'Histogram of Participants Token Holdings')"
|
|
]
|
|
},
|
|
"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": [
|
|
"plt.hist([ network.nodes[i]['holdings'] for i in participants])\n",
|
|
"plt.title('Histogram of Participants Token Holdings')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"Text(0.5, 1.0, 'Histogram of Proposals Funds Requested')"
|
|
]
|
|
},
|
|
"execution_count": 8,
|
|
"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": [
|
|
"plt.hist([ network.nodes[i]['funds_requested'] for i in proposals])\n",
|
|
"plt.title('Histogram of Proposals Funds Requested')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"Text(0.5, 1.0, 'Histogram of Affinities between Participants and Proposals')"
|
|
]
|
|
},
|
|
"execution_count": 9,
|
|
"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": [
|
|
"plt.hist([ network.edges[e]['affinity'] for e in network.edges])\n",
|
|
"plt.title('Histogram of Affinities between Participants and Proposals')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"Text(0.5, 1.0, 'Histogram of Affinities between Participants and Proposals weighted by holdings')"
|
|
]
|
|
},
|
|
"execution_count": 10,
|
|
"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": [
|
|
"plt.hist([ network.edges[e]['affinity'] for e in network.edges], weights = [network.nodes[e[0]]['holdings']for e in network.edges],alpha = 1)\n",
|
|
"plt.title('Histogram of Affinities between Participants and Proposals weighted by holdings')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"T = 200 #iterations of graph update in our simulation\n",
|
|
"#param for conviction accumilation\n",
|
|
"alpha = .5 #later we should set this to be param so we can sweep it\n",
|
|
"\n",
|
|
"#sentiment of the outside world which drives grants\n",
|
|
"initial_sentiment = .8\n",
|
|
"\n",
|
|
"#sentiment decay rate\n",
|
|
"mu =.001 #later we should set this to be param so we can sweep it\n",
|
|
"\n",
|
|
"#maximum share of funds a proposal can take\n",
|
|
"beta = .2 #later we should set this to be param so we can sweep it\n",
|
|
"# tuning param for the trigger function\n",
|
|
"rho = .001\n",
|
|
"\n",
|
|
"#minimum periods passed before a proposal can pass\n",
|
|
"tmin = 7\n",
|
|
"\n",
|
|
"#how close to a participant's highest affinity proposal that\n",
|
|
"#another proposal has to be for them to be happy about its advancement\n",
|
|
"sensitivity = .75"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 12,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # \n",
|
|
"# Settings of general simulation parameters, unrelated to the system itself\n",
|
|
"# `T` is a range with the number of discrete units of time the simulation will run for;\n",
|
|
"# `N` is the number of times the simulation will be run (Monte Carlo runs)\n",
|
|
"# We'll cover the `M` key in a future article. For now, let's leave it empty\n",
|
|
"simulation_parameters = {\n",
|
|
" 'T': range(T),\n",
|
|
" 'N': 1,\n",
|
|
" 'M': {}\n",
|
|
"}"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"initial_conditions = {'network':network,\n",
|
|
" 'supply': initial_supply,\n",
|
|
" 'funds':initial_funds,\n",
|
|
" 'sentiment': initial_sentiment}"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 14,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"#functions for partial state update block 1\n",
|
|
"\n",
|
|
"def gen_new_participant(network, new_participant_holdings):\n",
|
|
" \n",
|
|
" i = len([node for node in network.nodes])\n",
|
|
" \n",
|
|
" network.add_node(i)\n",
|
|
" network.nodes[i]['type']=\"participant\"\n",
|
|
" \n",
|
|
" s_rv = np.random.rand() \n",
|
|
" network.nodes[i]['sentiment'] = s_rv\n",
|
|
" network.nodes[i]['holdings']=new_participant_holdings\n",
|
|
" \n",
|
|
" for j in get_nodes_by_type(network, 'proposal'):\n",
|
|
" network.add_edge(i, j)\n",
|
|
" \n",
|
|
" rv = np.random.rand()\n",
|
|
" a_rv = 1-4*(1-rv)*rv #polarized distribution\n",
|
|
" network.edges[(i, j)]['affinity'] = a_rv\n",
|
|
" network.edges[(i,j)]['tokens'] = a_rv*network.nodes[i]['holdings']\n",
|
|
" network.edges[(i, j)]['conviction'] = 0\n",
|
|
" \n",
|
|
" return network\n",
|
|
" \n",
|
|
"\n",
|
|
"def gen_new_proposal(network):\n",
|
|
" j = len([node for node in network.nodes])\n",
|
|
" network.add_node(j)\n",
|
|
" network.nodes[j]['type']=\"proposal\"\n",
|
|
" \n",
|
|
" network.nodes[j]['conviction']=0\n",
|
|
" network.nodes[j]['status']='candidate'\n",
|
|
" network.nodes[j]['age']=0\n",
|
|
" \n",
|
|
" r_rv = gamma.rvs(3,loc=0.001, scale=10000)\n",
|
|
" network.node[j]['funds_requested'] = r_rv\n",
|
|
" \n",
|
|
" participants = get_nodes_by_type(network, 'participant')\n",
|
|
" proposing_participant = np.random.choice(participants)\n",
|
|
" \n",
|
|
" for i in participants:\n",
|
|
" network.add_edge(i, j)\n",
|
|
" if i==proposing_participant:\n",
|
|
" network.edges[(i, j)]['affinity']=1\n",
|
|
" else:\n",
|
|
" rv = np.random.rand()\n",
|
|
" a_rv = 1-4*(1-rv)*rv #polarized distribution\n",
|
|
" network.edges[(i, j)]['affinity'] = a_rv\n",
|
|
" \n",
|
|
" network.edges[(i, j)]['conviction'] = 0\n",
|
|
" network.edges[(i,j)]['tokens'] = 0\n",
|
|
" return network\n",
|
|
" \n",
|
|
" \n",
|
|
"\n",
|
|
"def driving_process(params, step, sL, s):\n",
|
|
" \n",
|
|
" #placeholder plumbing for random processes\n",
|
|
" arrival_rate = 10/s['sentiment']\n",
|
|
" rv1 = np.random.rand()\n",
|
|
" new_participant = bool(rv1<1/arrival_rate)\n",
|
|
" if new_participant:\n",
|
|
" h_rv = expon.rvs(loc=0.0, scale=1000)\n",
|
|
" new_participant_holdings = h_rv\n",
|
|
" else:\n",
|
|
" new_participant_holdings = 0\n",
|
|
" \n",
|
|
" network = s['network']\n",
|
|
" affinities = [network.edges[e]['affinity'] for e in network.edges ]\n",
|
|
" median_affinity = np.median(affinities)\n",
|
|
" \n",
|
|
" proposals = get_nodes_by_type(network, 'proposal')\n",
|
|
" fund_requests = [network.nodes[j]['funds_requested'] for j in proposals if network.nodes[j]['status']=='candidate' ]\n",
|
|
" \n",
|
|
" funds = s['funds']\n",
|
|
" total_funds_requested = np.sum(fund_requests)\n",
|
|
" \n",
|
|
" proposal_rate = 10/median_affinity * total_funds_requested/funds\n",
|
|
" rv2 = np.random.rand()\n",
|
|
" new_proposal = bool(rv2<1/proposal_rate)\n",
|
|
" \n",
|
|
" sentiment = s['sentiment']\n",
|
|
" funds = s['funds']\n",
|
|
" scale_factor = 1+4000*sentiment**2\n",
|
|
" \n",
|
|
" #this shouldn't happen but expon is throwing domain errors\n",
|
|
" if scale_factor > 1: \n",
|
|
" funds_arrival = expon.rvs(loc = 0, scale = scale_factor )\n",
|
|
" else:\n",
|
|
" funds_arrival = 0\n",
|
|
" \n",
|
|
" return({'new_participant':new_participant,\n",
|
|
" 'new_participant_holdings':new_participant_holdings,\n",
|
|
" 'new_proposal':new_proposal, \n",
|
|
" 'funds_arrival':funds_arrival})\n",
|
|
"\n",
|
|
"def update_network(params, step, sL, s, _input):\n",
|
|
" \n",
|
|
" network = s['network']\n",
|
|
" #placeholder plumbing for new proposals and new participants\n",
|
|
" new_participant = _input['new_participant'] #T/F\n",
|
|
" new_proposal = _input['new_proposal'] #T/F\n",
|
|
" # IF THEN logic to create new nodes // left out for now since always FALSE\n",
|
|
" if new_participant:\n",
|
|
" new_participant_holdings = _input['new_participant_holdings']\n",
|
|
" network = gen_new_participant(network, new_participant_holdings)\n",
|
|
" \n",
|
|
" if new_proposal:\n",
|
|
" network= gen_new_proposal(network)\n",
|
|
" \n",
|
|
" #update age of the existing proposals\n",
|
|
" proposals = get_nodes_by_type(network, 'proposal')\n",
|
|
" for j in proposals:\n",
|
|
" network.nodes[j]['age']= network.nodes[j]['age']+1\n",
|
|
" \n",
|
|
" key = 'network'\n",
|
|
" value = network\n",
|
|
" \n",
|
|
" return (key, value)\n",
|
|
"\n",
|
|
"def increment_funds(params, step, sL, s, _input):\n",
|
|
" \n",
|
|
" funds = s['funds']\n",
|
|
" funds_arrival = _input['funds_arrival']\n",
|
|
"\n",
|
|
" #increment funds\n",
|
|
" funds = funds + funds_arrival\n",
|
|
" \n",
|
|
" key = 'funds'\n",
|
|
" value = funds\n",
|
|
" \n",
|
|
" return (key, value)\n",
|
|
"\n",
|
|
"def increment_supply(params, step, sL, s, _input):\n",
|
|
" \n",
|
|
" supply = s['supply']\n",
|
|
" supply_arrival = _input['new_participant_holdings']\n",
|
|
"\n",
|
|
" #increment funds\n",
|
|
" supply = supply + supply_arrival\n",
|
|
" \n",
|
|
" key = 'supply'\n",
|
|
" value = supply\n",
|
|
" \n",
|
|
" return (key, value)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 15,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"#partial state update block 2\n",
|
|
"def check_progress(params, step, sL, s):\n",
|
|
" \n",
|
|
" network = s['network']\n",
|
|
" proposals = get_nodes_by_type(network, 'proposal')\n",
|
|
" \n",
|
|
" completed = []\n",
|
|
" for j in proposals:\n",
|
|
" if network.nodes[j]['status'] == 'active':\n",
|
|
" grant_size = network.nodes[j]['funds_requested']\n",
|
|
" likelihood = 1.0/(5+np.log(grant_size))\n",
|
|
" if np.random.rand() < likelihood:\n",
|
|
" completed.append(j)\n",
|
|
" \n",
|
|
" return({'completed':completed})\n",
|
|
"\n",
|
|
"def complete_proposal(params, step, sL, s, _input):\n",
|
|
" \n",
|
|
" network = s['network']\n",
|
|
" participants = get_nodes_by_type(network, 'participant')\n",
|
|
" \n",
|
|
" completed = _input['completed']\n",
|
|
" for j in completed:\n",
|
|
" network.nodes[j]['status']='completed'\n",
|
|
" for i in participants:\n",
|
|
" force = network.edges[(i,j)]['affinity']\n",
|
|
" sentiment = network.node[i]['sentiment']\n",
|
|
" network.node[i]['sentiment'] = get_sentimental(sentiment, force, decay=False)\n",
|
|
" \n",
|
|
" key = 'network'\n",
|
|
" value = network\n",
|
|
" \n",
|
|
" return (key, value)\n",
|
|
"\n",
|
|
"def update_sentiment_on_completion(params, step, sL, s, _input):\n",
|
|
" \n",
|
|
" network = s['network']\n",
|
|
" proposals = get_nodes_by_type(network, 'proposal')\n",
|
|
" completed = _input['completed']\n",
|
|
" \n",
|
|
" grants_outstanding = np.sum([network.nodes[j]['funds_requested'] for j in proposals if network.nodes[j]['status']=='active'])\n",
|
|
" \n",
|
|
" grants_completed = np.sum([network.nodes[j]['funds_requested'] for j in completed])\n",
|
|
" \n",
|
|
" sentiment = s['sentiment']\n",
|
|
" \n",
|
|
" force = grants_completed/grants_outstanding\n",
|
|
" if (force >=0) and (force <=1):\n",
|
|
" sentiment = get_sentimental(sentiment, force, True)\n",
|
|
" else:\n",
|
|
" sentiment = get_sentimental(sentiment, 0, True)\n",
|
|
" \n",
|
|
" \n",
|
|
" key = 'sentiment'\n",
|
|
" value = sentiment\n",
|
|
" \n",
|
|
" return (key, value)\n",
|
|
"\n",
|
|
"def get_sentimental(sentiment, force, decay=True):\n",
|
|
" sentiment = sentiment*(1-int(decay)*mu) + force\n",
|
|
" \n",
|
|
" if sentiment > 1:\n",
|
|
" sentiment = 1\n",
|
|
" \n",
|
|
" return sentiment"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 16,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"def trigger_threshold(requested, funds, supply):\n",
|
|
" \n",
|
|
" share = requested/funds\n",
|
|
" if share < beta:\n",
|
|
" return rho*supply/(beta-share)**2\n",
|
|
" else: \n",
|
|
" return np.inf\n",
|
|
" \n",
|
|
" \n",
|
|
"\n",
|
|
"#partial state update block 3\n",
|
|
"def trigger_function(params, step, sL, s):\n",
|
|
" \n",
|
|
" network = s['network']\n",
|
|
" funds = s['funds']\n",
|
|
" supply = s['supply']\n",
|
|
" proposals = get_nodes_by_type(network, 'proposal')\n",
|
|
" \n",
|
|
" accepted = []\n",
|
|
" for j in proposals:\n",
|
|
" if network.nodes[j]['status'] == 'candidate':\n",
|
|
" requested = network.nodes[j]['funds_requested']\n",
|
|
" age = network.nodes[j]['age']\n",
|
|
" if age > tmin:\n",
|
|
" threshold = trigger_threshold(requested, funds, supply)\n",
|
|
" conviction = network.nodes[j]['conviction']\n",
|
|
" if conviction >threshold:\n",
|
|
" accepted.append(j)\n",
|
|
" \n",
|
|
" return({'accepted':accepted})\n",
|
|
"\n",
|
|
"def decrement_funds(params, step, sL, s, _input):\n",
|
|
" \n",
|
|
" funds = s['funds']\n",
|
|
" network = s['network']\n",
|
|
" accepted = _input['accepted']\n",
|
|
"\n",
|
|
" #decrement funds\n",
|
|
" for j in accepted:\n",
|
|
" funds = funds - network.nodes[j]['funds_requested']\n",
|
|
" \n",
|
|
" key = 'funds'\n",
|
|
" value = funds\n",
|
|
" \n",
|
|
" return (key, value)\n",
|
|
"\n",
|
|
"def update_proposals(params, step, sL, s, _input):\n",
|
|
" \n",
|
|
" network = s['network']\n",
|
|
" accepted = _input['accepted']\n",
|
|
" participants = get_nodes_by_type(network, 'participant')\n",
|
|
" \n",
|
|
" #bookkeeping conviction and participant sentiment\n",
|
|
" for j in accepted:\n",
|
|
" network.nodes[j]['status']='active'\n",
|
|
" network.nodes[j]['conviction']=np.nan\n",
|
|
" #change status to active\n",
|
|
" for i in participants:\n",
|
|
" \n",
|
|
" edge = (i,j)\n",
|
|
" #reset tokens assigned to other candidates\n",
|
|
" network.edges[(i,j)]['tokens']=0\n",
|
|
" network.edges[(i,j)]['conviction'] = np.nan\n",
|
|
" \n",
|
|
" #update participants sentiments (positive or negative) \n",
|
|
" affinities = [network.edges[(i,p)]['affinity'] for p in proposals if not(p in accepted)]\n",
|
|
" if len(affinities)>1:\n",
|
|
" max_affinity = np.max(affinities)\n",
|
|
" force = network.edges[(i,j)]['affinity']-sensitivity*max_affinity\n",
|
|
" else:\n",
|
|
" force = 0\n",
|
|
" \n",
|
|
" #based on what their affinities to the accepted proposals\n",
|
|
" network.nodes[i]['sentiment'] = get_sentimental(network.nodes[i]['sentiment'], force, False)\n",
|
|
" \n",
|
|
" \n",
|
|
" key = 'network'\n",
|
|
" value = network\n",
|
|
" \n",
|
|
" return (key, value)\n",
|
|
"\n",
|
|
"def update_sentiment_on_release(params, step, sL, s, _input):\n",
|
|
" \n",
|
|
" network = s['network']\n",
|
|
" proposals = get_nodes_by_type(network, 'proposal')\n",
|
|
" accepted = _input['accepted']\n",
|
|
" \n",
|
|
" proposals_outstanding = np.sum([network.nodes[j]['funds_requested'] for j in proposals if network.nodes[j]['status']=='candidate'])\n",
|
|
" \n",
|
|
" proposals_accepted = np.sum([network.nodes[j]['funds_requested'] for j in accepted])\n",
|
|
" \n",
|
|
" sentiment = s['sentiment']\n",
|
|
" force = proposals_accepted/proposals_outstanding\n",
|
|
" if (force >=0) and (force <=1):\n",
|
|
" sentiment = get_sentimental(sentiment, force, False)\n",
|
|
" else:\n",
|
|
" sentiment = get_sentimental(sentiment, 0, False)\n",
|
|
" \n",
|
|
" key = 'sentiment'\n",
|
|
" value = sentiment\n",
|
|
" \n",
|
|
" return (key, value)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 17,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"def participants_decisions(params, step, sL, s):\n",
|
|
" \n",
|
|
" network = s['network']\n",
|
|
" participants = get_nodes_by_type(network, 'participant')\n",
|
|
" proposals = get_nodes_by_type(network, 'proposal')\n",
|
|
" candidates = [j for j in proposals if network.nodes[j]['status']=='candidate']\n",
|
|
" \n",
|
|
" gain = .01\n",
|
|
" delta_holdings={}\n",
|
|
" proposals_supported ={}\n",
|
|
" for i in participants:\n",
|
|
" force = network.nodes[i]['sentiment']-sensitivity\n",
|
|
" delta_holdings[i] = network.nodes[i]['holdings']*gain*force\n",
|
|
" \n",
|
|
" support = []\n",
|
|
" for j in candidates:\n",
|
|
" affinity = network.edges[(i, j)]['affinity']\n",
|
|
" cutoff = sensitivity*np.max([network.edges[(i,p)]['affinity'] for p in candidates])\n",
|
|
" if affinity > cutoff:\n",
|
|
" support.append(j)\n",
|
|
" \n",
|
|
" proposals_supported[i] = support\n",
|
|
" \n",
|
|
" return({'delta_holdings':delta_holdings, 'proposals_supported':proposals_supported})\n",
|
|
"\n",
|
|
"def update_tokens(params, step, sL, s, _input):\n",
|
|
" \n",
|
|
" network = s['network']\n",
|
|
" delta_holdings = _input['delta_holdings']\n",
|
|
" proposals = get_nodes_by_type(network, 'proposal')\n",
|
|
" proposals_supported = _input['proposals_supported']\n",
|
|
" participants = get_nodes_by_type(network, 'participant')\n",
|
|
" \n",
|
|
" for i in participants:\n",
|
|
" network.nodes[i]['holdings'] = network.nodes[i]['holdings']+delta_holdings[i]\n",
|
|
" supported = proposals_supported[i]\n",
|
|
" total_affinity = np.sum([ network.edges[(i, j)]['affinity'] for j in supported])\n",
|
|
" for j in proposals:\n",
|
|
" if j in supported:\n",
|
|
" normalized_affinity = network.edges[(i, j)]['affinity']/total_affinity\n",
|
|
" network.edges[(i, j)]['tokens'] = normalized_affinity*network.nodes[i]['holdings']\n",
|
|
" else:\n",
|
|
" network.edges[(i, j)]['tokens'] = 0\n",
|
|
" \n",
|
|
" prior_conviction = network.edges[(i, j)]['conviction']\n",
|
|
" current_tokens = network.edges[(i, j)]['tokens']\n",
|
|
" network.edges[(i, j)]['conviction'] =current_tokens+alpha*prior_conviction\n",
|
|
" \n",
|
|
" for j in proposals:\n",
|
|
" network.nodes[j]['conviction'] = np.sum([ network.edges[(i, j)]['conviction'] for i in participants])\n",
|
|
" \n",
|
|
" key = 'network'\n",
|
|
" value = network\n",
|
|
" \n",
|
|
" return (key, value)\n",
|
|
"\n",
|
|
"def update_supply(params, step, sL, s, _input):\n",
|
|
" \n",
|
|
" supply = s['supply']\n",
|
|
" delta_holdings = _input['delta_holdings']\n",
|
|
" delta_supply = np.sum([v for v in delta_holdings.values()])\n",
|
|
" \n",
|
|
" supply = supply + delta_supply\n",
|
|
" \n",
|
|
" key = 'supply'\n",
|
|
" value = supply\n",
|
|
" \n",
|
|
" return (key, value)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 18,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # \n",
|
|
"# The Partial State Update Blocks\n",
|
|
"partial_state_update_blocks = [\n",
|
|
" { \n",
|
|
" 'policies': { \n",
|
|
" #new proposals or new participants\n",
|
|
" 'random': driving_process\n",
|
|
" },\n",
|
|
" 'variables': {\n",
|
|
" 'network': update_network,\n",
|
|
" 'funds':increment_funds,\n",
|
|
" 'supply':increment_supply\n",
|
|
" }\n",
|
|
" },\n",
|
|
" {\n",
|
|
" 'policies': {\n",
|
|
" 'completion': check_progress #see if any of the funded proposals completes\n",
|
|
" },\n",
|
|
" 'variables': { # The following state variables will be updated simultaneously\n",
|
|
" 'sentiment': update_sentiment_on_completion, #note completing decays sentiment, completing bumps it\n",
|
|
" 'network': complete_proposal #book-keeping\n",
|
|
" }\n",
|
|
" },\n",
|
|
" {\n",
|
|
" 'policies': {\n",
|
|
" 'release': trigger_function #check each proposal to see if it passes\n",
|
|
" },\n",
|
|
" 'variables': { # The following state variables will be updated simultaneously\n",
|
|
" 'funds': decrement_funds, #funds expended\n",
|
|
" 'sentiment': update_sentiment_on_release, #releasing funds can bump sentiment\n",
|
|
" 'network': update_proposals #reset convictions, and participants sentiments\n",
|
|
" #update based on affinities\n",
|
|
" }\n",
|
|
" },\n",
|
|
" { \n",
|
|
" 'policies': { \n",
|
|
" 'participants_act': participants_decisions, #high sentiment, high affinity =>buy\n",
|
|
" #low sentiment, low affinities => burn\n",
|
|
" #assign tokens to top affinities\n",
|
|
" },\n",
|
|
" 'variables': {\n",
|
|
" 'supply': update_supply,\n",
|
|
" 'network': update_tokens #update everyones holdings \n",
|
|
" #and their conviction for each proposal\n",
|
|
" }\n",
|
|
" }\n",
|
|
"]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 19,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # \n",
|
|
"# The configurations above are then packaged into a `Configuration` object\n",
|
|
"config = Configuration(initial_state=initial_conditions, #dict containing variable names and initial values\n",
|
|
" partial_state_update_blocks=partial_state_update_blocks, #dict containing state update functions\n",
|
|
" sim_config=simulation_parameters #dict containing simulation parameters\n",
|
|
" )"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 20,
|
|
"metadata": {
|
|
"scrolled": true
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"single_proc: [<cadCAD.configuration.Configuration object at 0x1a1f48e1d0>]\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"/anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py:47: RuntimeWarning: invalid value encountered in double_scalars\n",
|
|
"/anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py:47: RuntimeWarning: divide by zero encountered in double_scalars\n",
|
|
"/anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py:93: RuntimeWarning: divide by zero encountered in double_scalars\n",
|
|
"/anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py:80: RuntimeWarning: divide by zero encountered in double_scalars\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"exec_mode = ExecutionMode()\n",
|
|
"exec_context = ExecutionContext(exec_mode.single_proc)\n",
|
|
"executor = Executor(exec_context, [config]) # Pass the configuration object inside an array\n",
|
|
"raw_result, tensor = executor.main() # The `main()` method returns a tuple; its first elements contains the raw results"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 21,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"df = pd.DataFrame(raw_result)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 22,
|
|
"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>funds</th>\n",
|
|
" <th>network</th>\n",
|
|
" <th>run</th>\n",
|
|
" <th>sentiment</th>\n",
|
|
" <th>substep</th>\n",
|
|
" <th>supply</th>\n",
|
|
" <th>timestep</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>796</th>\n",
|
|
" <td>275205.632845</td>\n",
|
|
" <td>(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,...</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0.999000</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>77794.439364</td>\n",
|
|
" <td>199</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>797</th>\n",
|
|
" <td>279051.211671</td>\n",
|
|
" <td>(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,...</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0.999000</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>77794.439364</td>\n",
|
|
" <td>200</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>798</th>\n",
|
|
" <td>279051.211671</td>\n",
|
|
" <td>(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,...</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0.998001</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>77794.439364</td>\n",
|
|
" <td>200</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>799</th>\n",
|
|
" <td>279051.211671</td>\n",
|
|
" <td>(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,...</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0.998001</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>77794.439364</td>\n",
|
|
" <td>200</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>800</th>\n",
|
|
" <td>279051.211671</td>\n",
|
|
" <td>(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,...</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0.998001</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>77173.221287</td>\n",
|
|
" <td>200</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" funds network run \\\n",
|
|
"796 275205.632845 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 1 \n",
|
|
"797 279051.211671 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 1 \n",
|
|
"798 279051.211671 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 1 \n",
|
|
"799 279051.211671 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 1 \n",
|
|
"800 279051.211671 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... 1 \n",
|
|
"\n",
|
|
" sentiment substep supply timestep \n",
|
|
"796 0.999000 4 77794.439364 199 \n",
|
|
"797 0.999000 1 77794.439364 200 \n",
|
|
"798 0.998001 2 77794.439364 200 \n",
|
|
"799 0.998001 3 77794.439364 200 \n",
|
|
"800 0.998001 4 77173.221287 200 "
|
|
]
|
|
},
|
|
"execution_count": 22,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"df.tail()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 23,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<matplotlib.axes._subplots.AxesSubplot at 0x1a227be2e8>"
|
|
]
|
|
},
|
|
"execution_count": 23,
|
|
"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": [
|
|
"df.supply.plot()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 24,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<matplotlib.axes._subplots.AxesSubplot at 0x1a356e1c18>"
|
|
]
|
|
},
|
|
"execution_count": 24,
|
|
"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": [
|
|
"df.sentiment.plot()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 25,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<matplotlib.axes._subplots.AxesSubplot at 0x1a35398198>"
|
|
]
|
|
},
|
|
"execution_count": 25,
|
|
"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": [
|
|
"df.plot(x='timestep', y='funds')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 26,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"def pad(vec, length,fill=True):\n",
|
|
" \n",
|
|
" if fill:\n",
|
|
" padded = np.zeros(length,)\n",
|
|
" else:\n",
|
|
" padded = np.empty(length,)\n",
|
|
" padded[:] = np.nan\n",
|
|
" \n",
|
|
" for i in range(len(vec)):\n",
|
|
" padded[i]= vec[i]\n",
|
|
" \n",
|
|
" return padded\n",
|
|
"\n",
|
|
"def make2D(key, data, fill=False):\n",
|
|
" maxL = data[key].apply(len).max()\n",
|
|
" newkey = 'padded_'+key\n",
|
|
" data[newkey] = data[key].apply(lambda x: pad(x,maxL,fill))\n",
|
|
" reshaped = np.array([a for a in data[newkey].values])\n",
|
|
" \n",
|
|
" return reshaped"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 43,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"df['conviction'] = df.network.apply(lambda g: [g.nodes[j]['conviction'] for j in get_nodes_by_type(g, 'proposal') ])\n",
|
|
"df['candidate_count'] = df.network.apply(lambda g: len([j for j in get_nodes_by_type(g, 'proposal') if g.nodes[j]['status']=='candidate']))\n",
|
|
"df['candidate_funds'] = df.network.apply(lambda g: np.sum([g.nodes[j]['funds_requested'] for j in get_nodes_by_type(g, 'proposal') if g.nodes[j]['status']=='candidate']))\n",
|
|
"df['active_count'] = df.network.apply(lambda g: len([j for j in get_nodes_by_type(g, 'proposal') if g.nodes[j]['status']=='active']))\n",
|
|
"df['active_funds'] = df.network.apply(lambda g: np.sum([g.nodes[j]['funds_requested'] for j in get_nodes_by_type(g, 'proposal') if g.nodes[j]['status']=='active']))\n",
|
|
"df['completed_count'] = df.network.apply(lambda g: len([j for j in get_nodes_by_type(g, 'proposal') if g.nodes[j]['status']=='completed']))\n",
|
|
"df['completed_funds'] = df.network.apply(lambda g: np.sum([g.nodes[j]['funds_requested'] for j in get_nodes_by_type(g, 'proposal') if g.nodes[j]['status']=='completed']))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 52,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"df['funds_requested'] = df.network.apply(lambda g: np.array([g.nodes[j]['funds_requested'] for j in get_nodes_by_type(g, 'proposal')]))\n",
|
|
"df['share_of_funds_requested'] = df['funds_requested']/df.funds"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 44,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<matplotlib.axes._subplots.AxesSubplot at 0x1a35a82438>"
|
|
]
|
|
},
|
|
"execution_count": 44,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEKCAYAAAASByJ7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xl8VOXZ8PHflQQSIKxJWBSEgIDKFiDgQgUUBQSVagX0tbKpvFiX8rFWUR+Vam2taPs8uPHwKiDWBVGoaBEUFFHrFjQICEmQXSAEwpKQPbneP+YkhGQmM8lMMpNwfT+ffDJzzz3n3HPOmXPNWa77FlXFGGOMCQt2A4wxxoQGCwjGGGMACwjGGGMcFhCMMcYAFhCMMcY4LCAYY4wBLCAYY4xxWEAwxhgDWEAwxhjjiAh2A9yJjY3VLl26BLsZxhhTb2zYsOGwqsb5M42QDAhdunQhKSkp2M0wxph6Q0R2+zsNO2VkjDEGsIBgjDHGYQHBGGMMEKLXENwpLCxk37595OXlBbspphZERUXRsWNHGjVqFOymGHPGqjcBYd++fTRv3pwuXbogIsFujgkgVeXIkSPs27eP+Pj4YDfHmDOW11NGItJJRD4Vka0iskVEfu+UtxGRj0Ukzfnf2sP7Jzt10kRkck0bmpeXR0xMjAWDBkhEiImJsaM/Y4LMl2sIRcAfVPV84CLgThG5AJgFrFXV7sBa5/lpRKQN8BhwITAYeMxT4PCFBYOGy9atMcHn9ZSRqh4ADjiPs0RkK3A2MA4Y7lR7FVgHPFDh7aOAj1U1E0BEPgZGA28GoO3GGBOSlqYuZeWOlcFuRrVV6y4jEekC9Ae+Ado5waI0aLR185azgb3lnu9zytxNe7qIJIlIUkZGRnWaZYwxIWXljpWkZKYEuxnV5vNFZRGJBt4FZqrqCR8P8d1VUncVVXU+MB8gMTHRbZ2GZvbs2URHR3Pffffx6KOPMnToUK644orT6qxbt45nnnmGDz74wON0kpOT2b9/P2PGjKntJlfbsWPHeOONN/jd734X7KYYU6d6tunJwtEL62x+i1jk9zR8OkIQkUa4gsHrqrrMKU4XkQ7O6x2AQ27eug/oVO55R2B/zZvbcD3++OOVgoGvkpOTWbkyNA9Pjx07xosvvhjsZhhjfOD1CEFchwKvAFtV9e/lXloBTAaecv6/5+btq4G/lLuQPBJ40K8WA396fws/7T/h72ROc8FZLXjsml5V1lm8eDHPPPMMIkLfvn2ZMGECf/7znykoKCAmJobXX3+ddu3aMXv2bPbs2cOOHTvYs2cPM2fO5J577gHgySefZPHixXTq1Im4uDgGDhwIwJQpU7j66qu54YYbWLVqFTNnziQ2NpYBAwaUzf/bb79l5syZ5Obm0qRJExYuXEh8fDyPPvooubm5fPHFFzz44INcffXV3H333WzatImioiJmz57NuHHj3H6m4uJiHnjgAVavXo2IcPvtt3P33Xezdu1a7rvvPoqKihg0aBAvvfQSkZGRZf1MxcbGkpSUxH333ce6des8fuZZs2bx888/k5CQwJVXXsmcOXMCtMaMMYHmyymjIcAtwCYRSXbKHsIVCN4WkVuBPcB4ABFJBGao6m2qmikiTwDfOe97vPQCc32zZcsWnnzySb788ktiY2PJzMxERPj6668REV5++WWefvppnn32WQC2bdvGp59+SlZWFj179uSOO+7gxx9/5K233uKHH36gqKiIAQMGlAWEUnl5edx+++188sknnHvuuUycOLHstfPOO4/169cTERHBmjVreOihh3j33Xd5/PHHSUpK4vnnnwfgoYce4vLLL2fBggUcO3aMwYMHc8UVV9CsWbNKn2v+/Pns3LmTH374gYiICDIzM8nLy2PKlCmsXbuWHj16MGnSJF566SVmzpxZ5TJy95mfeuopNm/eTHJycpXvNcYEny93GX2B+2sBACPc1E8Cbiv3fAGwoKYNdMfbL/na8Mknn3DDDTcQGxsLQJs2bdi0aRMTJ07kwIEDFBQUnJZUNXbsWCIjI4mMjKRt27akp6fz+eefc91119G0aVMArr322krz2bZtG/Hx8XTv3h2A3/72t8yfPx+A48ePM3nyZNLS0hARCgsL3bb1o48+YsWKFTzzzDOAK8js2bOH888/v1LdNWvWMGPGDCIiIso+18aNG4mPj6dHjx4ATJ48mRdeeMFrQHD3mY0x9Yf1ZeQjVa10r/zdd9/NXXfdxaZNm/jf//3f0xKrIiMjyx6Hh4dTVFQE+Ha/vac6jzzyCJdddhmbN2/m/fff95jIpaq8++67JCcnk5yc7DEYePpcqp6v6UdERFBSUgJQaf6ePrMxpn6wgOCjESNG8Pbbb3PkyBEAMjMzOX78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B551XWGMCVmWiVy37AghBE2ZMoV33nmnyjqLFi1i//791Zrurl276N27t/eKteTYsWO8+OKLQZu/MaZqFhDqqZoEhGCzgGBMaLOAUA2LFy8uywa+5ZZb2L17NyNGjKBv376MGDGCPXv2AK5f+HfccQeXXXYZXbt25bPPPmPatGmcf/75TJkypWx60dHR/OEPf2DAgAGMGDGCjIyMSvPcsGEDw4YNY+DAgYwaNYoDBw7wzjvvkJSUxM0330xCQgK5ublu65W+v1+/flx88cVe71oqLi7mvvvuo0+fPvTt25fnnnsOcPXW2r9/f/r06cO0adPIz88HoEuXLhw+7OqmKikpieHDhwMwe/Zspk2bxvDhw+natStz584FYNasWfz8888kJCTwxz/+seYrwhhTK+rlNYS/ffs3tmVuC+g0z2tzHg8MfsDj61u2bOHJJ5/kyy+/JDY2lszMTCZPnsykSZOYPHkyCxYs4J577inrY+jo0aN88sknrFixgmuuuYYvv/ySl19+mUGDBpGcnExCQgInT55kwIABPPvsszz++OP86U9/4vnnny+bZ1XdYj///PM888wzJCYmVllv6tSpPPfccwwbNszrTnj+/Pns3LmTH374gYiICDIzM8nLy2PKlCmsXbuWHj16MGnSJF566SVmzpxZ5bS2bdvGp59+SlZWFj179uSOO+7gqaeeYvPmzSQnJ1djzRhj6kq9DAjB8Mknn3DDDTcQGxsLuLq6/uqrr8q6jL7lllu4//77y+pfc801iAh9+vShXbt29OnTB4BevXqxa9cuEhISCAsLK+v/6Le//W1ZV9SlfO0W21O948ePc+zYMYYNG1bWxg8//NDjZ1yzZg0zZswgIiKi7DNu3LiR+Ph4evToAcDkyZN54YUXvAaEsWPHEhkZSWRkJG3btiU9Pb3K+saY4KuXAaGqX/K1RVVxkuw8Kv96abfSYWFhZY9Ln3vqZrri9FXVp26xPdU7duyY1zZXnI67NnhSvmttT91qg3WtbUx9YdcQfDRixAjefvttjhw5Ari6ur7kkkt46623AHj99df51a9+Va1plpSUlN1N9MYbb1R6f1XdYpfvotpTvVatWtGyZUu++OKLsjZWZeTIkcybN69s552Zmcl5553Hrl272L59O+DqabX0iKNLly5s2LABgHfffdfr57VutY0JbfXyCCEYevXq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\n",
|
|
"text/plain": [
|
|
"<Figure size 432x288 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"df.plot(x='timestep',y=['candidate_count','active_count','completed_count'])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 45,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<matplotlib.axes._subplots.AxesSubplot at 0x1a36188da0>"
|
|
]
|
|
},
|
|
"execution_count": 45,
|
|
"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": [
|
|
"df.plot(x='timestep',y=['candidate_funds','active_funds','completed_funds'])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 48,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"Text(0, 0.5, 'conviction')"
|
|
]
|
|
},
|
|
"execution_count": 48,
|
|
"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": [
|
|
"plt.plot(df.timestep,make2D('conviction', df))\n",
|
|
"plt.title('conviction by proposal')\n",
|
|
"plt.xlabel('time $t$')\n",
|
|
"plt.ylabel('conviction')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 53,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"Text(0, 0.5, 'share_of_funds_requested')"
|
|
]
|
|
},
|
|
"execution_count": 53,
|
|
"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": [
|
|
"plt.plot(df.timestep,make2D('share_of_funds_requested', df))\n",
|
|
"plt.title('share_of_funds_requested by proposal')\n",
|
|
"plt.xlabel('time $t$')\n",
|
|
"plt.ylabel('share_of_funds_requested')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 61,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"Text(0.5, 0, 'share_of_funds_requested')"
|
|
]
|
|
},
|
|
"execution_count": 61,
|
|
"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": [
|
|
"plt.loglog(make2D('share_of_funds_requested', df), make2D('conviction', df),alpha=.5)\n",
|
|
"plt.ylabel('conviction')\n",
|
|
"plt.xlabel('share_of_funds_requested')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 36,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"last_net= rdf.network.values[-1]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 96,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"completed\n",
|
|
"completed\n",
|
|
"completed\n",
|
|
"completed\n",
|
|
"completed\n",
|
|
"completed\n",
|
|
"completed\n",
|
|
"completed\n",
|
|
"completed\n",
|
|
"completed\n",
|
|
"completed\n",
|
|
"completed\n",
|
|
"completed\n",
|
|
"completed\n",
|
|
"completed\n",
|
|
"completed\n",
|
|
"completed\n",
|
|
"completed\n",
|
|
"completed\n",
|
|
"completed\n",
|
|
"active\n",
|
|
"active\n",
|
|
"active\n",
|
|
"active\n",
|
|
"candidate\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"last_props=get_nodes_by_type(last_net, 'proposal')\n",
|
|
"\n",
|
|
"for j in last_props:\n",
|
|
" print(last_net.nodes[j]['status'])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 86,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"last_participants = get_nodes_by_type(last_net, 'participant')\n",
|
|
"\n",
|
|
"pos = {}\n",
|
|
"last_n = len(last_participants)\n",
|
|
"for ind in range(last_n):\n",
|
|
" i = last_participants[ind] \n",
|
|
" pos[i] = np.array([0, ind-last_n/2])\n",
|
|
"\n",
|
|
"last_m = len(last_props) \n",
|
|
"for ind in range(last_m):\n",
|
|
" j = last_props[ind] \n",
|
|
" pos[j] = np.array([1, last_n/last_m *ind-last_n/2])\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 87,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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\n",
|
|
"text/plain": [
|
|
"<Figure size 432x288 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"nx.draw(last_net, pos)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 91,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"df['node_count']=df.network.apply(lambda g:len(g.nodes))\n",
|
|
"df['net_growth']= df.node_count.diff()\n",
|
|
"nets = df[df.net_growth>0].network.values"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "raw",
|
|
"metadata": {
|
|
"scrolled": false
|
|
},
|
|
"source": [
|
|
"for i in range(len(nets)-1):\n",
|
|
" nx.draw(nets[i],pos=pos, alpha=.5, node_color='b')\n",
|
|
" nx.draw(nets[i+1],pos=pos, alpha=.5, node_color='g')\n",
|
|
" plt.title(\"Update: $G_{\"+str(i)+\"}$ to $G_{\"+str(i+1)+\"}$\")\n",
|
|
" plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"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.6.8"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|