📝 update graph max cut
Yonv1943 opened this issue · comments
YonV1943 曾伊言 commented
穷举所有的解,并用GPU模拟器批量验证
exhaustion_search()
exhaustion_search_result()
根据输入的图,例如g14,我们选取前 num_limit
个点,得到规模较小的问题:
- Theta 表示问题的解
- G14 表示选择了g14这个图
- L30 表示 选取这个图的前30个节点
- "0Hpfvw" 是穷举后得到的最优解的64进制表达
- best_score 91 表示最优解的得分是91
- count 2*1 表示有两个最优解
ThetaG14L10 = "2U" # best_score 21 count 2*2
ThetaG14L12 = "09v" # best_score 27 count 2*6
ThetaG14L14 = "0nd" # best_score 34 count 2*2
ThetaG14L16 = "2US" # best_score 40 count 2*9
ThetaG14L18 = "09vo" # best_score 47 count 2*23
ThetaG14L20 = "1QQb" # best_score 54 count 2*1
ThetaG14L22 = "1E_E" # best_score 61 count 2*1
ThetaG14L24 = "09xeR" # best_score 68 count 2*4
ThetaG14L26 = "17dBj" # best_score 76 count 2*1
ThetaG14L28 = "4SwUU" # best_score 83 count 2*4
ThetaG14L30 = "0Hpfvw" # best_score 91 count 2*1
算到 num_limit=30
就不算了,是因为求解出它已经需要4小时。
表示从 version1 到 version4,依次用越来越进阶的方法,去迭代更新问题的解
run_v1_update_theta_by_grad()
run_v2_update_theta_by_adam()
run_v3_update_theta_by_opti()
run_v4_update_theta_by_opti()
表示 version1 到 version1,依次用越来越进阶的方法,去通过自回归去生成问题的解
run_v1_generate_theta_by_auto_regression()
unit tests
检查环境是否有问题,检查搜索出来的解的得分。
check_env()
check_theta()