638. Santa 2024 - The Perplexity Permutation Puzzle | santa-2024
首先,感谢组织者每年创建如此有趣的问题。特别是今年,同样的分数恰好是金牌的分数线。我认为这是一个难度恰到好处的问题。(虽然我们可能没有拿到金牌 :D)
感谢所有参与比赛的选手。公开的讨论和代码非常有启发性,也很公平。
感谢我所有的队友。我们是来自日本电气通信大学的一个团队。hoxosh( @cashfeg ) 和 yukari17( @yukari17 ) 是教职员,Prgckwb( @prgckwb ) 是硕士研究生,kumanomi( @kkkggg ) 是数据科学扩展项目的校友。
Santa Master 是我经常使用的名字,但今年被占用了,所以我决定称自己为 本家 Santa Master(本家在日语中意为extended family 中的本家/主家)。
我们,尤其是我 (hoxosh),尝试了很多方法,我们一起改进了那些有效的方法。Prgckwb 管理 GPU 资源,我们在 WandB 上检查进度。最后,kumanomi 的模拟退火 (SA)、prgckwb 的遗传算法 (GA) 和 yukari17 的带扰动的局部搜索变体 (Sano 武器) 效果很好。
虽然花了很长时间,但我们能够在 ID 0, 1, 2, 4 上获得与发布的最高分数相同的分数,但我们在 ID 3 和 5 上卡住了。
对于 ID3,经过多次尝试跳出局部最优后,我们想到了固定第一个单词的主意,我们使用 SA 固定第一个单词为 magi 得到了 195 分,并且我们能够使用 GA 得到 191.73 分 (1/23)。
至于 ID5,我们卡在 32 分很长一段时间(直到 1/29)。即使在阅读了意外发布的代码后,我们也不能立即理解它。直到我们试用该代码一天并得到 31.5 分后,我们才终于理解了它(截止日期前 49.5 小时)。从那里开始,Sano 武器迅速提高了分数,然后 SA 和 GA converge 在几小时内达到了 246.82532。在那里又卡了半天之后,并被一个团队超越,SA 做出了最后的修饰(截止日期前 25.5 小时)。
(kumanomi 部分)
模拟退火基础:开发了一种减少陷入局部最优可能性的方法, specifically targeting 针对 ID3 问题的 197.5 局部最优。
初始设置:
性能与策略 (ID3):
结果:成功达到 195 分,并将任务传递给 @Prgckwb 进行进一步开发。
( @Prgckwb 部分)
我通过使用遗传算法contributed to 后期改进,在 id=3 实现了 195.0→191.7,在 id=5 实现了 28.8→28.5。该算法遵循以下原则:

( @yukari17 部分)
主要帮助将分数从 31.5 提高到 28.8 (id=5)。
