学习地图
复制页面
伊辛云帮助中心
学习地图
快速入门
云平台使用教程
SDK使用教程
案例-解决最大割问题
案例-特征选择
案例-组合投资优化
案例-旅行商问题
常见问题
学习地图
复制页面
案例-解决最大割问题
最大割问题 (Max-Cut)
#
最大割问题是图论中的经典优化问题,目标是将图中的节点分成两个集合,使得横跨两个集合的边数最多。
1. 问题描述
#
给定一个图
G
=
(
V
,
E
)
,我们需要将所有节点
V
分成两个互不相交的集合
S
1
和
S
2
。如果一条边的两个端点分别属于不同的集合,则称这条边被“割”开了。我们的目标是最大化被割开的边的总数。
2. 建模步骤
#
定义变量
:为每个节点
i
分配一个自旋变量
σ
i
。
若节点属于
S
1
,则
σ
i
=
+
1
。
若节点属于
S
2
,则
σ
i
=
−
1
。
构建能量函数
:
当边
(
i
,
j
)
的两个端点在不同集合时,
σ
i
⋅
σ
j
=
−
1
(贡献割边)。
当两个端点在同一集合时,
σ
i
⋅
σ
j
=
1
。
目标是最小化
H
=
∑
(
i
,
j
)
∈
E
σ
i
σ
j
。最小化这个能量函数等价于让尽可能多的项变为 -1,即最大化割边的数量。
提取系数
:
如果节点
i
和
j
之间有边,则设置耦合系数
J
ij
=
1
。
如果没有边,则
J
ij
=
0
。
外部磁场系数
h
i
=
0
。
3. 云平台输入
#
将上述
J
ij
组成的矩阵和全为 0 的
h
i
向量上传至伊辛云平台,选择
Spin
模型求解即可。
修改于
2025-12-22 06:40:29
上一页
SDK使用教程
下一页
案例-特征选择