88
99def generate (number_of_contexts ):
1010 start = 0
11- nvertices = number_of_contexts + number_of_contexts * number_of_contexts + 1
11+ #nvertices = number_of_contexts + number_of_contexts * number_of_contexts + 1
12+ nvertices = number_of_contexts + 1
1213 final = nvertices
1314 first_level = [i for i in range (1 , number_of_contexts + 1 )]
1415 #print("First level: ", first_level)
15- second_level = [i for i in range (number_of_contexts + 1 , nvertices )]
16+ # second_level = [i for i in range(number_of_contexts + 1, nvertices)]
1617 def mk_open_context (i ):
1718 return mk_open_context_from_pass (i % number_of_contexts )
1819
@@ -26,19 +27,21 @@ def mk_close_context(i):
2627 for on_first_level in first_level
2728 for edg in ((start , on_first_level , mk_open_context (on_first_level - 1 )),(on_first_level , start , mk_close_context (on_first_level - 1 )))
2829 ] +
29- [
30- edg
31- for on_first_level in first_level
32- for on_second_level in range (on_first_level * number_of_contexts + 1 , on_first_level * number_of_contexts + number_of_contexts + 1 )
33- for edg in ((on_first_level , on_second_level , mk_open_context (on_second_level % number_of_contexts )),(on_second_level , on_first_level , mk_close_context (on_second_level % number_of_contexts )))
34- ] +
35- [(i ,i ,SIGMA_WITHOUT_CONTEXTS ) for i in first_level + second_level ] +
36- [(i ,final ,ALL_OPEN_CONTEXTS ) for i in second_level ]
30+ #[
31+ # edg
32+ # for on_first_level in first_level
33+ # for on_second_level in range(on_first_level * number_of_contexts + 1, on_first_level * number_of_contexts + number_of_contexts + 1)
34+ # for edg in ((on_first_level, on_second_level, mk_open_context(on_second_level % number_of_contexts )),(on_second_level, on_first_level, mk_close_context(on_second_level % number_of_contexts )))
35+ #] +
36+ #[(i,i,SIGMA_WITHOUT_CONTEXTS) for i in first_level + second_level] +
37+ #[(i,final,ALL_OPEN_CONTEXTS) for i in second_level]
38+ [(i ,i ,SIGMA_WITHOUT_CONTEXTS ) for i in first_level ] +
39+ [(i ,final ,ALL_OPEN_CONTEXTS ) for i in first_level ]
3740
3841 )
3942
4043 result = Matrix .from_edgelist (edges , dtype = UINT64 , nrows = nvertices + 1 , ncols = nvertices + 1 , name = "automata" )
4144
42- # print_matrix_to_dot(result, "atm.dot")
45+ print_matrix_to_dot (result , "atm.dot" )
4346
4447 return result
0 commit comments