annotate tools/myTools/bin/FVS_python3/FVS_test.py @ 1:7e5c71b2e71f draft default tip

Uploaded
author laurenmarazzi
date Wed, 22 Dec 2021 16:00:34 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
1 '''
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
2 This file contains test cases to test the FVS function.
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
3 '''
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
4
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
5 import networkx as nx
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
6 import random
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
7 from FVS_python3 import FVS as FVS
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
8
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
9
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
10 #A random graph example
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
11 N=6
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
12 M=12
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
13 G1=nx.gnm_random_graph(N, M, seed=None, directed=True)
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
14 #calculate FVS
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
15 G1_FVS=FVS.FVS(G1)
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
16 print(G1.edges())
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
17 print(G1_FVS)
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
18
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
19 #A fixed graph example, the solution should be ['A']
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
20 G2=nx.DiGraph()
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
21 G2.add_edges_from([('A','B'),('B','C'),('C','A'),('A','D'),('D','A')])
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
22 #calculate FVS
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
23 G2_FVS=FVS.FVS(G2)
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
24 print(G2.edges())
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
25 print(G2_FVS)
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
26
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
27 #A three node feedback loops. The solution could be any node.
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
28 #With fixed randomseed, one should get the same answer.
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
29 G3=nx.DiGraph()
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
30 G3.add_edges_from([('A','B'),('B','C'),('C','A')])
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
31 #calculate FVS
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
32 G3_FVS=FVS.FVS(G3, T_0=0.6, alpha=0.99, maxMvt_factor=5, maxFail=50, randomseed=1)
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
33 print(G3.edges())
7e5c71b2e71f Uploaded
laurenmarazzi
parents:
diff changeset
34 print(G3_FVS)