Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

📝 GraphMaxCut: the solution_x of graph set 14, 15, 22, 49, 55, 70 #200

Open
Yonv1943 opened this issue Jul 22, 2023 · 0 comments
Open
Labels
enhancement New feature or request

Comments

@Yonv1943
Copy link
Collaborator

Yonv1943 commented Jul 22, 2023

the solution_x of graph_set 14, 15, 22, 49, 50, 55, 70

Graph Score
g14 3029
g15 2995
g22 13167
g49 5712
g50 10012
g55 10017
g70 9358

SlnX14 denotes Solution X of Graph 14
"""base64 string""" # the socre of this solution.

SlnX14 = """
2dbChJAXfdo2GRp49ecgPjQwfRSIJqcfANlGZMwwAOZzjFXMXFcLYmRi27fT49J38CH8NUHFf8nLFzuUQh_LltgK6ofnt0P2NEwwUdURMPtFC8ZhlzftdQJj
MQ1aEyvV6RqIv8
"""  # 3029

SlnX15 = """
AqOThDGdbjuzr7FAoXiCBgbwlc3lsy9bo2vb$KWBJ51OOIjkGcCBKwsQtu0zrlerpyWzpoAdOyeeoSMb3SoG$DSge$TNnfvsDwiivHk3JNFWTdXtiea2IEAg
$hxSFRWpKuqFo
"""  # 2995

SlnX22 = """
15M1wnHOEdRzp8Zws3XH0KzUDip$CCuC0dhgj9onOtyhWEbpH6hTzmSNozsdeNqM6jW7mwIC_nfrh1TYS8uz8St1$gz4rvd$8H5IfzhOOg3bXg7VS$4GtxyJ
$YothXUyFlOmUzaRwD31BeyYHKZPejOTcvXfcXsL$m$utCAABFN77HQCYHq5eNgTY9hy8oSivuLd09Crlz5AKI7u7ZNBKZPtOEM$sA00vFU9QmkX7e6JzPS3
32fItphr4PhDkGBFADHgVNBREHqPMO5BeIYPAah8chsT2ZesqvwFF2PE0zUbyNJY$2iYA1RCZWVxbPo1CqfgQaE5ddDWrF
"""  # 13167

SlnX49 = """
gggggrL9LLLLLggL9LLLLKgjQggggfLMhQggggjLAbLLLLQgbQLLLLLAhLgggggLLhMgggghLQhLLLLLgjQbLLLLIgLLAggggbALggggggggggrLLLLMfLLL
LLLLLLKgggggbQgggggggggfLLLLLgLLLLLLLLLLQgggggsfKggggggggrLLLLLggjLLLLLLLKggggggLLAgggggggfLLLLLMghLLLLLLLLQgggggbLIgggg
ggggrLLLLLggrLArLLLLLgggggfLIghLKggLghLLLLLQhLLQgjLIhLIgggggLIggLLQgrKgrLLLLLhLLMggLMgjKggggfQgggjLMgbLQjLLLLQLLLLIgjKgg
sgggggMggggfLQjLLLLLLLIbLLLLQgrAgggggggrgggggLKfLLLLLLRKfLLLLMgfQggggghMjQggggbLQLLLLLLQbALLLLLAgsgggggfLgMgggghLKbLLLLL
AfKbLLLLIgjgggggjLQj
"""  # 5712

