上周提到的QAOA在特定初始值情况下不起作用的现象,已经查明原因:大多数QAOA解决的问题,比如max-cut,本来能量景观就不是凸的,会出现很多局部极值点。QAOA参数优化利用的是能量期望值,但是最终要解决的是提高正确解出现的概率,两者之间并没有很强的关联,有可能出现能量期望值很大而正确解概率很小的情况。
好在正确解对应唯一的最大能量期望值,虽然随机极值点不行,但网格搜索整个参数空间,从多个不同极值点找到最优解还是理论上可行的。我现在找到的方法是贝叶斯优化,可以手动设定多个起始采样点。实验下来确实正确率要比线性初始点稳定一些,但是优化次数多了很多,而且还是会小概率出现了正确率奇低但能量期望正常的结果。无论如何,这已经是现在找到最优的优化方法了,我之后会沿用。