2025-03-17 16:40:01 +08:00
|
|
|
{
|
|
|
|
"cells": [
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
|
|
|
"execution_count": 1,
|
|
|
|
"metadata": {},
|
|
|
|
"outputs": [],
|
|
|
|
"source": [
|
|
|
|
"import numpy as np\n",
|
|
|
|
"import matplotlib.pyplot as plt\n",
|
|
|
|
"from matplotlib.patches import Polygon\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",
|
|
|
|
"np.random.seed(42)\n",
|
|
|
|
"n_points = 50\n",
|
|
|
|
"points = np.random.rand(n_points, 2) * 10\n",
|
|
|
|
"\n",
|
|
|
|
"# 识别帕累托前沿\n",
|
|
|
|
"def is_pareto_efficient(costs):\n",
|
|
|
|
" is_efficient = np.ones(costs.shape[0], dtype=bool)\n",
|
|
|
|
" for i, c in enumerate(costs):\n",
|
|
|
|
" if is_efficient[i]:\n",
|
|
|
|
" is_efficient[is_efficient] = np.any(costs[is_efficient] < c, axis=1) # Remove dominated points\n",
|
|
|
|
" is_efficient[i] = True\n",
|
|
|
|
" return is_efficient\n",
|
|
|
|
"\n",
|
|
|
|
"# 获取帕累托前沿点\n",
|
|
|
|
"pareto_front_mask = is_pareto_efficient(points)\n",
|
|
|
|
"pareto_front = points[pareto_front_mask]\n",
|
|
|
|
"\n",
|
|
|
|
"# 创建图形\n",
|
|
|
|
"plt.figure(figsize=(10, 8))\n",
|
|
|
|
"\n",
|
|
|
|
"# 绘制非帕累托前沿点\n",
|
|
|
|
"plt.scatter(points[~pareto_front_mask, 0], points[~pareto_front_mask, 1], \n",
|
|
|
|
" c='lightgray', s=100, label='种群个体')\n",
|
|
|
|
"\n",
|
|
|
|
"# 绘制帕累托前沿点\n",
|
|
|
|
"plt.scatter(pareto_front[:, 0], pareto_front[:, 1], \n",
|
|
|
|
" c='red', s=100, label='帕累托前沿个体')\n",
|
|
|
|
"\n",
|
|
|
|
"# 连接帕累托前沿点\n",
|
|
|
|
"sorted_front = pareto_front[np.argsort(pareto_front[:, 0])]\n",
|
|
|
|
"plt.plot(sorted_front[:, 0], sorted_front[:, 1], 'r--', alpha=0.5)\n",
|
|
|
|
"\n",
|
|
|
|
"# 添加密度分布示意\n",
|
|
|
|
"for point in pareto_front:\n",
|
|
|
|
" circle = plt.Circle(point, 0.5, color='blue', fill=False, alpha=0.2)\n",
|
|
|
|
" plt.gca().add_patch(circle)\n",
|
|
|
|
"\n",
|
|
|
|
"# 添加箭头和标注\n",
|
|
|
|
"plt.arrow(8, 8, -0.5, -0.5, head_width=0.2, head_length=0.2, fc='k', ec='k')\n",
|
|
|
|
"plt.text(8.2, 8.2, '优化方向', fontsize=20)\n",
|
|
|
|
"\n",
|
|
|
|
"# 设置标题和标签\n",
|
|
|
|
"# plt.title('帕累托前沿维护策略示意图', fontsize=14, pad=20)\n",
|
|
|
|
"plt.xlabel('算法性能指标', fontsize=20)\n",
|
|
|
|
"plt.ylabel('运行时间', fontsize=20)\n",
|
|
|
|
"\n",
|
|
|
|
"# 添加图例\n",
|
|
|
|
"plt.legend(loc='upper right', fontsize=20)\n",
|
|
|
|
"\n",
|
|
|
|
"# 添加网格\n",
|
|
|
|
"plt.grid(True, linestyle='--', alpha=0.3)\n",
|
|
|
|
"\n",
|
|
|
|
"# 设置坐标轴范围\n",
|
|
|
|
"plt.xlim(-0.5, 11)\n",
|
|
|
|
"plt.ylim(-0.5, 11)\n",
|
|
|
|
"\n",
|
|
|
|
"# 保存图片\n",
|
|
|
|
"plt.savefig('pareto_front_strategy.png', dpi=300, bbox_inches='tight')\n",
|
|
|
|
"plt.close() "
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
2025-03-18 16:51:30 +08:00
|
|
|
"execution_count": 2,
|
2025-03-17 16:40:01 +08:00
|
|
|
"metadata": {},
|
|
|
|
"outputs": [],
|
|
|
|
"source": [
|
|
|
|
"text1 = '''贪心\n",
|
|
|
|
"回溯\n",
|
|
|
|
"高度优先\n",
|
|
|
|
"图着色\n",
|
2025-03-17 16:48:24 +08:00
|
|
|
"饱和度\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"回溯\n",
|
2025-03-17 16:48:24 +08:00
|
|
|
"相邻约束\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"图着色\n",
|
|
|
|
"贪心\n",
|
|
|
|
"回溯\n",
|
|
|
|
"高度优先\n",
|
2025-03-17 16:48:24 +08:00
|
|
|
"优先队列\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"度数优先\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"颜色选择\n",
|
|
|
|
"贪心\n",
|
|
|
|
"相邻未着色\n",
|
|
|
|
"颜色选择\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"度数优先\n",
|
2025-03-17 16:48:24 +08:00
|
|
|
"饱和度\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"动态更新\n",
|
|
|
|
"可用颜色\n",
|
2025-03-17 16:48:24 +08:00
|
|
|
"优先队列\n",
|
|
|
|
"相邻约束\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"饱和度\n",
|
|
|
|
"度数选择\n",
|
2025-03-17 16:48:24 +08:00
|
|
|
"相邻约束\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"颜色使用\n",
|
2025-03-17 16:48:24 +08:00
|
|
|
"Welsh-Powell\n",
|
|
|
|
"Welsh-Powell\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"动态更新\n",
|
|
|
|
"可用颜色\n",
|
|
|
|
"相邻冲突\n",
|
|
|
|
"颜色选择\n",
|
2025-03-17 16:48:24 +08:00
|
|
|
"饱和度\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"动态更新\n",
|
2025-03-17 16:48:24 +08:00
|
|
|
"相邻约束\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"颜色选择\n",
|
|
|
|
"'''\n",
|
|
|
|
"text2 = '''\n",
|
|
|
|
"贪心\n",
|
2025-03-17 16:48:24 +08:00
|
|
|
"度数优先\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"颜色分配\n",
|
|
|
|
"图着色\n",
|
|
|
|
"最低可用颜色\n",
|
|
|
|
"优化\n",
|
|
|
|
"优先队列\n",
|
|
|
|
"颜色分配\n",
|
|
|
|
"贪心\n",
|
|
|
|
"图着色\n",
|
2025-03-17 16:48:24 +08:00
|
|
|
"度数优先\n",
|
|
|
|
"邻居历史\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"最小颜色\n",
|
|
|
|
"图着色\n",
|
|
|
|
"贪心\n",
|
2025-03-17 16:48:24 +08:00
|
|
|
"贪心\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"邻居历史\n",
|
|
|
|
"颜色最小化\n",
|
|
|
|
"图着色\n",
|
|
|
|
"颜色选择\n",
|
|
|
|
"Welsh-Powell\n",
|
2025-03-17 16:48:24 +08:00
|
|
|
"度数优先\n",
|
2025-03-17 16:40:01 +08:00
|
|
|
"颜色分配\n",
|
|
|
|
"贪心\n",
|
|
|
|
"图着色\n",
|
|
|
|
"贪心\n",
|
|
|
|
"迭代着色\n",
|
|
|
|
"相邻约束\n",
|
|
|
|
"图着色\n",
|
|
|
|
"颜色选择\n",
|
|
|
|
"Welsh-Powell\n",
|
|
|
|
"贪心\n",
|
|
|
|
"降序着色\n",
|
|
|
|
"图着色\n",
|
|
|
|
"颜色分配\n",
|
|
|
|
"贪心\n",
|
|
|
|
"度数优先\n",
|
|
|
|
"最小颜色\n",
|
|
|
|
"相邻约束\n",
|
|
|
|
"图着色'''"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"cell_type": "code",
|
2025-03-18 16:51:30 +08:00
|
|
|
"execution_count": 3,
|
2025-03-17 16:40:01 +08:00
|
|
|
"metadata": {},
|
2025-03-17 16:48:24 +08:00
|
|
|
"outputs": [
|
|
|
|
{
|
|
|
|
"data": {
|
2025-03-18 16:51:30 +08:00
|
|
|
"image/png": "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
|
2025-03-17 16:48:24 +08:00
|
|
|
"text/plain": [
|
|
|
|
"<Figure size 1200x800 with 1 Axes>"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"metadata": {},
|
|
|
|
"output_type": "display_data"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"source": [
|
|
|
|
"import matplotlib.pyplot as plt\n",
|
|
|
|
"import numpy as np\n",
|
|
|
|
"\n",
|
|
|
|
"plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签\n",
|
|
|
|
"plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号\n",
|
|
|
|
"plt.rcParams['font.size'] = 16 # 设置更大的字号\n",
|
|
|
|
"\n",
|
|
|
|
"# 定义要删除的关键词\n",
|
|
|
|
"keywords = ['着色', '颜色', '图着色',' ','优化']\n",
|
|
|
|
"\n",
|
|
|
|
"# 预处理文本,删除包含关键词的行\n",
|
|
|
|
"text1_lines = text1.strip().split('\\n')\n",
|
|
|
|
"text2_lines = text2.strip().split('\\n')\n",
|
|
|
|
"\n",
|
|
|
|
"text1_filtered = []\n",
|
|
|
|
"text2_filtered = []\n",
|
|
|
|
"\n",
|
|
|
|
"for line in text1_lines:\n",
|
|
|
|
" if not any(keyword in line for keyword in keywords):\n",
|
|
|
|
" text1_filtered.append(line)\n",
|
|
|
|
" \n",
|
|
|
|
"for line in text2_lines:\n",
|
|
|
|
" if not any(keyword in line for keyword in keywords):\n",
|
|
|
|
" text2_filtered.append(line)\n",
|
|
|
|
"\n",
|
|
|
|
"text1 = '\\n'.join(text1_filtered)\n",
|
|
|
|
"text2 = '\\n'.join(text2_filtered)\n",
|
|
|
|
"\n",
|
|
|
|
"\n",
|
|
|
|
"\n",
|
|
|
|
"# 统计text1和text2中的词频\n",
|
|
|
|
"text1_words = text1.strip().split('\\n')\n",
|
|
|
|
"text2_words = text2.strip().split('\\n')\n",
|
|
|
|
"\n",
|
|
|
|
"# 获取所有唯一的词\n",
|
|
|
|
"all_words = sorted(set(text1_words + text2_words))\n",
|
|
|
|
"\n",
|
|
|
|
"# 统计词频\n",
|
|
|
|
"text1_freq = {word: text1_words.count(word) for word in all_words}\n",
|
|
|
|
"text2_freq = {word: text2_words.count(word) for word in all_words}\n",
|
|
|
|
"\n",
|
|
|
|
"# 创建雷达图\n",
|
|
|
|
"plt.figure(figsize=(12, 8))\n",
|
|
|
|
"\n",
|
|
|
|
"# 计算角度\n",
|
|
|
|
"angles = np.linspace(0, 2*np.pi, len(all_words), endpoint=False)\n",
|
|
|
|
"\n",
|
|
|
|
"# 闭合雷达图\n",
|
|
|
|
"values1 = list(text1_freq.values())\n",
|
|
|
|
"values2 = list(text2_freq.values())\n",
|
|
|
|
"values1.append(values1[0])\n",
|
|
|
|
"values2.append(values2[0])\n",
|
|
|
|
"angles = np.concatenate((angles, [angles[0]]))\n",
|
|
|
|
"\n",
|
|
|
|
"# 绘制雷达图\n",
|
|
|
|
"ax = plt.subplot(111, projection='polar')\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"ax.plot(angles, values1, 'o-', linewidth=2, label='AAE', color='skyblue', alpha=0.7)\n",
|
2025-03-17 16:48:24 +08:00
|
|
|
"ax.fill(angles, values1, alpha=0.25, color='skyblue')\n",
|
|
|
|
"ax.plot(angles, values2, 'o-', linewidth=2, label='EoH', color='red', alpha=0.7)\n",
|
|
|
|
"ax.fill(angles, values2, alpha=0.25, color='red')\n",
|
|
|
|
"\n",
|
|
|
|
"# 设置刻度标签\n",
|
|
|
|
"ax.set_xticks(angles[:-1])\n",
|
|
|
|
"ax.set_xticklabels(all_words, fontsize=20)\n",
|
|
|
|
"\n",
|
|
|
|
"# 添加图例和标题\n",
|
2025-03-18 16:51:30 +08:00
|
|
|
"plt.legend(loc='upper right', bbox_to_anchor=(0.05, 0.05),fontsize=24)\n",
|
2025-03-17 16:48:24 +08:00
|
|
|
"# plt.title('词频分布雷达图对比', pad=20)\n",
|
|
|
|
"\n",
|
|
|
|
"plt.tight_layout()\n",
|
|
|
|
"plt.savefig('rador.png', dpi=300)\n",
|
|
|
|
"plt.show()"
|
|
|
|
]
|
2025-03-17 16:40:01 +08:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"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
|
|
|
|
}
|