SlnX50 = """
3$yNJNKF0O_oM3vugH093O1fuLz3oC8kX4Gmjj7TtPTrL4juGHoRVsD7OHNjVZj6BjbU5pIckCFn98vC4ZEUohXPoU6ENeshvFtzxZK$D_T0ZFRvAgjxxsfD
Z__hc$C8$kzZDo9JPfxDh7KCbCn5pTuGX9pNnC6XTn57C5FqEl26knwUxd6Y7GfF5wqJvcHRA3Z_yoPuBo8sw3K7m6PFtwo1czNu7drNj6te66N$qhRONsUE
qXjOu9pCTFa$by9AfSTIMjiOxkj2I1klq3gKeS7Ibv4vQn6kVx4uUU0Gt083Wt1Go_2E7pxBzrEFEqz3o3KPIwjxj78ZcGuaCfjzuMYFEYIafBBW9cGItE0S
ZwXrCvdjLc46j5xHCwbAyoEjeiq4gwxEbufV49dDyN981WqDzb5$QD9tYneyc8Ow7$5LM04fNrCceq2T1qUitZmQNwGWVYZVCObLLeHzjxZf16NeKePyA3tO
byOPWuKEpX2VuwCGl_kgGxUQHxu9Lj83uMjsw99YNrwHbXYu5vXTObMeLb$lwg0h4g34bg9hnw4KCSXhqwHNPwJqUqbPolanMUIY4gGHAgJesJZPDp2$Pi7I
5ihjuBfCjs9jZKZ$yvvR0zvS4ZihdPfJ3nSfiRUd$yn_BAIOsUPFA912ye1eSlAFEAzefeOG7LZlgexCIfy9bRmMpuGrqrqsb$8THT_Io2biNsT5FhcBgIKB
TnTiubOn$noF4o0Rq96SeKBu6mgc$B75zVYvegCYrLdSVfYEJlqn9okrC8MttD0YtdBWH27BWIYaQk2LUrV0jb4$$pqlHo9xoWlXusOw0qWtN$Hcty
"""  # 10012

