1 Star 0 Fork 0

xusun000/qkd-manet-python

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
expr_24_10_05_pro_cloud.py 5.16 KB
一键复制 编辑 原始数据 按行查看 历史
Seven 提交于 2024-10-05 15:32 . 新增云上 Alpha - 0.35 脚本
import json
from QKDNetwork import QKDNetwork
from compare_hete import Compare
import concurrent.futures
import sys
# 节点个数: 20-210 默认:60 迭代:20 + cnt * 10
# 源目对数: 10-200 默认:50 迭代:10 + cnt * 10
# 阿尔法值: 0.35-1.3 默认:0.2 迭代:0.2 + cnt * 0.05
max_workers = 48
mean_round = 48
def experiment(num_node, sd_num, alpha):
q = QKDNetwork(showTopology=False, num_node=num_node, sd_num=sd_num, alpha=alpha, hete=False)
c = Compare(q)
return c.getData()
# 节点个数: 20-210 默认:60 迭代:20 + cnt * 10
def run_experiments_node_variation():
total_tmp_var_node_num = []
for round_idx in range(20):
round_tmp = []
num_node = 20 + round_idx * 10
sd_num = 50
alpha = 0.35
print(f"num_node={num_node}, sd_num={sd_num}, alpha={alpha}")
with concurrent.futures.ThreadPoolExecutor(max_workers=max_workers) as executor:
future_list = [
executor.submit(experiment, num_node, sd_num, alpha)
for _ in range(mean_round)
]
for future in concurrent.futures.as_completed(future_list):
data = future.result()
if data is not None:
round_tmp.append(data)
print(data)
else:
break
total_tmp_var_node_num.append(round_tmp)
if not round_tmp:
break
print(total_tmp_var_node_num)
data_string = json.dumps(total_tmp_var_node_num)
with open(f'pro_cloud_10_05_var_node.txt', 'a') as file:
file.write(data_string + '\n')
# 源目对数: 10-200 默认:50 迭代:10 + cnt * 10
def run_experiments_sd_variation():
total_tmp_var_sd_num = []
for round_idx in range(20):
round_tmp = []
num_node = 60
sd_num = 10 + round_idx * 10
alpha = 0.35
print(f"num_node={num_node}, sd_num={sd_num}, alpha={alpha}")
with concurrent.futures.ThreadPoolExecutor(max_workers=max_workers) as executor:
future_list = [
executor.submit(experiment, num_node, sd_num, alpha)
for _ in range(mean_round)
]
for future in concurrent.futures.as_completed(future_list):
data = future.result()
if data is not None:
round_tmp.append(data)
print(data)
else:
break
total_tmp_var_sd_num.append(round_tmp)
if not round_tmp:
break
print(total_tmp_var_sd_num)
data_string = json.dumps(total_tmp_var_sd_num)
with open(f'pro_cloud_10_05_var_sd.txt', 'a') as file:
file.write(data_string + '\n')
# 阿尔法值: 0.35-1.3 默认:0.2 迭代:0.2 + cnt * 0.05
def run_experiments_alpha_variation():
total_tmp_var_alpha = []
for round_idx in range(20):
round_tmp = []
num_node = 60
sd_num = 50
alpha = 0.2 + round_idx * 0.05
print(f"num_node={num_node}, sd_num={sd_num}, alpha={alpha}")
with concurrent.futures.ThreadPoolExecutor(max_workers=max_workers) as executor:
future_list = [
executor.submit(experiment, num_node, sd_num, alpha)
for _ in range(mean_round)
]
for future in concurrent.futures.as_completed(future_list):
data = future.result()
if data is not None:
round_tmp.append(data)
print(data)
else:
break
total_tmp_var_alpha.append(round_tmp)
if not round_tmp:
break
print(total_tmp_var_alpha)
data_string = json.dumps(total_tmp_var_alpha)
with open(f'pro_cloud_10_05_var_alpha.txt', 'a') as file:
file.write(data_string + '\n')
def run_experiments_init_ps():
total_tmp_var_node_num = []
for round_idx in range(20):
round_tmp = []
num_node = 60
sd_num = 50
alpha = 0.35
print(f"num_node={num_node}, sd_num={sd_num}, alpha={alpha}")
with concurrent.futures.ThreadPoolExecutor(max_workers=max_workers) as executor:
future_list = [
executor.submit(experiment, num_node, sd_num, alpha)
for _ in range(mean_round)
]
for future in concurrent.futures.as_completed(future_list):
data = future.result()
if data is not None:
round_tmp.append(data)
print(data)
else:
break
total_tmp_var_node_num.append(round_tmp)
if not round_tmp:
break
print(total_tmp_var_node_num)
data_string = json.dumps(total_tmp_var_node_num)
with open(f'pro_cloud_10_05_var_init_ps.txt', 'a') as file:
file.write(data_string + '\n')
if(int(sys.argv[1]) == 0):
run_experiments_node_variation()
if(int(sys.argv[1]) == 1):
run_experiments_sd_variation()
if(int(sys.argv[1]) == 2):
run_experiments_alpha_variation()
if(int(sys.argv[1]) == 3):
run_experiments_init_ps()
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/xusun000/qkd-manet-python.git
git@gitee.com:xusun000/qkd-manet-python.git
xusun000
qkd-manet-python
qkd-manet-python
master

搜索帮助