88
99def generate (number_of_contexts ):
1010 start = 0
11- # nvertices = number_of_contexts + number_of_contexts * number_of_contexts + 1
12- nvertices = number_of_contexts + 1
11+ nvertices = number_of_contexts + number_of_contexts * number_of_contexts + 1
12+ # nvertices = number_of_contexts + 1
1313 final = nvertices
1414 first_level = [i for i in range (1 , number_of_contexts + 1 )]
1515 #print("First level: ", first_level)
16- # 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 )]
1717 def mk_open_context (i ):
1818 return mk_open_context_from_pass (i % number_of_contexts )
1919
@@ -27,21 +27,21 @@ def mk_close_context(i):
2727 for on_first_level in first_level
2828 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 )))
2929 ] +
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 ]
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]
4040
4141 )
4242
4343 result = Matrix .from_edgelist (edges , dtype = UINT64 , nrows = nvertices + 1 , ncols = nvertices + 1 , name = "automata" )
4444
45- print_matrix_to_dot (result , "atm.dot" )
45+ # print_matrix_to_dot(result, "atm.dot")
4646
4747 return result
0 commit comments