SlnX55 = """
2zIr9xJvYT_ZNOrNX06oRyw2eSmGJ825qGQ5V5LClEsnGzndFFLMTwfyO4ra4xuFSLXGHJErt$SxrPwawntywfNP9nfX7TX4DKs8c9wUfkVvWRMtmPjbWG7o
RBppqloq2mwguPhW$QL$V64WcxyRR9SYldF7OEr4Qb2hsS2p$4Lp2cUUYyhsFSRJy97JM1OUxgSl26B2$ZS2z9_gOGH1uicbuQT6dyGRNWwY6NqAvbYX4u_T
aneOixd4t0DcXWtEwTR8UOcGc$5d0ZzahbTb7xIyh3HWYTG_mjutsfDS10ceGHrGLPny0eQJx009AZLpjHjASozZcDmun6lmQOV$zwYtdwTsXga3Q$es0DbJ
HGsRh5eLLKQa5iFLMc406y8bQdOrdJUPWXOSgZzyXPRcSJD2e1OED7VmB5C_54VCvden70073UJB0nHWyji4Zpdsnuaz6stg2Vv99AJSepe2FHcAa1bu7FOV
Ypm_v278KbF5Hhf_vXhnAlpXcbEYq0oFKnn7Oxg6TWZX5Hn_4_szADYWZ_uT6PqNBCBvXCgZ_$orpSOx8Sw4gh9IsnWy9aPagzaHoEncwIlgGkTpqvjESi55
bvNmRhLaI$4KAaUImWPZzRn6oZNbeOb7Al9qbak5c0Q9V7eTsbdnftfShP8lJAMRQkUnVALIgxdPCSGtvWoTscoq7mzosvsoQU1ZoPXMoACIogh4yc6hcvVz
84b1qrwCAsjBYqJVnn1kdSpRP7gsiYyxQK8yJkZvr80nSCoLodqsbytQm$32RgAC2_AMfFNwVqFOTIhGMjSqalW5LvgeVHS8z0N03o8amunh4wmsfU

"""  # 10017
SlnX70 = """
3AcGoeUhKdVU72ZiLyfxgUIhgNQQdEfI569nHq$V5IB8ZsZiZY63iDDSZ6VJsToTMwXTCurzbeCHfyYL_CfRGW1vej_thDlqh$Ee7R5bcXVLISB_MiL6dOyJ
KWhBoU1YXPKuqol2GvULXW105Mh7XJEnQZXOh_NUfbRU2dtM$BRWf17EBl3VyhzOO_yGxi5YRd$dJihU5rRvYLhghN4jyEQZVEp$sxv$5w7vLHfyUrx3u4jO
knlNNiBq9B5p3opgCGog8w38H9SNoUZDjc$XDAit$A8MpKF3ouZqtS0bs46RaY7ZetlJJtlnUC5YKSeafaApJD$mY54ouIdSmH3pl30dsn9_Z3c0XdJ_$60Y
Hm3lf1Z$cYXDSCd6UlcqWGwPkAX7412M_i77J3YopwgsgvlJeyfGPDn84UmP1U9420mp3GiCGj1UupE7ccZc4hTczRs41FGvmi3lcu5IJYmpBAYQYmX0Thqz
PqSQT06_eLTSamhfCwFya11kc4hh1aUbbcpiv5XQqdWf8SvDt6UOtN__mYniq5g5YywE05WBWzio6bRZUr0mfJX7p6Nn34AcQQ_zbSLVcsZLENUyM29RKfkw
E1b43g04$mq0BgeZwVM5HMtt3mI$Q15CMOEriM19KD3I$Wx48af6oJqyN69UpyYy1uSuP64L0Rom3DdVOrDAw7uSFOt0WNus_$ZvSQzVEFLdQb0d1yNC9Lu7
AZWerkE$JrhU1Hfa2W$WyGwu6bpT_a3ZKsBEhUH6GCA3P45DrYrd57K8z$lE88iz1Se9ICPg2sxN9ignqQyjvSlKWQWe_eXSigDOBcOQZC9DX_iulwo2aI5A
uMRrvdjhmjef8EMJZFhkLp2u5gv1Gx3ISl7A5rxd5NvQ372XXJTYi0ZYXr8mAVRO826_tIs27Akoar1Kjy2SjRlrK1zCSq2XroIYV82voeoGGZubHjp1A2Ov
eS_kpXyV5cWCNhVomaD$knBhbL7Y6lPf5UkLfiz48PquooOh7aL6lsa3d7c0cwoRksn6h8RGcT9vvKDc01aIP5q6GEgAR7Suey_iE2HMc2Fv_Zr4ZYrm3MTu
4YHS1DN9g6GJsDCvwsp9LqYayT2wQA$H54I4edj7LrFb7ZlJjbVF57StGESAggUnldR6vsGvUkyRMHHjp3l9f29oIzf6QKztQHTj59uEqFDoypgm4ZvMlFub
z1rHQ4WSytr3OnZta42Au5Y7xatFdbl74dtyMJlXwVM9nNypB6VR_6fAkf_8phP7AtjEXzo0_4tkN59LphlPaQq2pLRqsNxskI9z2Q5TdoFmeb1xWkICPS4o
i5AB4LozUwz80VpPo4LDtVGIhs6jYME31mO0k6FoVh2i8gLRmL0wvqsBncNiaRNDahR5z1xuuGSERZQW1Gh98J7PBsYeVGsejp316q7yTPWR7nBnPQinyv1d
ULnnlmDdG8xSq6g1slTFR16ngzfCOgMNRdjbmpo8O1a9jpIJ8nrCYxiv$cFNedJJ3eRktLMXQ8QvqG_b7InRUfpmyYEFeR8bCvZTg7wZ_RgRRtP2$D3jApeD
sVKJ0hVuqQRNI3bWuEZNVPC_BhuQjsTMrKSQSH6YZCp7d5uRBpJbHI$fQT7s8RCkW5zA6GcY0Qt3YJS5j8mH918L28Os9$rK9MYIVlAMd7_
"""  # 9358

check the solution_x

def check_sln_x():
    graph_name, sln_x = 'gest_14', SlnX14

    env = GraphMaxCutEnv(graph_name=graph_name)
    best_sln_x = env.str_to_bool(sln_x)
    best_score = env.get_scores(best_sln_x.unsqueeze(0)).squeeze(0)
    print(f"NumNodes {env.num_nodes}  NumEdges {env.num_edges}")
    print(f"score {best_score}  sln_x \n{env.bool_to_str(best_sln_x)}")

convert the solustion_x from base64 string to tensor bool:

graph_name, sln_x = 'gest_14', SlnX14
env = GraphMaxCutEnv(graph_name=graph_name)
best_sln_x = env.str_to_bool(sln_x)

def write_result(result: Union[Tensor, List, np.array], filename: str = 'result/result.txt'):
    # assert len(result.shape) == 1
    # N = result.shape[0]
    num_nodes = len(result)
    directory = filename.split('/')[0]
    if not os.path.exists(directory):
        os.mkdir(directory)
    with open(filename, 'w', encoding="UTF-8") as file:
        for node in range(num_nodes):
            file.write(f'{node + 1} {int(result[node] + 1)}\n')
@YangletLiu YangletLiu added the enhancement New feature or request label Jul 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants