lead/gcdata/mctest.ipynb

926 lines
148 KiB
Plaintext
Raw Normal View History

2025-03-17 16:40:01 +08:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
2025-03-17 16:40:01 +08:00
"metadata": {},
"outputs": [],
"source": [
"import sys\n",
"sys.path.append(\"../\")\n",
2025-03-17 16:40:01 +08:00
"from gcdata.gc import *\n",
"from gcdata.gc1 import *"
]
},
{
"cell_type": "code",
"execution_count": 2,
2025-03-17 16:40:01 +08:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['DSJC0500.5.txt', 'DSJC1000.9.txt', 'DSJC0500.1.txt', 'DSJC0250.1.txt', 'DSJC0125.9.txt', 'DSJC0250.5.txt', 'DSJC0125.5.txt', 'DSJC0250.9.txt', 'DSJC0125.1.txt', 'DSJC1000.1.txt', 'DSJC0500.9.txt', 'DSJC1000.5.txt']\n"
2025-03-17 16:40:01 +08:00
]
}
],
"source": [
"import os\n",
"import numpy as np\n",
"import time\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# 获取gcdata目录下所有txt文件\n",
"data_dir = \"../\"\n",
"data_dir2 = \"../gcdata/\"\n",
2025-03-17 16:40:01 +08:00
"test_files = [f for f in os.listdir(data_dir2) if f.endswith('txt')]\n",
"print(test_files)"
]
},
{
"cell_type": "code",
"execution_count": 3,
2025-03-17 16:40:01 +08:00
"metadata": {},
"outputs": [],
"source": [
"# 定义评估函数\n",
"def evaluate_coloring(coloring_func, adj_matrix):\n",
" \"\"\"评估图着色算法的性能\"\"\"\n",
" try:\n",
" # 计时并执行图着色\n",
" start_time = time.time()\n",
" colors = coloring_func(adj_matrix)\n",
" end_time = time.time()\n",
" execution_time = end_time - start_time\n",
" \n",
" # 检查解的合法性\n",
" n = len(adj_matrix)\n",
" for i in range(n):\n",
" for j in range(n):\n",
" if adj_matrix[i][j] == 1 and colors[i] == colors[j]:\n",
" print(f\"非法解:节点{i}和{j}相邻但颜色相同\")\n",
" return float('inf')\n",
" \n",
" # 计算使用的颜色数\n",
" num_colors = len(set(colors))\n",
" \n",
" print(f\"执行时间:{execution_time:.4f}秒, 使用颜色数:{num_colors}\")\n",
" return num_colors,execution_time\n",
" \n",
" except Exception as e:\n",
" print(f\"评估过程出错: {str(e)}\")\n",
" return float('inf')\n",
"\n",
"# 定义数据加载函数 \n",
"def load_graph_data(filename):\n",
" \"\"\"读取图着色问题数据\"\"\"\n",
" try:\n",
" filepath = os.path.join(data_dir2, filename)\n",
" with open(filepath, 'r') as f:\n",
" first_line = f.readline().strip().split()\n",
" n_vertices = int(first_line[0])\n",
" \n",
" adj_matrix = np.zeros((n_vertices, n_vertices), dtype=np.int32)\n",
" \n",
" for line in f:\n",
" v1, v2 = map(int, line.strip().split())\n",
" adj_matrix[v1][v2] = 1\n",
" adj_matrix[v2][v1] = 1\n",
" \n",
" return adj_matrix\n",
" \n",
" except Exception as e:\n",
" print(f\"读取数据出错: {str(e)}\")\n",
" return None"
]
},
{
"cell_type": "code",
"execution_count": 4,
2025-03-17 16:40:01 +08:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"测试实例: DSJC0500.5.txt\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: FunSearch-MCP\n",
"执行时间:0.0531秒, 使用颜色数:68\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: EoH-MCP\n",
"执行时间:17.5173秒, 使用颜色数:65\n",
2025-03-17 16:40:01 +08:00
"\n",
2025-03-18 16:51:30 +08:00
"使用算法: AAE-MCP\n",
"执行时间:0.2342秒, 使用颜色数:65\n",
"\n",
"使用算法: MEoH-MCP\n",
"执行时间:0.0772秒, 使用颜色数:72\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: 贪心\n",
"执行时间:0.0384秒, 使用颜色数:72\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: Welsh-Powell\n",
"执行时间:0.0647秒, 使用颜色数:71\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: DSATUR\n",
"执行时间:12.9052秒, 使用颜色数:65\n",
2025-03-17 16:40:01 +08:00
"\n",
"测试实例: DSJC1000.9.txt\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: FunSearch-MCP\n",
"执行时间:0.1921秒, 使用颜色数:316\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: EoH-MCP\n",
"执行时间:141.4497秒, 使用颜色数:299\n",
2025-03-17 16:40:01 +08:00
"\n",
2025-03-18 16:51:30 +08:00
"使用算法: AAE-MCP\n",
"执行时间:0.7749秒, 使用颜色数:299\n",
"\n",
"使用算法: MEoH-MCP\n",
"执行时间:1.1940秒, 使用颜色数:321\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: 贪心\n",
"执行时间:0.1230秒, 使用颜色数:321\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: Welsh-Powell\n",
"执行时间:0.5992秒, 使用颜色数:313\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: DSATUR\n",
"执行时间:62.9649秒, 使用颜色数:299\n",
2025-03-17 16:40:01 +08:00
"\n",
"测试实例: DSJC0500.1.txt\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: FunSearch-MCP\n",
"执行时间:0.0273秒, 使用颜色数:18\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: EoH-MCP\n",
"执行时间:9.1615秒, 使用颜色数:16\n",
2025-03-17 16:40:01 +08:00
"\n",
2025-03-18 16:51:30 +08:00
"使用算法: AAE-MCP\n",
"执行时间:0.0434秒, 使用颜色数:16\n",
"\n",
"使用算法: MEoH-MCP\n",
"执行时间:0.0063秒, 使用颜色数:20\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: 贪心\n",
"执行时间:0.0208秒, 使用颜色数:20\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: Welsh-Powell\n",
"执行时间:0.0190秒, 使用颜色数:18\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: DSATUR\n",
"执行时间:8.4256秒, 使用颜色数:16\n",
2025-03-17 16:40:01 +08:00
"\n",
"测试实例: DSJC0250.1.txt\n",
"\n",
"使用算法: FunSearch-MCP\n",
"执行时间:0.0108秒, 使用颜色数:12\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: EoH-MCP\n",
"执行时间:1.9122秒, 使用颜色数:10\n",
2025-03-17 16:40:01 +08:00
"\n",
2025-03-18 16:51:30 +08:00
"使用算法: AAE-MCP\n",
"执行时间:0.0242秒, 使用颜色数:10\n",
"\n",
"使用算法: MEoH-MCP\n",
"执行时间:0.0047秒, 使用颜色数:13\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: 贪心\n",
"执行时间:0.0098秒, 使用颜色数:13\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: Welsh-Powell\n",
"执行时间:0.0086秒, 使用颜色数:11\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: DSATUR\n",
"执行时间:1.6975秒, 使用颜色数:10\n",
2025-03-17 16:40:01 +08:00
"\n",
"测试实例: DSJC0125.9.txt\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: FunSearch-MCP\n",
"执行时间:0.0037秒, 使用颜色数:53\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: EoH-MCP\n",
"执行时间:0.3753秒, 使用颜色数:51\n",
2025-03-17 16:40:01 +08:00
"\n",
2025-03-18 16:51:30 +08:00
"使用算法: AAE-MCP\n",
"执行时间:0.0160秒, 使用颜色数:51\n",
"\n",
"使用算法: MEoH-MCP\n",
"执行时间:0.0116秒, 使用颜色数:56\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: 贪心\n",
"执行时间:0.0023秒, 使用颜色数:56\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: Welsh-Powell\n",
"执行时间:0.0068秒, 使用颜色数:53\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: DSATUR\n",
"执行时间:0.2167秒, 使用颜色数:51\n",
2025-03-17 16:40:01 +08:00
"\n",
"测试实例: DSJC0250.5.txt\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: FunSearch-MCP\n",
"执行时间:0.0111秒, 使用颜色数:40\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: EoH-MCP\n",
"执行时间:2.3817秒, 使用颜色数:37\n",
2025-03-17 16:40:01 +08:00
"\n",
2025-03-18 16:51:30 +08:00
"使用算法: AAE-MCP\n",
"执行时间:0.0539秒, 使用颜色数:37\n",
"\n",
"使用算法: MEoH-MCP\n",
"执行时间:0.0163秒, 使用颜色数:43\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: 贪心\n",
"执行时间:0.0107秒, 使用颜色数:43\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: Welsh-Powell\n",
"执行时间:0.0159秒, 使用颜色数:41\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: DSATUR\n",
"执行时间:1.7535秒, 使用颜色数:37\n",
2025-03-17 16:40:01 +08:00
"\n",
"测试实例: DSJC0125.5.txt\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: FunSearch-MCP\n",
"执行时间:0.0037秒, 使用颜色数:24\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: EoH-MCP\n",
"执行时间:0.3252秒, 使用颜色数:22\n",
2025-03-17 16:40:01 +08:00
"\n",
2025-03-18 16:51:30 +08:00
"使用算法: AAE-MCP\n",
"执行时间:0.0094秒, 使用颜色数:22\n",
"\n",
"使用算法: MEoH-MCP\n",
"执行时间:0.0037秒, 使用颜色数:26\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: 贪心\n",
"执行时间:0.0022秒, 使用颜色数:26\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: Welsh-Powell\n",
"执行时间:0.0035秒, 使用颜色数:23\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: DSATUR\n",
"执行时间:0.2311秒, 使用颜色数:22\n",
2025-03-17 16:40:01 +08:00
"\n",
"测试实例: DSJC0250.9.txt\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: FunSearch-MCP\n",
"执行时间:0.0138秒, 使用颜色数:92\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: EoH-MCP\n",
"执行时间:2.7876秒, 使用颜色数:92\n",
2025-03-17 16:40:01 +08:00
"\n",
2025-03-18 16:51:30 +08:00
"使用算法: AAE-MCP\n",
"执行时间:0.0882秒, 使用颜色数:92\n",
"\n",
"使用算法: MEoH-MCP\n",
"执行时间:0.0623秒, 使用颜色数:99\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: 贪心\n",
"执行时间:0.0098秒, 使用颜色数:99\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: Welsh-Powell\n",
"执行时间:0.0273秒, 使用颜色数:93\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: DSATUR\n",
"执行时间:1.9282秒, 使用颜色数:92\n",
2025-03-17 16:40:01 +08:00
"\n",
"测试实例: DSJC0125.1.txt\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: FunSearch-MCP\n",
"执行时间:0.0032秒, 使用颜色数:7\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: EoH-MCP\n",
"执行时间:0.2459秒, 使用颜色数:6\n",
2025-03-17 16:40:01 +08:00
"\n",
2025-03-18 16:51:30 +08:00
"使用算法: AAE-MCP\n",
"执行时间:0.0061秒, 使用颜色数:6\n",
"\n",
"使用算法: MEoH-MCP\n",
"执行时间:0.0006秒, 使用颜色数:8\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: 贪心\n",
"执行时间:0.0022秒, 使用颜色数:8\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: Welsh-Powell\n",
"执行时间:0.0017秒, 使用颜色数:7\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: DSATUR\n",
"执行时间:0.2033秒, 使用颜色数:6\n",
2025-03-17 16:40:01 +08:00
"\n",
"测试实例: DSJC1000.1.txt\n",
"\n",
"使用算法: FunSearch-MCP\n",
"执行时间:0.1838秒, 使用颜色数:29\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: EoH-MCP\n",
"执行时间:80.1908秒, 使用颜色数:27\n",
2025-03-17 16:40:01 +08:00
"\n",
2025-03-18 16:51:30 +08:00
"使用算法: AAE-MCP\n",
"执行时间:0.1365秒, 使用颜色数:27\n",
"\n",
"使用算法: MEoH-MCP\n",
"执行时间:0.0256秒, 使用颜色数:31\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: 贪心\n",
"执行时间:0.0782秒, 使用颜色数:31\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: Welsh-Powell\n",
"执行时间:0.0820秒, 使用颜色数:29\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: DSATUR\n",
"执行时间:67.1028秒, 使用颜色数:27\n",
2025-03-17 16:40:01 +08:00
"\n",
"测试实例: DSJC0500.9.txt\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: FunSearch-MCP\n",
"执行时间:0.0550秒, 使用颜色数:171\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: EoH-MCP\n",
"执行时间:21.5202秒, 使用颜色数:170\n",
2025-03-17 16:40:01 +08:00
"\n",
2025-03-18 16:51:30 +08:00
"使用算法: AAE-MCP\n",
"执行时间:0.1652秒, 使用颜色数:170\n",
"\n",
"使用算法: MEoH-MCP\n",
"执行时间:0.2121秒, 使用颜色数:175\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: 贪心\n",
"执行时间:0.0248秒, 使用颜色数:175\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: Welsh-Powell\n",
"执行时间:0.0891秒, 使用颜色数:169\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: DSATUR\n",
"执行时间:9.3176秒, 使用颜色数:170\n",
2025-03-17 16:40:01 +08:00
"\n",
"测试实例: DSJC1000.5.txt\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: FunSearch-MCP\n",
"执行时间:0.1247秒, 使用颜色数:123\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: EoH-MCP\n",
"执行时间:122.0818秒, 使用颜色数:115\n",
2025-03-17 16:40:01 +08:00
"\n",
2025-03-18 16:51:30 +08:00
"使用算法: AAE-MCP\n",
"执行时间:0.9329秒, 使用颜色数:115\n",
"\n",
"使用算法: MEoH-MCP\n",
"执行时间:0.4898秒, 使用颜色数:127\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: 贪心\n",
"执行时间:0.1717秒, 使用颜色数:127\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: Welsh-Powell\n",
"执行时间:0.3686秒, 使用颜色数:121\n",
2025-03-17 16:40:01 +08:00
"\n",
"使用算法: DSATUR\n",
"执行时间:69.0443秒, 使用颜色数:115\n",
2025-03-17 16:40:01 +08:00
"\n",
"所有算法在各个实例上的表现:\n",
"\n",
"FunSearch-MCP:\n",
" DSJC0500.5.txt: 使用颜色数 = 68\n",
" DSJC1000.9.txt: 使用颜色数 = 316\n",
" DSJC0500.1.txt: 使用颜色数 = 18\n",
2025-03-17 16:40:01 +08:00
" DSJC0250.1.txt: 使用颜色数 = 12\n",
" DSJC0125.9.txt: 使用颜色数 = 53\n",
2025-03-17 16:40:01 +08:00
" DSJC0250.5.txt: 使用颜色数 = 40\n",
" DSJC0125.5.txt: 使用颜色数 = 24\n",
2025-03-17 16:40:01 +08:00
" DSJC0250.9.txt: 使用颜色数 = 92\n",
" DSJC0125.1.txt: 使用颜色数 = 7\n",
2025-03-17 16:40:01 +08:00
" DSJC1000.1.txt: 使用颜色数 = 29\n",
" DSJC0500.9.txt: 使用颜色数 = 171\n",
2025-03-17 16:40:01 +08:00
" DSJC1000.5.txt: 使用颜色数 = 123\n",
" FunSearch-MCP: 执行时间 = {'DSJC0500.5.txt': 0.053112030029296875, 'DSJC1000.9.txt': 0.19205880165100098, 'DSJC0500.1.txt': 0.027337312698364258, 'DSJC0250.1.txt': 0.01080775260925293, 'DSJC0125.9.txt': 0.0036962032318115234, 'DSJC0250.5.txt': 0.011050939559936523, 'DSJC0125.5.txt': 0.0036878585815429688, 'DSJC0250.9.txt': 0.013804912567138672, 'DSJC0125.1.txt': 0.0032007694244384766, 'DSJC1000.1.txt': 0.18375301361083984, 'DSJC0500.9.txt': 0.05500006675720215, 'DSJC1000.5.txt': 0.1247410774230957}\n",
" EoH-MCP: 执行时间 = {'DSJC0500.5.txt': 17.517324686050415, 'DSJC1000.9.txt': 141.44973587989807, 'DSJC0500.1.txt': 9.161540746688843, 'DSJC0250.1.txt': 1.9121909141540527, 'DSJC0125.9.txt': 0.3752713203430176, 'DSJC0250.5.txt': 2.381682872772217, 'DSJC0125.5.txt': 0.3251969814300537, 'DSJC0250.9.txt': 2.7875781059265137, 'DSJC0125.1.txt': 0.2459268569946289, 'DSJC1000.1.txt': 80.19077229499817, 'DSJC0500.9.txt': 21.52015209197998, 'DSJC1000.5.txt': 122.0817620754242}\n",
" AAE-MCP: 执行时间 = {'DSJC0500.5.txt': 0.23422980308532715, 'DSJC1000.9.txt': 0.7749209403991699, 'DSJC0500.1.txt': 0.04343390464782715, 'DSJC0250.1.txt': 0.024243831634521484, 'DSJC0125.9.txt': 0.015971660614013672, 'DSJC0250.5.txt': 0.05388021469116211, 'DSJC0125.5.txt': 0.009436845779418945, 'DSJC0250.9.txt': 0.0881800651550293, 'DSJC0125.1.txt': 0.006103992462158203, 'DSJC1000.1.txt': 0.13647675514221191, 'DSJC0500.9.txt': 0.16518092155456543, 'DSJC1000.5.txt': 0.9329369068145752}\n",
" MEoH-MCP: 执行时间 = {'DSJC0500.5.txt': 0.07716202735900879, 'DSJC1000.9.txt': 1.1940302848815918, 'DSJC0500.1.txt': 0.006262063980102539, 'DSJC0250.1.txt': 0.004677772521972656, 'DSJC0125.9.txt': 0.011601924896240234, 'DSJC0250.5.txt': 0.016296863555908203, 'DSJC0125.5.txt': 0.0036668777465820312, 'DSJC0250.9.txt': 0.062290191650390625, 'DSJC0125.1.txt': 0.0006039142608642578, 'DSJC1000.1.txt': 0.02557992935180664, 'DSJC0500.9.txt': 0.21206116676330566, 'DSJC1000.5.txt': 0.48981499671936035}\n",
" 贪心: 执行时间 = {'DSJC0500.5.txt': 0.0383601188659668, 'DSJC1000.9.txt': 0.12301898002624512, 'DSJC0500.1.txt': 0.020846843719482422, 'DSJC0250.1.txt': 0.009821891784667969, 'DSJC0125.9.txt': 0.002260923385620117, 'DSJC0250.5.txt': 0.010657072067260742, 'DSJC0125.5.txt': 0.0022068023681640625, 'DSJC0250.9.txt': 0.009806156158447266, 'DSJC0125.1.txt': 0.0021581649780273438, 'DSJC1000.1.txt': 0.07824492454528809, 'DSJC0500.9.txt': 0.024803876876831055, 'DSJC1000.5.txt': 0.17168307304382324}\n",
" Welsh-Powell: 执行时间 = {'DSJC0500.5.txt': 0.06465888023376465, 'DSJC1000.9.txt': 0.5991549491882324, 'DSJC0500.1.txt': 0.018989086151123047, 'DSJC0250.1.txt': 0.008564233779907227, 'DSJC0125.9.txt': 0.006818056106567383, 'DSJC0250.5.txt': 0.015928030014038086, 'DSJC0125.5.txt': 0.0034928321838378906, 'DSJC0250.9.txt': 0.027268171310424805, 'DSJC0125.1.txt': 0.0017459392547607422, 'DSJC1000.1.txt': 0.08201384544372559, 'DSJC0500.9.txt': 0.0891120433807373, 'DSJC1000.5.txt': 0.36855101585388184}\n",
" DSATUR: 执行时间 = {'DSJC0500.5.txt': 12.905187129974365, 'DSJC1000.9.txt': 62.964935064315796, 'DSJC0500.1.txt': 8.425614833831787, 'DSJC0250.1.txt': 1.6975018978118896, 'DSJC0125.9.txt': 0.216688871383667, 'DSJC0250.5.txt': 1.7534830570220947, 'DSJC0125.5.txt': 0.2310791015625, 'DSJC0250.9.txt': 1.9282159805297852, 'DSJC0125.1.txt': 0.20327496528625488, 'DSJC1000.1.txt': 67.10282707214355, 'DSJC0500.9.txt': 9.31760311126709, 'DSJC1000.5.txt': 69.04426693916321}\n",
2025-03-17 16:40:01 +08:00
"\n",
"EoH-MCP:\n",
" DSJC0500.5.txt: 使用颜色数 = 65\n",
" DSJC1000.9.txt: 使用颜色数 = 299\n",
" DSJC0500.1.txt: 使用颜色数 = 16\n",
2025-03-17 16:40:01 +08:00
" DSJC0250.1.txt: 使用颜色数 = 10\n",
" DSJC0125.9.txt: 使用颜色数 = 51\n",
2025-03-17 16:40:01 +08:00
" DSJC0250.5.txt: 使用颜色数 = 37\n",
" DSJC0125.5.txt: 使用颜色数 = 22\n",
2025-03-17 16:40:01 +08:00
" DSJC0250.9.txt: 使用颜色数 = 92\n",
" DSJC0125.1.txt: 使用颜色数 = 6\n",
2025-03-17 16:40:01 +08:00
" DSJC1000.1.txt: 使用颜色数 = 27\n",
" DSJC0500.9.txt: 使用颜色数 = 170\n",
2025-03-17 16:40:01 +08:00
" DSJC1000.5.txt: 使用颜色数 = 115\n",
" FunSearch-MCP: 执行时间 = {'DSJC0500.5.txt': 0.053112030029296875, 'DSJC1000.9.txt': 0.19205880165100098, 'DSJC0500.1.txt': 0.027337312698364258, 'DSJC0250.1.txt': 0.01080775260925293, 'DSJC0125.9.txt': 0.0036962032318115234, 'DSJC0250.5.txt': 0.011050939559936523, 'DSJC0125.5.txt': 0.0036878585815429688, 'DSJC0250.9.txt': 0.013804912567138672, 'DSJC0125.1.txt': 0.0032007694244384766, 'DSJC1000.1.txt': 0.18375301361083984, 'DSJC0500.9.txt': 0.05500006675720215, 'DSJC1000.5.txt': 0.1247410774230957}\n",
" EoH-MCP: 执行时间 = {'DSJC0500.5.txt': 17.517324686050415, 'DSJC1000.9.txt': 141.44973587989807, 'DSJC0500.1.txt': 9.161540746688843, 'DSJC0250.1.txt': 1.9121909141540527, 'DSJC0125.9.txt': 0.3752713203430176, 'DSJC0250.5.txt': 2.381682872772217, 'DSJC0125.5.txt': 0.3251969814300537, 'DSJC0250.9.txt': 2.7875781059265137, 'DSJC0125.1.txt': 0.2459268569946289, 'DSJC1000.1.txt': 80.19077229499817, 'DSJC0500.9.txt': 21.52015209197998, 'DSJC1000.5.txt': 122.0817620754242}\n",
" AAE-MCP: 执行时间 = {'DSJC0500.5.txt': 0.23422980308532715, 'DSJC1000.9.txt': 0.7749209403991699, 'DSJC0500.1.txt': 0.04343390464782715, 'DSJC0250.1.txt': 0.024243831634521484, 'DSJC0125.9.txt': 0.015971660614013672, 'DSJC0250.5.txt': 0.05388021469116211, 'DSJC0125.5.txt': 0.009436845779418945, 'DSJC0250.9.txt': 0.0881800651550293, 'DSJC0125.1.txt': 0.006103992462158203, 'DSJC1000.1.txt': 0.13647675514221191, 'DSJC0500.9.txt': 0.16518092155456543, 'DSJC1000.5.txt': 0.9329369068145752}\n",
" MEoH-MCP: 执行时间 = {'DSJC0500.5.txt': 0.07716202735900879, 'DSJC1000.9.txt': 1.1940302848815918, 'DSJC0500.1.txt': 0.006262063980102539, 'DSJC0250.1.txt': 0.004677772521972656, 'DSJC0125.9.txt': 0.011601924896240234, 'DSJC0250.5.txt': 0.016296863555908203, 'DSJC0125.5.txt': 0.0036668777465820312, 'DSJC0250.9.txt': 0.062290191650390625, 'DSJC0125.1.txt': 0.0006039142608642578, 'DSJC1000.1.txt': 0.02557992935180664, 'DSJC0500.9.txt': 0.21206116676330566, 'DSJC1000.5.txt': 0.48981499671936035}\n",
" 贪心: 执行时间 = {'DSJC0500.5.txt': 0.0383601188659668, 'DSJC1000.9.txt': 0.12301898002624512, 'DSJC0500.1.txt': 0.020846843719482422, 'DSJC0250.1.txt': 0.009821891784667969, 'DSJC0125.9.txt': 0.002260923385620117, 'DSJC0250.5.txt': 0.010657072067260742, 'DSJC0125.5.txt': 0.0022068023681640625, 'DSJC0250.9.txt': 0.009806156158447266, 'DSJC0125.1.txt': 0.0021581649780273438, 'DSJC1000.1.txt': 0.07824492454528809, 'DSJC0500.9.txt': 0.024803876876831055, 'DSJC1000.5.txt': 0.17168307304382324}\n",
" Welsh-Powell: 执行时间 = {'DSJC0500.5.txt': 0.06465888023376465, 'DSJC1000.9.txt': 0.5991549491882324, 'DSJC0500.1.txt': 0.018989086151123047, 'DSJC0250.1.txt': 0.008564233779907227, 'DSJC0125.9.txt': 0.006818056106567383, 'DSJC0250.5.txt': 0.015928030014038086, 'DSJC0125.5.txt': 0.0034928321838378906, 'DSJC0250.9.txt': 0.027268171310424805, 'DSJC0125.1.txt': 0.0017459392547607422, 'DSJC1000.1.txt': 0.08201384544372559, 'DSJC0500.9.txt': 0.0891120433807373, 'DSJC1000.5.txt': 0.36855101585388184}\n",
" DSATUR: 执行时间 = {'DSJC0500.5.txt': 12.905187129974365, 'DSJC1000.9.txt': 62.964935064315796, 'DSJC0500.1.txt': 8.425614833831787, 'DSJC0250.1.txt': 1.6975018978118896, 'DSJC0125.9.txt': 0.216688871383667, 'DSJC0250.5.txt': 1.7534830570220947, 'DSJC0125.5.txt': 0.2310791015625, 'DSJC0250.9.txt': 1.9282159805297852, 'DSJC0125.1.txt': 0.20327496528625488, 'DSJC1000.1.txt': 67.10282707214355, 'DSJC0500.9.txt': 9.31760311126709, 'DSJC1000.5.txt': 69.04426693916321}\n",
2025-03-18 16:51:30 +08:00
"\n",
"AAE-MCP:\n",
" DSJC0500.5.txt: 使用颜色数 = 65\n",
" DSJC1000.9.txt: 使用颜色数 = 299\n",
" DSJC0500.1.txt: 使用颜色数 = 16\n",
2025-03-17 16:40:01 +08:00
" DSJC0250.1.txt: 使用颜色数 = 10\n",
" DSJC0125.9.txt: 使用颜色数 = 51\n",
2025-03-17 16:40:01 +08:00
" DSJC0250.5.txt: 使用颜色数 = 37\n",
" DSJC0125.5.txt: 使用颜色数 = 22\n",
2025-03-17 16:40:01 +08:00
" DSJC0250.9.txt: 使用颜色数 = 92\n",
" DSJC0125.1.txt: 使用颜色数 = 6\n",
2025-03-17 16:40:01 +08:00
" DSJC1000.1.txt: 使用颜色数 = 27\n",
" DSJC0500.9.txt: 使用颜色数 = 170\n",
2025-03-17 16:40:01 +08:00
" DSJC1000.5.txt: 使用颜色数 = 115\n",
" FunSearch-MCP: 执行时间 = {'DSJC0500.5.txt': 0.053112030029296875, 'DSJC1000.9.txt': 0.19205880165100098, 'DSJC0500.1.txt': 0.027337312698364258, 'DSJC0250.1.txt': 0.01080775260925293, 'DSJC0125.9.txt': 0.0036962032318115234, 'DSJC0250.5.txt': 0.011050939559936523, 'DSJC0125.5.txt': 0.0036878585815429688, 'DSJC0250.9.txt': 0.013804912567138672, 'DSJC0125.1.txt': 0.0032007694244384766, 'DSJC1000.1.txt': 0.18375301361083984, 'DSJC0500.9.txt': 0.05500006675720215, 'DSJC1000.5.txt': 0.1247410774230957}\n",
" EoH-MCP: 执行时间 = {'DSJC0500.5.txt': 17.517324686050415, 'DSJC1000.9.txt': 141.44973587989807, 'DSJC0500.1.txt': 9.161540746688843, 'DSJC0250.1.txt': 1.9121909141540527, 'DSJC0125.9.txt': 0.3752713203430176, 'DSJC0250.5.txt': 2.381682872772217, 'DSJC0125.5.txt': 0.3251969814300537, 'DSJC0250.9.txt': 2.7875781059265137, 'DSJC0125.1.txt': 0.2459268569946289, 'DSJC1000.1.txt': 80.19077229499817, 'DSJC0500.9.txt': 21.52015209197998, 'DSJC1000.5.txt': 122.0817620754242}\n",
" AAE-MCP: 执行时间 = {'DSJC0500.5.txt': 0.23422980308532715, 'DSJC1000.9.txt': 0.7749209403991699, 'DSJC0500.1.txt': 0.04343390464782715, 'DSJC0250.1.txt': 0.024243831634521484, 'DSJC0125.9.txt': 0.015971660614013672, 'DSJC0250.5.txt': 0.05388021469116211, 'DSJC0125.5.txt': 0.009436845779418945, 'DSJC0250.9.txt': 0.0881800651550293, 'DSJC0125.1.txt': 0.006103992462158203, 'DSJC1000.1.txt': 0.13647675514221191, 'DSJC0500.9.txt': 0.16518092155456543, 'DSJC1000.5.txt': 0.9329369068145752}\n",
" MEoH-MCP: 执行时间 = {'DSJC0500.5.txt': 0.07716202735900879, 'DSJC1000.9.txt': 1.1940302848815918, 'DSJC0500.1.txt': 0.006262063980102539, 'DSJC0250.1.txt': 0.004677772521972656, 'DSJC0125.9.txt': 0.011601924896240234, 'DSJC0250.5.txt': 0.016296863555908203, 'DSJC0125.5.txt': 0.0036668777465820312, 'DSJC0250.9.txt': 0.062290191650390625, 'DSJC0125.1.txt': 0.0006039142608642578, 'DSJC1000.1.txt': 0.02557992935180664, 'DSJC0500.9.txt': 0.21206116676330566, 'DSJC1000.5.txt': 0.48981499671936035}\n",
" 贪心: 执行时间 = {'DSJC0500.5.txt': 0.0383601188659668, 'DSJC1000.9.txt': 0.12301898002624512, 'DSJC0500.1.txt': 0.020846843719482422, 'DSJC0250.1.txt': 0.009821891784667969, 'DSJC0125.9.txt': 0.002260923385620117, 'DSJC0250.5.txt': 0.010657072067260742, 'DSJC0125.5.txt': 0.0022068023681640625, 'DSJC0250.9.txt': 0.009806156158447266, 'DSJC0125.1.txt': 0.0021581649780273438, 'DSJC1000.1.txt': 0.07824492454528809, 'DSJC0500.9.txt': 0.024803876876831055, 'DSJC1000.5.txt': 0.17168307304382324}\n",
" Welsh-Powell: 执行时间 = {'DSJC0500.5.txt': 0.06465888023376465, 'DSJC1000.9.txt': 0.5991549491882324, 'DSJC0500.1.txt': 0.018989086151123047, 'DSJC0250.1.txt': 0.008564233779907227, 'DSJC0125.9.txt': 0.006818056106567383, 'DSJC0250.5.txt': 0.015928030014038086, 'DSJC0125.5.txt': 0.0034928321838378906, 'DSJC0250.9.txt': 0.027268171310424805, 'DSJC0125.1.txt': 0.0017459392547607422, 'DSJC1000.1.txt': 0.08201384544372559, 'DSJC0500.9.txt': 0.0891120433807373, 'DSJC1000.5.txt': 0.36855101585388184}\n",
" DSATUR: 执行时间 = {'DSJC0500.5.txt': 12.905187129974365, 'DSJC1000.9.txt': 62.964935064315796, 'DSJC0500.1.txt': 8.425614833831787, 'DSJC0250.1.txt': 1.6975018978118896, 'DSJC0125.9.txt': 0.216688871383667, 'DSJC0250.5.txt': 1.7534830570220947, 'DSJC0125.5.txt': 0.2310791015625, 'DSJC0250.9.txt': 1.9282159805297852, 'DSJC0125.1.txt': 0.20327496528625488, 'DSJC1000.1.txt': 67.10282707214355, 'DSJC0500.9.txt': 9.31760311126709, 'DSJC1000.5.txt': 69.04426693916321}\n",
"\n",
"MEoH-MCP:\n",
" DSJC0500.5.txt: 使用颜色数 = 72\n",
" DSJC1000.9.txt: 使用颜色数 = 321\n",
" DSJC0500.1.txt: 使用颜色数 = 20\n",
" DSJC0250.1.txt: 使用颜色数 = 13\n",
" DSJC0125.9.txt: 使用颜色数 = 56\n",
" DSJC0250.5.txt: 使用颜色数 = 43\n",
" DSJC0125.5.txt: 使用颜色数 = 26\n",
" DSJC0250.9.txt: 使用颜色数 = 99\n",
" DSJC0125.1.txt: 使用颜色数 = 8\n",
" DSJC1000.1.txt: 使用颜色数 = 31\n",
" DSJC0500.9.txt: 使用颜色数 = 175\n",
" DSJC1000.5.txt: 使用颜色数 = 127\n",
" FunSearch-MCP: 执行时间 = {'DSJC0500.5.txt': 0.053112030029296875, 'DSJC1000.9.txt': 0.19205880165100098, 'DSJC0500.1.txt': 0.027337312698364258, 'DSJC0250.1.txt': 0.01080775260925293, 'DSJC0125.9.txt': 0.0036962032318115234, 'DSJC0250.5.txt': 0.011050939559936523, 'DSJC0125.5.txt': 0.0036878585815429688, 'DSJC0250.9.txt': 0.013804912567138672, 'DSJC0125.1.txt': 0.0032007694244384766, 'DSJC1000.1.txt': 0.18375301361083984, 'DSJC0500.9.txt': 0.05500006675720215, 'DSJC1000.5.txt': 0.1247410774230957}\n",
" EoH-MCP: 执行时间 = {'DSJC0500.5.txt': 17.517324686050415, 'DSJC1000.9.txt': 141.44973587989807, 'DSJC0500.1.txt': 9.161540746688843, 'DSJC0250.1.txt': 1.9121909141540527, 'DSJC0125.9.txt': 0.3752713203430176, 'DSJC0250.5.txt': 2.381682872772217, 'DSJC0125.5.txt': 0.3251969814300537, 'DSJC0250.9.txt': 2.7875781059265137, 'DSJC0125.1.txt': 0.2459268569946289, 'DSJC1000.1.txt': 80.19077229499817, 'DSJC0500.9.txt': 21.52015209197998, 'DSJC1000.5.txt': 122.0817620754242}\n",
" AAE-MCP: 执行时间 = {'DSJC0500.5.txt': 0.23422980308532715, 'DSJC1000.9.txt': 0.7749209403991699, 'DSJC0500.1.txt': 0.04343390464782715, 'DSJC0250.1.txt': 0.024243831634521484, 'DSJC0125.9.txt': 0.015971660614013672, 'DSJC0250.5.txt': 0.05388021469116211, 'DSJC0125.5.txt': 0.009436845779418945, 'DSJC0250.9.txt': 0.0881800651550293, 'DSJC0125.1.txt': 0.006103992462158203, 'DSJC1000.1.txt': 0.13647675514221191, 'DSJC0500.9.txt': 0.16518092155456543, 'DSJC1000.5.txt': 0.9329369068145752}\n",
" MEoH-MCP: 执行时间 = {'DSJC0500.5.txt': 0.07716202735900879, 'DSJC1000.9.txt': 1.1940302848815918, 'DSJC0500.1.txt': 0.006262063980102539, 'DSJC0250.1.txt': 0.004677772521972656, 'DSJC0125.9.txt': 0.011601924896240234, 'DSJC0250.5.txt': 0.016296863555908203, 'DSJC0125.5.txt': 0.0036668777465820312, 'DSJC0250.9.txt': 0.062290191650390625, 'DSJC0125.1.txt': 0.0006039142608642578, 'DSJC1000.1.txt': 0.02557992935180664, 'DSJC0500.9.txt': 0.21206116676330566, 'DSJC1000.5.txt': 0.48981499671936035}\n",
" 贪心: 执行时间 = {'DSJC0500.5.txt': 0.0383601188659668, 'DSJC1000.9.txt': 0.12301898002624512, 'DSJC0500.1.txt': 0.020846843719482422, 'DSJC0250.1.txt': 0.009821891784667969, 'DSJC0125.9.txt': 0.002260923385620117, 'DSJC0250.5.txt': 0.010657072067260742, 'DSJC0125.5.txt': 0.0022068023681640625, 'DSJC0250.9.txt': 0.009806156158447266, 'DSJC0125.1.txt': 0.0021581649780273438, 'DSJC1000.1.txt': 0.07824492454528809, 'DSJC0500.9.txt': 0.024803876876831055, 'DSJC1000.5.txt': 0.17168307304382324}\n",
" Welsh-Powell: 执行时间 = {'DSJC0500.5.txt': 0.06465888023376465, 'DSJC1000.9.txt': 0.5991549491882324, 'DSJC0500.1.txt': 0.018989086151123047, 'DSJC0250.1.txt': 0.008564233779907227, 'DSJC0125.9.txt': 0.006818056106567383, 'DSJC0250.5.txt': 0.015928030014038086, 'DSJC0125.5.txt': 0.0034928321838378906, 'DSJC0250.9.txt': 0.027268171310424805, 'DSJC0125.1.txt': 0.0017459392547607422, 'DSJC1000.1.txt': 0.08201384544372559, 'DSJC0500.9.txt': 0.0891120433807373, 'DSJC1000.5.txt': 0.36855101585388184}\n",
" DSATUR: 执行时间 = {'DSJC0500.5.txt': 12.905187129974365, 'DSJC1000.9.txt': 62.964935064315796, 'DSJC0500.1.txt': 8.425614833831787, 'DSJC0250.1.txt': 1.6975018978118896, 'DSJC0125.9.txt': 0.216688871383667, 'DSJC0250.5.txt': 1.7534830570220947, 'DSJC0125.5.txt': 0.2310791015625, 'DSJC0250.9.txt': 1.9282159805297852, 'DSJC0125.1.txt': 0.20327496528625488, 'DSJC1000.1.txt': 67.10282707214355, 'DSJC0500.9.txt': 9.31760311126709, 'DSJC1000.5.txt': 69.04426693916321}\n",
2025-03-17 16:40:01 +08:00
"\n",
"贪心:\n",
" DSJC0500.5.txt: 使用颜色数 = 72\n",
" DSJC1000.9.txt: 使用颜色数 = 321\n",
" DSJC0500.1.txt: 使用颜色数 = 20\n",
2025-03-17 16:40:01 +08:00
" DSJC0250.1.txt: 使用颜色数 = 13\n",
" DSJC0125.9.txt: 使用颜色数 = 56\n",
2025-03-17 16:40:01 +08:00
" DSJC0250.5.txt: 使用颜色数 = 43\n",
" DSJC0125.5.txt: 使用颜色数 = 26\n",
2025-03-17 16:40:01 +08:00
" DSJC0250.9.txt: 使用颜色数 = 99\n",
" DSJC0125.1.txt: 使用颜色数 = 8\n",
2025-03-17 16:40:01 +08:00
" DSJC1000.1.txt: 使用颜色数 = 31\n",
" DSJC0500.9.txt: 使用颜色数 = 175\n",
2025-03-17 16:40:01 +08:00
" DSJC1000.5.txt: 使用颜色数 = 127\n",
" FunSearch-MCP: 执行时间 = {'DSJC0500.5.txt': 0.053112030029296875, 'DSJC1000.9.txt': 0.19205880165100098, 'DSJC0500.1.txt': 0.027337312698364258, 'DSJC0250.1.txt': 0.01080775260925293, 'DSJC0125.9.txt': 0.0036962032318115234, 'DSJC0250.5.txt': 0.011050939559936523, 'DSJC0125.5.txt': 0.0036878585815429688, 'DSJC0250.9.txt': 0.013804912567138672, 'DSJC0125.1.txt': 0.0032007694244384766, 'DSJC1000.1.txt': 0.18375301361083984, 'DSJC0500.9.txt': 0.05500006675720215, 'DSJC1000.5.txt': 0.1247410774230957}\n",
" EoH-MCP: 执行时间 = {'DSJC0500.5.txt': 17.517324686050415, 'DSJC1000.9.txt': 141.44973587989807, 'DSJC0500.1.txt': 9.161540746688843, 'DSJC0250.1.txt': 1.9121909141540527, 'DSJC0125.9.txt': 0.3752713203430176, 'DSJC0250.5.txt': 2.381682872772217, 'DSJC0125.5.txt': 0.3251969814300537, 'DSJC0250.9.txt': 2.7875781059265137, 'DSJC0125.1.txt': 0.2459268569946289, 'DSJC1000.1.txt': 80.19077229499817, 'DSJC0500.9.txt': 21.52015209197998, 'DSJC1000.5.txt': 122.0817620754242}\n",
" AAE-MCP: 执行时间 = {'DSJC0500.5.txt': 0.23422980308532715, 'DSJC1000.9.txt': 0.7749209403991699, 'DSJC0500.1.txt': 0.04343390464782715, 'DSJC0250.1.txt': 0.024243831634521484, 'DSJC0125.9.txt': 0.015971660614013672, 'DSJC0250.5.txt': 0.05388021469116211, 'DSJC0125.5.txt': 0.009436845779418945, 'DSJC0250.9.txt': 0.0881800651550293, 'DSJC0125.1.txt': 0.006103992462158203, 'DSJC1000.1.txt': 0.13647675514221191, 'DSJC0500.9.txt': 0.16518092155456543, 'DSJC1000.5.txt': 0.9329369068145752}\n",
" MEoH-MCP: 执行时间 = {'DSJC0500.5.txt': 0.07716202735900879, 'DSJC1000.9.txt': 1.1940302848815918, 'DSJC0500.1.txt': 0.006262063980102539, 'DSJC0250.1.txt': 0.004677772521972656, 'DSJC0125.9.txt': 0.011601924896240234, 'DSJC0250.5.txt': 0.016296863555908203, 'DSJC0125.5.txt': 0.0036668777465820312, 'DSJC0250.9.txt': 0.062290191650390625, 'DSJC0125.1.txt': 0.0006039142608642578, 'DSJC1000.1.txt': 0.02557992935180664, 'DSJC0500.9.txt': 0.21206116676330566, 'DSJC1000.5.txt': 0.48981499671936035}\n",
" 贪心: 执行时间 = {'DSJC0500.5.txt': 0.0383601188659668, 'DSJC1000.9.txt': 0.12301898002624512, 'DSJC0500.1.txt': 0.020846843719482422, 'DSJC0250.1.txt': 0.009821891784667969, 'DSJC0125.9.txt': 0.002260923385620117, 'DSJC0250.5.txt': 0.010657072067260742, 'DSJC0125.5.txt': 0.0022068023681640625, 'DSJC0250.9.txt': 0.009806156158447266, 'DSJC0125.1.txt': 0.0021581649780273438, 'DSJC1000.1.txt': 0.07824492454528809, 'DSJC0500.9.txt': 0.024803876876831055, 'DSJC1000.5.txt': 0.17168307304382324}\n",
" Welsh-Powell: 执行时间 = {'DSJC0500.5.txt': 0.06465888023376465, 'DSJC1000.9.txt': 0.5991549491882324, 'DSJC0500.1.txt': 0.018989086151123047, 'DSJC0250.1.txt': 0.008564233779907227, 'DSJC0125.9.txt': 0.006818056106567383, 'DSJC0250.5.txt': 0.015928030014038086, 'DSJC0125.5.txt': 0.0034928321838378906, 'DSJC0250.9.txt': 0.027268171310424805, 'DSJC0125.1.txt': 0.0017459392547607422, 'DSJC1000.1.txt': 0.08201384544372559, 'DSJC0500.9.txt': 0.0891120433807373, 'DSJC1000.5.txt': 0.36855101585388184}\n",
" DSATUR: 执行时间 = {'DSJC0500.5.txt': 12.905187129974365, 'DSJC1000.9.txt': 62.964935064315796, 'DSJC0500.1.txt': 8.425614833831787, 'DSJC0250.1.txt': 1.6975018978118896, 'DSJC0125.9.txt': 0.216688871383667, 'DSJC0250.5.txt': 1.7534830570220947, 'DSJC0125.5.txt': 0.2310791015625, 'DSJC0250.9.txt': 1.9282159805297852, 'DSJC0125.1.txt': 0.20327496528625488, 'DSJC1000.1.txt': 67.10282707214355, 'DSJC0500.9.txt': 9.31760311126709, 'DSJC1000.5.txt': 69.04426693916321}\n",
2025-03-17 16:40:01 +08:00
"\n",
"Welsh-Powell:\n",
" DSJC0500.5.txt: 使用颜色数 = 71\n",
" DSJC1000.9.txt: 使用颜色数 = 313\n",
" DSJC0500.1.txt: 使用颜色数 = 18\n",
2025-03-17 16:40:01 +08:00
" DSJC0250.1.txt: 使用颜色数 = 11\n",
" DSJC0125.9.txt: 使用颜色数 = 53\n",
2025-03-17 16:40:01 +08:00
" DSJC0250.5.txt: 使用颜色数 = 41\n",
" DSJC0125.5.txt: 使用颜色数 = 23\n",
2025-03-17 16:40:01 +08:00
" DSJC0250.9.txt: 使用颜色数 = 93\n",
" DSJC0125.1.txt: 使用颜色数 = 7\n",
2025-03-17 16:40:01 +08:00
" DSJC1000.1.txt: 使用颜色数 = 29\n",
" DSJC0500.9.txt: 使用颜色数 = 169\n",
2025-03-17 16:40:01 +08:00
" DSJC1000.5.txt: 使用颜色数 = 121\n",
" FunSearch-MCP: 执行时间 = {'DSJC0500.5.txt': 0.053112030029296875, 'DSJC1000.9.txt': 0.19205880165100098, 'DSJC0500.1.txt': 0.027337312698364258, 'DSJC0250.1.txt': 0.01080775260925293, 'DSJC0125.9.txt': 0.0036962032318115234, 'DSJC0250.5.txt': 0.011050939559936523, 'DSJC0125.5.txt': 0.0036878585815429688, 'DSJC0250.9.txt': 0.013804912567138672, 'DSJC0125.1.txt': 0.0032007694244384766, 'DSJC1000.1.txt': 0.18375301361083984, 'DSJC0500.9.txt': 0.05500006675720215, 'DSJC1000.5.txt': 0.1247410774230957}\n",
" EoH-MCP: 执行时间 = {'DSJC0500.5.txt': 17.517324686050415, 'DSJC1000.9.txt': 141.44973587989807, 'DSJC0500.1.txt': 9.161540746688843, 'DSJC0250.1.txt': 1.9121909141540527, 'DSJC0125.9.txt': 0.3752713203430176, 'DSJC0250.5.txt': 2.381682872772217, 'DSJC0125.5.txt': 0.3251969814300537, 'DSJC0250.9.txt': 2.7875781059265137, 'DSJC0125.1.txt': 0.2459268569946289, 'DSJC1000.1.txt': 80.19077229499817, 'DSJC0500.9.txt': 21.52015209197998, 'DSJC1000.5.txt': 122.0817620754242}\n",
" AAE-MCP: 执行时间 = {'DSJC0500.5.txt': 0.23422980308532715, 'DSJC1000.9.txt': 0.7749209403991699, 'DSJC0500.1.txt': 0.04343390464782715, 'DSJC0250.1.txt': 0.024243831634521484, 'DSJC0125.9.txt': 0.015971660614013672, 'DSJC0250.5.txt': 0.05388021469116211, 'DSJC0125.5.txt': 0.009436845779418945, 'DSJC0250.9.txt': 0.0881800651550293, 'DSJC0125.1.txt': 0.006103992462158203, 'DSJC1000.1.txt': 0.13647675514221191, 'DSJC0500.9.txt': 0.16518092155456543, 'DSJC1000.5.txt': 0.9329369068145752}\n",
" MEoH-MCP: 执行时间 = {'DSJC0500.5.txt': 0.07716202735900879, 'DSJC1000.9.txt': 1.1940302848815918, 'DSJC0500.1.txt': 0.006262063980102539, 'DSJC0250.1.txt': 0.004677772521972656, 'DSJC0125.9.txt': 0.011601924896240234, 'DSJC0250.5.txt': 0.016296863555908203, 'DSJC0125.5.txt': 0.0036668777465820312, 'DSJC0250.9.txt': 0.062290191650390625, 'DSJC0125.1.txt': 0.0006039142608642578, 'DSJC1000.1.txt': 0.02557992935180664, 'DSJC0500.9.txt': 0.21206116676330566, 'DSJC1000.5.txt': 0.48981499671936035}\n",
" 贪心: 执行时间 = {'DSJC0500.5.txt': 0.0383601188659668, 'DSJC1000.9.txt': 0.12301898002624512, 'DSJC0500.1.txt': 0.020846843719482422, 'DSJC0250.1.txt': 0.009821891784667969, 'DSJC0125.9.txt': 0.002260923385620117, 'DSJC0250.5.txt': 0.010657072067260742, 'DSJC0125.5.txt': 0.0022068023681640625, 'DSJC0250.9.txt': 0.009806156158447266, 'DSJC0125.1.txt': 0.0021581649780273438, 'DSJC1000.1.txt': 0.07824492454528809, 'DSJC0500.9.txt': 0.024803876876831055, 'DSJC1000.5.txt': 0.17168307304382324}\n",
" Welsh-Powell: 执行时间 = {'DSJC0500.5.txt': 0.06465888023376465, 'DSJC1000.9.txt': 0.5991549491882324, 'DSJC0500.1.txt': 0.018989086151123047, 'DSJC0250.1.txt': 0.008564233779907227, 'DSJC0125.9.txt': 0.006818056106567383, 'DSJC0250.5.txt': 0.015928030014038086, 'DSJC0125.5.txt': 0.0034928321838378906, 'DSJC0250.9.txt': 0.027268171310424805, 'DSJC0125.1.txt': 0.0017459392547607422, 'DSJC1000.1.txt': 0.08201384544372559, 'DSJC0500.9.txt': 0.0891120433807373, 'DSJC1000.5.txt': 0.36855101585388184}\n",
" DSATUR: 执行时间 = {'DSJC0500.5.txt': 12.905187129974365, 'DSJC1000.9.txt': 62.964935064315796, 'DSJC0500.1.txt': 8.425614833831787, 'DSJC0250.1.txt': 1.6975018978118896, 'DSJC0125.9.txt': 0.216688871383667, 'DSJC0250.5.txt': 1.7534830570220947, 'DSJC0125.5.txt': 0.2310791015625, 'DSJC0250.9.txt': 1.9282159805297852, 'DSJC0125.1.txt': 0.20327496528625488, 'DSJC1000.1.txt': 67.10282707214355, 'DSJC0500.9.txt': 9.31760311126709, 'DSJC1000.5.txt': 69.04426693916321}\n",
2025-03-17 16:40:01 +08:00
"\n",
"DSATUR:\n",
" DSJC0500.5.txt: 使用颜色数 = 65\n",
" DSJC1000.9.txt: 使用颜色数 = 299\n",
" DSJC0500.1.txt: 使用颜色数 = 16\n",
2025-03-17 16:40:01 +08:00
" DSJC0250.1.txt: 使用颜色数 = 10\n",
" DSJC0125.9.txt: 使用颜色数 = 51\n",
2025-03-17 16:40:01 +08:00
" DSJC0250.5.txt: 使用颜色数 = 37\n",
" DSJC0125.5.txt: 使用颜色数 = 22\n",
2025-03-17 16:40:01 +08:00
" DSJC0250.9.txt: 使用颜色数 = 92\n",
" DSJC0125.1.txt: 使用颜色数 = 6\n",
2025-03-17 16:40:01 +08:00
" DSJC1000.1.txt: 使用颜色数 = 27\n",
" DSJC0500.9.txt: 使用颜色数 = 170\n",
2025-03-17 16:40:01 +08:00
" DSJC1000.5.txt: 使用颜色数 = 115\n",
" FunSearch-MCP: 执行时间 = {'DSJC0500.5.txt': 0.053112030029296875, 'DSJC1000.9.txt': 0.19205880165100098, 'DSJC0500.1.txt': 0.027337312698364258, 'DSJC0250.1.txt': 0.01080775260925293, 'DSJC0125.9.txt': 0.0036962032318115234, 'DSJC0250.5.txt': 0.011050939559936523, 'DSJC0125.5.txt': 0.0036878585815429688, 'DSJC0250.9.txt': 0.013804912567138672, 'DSJC0125.1.txt': 0.0032007694244384766, 'DSJC1000.1.txt': 0.18375301361083984, 'DSJC0500.9.txt': 0.05500006675720215, 'DSJC1000.5.txt': 0.1247410774230957}\n",
" EoH-MCP: 执行时间 = {'DSJC0500.5.txt': 17.517324686050415, 'DSJC1000.9.txt': 141.44973587989807, 'DSJC0500.1.txt': 9.161540746688843, 'DSJC0250.1.txt': 1.9121909141540527, 'DSJC0125.9.txt': 0.3752713203430176, 'DSJC0250.5.txt': 2.381682872772217, 'DSJC0125.5.txt': 0.3251969814300537, 'DSJC0250.9.txt': 2.7875781059265137, 'DSJC0125.1.txt': 0.2459268569946289, 'DSJC1000.1.txt': 80.19077229499817, 'DSJC0500.9.txt': 21.52015209197998, 'DSJC1000.5.txt': 122.0817620754242}\n",
" AAE-MCP: 执行时间 = {'DSJC0500.5.txt': 0.23422980308532715, 'DSJC1000.9.txt': 0.7749209403991699, 'DSJC0500.1.txt': 0.04343390464782715, 'DSJC0250.1.txt': 0.024243831634521484, 'DSJC0125.9.txt': 0.015971660614013672, 'DSJC0250.5.txt': 0.05388021469116211, 'DSJC0125.5.txt': 0.009436845779418945, 'DSJC0250.9.txt': 0.0881800651550293, 'DSJC0125.1.txt': 0.006103992462158203, 'DSJC1000.1.txt': 0.13647675514221191, 'DSJC0500.9.txt': 0.16518092155456543, 'DSJC1000.5.txt': 0.9329369068145752}\n",
" MEoH-MCP: 执行时间 = {'DSJC0500.5.txt': 0.07716202735900879, 'DSJC1000.9.txt': 1.1940302848815918, 'DSJC0500.1.txt': 0.006262063980102539, 'DSJC0250.1.txt': 0.004677772521972656, 'DSJC0125.9.txt': 0.011601924896240234, 'DSJC0250.5.txt': 0.016296863555908203, 'DSJC0125.5.txt': 0.0036668777465820312, 'DSJC0250.9.txt': 0.062290191650390625, 'DSJC0125.1.txt': 0.0006039142608642578, 'DSJC1000.1.txt': 0.02557992935180664, 'DSJC0500.9.txt': 0.21206116676330566, 'DSJC1000.5.txt': 0.48981499671936035}\n",
" 贪心: 执行时间 = {'DSJC0500.5.txt': 0.0383601188659668, 'DSJC1000.9.txt': 0.12301898002624512, 'DSJC0500.1.txt': 0.020846843719482422, 'DSJC0250.1.txt': 0.009821891784667969, 'DSJC0125.9.txt': 0.002260923385620117, 'DSJC0250.5.txt': 0.010657072067260742, 'DSJC0125.5.txt': 0.0022068023681640625, 'DSJC0250.9.txt': 0.009806156158447266, 'DSJC0125.1.txt': 0.0021581649780273438, 'DSJC1000.1.txt': 0.07824492454528809, 'DSJC0500.9.txt': 0.024803876876831055, 'DSJC1000.5.txt': 0.17168307304382324}\n",
" Welsh-Powell: 执行时间 = {'DSJC0500.5.txt': 0.06465888023376465, 'DSJC1000.9.txt': 0.5991549491882324, 'DSJC0500.1.txt': 0.018989086151123047, 'DSJC0250.1.txt': 0.008564233779907227, 'DSJC0125.9.txt': 0.006818056106567383, 'DSJC0250.5.txt': 0.015928030014038086, 'DSJC0125.5.txt': 0.0034928321838378906, 'DSJC0250.9.txt': 0.027268171310424805, 'DSJC0125.1.txt': 0.0017459392547607422, 'DSJC1000.1.txt': 0.08201384544372559, 'DSJC0500.9.txt': 0.0891120433807373, 'DSJC1000.5.txt': 0.36855101585388184}\n",
" DSATUR: 执行时间 = {'DSJC0500.5.txt': 12.905187129974365, 'DSJC1000.9.txt': 62.964935064315796, 'DSJC0500.1.txt': 8.425614833831787, 'DSJC0250.1.txt': 1.6975018978118896, 'DSJC0125.9.txt': 0.216688871383667, 'DSJC0250.5.txt': 1.7534830570220947, 'DSJC0125.5.txt': 0.2310791015625, 'DSJC0250.9.txt': 1.9282159805297852, 'DSJC0125.1.txt': 0.20327496528625488, 'DSJC1000.1.txt': 67.10282707214355, 'DSJC0500.9.txt': 9.31760311126709, 'DSJC1000.5.txt': 69.04426693916321}\n"
2025-03-17 16:40:01 +08:00
]
}
],
"source": [
"# 用于存储每个算法在每个实例上的结果 \n",
"results = {}\n",
"results_time = {}\n",
"\n",
"# 遍历每个测试实例\n",
"for test_file in test_files:\n",
" print(f\"\\n测试实例: {test_file}\")\n",
" \n",
" # 加载数据\n",
" adj_matrix = load_graph_data(test_file)\n",
" if adj_matrix is None:\n",
" continue\n",
" \n",
" # 这里可以添加多个待评估的图着色算法\n",
" algorithms = {\n",
" \"FunSearch-MCP\": graph_coloring_v1,\n",
" \"EoH-MCP\": graph_coloring_v2, \n",
" # \"MCP-03\": graph_coloring_v3,\n",
2025-03-18 16:51:30 +08:00
" \"AAE-MCP\": graph_coloring_v5,\n",
" \"MEoH-MCP\": graph_coloring_meoh,\n",
2025-03-17 16:40:01 +08:00
" \"贪心\": greedy_coloring,\n",
" \"Welsh-Powell\": welsh_powell_coloring,\n",
" \"DSATUR\": dsatur_coloring,\n",
" }\n",
" \n",
" # 评估每个算法\n",
" for alg_name, alg_func in algorithms.items():\n",
" print(f\"\\n使用算法: {alg_name}\")\n",
" score,etime = evaluate_coloring(alg_func, adj_matrix)\n",
" \n",
" if alg_name not in results:\n",
" results[alg_name] = {}\n",
" if alg_name not in results_time:\n",
" results_time[alg_name] = {}\n",
" results[alg_name][test_file] = score\n",
" results_time[alg_name][test_file] = etime\n",
"\n",
"# 打印总结果\n",
"print(\"\\n所有算法在各个实例上的表现:\")\n",
"for alg_name, scores in results.items():\n",
" print(f\"\\n{alg_name}:\")\n",
" for test_file, score in scores.items():\n",
" print(f\" {test_file}: 使用颜色数 = {score}\")\n",
" for test_file, etime in results_time.items():\n",
" print(f\" {test_file}: 执行时间 = {etime}\")"
]
},
{
"cell_type": "code",
"execution_count": 5,
2025-03-17 16:40:01 +08:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"各算法在不同实例上的着色数量:\n",
" FunSearch-MCP EoH-MCP AAE-MCP MEoH-MCP 贪心 Welsh-Powell \\\n",
"MCP0500.5 68 65 65 72 72 71 \n",
"MCP1000.9 316 299 299 321 321 313 \n",
"MCP0500.1 18 16 16 20 20 18 \n",
"MCP0250.1 12 10 10 13 13 11 \n",
"MCP0125.9 53 51 51 56 56 53 \n",
"MCP0250.5 40 37 37 43 43 41 \n",
"MCP0125.5 24 22 22 26 26 23 \n",
"MCP0250.9 92 92 92 99 99 93 \n",
"MCP0125.1 7 6 6 8 8 7 \n",
"MCP1000.1 29 27 27 31 31 29 \n",
"MCP0500.9 171 170 170 175 175 169 \n",
"MCP1000.5 123 115 115 127 127 121 \n",
"\n",
" DSATUR \n",
"MCP0500.5 65 \n",
"MCP1000.9 299 \n",
"MCP0500.1 16 \n",
"MCP0250.1 10 \n",
"MCP0125.9 51 \n",
"MCP0250.5 37 \n",
"MCP0125.5 22 \n",
"MCP0250.9 92 \n",
"MCP0125.1 6 \n",
"MCP1000.1 27 \n",
"MCP0500.9 170 \n",
"MCP1000.5 115 \n",
2025-03-17 16:40:01 +08:00
"\n",
"各算法在不同实例上的运行时间(秒):\n",
" FunSearch-MCP EoH-MCP AAE-MCP MEoH-MCP 贪心 Welsh-Powell \\\n",
"MCP0500.5 0.0531 17.5173 0.2342 0.0772 0.0384 0.0647 \n",
"MCP1000.9 0.1921 141.4497 0.7749 1.1940 0.1230 0.5992 \n",
"MCP0500.1 0.0273 9.1615 0.0434 0.0063 0.0208 0.0190 \n",
"MCP0250.1 0.0108 1.9122 0.0242 0.0047 0.0098 0.0086 \n",
"MCP0125.9 0.0037 0.3753 0.0160 0.0116 0.0023 0.0068 \n",
"MCP0250.5 0.0111 2.3817 0.0539 0.0163 0.0107 0.0159 \n",
"MCP0125.5 0.0037 0.3252 0.0094 0.0037 0.0022 0.0035 \n",
"MCP0250.9 0.0138 2.7876 0.0882 0.0623 0.0098 0.0273 \n",
"MCP0125.1 0.0032 0.2459 0.0061 0.0006 0.0022 0.0017 \n",
"MCP1000.1 0.1838 80.1908 0.1365 0.0256 0.0782 0.0820 \n",
"MCP0500.9 0.0550 21.5202 0.1652 0.2121 0.0248 0.0891 \n",
"MCP1000.5 0.1247 122.0818 0.9329 0.4898 0.1717 0.3686 \n",
"\n",
" DSATUR \n",
"MCP0500.5 12.9052 \n",
"MCP1000.9 62.9649 \n",
"MCP0500.1 8.4256 \n",
"MCP0250.1 1.6975 \n",
"MCP0125.9 0.2167 \n",
"MCP0250.5 1.7535 \n",
"MCP0125.5 0.2311 \n",
"MCP0250.9 1.9282 \n",
"MCP0125.1 0.2033 \n",
"MCP1000.1 67.1028 \n",
"MCP0500.9 9.3176 \n",
"MCP1000.5 69.0443 \n"
2025-03-17 16:40:01 +08:00
]
}
],
"source": [
"# 将结果整理成表格\n",
"import pandas as pd\n",
"\n",
"# 准备性能数据\n",
"data_colors = {}\n",
"for test_file in test_files:\n",
" # 去掉.txt后缀,将DSJC替换为MCP\n",
" instance_name = test_file.replace('.txt', '').replace('DSJC', 'MCP')\n",
" data_colors[instance_name] = {}\n",
" for alg_name in results:\n",
" if test_file in results[alg_name]:\n",
" data_colors[instance_name][alg_name] = results[alg_name][test_file]\n",
"\n",
"# 准备运行时间数据 \n",
"data_time = {}\n",
"for test_file in test_files:\n",
" instance_name = test_file.replace('.txt', '').replace('DSJC', 'MCP')\n",
" data_time[instance_name] = {}\n",
" for alg_name in results_time:\n",
" if test_file in results_time[alg_name]:\n",
" data_time[instance_name][alg_name] = round(results_time[alg_name][test_file], 4)\n",
"\n",
"# 转换为DataFrame\n",
"df_colors = pd.DataFrame(data_colors).T\n",
"df_time = pd.DataFrame(data_time).T\n",
"\n",
"# 打印结果表格\n",
"print(\"\\n各算法在不同实例上的着色数量:\")\n",
"print(df_colors)\n",
"print(\"\\n各算法在不同实例上的运行时间(秒):\")\n",
"print(df_time)"
]
},
{
"cell_type": "code",
"execution_count": null,
2025-03-17 16:40:01 +08:00
"metadata": {},
"outputs": [
{
"data": {
2025-03-28 11:37:04 +08:00
"image/png": "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
2025-03-17 16:40:01 +08:00
"text/plain": [
"<Figure size 1000x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# 计算每个算法的平均性能和平均时间\n",
"avg_colors = df_colors.mean()\n",
"avg_times = df_time.mean()\n",
"\n",
"# 中文显示\n",
"plt.rcParams['font.sans-serif'] = ['SimHei']\n",
"plt.rcParams['axes.unicode_minus'] = False\n",
"\n",
"# 创建散点图\n",
"plt.figure(figsize=(10, 6))\n",
"\n",
"# 设置坐标轴范围\n",
"x_max = max(avg_times) * 1.05 # 扩大20%\n",
"y_max = max(avg_colors) * 1.05\n",
"x_min = min(avg_times) * 0.99\n",
"y_min = min(avg_colors) * 0.99\n",
"plt.xlim(-5, 45)\n",
"plt.ylim(y_min, 84)\n",
"\n",
"# 定义不同算法的颜色和标记,确保数量足够\n",
"colors = ['red', 'blue', 'green', 'purple', 'orange', 'brown', 'pink', 'gray', 'olive', 'cyan']\n",
"markers = ['o', 's', '^', 'D', 'v', '<', '>', 'p', 'h', '8']\n",
"\n",
"# 绘制散点和标注\n",
"for i, alg in enumerate(avg_colors.index):\n",
" x = avg_times[alg]\n",
" y = avg_colors[alg]\n",
2025-03-28 11:37:04 +08:00
" # 替换算法名称\n",
" display_name = alg.replace('EoH-MCP', 'EoH-GCP').replace('FunSearch-MCP', 'FunSearch-GCP').replace('AAE-MCP', 'AAE-GCP')\n",
2025-03-17 16:40:01 +08:00
" plt.scatter(x, y,\n",
" color=colors[i % len(colors)], # 使用取模确保不会越界\n",
" marker=markers[i % len(markers)],\n",
" s=100,\n",
2025-03-28 11:37:04 +08:00
" label=display_name)\n",
2025-03-17 16:40:01 +08:00
" # 为DA和EOH设置不同的标注位置\n",
" if alg in ['DSATUR', 'EoH-MCP']:\n",
" xytext = (-90, 20) # 左上方偏移\n",
" elif alg in ['FunSearch-MCP']:\n",
" xytext = (-50, 20)\n",
" else:\n",
" xytext = (20, -5) # 右上方偏移\n",
" \n",
" plt.annotate(f'({x:.2f}, {y:.2f})',\n",
" xy=(x, y),\n",
" xytext=xytext,\n",
" textcoords='offset points',\n",
" fontsize=18,\n",
" bbox=dict(facecolor='white', edgecolor='none', alpha=0.7))\n",
"\n",
"plt.xlabel('平均运行时间(秒)', fontsize=18)\n",
"plt.ylabel('平均着色数量', fontsize=18)\n",
"\n",
"# 设置刻度字体大小\n",
"plt.xticks(fontsize=14)\n",
"plt.yticks(fontsize=14)\n",
"\n",
"# 添加图例\n",
"plt.legend(fontsize=14, loc='upper right')\n",
"\n",
"plt.tight_layout()\n",
"plt.savefig('mcppareto.png',dpi=300)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
2025-03-17 16:40:01 +08:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"每个实例的基本信息:\n",
" 测试实例 顶点数 边数 密度 平均度数\n",
"0 DSJC0125.1.txt 125 736 0.094968 11.776\n",
"1 DSJC0125.5.txt 125 3891 0.502065 62.256\n",
"2 DSJC0125.9.txt 125 6961 0.898194 111.376\n",
"3 DSJC0250.1.txt 250 3218 0.103390 25.744\n",
"4 DSJC0250.5.txt 250 15668 0.503390 125.344\n",
"5 DSJC0250.9.txt 250 27897 0.896289 223.176\n",
"6 DSJC0500.1.txt 500 12458 0.099864 49.832\n",
"7 DSJC0500.5.txt 500 62624 0.501996 250.496\n",
"8 DSJC0500.9.txt 500 112437 0.901299 449.748\n",
"9 DSJC1000.1.txt 1000 49629 0.099357 99.258\n",
"10 DSJC1000.5.txt 1000 249826 0.500152 499.652\n",
"11 DSJC1000.9.txt 1000 449449 0.899798 898.898\n"
]
}
],
"source": [
"# 统计每个实例的基本信息\n",
"instance_info = []\n",
"\n",
"for test_file in test_files:\n",
" adj_matrix = load_graph_data(test_file)\n",
" if adj_matrix is None:\n",
" continue\n",
" \n",
" n_vertices = adj_matrix.shape[0]\n",
" n_edges = np.sum(adj_matrix) // 2 # 无向图的边数\n",
" density = n_edges / (n_vertices * (n_vertices - 1) / 2) # 图的密度\n",
" avg_degree = np.sum(adj_matrix) / n_vertices # 平均度数\n",
" \n",
" instance_info.append({\n",
" '测试实例': test_file,\n",
" '顶点数': n_vertices,\n",
" '边数': n_edges,\n",
" '密度': density,\n",
" '平均度数': avg_degree\n",
" })\n",
"\n",
"# 将统计信息转换为DataFrame并打印\n",
"df_info = pd.DataFrame(instance_info)\n",
"print(\"\\n每个实例的基本信息:\")\n",
"print(df_info)"
]
},
{
"cell_type": "code",
"execution_count": null,
2025-03-17 16:40:01 +08:00
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 800x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 800x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import networkx as nx\n",
"import matplotlib.font_manager as fm\n",
"\n",
"# 设置中文字体\n",
"plt.rcParams['font.sans-serif'] = ['SimHei']\n",
"plt.rcParams['axes.unicode_minus'] = False\n",
"\n",
"# 定义节点位置和边\n",
"positions = [(0,0), (1,0), (0,1), (2,0), (1,1)] # 5个节点的位置\n",
"edges = [(0,1), (0,2), (1,2), (1,3), (2,4), (3,4)] # 节点间的连接\n",
"\n",
"# 创建图对象\n",
"G = nx.Graph()\n",
"G.add_nodes_from(range(len(positions)))\n",
"G.add_edges_from(edges)\n",
"pos = {i: positions[i] for i in range(len(positions))}\n",
"\n",
"# 绘制第一个图\n",
"plt.figure(figsize=(8, 6))\n",
"colors = ['red', 'green', 'blue', 'yellow', 'purple']\n",
"nx.draw(G, pos,\n",
" node_color=colors,\n",
" node_size=1000,\n",
" with_labels=True,\n",
" font_size=12,\n",
" font_weight='bold',\n",
" edge_color='gray',\n",
" width=1)\n",
"\n",
"# plt.title('5色着色方案', fontsize=18, fontweight='bold')\n",
"plt.axis('equal')\n",
"plt.savefig('./plot/5color.png',dpi=300)\n",
"plt.show()\n",
"\n",
"# 绘制第二个图\n",
"plt.figure(figsize=(8, 6))\n",
"colors2 = ['red', 'green', 'blue', 'blue', 'red']\n",
"nx.draw(G, pos,\n",
" node_color=colors2,\n",
" node_size=1000,\n",
" with_labels=True,\n",
" font_size=12,\n",
" font_weight='bold',\n",
" edge_color='gray',\n",
" width=1)\n",
"\n",
"# plt.title('3色着色方案', fontsize=18, fontweight='bold')\n",
"plt.axis('equal')\n",
"plt.savefig('./plot/3color.png',dpi=300)\n",
"plt.show()\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "lead",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.11"
}
},
"nbformat": 4,
"nbformat_minor": 2
}