forked from Refefer/cloverleaf
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsmci.py
39 lines (29 loc) · 987 Bytes
/
smci.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import cloverleaf
gb = cloverleaf.GraphBuilder()
# 0 -- 1 -- 2 -- 3
# | |
# 4 -- 5 -- 6 -- 7
for i in range(0, 3):
gb.add_edge(('node', str(i)), ('node', str(i+1)), 1, cloverleaf.EdgeType.Undirected)
for i in range(4, 7):
gb.add_edge(('node', str(i)), ('node', str(i+1)), 1, cloverleaf.EdgeType.Undirected)
gb.add_edge(('node', '1'), ('node', '5'), 1, cloverleaf.EdgeType.Undirected)
gb.add_edge(('node', '2'), ('node', '6'), 1, cloverleaf.EdgeType.Undirected)
graph = gb.build_graph()
smci = cloverleaf.Smci(graph)
smci.add_reward(('node', '0'), ('node', '3'), 2)
#smci.add_reward(('node', '0'), ('node', '4'), -2)
smci.add_reward(('node', '7'), ('node', '4'), 2)
#smci.add_reward(('node', '7'), ('node', '3'), -2)
new_graph = smci.optimize(
iterations=50,
num_walks=100,
alpha=0.1,
discount=0.5,
step_penalty=-0.0,
explore_pct=0.0,
compression=20.0,
restart_prob=1/3,
seed=123123)
new_graph.save("/tmp/here")
print("done")