Compare commits

...

3 Commits

Author SHA1 Message Date
yayraffe a20d9d930f bionet lectures 11 & 12 2024-02-02 11:26:47 +01:00
yayraffe f93a89ebf3 biological networks 2024-01-05 11:55:33 +01:00
yayraffe 32084fe387 introduction to biophysics 2024-01-05 11:55:16 +01:00
25 changed files with 6122 additions and 405 deletions
+123
View File
@@ -0,0 +1,123 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 8,
"id": "3b5b09c5-9188-49d8-a6c8-2f89ea1c7d7a",
"metadata": {},
"outputs": [],
"source": [
"from random import random\n",
"import numpy as np\n",
"\n",
"\n",
"def decide (prob):\n",
" return True if random() <= prob else False\n"
]
},
{
"cell_type": "markdown",
"id": "6e68a721",
"metadata": {},
"source": [
"Question A: Try to simulate Figure. 1.11, assuming that probability to return to start if right is 0.9 while probability to return to start if attempt is wrong is 0.99. Assume that right and wrong are produced equally often and start 100000 times and for each time count how many end in right, respectively wrong state with 1 sorting step, and with 2 sorting steps."
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "56a4b642-2454-4021-98dd-dc95b07ae5bf",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"244509.0\n",
"270193.0\n",
"485298\n"
]
}
],
"source": [
"N = int(1e6)\n",
"\n",
"isright = True\n",
"n = 0\n",
"\n",
"n_wrong = np.zeros(N)\n",
"n_right = np.zeros(N)\n",
"n_0 = 0\n",
"\n",
"for i in range(0,N):\n",
" if n == 0:\n",
" isright = decide(.5)\n",
" n += 1\n",
" n_0 += 1\n",
" \n",
" elif isright:\n",
" n_right[n] += 1\n",
" if decide(0.9):\n",
" n = 0\n",
" else:\n",
" n += 1\n",
" else:\n",
" n_wrong[n] += 1\n",
" if decide(0.99):\n",
" n = 0\n",
" else:\n",
" n += 1\n",
" \n",
" \n",
"print(np.sum(n_wrong))\n",
"print(np.sum(n_right))\n",
"print(n_0)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "8b1131fa-c7f8-4ff6-81cd-5ae6eec2d03c",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "81e08034-a023-4309-8314-44bcca4b052c",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "3356adc3-ef39-4e63-8f2c-d1e4cec9c503",
"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.3"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+453
View File
@@ -0,0 +1,453 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"from random import random\n",
"\n",
"def choose012 ():\n",
" rand = random()\n",
" if rand <= 1/3:\n",
" return 0\n",
" elif rand <= 2/3:\n",
" return 1\n",
" else:\n",
" return 2\n",
"\n",
"def choosedir ():\n",
" return 1 if random() <= .5 else -1\n"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.41\n"
]
}
],
"source": [
"# Question 4.5.5\n",
"# No self interaction\n",
"\n",
"M = int(1e4)\n",
"N = 20\n",
"\n",
"back_at_origin = 0\n",
"\n",
"for m in range(0,M):\n",
" current = np.zeros(3) \n",
"\n",
" for n in range(0,N):\n",
" current[choose012()] += choosedir()\n",
" \n",
" if not np.all(current):\n",
" back_at_origin += 1\n",
"\n",
"print(round(back_at_origin / M,2))"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"-1\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-2., -6., -3.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 2., 8., -7.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([7., 2., 0.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([2., 3., 4.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-2., 0., 7.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 0., -1., 4.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-3., -2., 4.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 5., 0., -2.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 7., 0., -4.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-1., -1., -5.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-3., -6., 4.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 1., -2., 2.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 4., 11., 10.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 1., -8., -4.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-5., -2., 2.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 4., 12., 1.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 7., -2., -4.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-4., -7., -2.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 5., -10., -4.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([0., 0., 5.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ -5., -10., -4.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-11., -2., 0.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ -1., -10., -10.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-4., 13., -4.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 5., 1., -5.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-1., -8., 0.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 5., -6., -2.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-12., -1., 6.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([0., 8., 1.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-3., 8., -8.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-3., -6., -2.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 5., -5., -11.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 2., 0., -13.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 5., -15., -1.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 1., -6., 10.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 2., 10., 3.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([17., -2., -4.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 0., -6., -1.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-5., 2., -2.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 9., 2., -4.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 2., -5., 0.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 6., 2., -3.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-1., 8., -2.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 2., -3., 14.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 6., 4., -7.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 0., -11., -8.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-10., -5., -12.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-2., 3., -8.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-1., 4., 8.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 6., -7., 4.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-6., -1., 4.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 5., -3., 3.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 7., 6., -4.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 2., -8., -5.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-4., 6., -1.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-7., -9., -1.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 6., -2., 5.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([2., 3., 4.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-2., 1., -6.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 2., 11., -2.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 2., 10., 3.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 0., -7., -4.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([4., 4., 5.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 7., -6., -2.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 7., -1., 1.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 0., 8., -3.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 8., -3., -2.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([10., -1., -2.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-3., -3., 7.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-12., -8., -3.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([12., -9., -6.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-4., 5., -2.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-2., -1., 8.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([7., 5., 5.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 7., 8., -4.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 7., -6., -2.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 0., -12., -9.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 4., -4., 7.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-8., -3., 6.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-11., -16., 2.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ -8., 1., -14.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 5., -11., 11.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 2., -3., 0.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([13., -1., 3.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 2., 4., -1.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ -4., -12., -3.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 5., 9., -3.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([3., 0., 6.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ -8., -10., 1.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 7., -6., 2.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([1., 0., 6.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 4., -2., -7.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 6., 11., 0.])]\n",
"[array([0., 0., 0.]), array([ 0., 0., -1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-1., -4., 6.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-4., -4., -1.])]\n",
"[array([0., 0., 0.]), array([ 0., -1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([1., 0., 8.])]\n",
"[array([0., 0., 0.]), array([-1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-3., 6., 0.])]\n",
"[array([0., 0., 0.]), array([0., 1., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-2., -7., -6.])]\n",
"[array([0., 0., 0.]), array([0., 0., 1.])]\n",
"1\n",
"[array([0., 0., 0.]), array([ 0., -9., 10.])]\n",
"[array([0., 0., 0.]), array([1., 0., 0.])]\n",
"1\n",
"[array([0., 0., 0.]), array([-4., 1., 4.])]\n",
"0.0\n",
"1.0\n"
]
}
],
"source": [
"# With self interaction\n",
"\n",
"M = int(1e2)\n",
"N = 12\n",
"\n",
"back_at_origin = 0\n",
"aborted = 0\n",
"\n",
"\n",
"def simulate_walk (): \n",
" current = np.zeros(3) \n",
" walk = [np.zeros(3)]\n",
"\n",
" for n in range(0,N-1):\n",
" newcurrent = current\n",
" max_attempts = 100\n",
" attempts = 0\n",
"\n",
" while np.any([np.array_equal(newcurrent, arr) for arr in walk]):\n",
" attempts += 1\n",
" if attempts > max_attempts:\n",
" print(n)\n",
" print(walk)\n",
" return False\n",
" newcurrent = current\n",
" newcurrent[choose012()] += choosedir()\n",
" \n",
" current = newcurrent\n",
" walk.append(current) \n",
" print(walk) \n",
" \n",
" current[choose012()] += choosedir()\n",
" walk.append(current)\n",
"\n",
" return current\n",
" \n",
"\n",
"\n",
"for m in range(0,M):\n",
" walked = simulate_walk()\n",
" if walked and not np.all(walked):\n",
" back_at_origin += 1\n",
" elif not walked:\n",
" aborted += 1\n",
"\n",
"print(back_at_origin / M)\n",
"print(aborted / M)\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "venv",
"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.8.10"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
+119
View File
@@ -0,0 +1,119 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"from random import random\n",
"import matplotlib.pyplot as plt\n",
"from matplotlib.animation import FuncAnimation\n",
"\n",
"def decide (prob):\n",
" return 1 if random() <= prob else 0\n"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"pS activity: 0.016666666666666666\n",
"pA activity: 0.06666666666666667\n"
]
}
],
"source": [
"# Question 5.3.5\n",
"\n",
"L = 100\n",
"dt = .01\n",
"T = 60\n",
"\n",
"pA_rate = .1\n",
"pS_rate = .05\n",
"\n",
"pA = np.zeros(L)\n",
"pS = np.zeros(L)\n",
"\n",
"pS_counts = 0\n",
"pA_counts = 0\n",
"\n",
"\n",
"def check_collisions ():\n",
" collisions = np.where((pA == 1) & (pS == 1))\n",
" pA[collisions] = 0\n",
" pS[collisions] = 0\n",
"\n",
"\n",
" \n",
"for n in range(0,int(T / dt)):\n",
" if pA[0] == 0:\n",
" pA[0] = decide(dt * pA_rate)\n",
"\n",
" if pS[L-1] == 0:\n",
" pS[L-1] = decide(dt * pS_rate)\n",
"\n",
"\n",
" if pA[L-1] == 1 and decide(.4):\n",
" pA[L-1] = 0\n",
" pA_counts += 1\n",
" \n",
" if pS[0] == 1 and decide(.4):\n",
" pS[0] = 0\n",
" pS_counts += 1\n",
"\n",
" for i in range(1,L):\n",
" if pA[L-1-i] == 1 and decide(.4) and pA[L-i] == 0:\n",
" pA[L-1-i] = 0\n",
" pA[L-i] = 1\n",
" check_collisions()\n",
" \n",
" if pS[i] == 1 and decide(.4) and pS[i-1] == 0:\n",
" pS[i-1] = 1\n",
" pS[i] = 0\n",
" check_collisions()\n",
"\n",
"\n",
"print(f\"pS activity: {pS_counts / T}\")\n",
"print(f\"pA activity: {pA_counts / T}\")\n",
" \n",
" "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "venv",
"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.8.10"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

File diff suppressed because one or more lines are too long
-391
View File
File diff suppressed because one or more lines are too long