Merge remote-tracking branch 'origin/staging' into mz-dead
This commit is contained in:
commit
4113fb4202
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -21,8 +21,12 @@ def mech_step(m_step, sL, state_funcs, behavior_funcs, env_processes, t_step):
|
||||||
|
|
||||||
_input = getBehaviorInput(m_step, sL, last_in_obj, behavior_funcs)
|
_input = getBehaviorInput(m_step, sL, last_in_obj, behavior_funcs)
|
||||||
|
|
||||||
for f in state_funcs:
|
# OLD: no bueno! Mutation Bad
|
||||||
f(m_step, sL, last_mut_obj, _input)
|
# for f in state_funcs:
|
||||||
|
# f(m_step, sL, last_mut_obj, _input)
|
||||||
|
|
||||||
|
# New
|
||||||
|
last_mut_obj = dict([ f(m_step, sL, last_mut_obj, _input) for f in state_funcs ])
|
||||||
|
|
||||||
apply_env_proc(env_processes, last_mut_obj, last_mut_obj['timestamp'])
|
apply_env_proc(env_processes, last_mut_obj, last_mut_obj['timestamp'])
|
||||||
|
|
||||||
|
|
|
||||||
4
test.py
4
test.py
|
|
@ -1,2 +1,4 @@
|
||||||
from engine import run
|
from engine import run
|
||||||
run.main()
|
from tabulate import tabulate
|
||||||
|
result = run.main()
|
||||||
|
print(tabulate(result, headers='keys', tablefmt='psql'))
|
||||||
36
ui/config.py
36
ui/config.py
|
|
@ -29,29 +29,47 @@ def b2m3(step, sL, s):
|
||||||
|
|
||||||
# Internal States per Mechanism
|
# Internal States per Mechanism
|
||||||
def s1m1(step, sL, s, _input):
|
def s1m1(step, sL, s, _input):
|
||||||
s['s1'] = s['s1'] + _input
|
y = 's1'
|
||||||
|
x = s['s1'] + _input
|
||||||
|
return (y, x)
|
||||||
def s2m1(step, sL, s, _input):
|
def s2m1(step, sL, s, _input):
|
||||||
s['s2'] = s['s2'] + _input
|
y = 's2'
|
||||||
|
x = s['s2'] + _input
|
||||||
|
return (y, x)
|
||||||
|
|
||||||
def s1m2(step, sL, s, _input):
|
def s1m2(step, sL, s, _input):
|
||||||
s['s1'] = s['s1'] + _input
|
y = 's1'
|
||||||
|
x = s['s1'] + _input
|
||||||
|
return (y, x)
|
||||||
def s2m2(step, sL, s, _input):
|
def s2m2(step, sL, s, _input):
|
||||||
s['s2'] = s['s2'] + _input
|
y = 's2'
|
||||||
|
x = s['s2'] + _input
|
||||||
|
return (y, x)
|
||||||
|
|
||||||
def s1m3(step, sL, s, _input):
|
def s1m3(step, sL, s, _input):
|
||||||
s['s1'] = s['s1'] + _input
|
y = 's1'
|
||||||
|
x = s['s1'] + _input
|
||||||
|
return (y, x)
|
||||||
def s2m3(step, sL, s, _input):
|
def s2m3(step, sL, s, _input):
|
||||||
s['s2'] = s['s2'] + _input
|
y = 's2'
|
||||||
|
x = s['s2'] + _input
|
||||||
|
return (y, x)
|
||||||
|
|
||||||
# Exogenous States
|
# Exogenous States
|
||||||
proc_one_coef_A = 0.7
|
proc_one_coef_A = 0.7
|
||||||
proc_one_coef_B = 1.3
|
proc_one_coef_B = 1.3
|
||||||
def es3p1(step, sL, s, _input):
|
def es3p1(step, sL, s, _input):
|
||||||
s['s3'] = s['s3'] * bound_norm_random(seed['a'], proc_one_coef_A, proc_one_coef_B)
|
y = 's3'
|
||||||
|
x = s['s3'] * bound_norm_random(seed['a'], proc_one_coef_A, proc_one_coef_B)
|
||||||
|
return (y, x)
|
||||||
def es4p2(step, sL, s, _input):
|
def es4p2(step, sL, s, _input):
|
||||||
s['s4'] = s['s4'] * bound_norm_random(seed['b'], proc_one_coef_A, proc_one_coef_B)
|
y = 's4'
|
||||||
|
x = s['s4'] * bound_norm_random(seed['b'], proc_one_coef_A, proc_one_coef_B)
|
||||||
|
return (y, x)
|
||||||
def es5p2(step, sL, s, _input): # accept timedelta instead of timedelta params
|
def es5p2(step, sL, s, _input): # accept timedelta instead of timedelta params
|
||||||
s['timestamp'] = ep_time_step(s, s['timestamp'], seconds=1)
|
y = 'timestamp'
|
||||||
|
x = ep_time_step(s, s['timestamp'], seconds=1)
|
||||||
|
return (y, x)
|
||||||
|
|
||||||
# Environment States
|
# Environment States
|
||||||
def env_a(x):
|
def env_a(x):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue