Rethinking Code Similarity for Automated Algorithm Design with LLMs

📄 arXiv: 2603.02787v1 📥 PDF

作者: Rui Zhang, Zhichao Lu

分类: cs.AI

发布日期: 2026-03-03

备注: Accepted to ICLR 2026

🔗 代码/项目: GITHUB


💡 一句话要点

提出BehaveSim,通过行为相似性度量提升LLM驱动的算法自动设计。

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 算法相似性 LLM-AAD 问题解决轨迹 动态时间规整 算法行为分析

📋 核心要点

  1. 现有代码相似性度量方法侧重于语法或输出,无法有效区分算法逻辑上的差异,阻碍了LLM-AAD的发展。
  2. BehaveSim通过比较算法执行过程中的问题解决轨迹(PSTrajs),利用动态时间规整(DTW)来量化算法的行为相似性。
  3. 实验表明,BehaveSim能有效提升LLM-AAD框架的性能,并支持对AI生成算法进行行为分析和聚类。

📝 摘要(中文)

基于大型语言模型的自动化算法设计(LLM-AAD)通过自主生成专家级算法的代码实现,改变了算法开发的方式。与传统的专家驱动算法开发不同,在LLM-AAD范式中,算法背后的主要设计原则通常隐式地嵌入在生成的代码中。因此,直接从代码评估算法相似性,区分真正的算法创新和单纯的语法变异至关重要。现有的代码相似性度量方法侧重于表面语法或输出等价性,而忽略了底层的算法逻辑,因此无法捕获算法相似性。我们提出BehaveSim,一种通过问题解决行为(即执行过程中产生的中间解序列,称为问题解决轨迹(PSTrajs))来衡量算法相似性的新方法。通过使用动态时间规整(DTW)量化PSTrajs之间的对齐,BehaveSim可以区分具有不同逻辑但语法或输出层面相似的算法。我们展示了其在两个关键应用中的效用:(i)增强LLM-AAD:将BehaveSim集成到现有的LLM-AAD框架(如FunSearch、EoH)中,可以促进行为多样性,显著提高三个AAD任务的性能。(ii)算法分析:BehaveSim按行为对生成的算法进行聚类,从而能够系统地分析问题解决策略,这对于不断增长的AI生成算法生态系统来说是一个至关重要的工具。该工作的数据和代码已开源。

🔬 方法详解

问题定义:论文旨在解决LLM自动算法设计中,如何准确评估算法相似性的问题。现有代码相似性度量方法主要关注代码的语法结构或输出结果,无法有效捕捉算法的内在逻辑和行为模式,导致无法区分真正具有创新性的算法和仅仅是语法变体的算法。这阻碍了LLM-AAD框架的进一步发展和应用。

核心思路:论文的核心思路是通过观察算法在解决问题过程中的行为轨迹来判断算法的相似性。具体来说,将算法执行过程中产生的中间解序列(问题解决轨迹,PSTrajs)作为算法行为的表征,通过比较这些轨迹的相似性来判断算法的相似性。这种方法能够捕捉算法的内在逻辑和解决问题的策略,从而更准确地评估算法的相似性。

技术框架:BehaveSim的技术框架主要包括以下几个步骤:1. 收集算法在解决问题过程中的问题解决轨迹(PSTrajs)。2. 使用动态时间规整(DTW)算法来计算不同算法的PSTrajs之间的相似度。3. 基于计算得到的相似度,对算法进行聚类或用于指导LLM-AAD框架的算法生成过程。整个框架的核心是PSTrajs的提取和DTW算法的应用。

关键创新:BehaveSim的关键创新在于提出了使用问题解决轨迹(PSTrajs)来表征算法行为,并使用动态时间规整(DTW)来量化PSTrajs之间的相似度。这种方法能够有效地捕捉算法的内在逻辑和解决问题的策略,从而更准确地评估算法的相似性。与传统的代码相似性度量方法相比,BehaveSim更加关注算法的行为,而不是仅仅关注代码的语法结构或输出结果。

关键设计:BehaveSim的关键设计包括:1. 如何定义和提取问题解决轨迹(PSTrajs)。这需要根据具体的算法和问题进行设计,选择合适的中间解作为PSTrajs的元素。2. 如何选择合适的DTW参数,例如窗口大小和距离度量方法。这些参数会影响DTW算法的性能和准确性。3. 如何将BehaveSim集成到LLM-AAD框架中,例如如何利用BehaveSim的相似度度量来指导算法生成过程,从而提高生成算法的质量和多样性。

📊 实验亮点

实验结果表明,将BehaveSim集成到现有的LLM-AAD框架(如FunSearch、EoH)中,可以显著提高算法生成的性能。在三个AAD任务上,BehaveSim能够促进行为多样性,从而提升算法的整体性能。此外,BehaveSim还能够有效地对生成的算法进行聚类,从而方便研究人员进行算法行为分析。

🎯 应用场景

BehaveSim可应用于LLM驱动的算法自动设计,提升算法生成质量和多样性。同时,它还可用于算法行为分析,帮助研究人员理解AI生成算法的内在逻辑和解决问题的策略,促进算法设计和优化。此外,BehaveSim还可用于检测恶意代码,通过分析代码的行为模式来识别潜在的威胁。

📄 摘要(原文)

The rise of Large Language Model-based Automated Algorithm Design (LLM-AAD) has transformed algorithm development by autonomously generating code implementations of expert-level algorithms. Unlike traditional expert-driven algorithm development, in the LLM-AAD paradigm, the main design principle behind an algorithm is often implicitly embedded in the generated code. Therefore, assessing algorithmic similarity directly from code, distinguishing genuine algorithmic innovation from mere syntactic variation, becomes essential. While various code similarity metrics exist, they fail to capture algorithmic similarity, as they focus on surface-level syntax or output equivalence rather than the underlying algorithmic logic. We propose BehaveSim, a novel method to measure algorithmic similarity through the lens of problem-solving behavior as a sequence of intermediate solutions produced during execution, dubbed as problem-solving trajectories (PSTrajs). By quantifying the alignment between PSTrajs using dynamic time warping (DTW), BehaveSim distinguishes algorithms with divergent logic despite syntactic or output-level similarities. We demonstrate its utility in two key applications: (i) Enhancing LLM-AAD: Integrating BehaveSim into existing LLM-AAD frameworks (e.g., FunSearch, EoH) promotes behavioral diversity, significantly improving performance on three AAD tasks. (ii) Algorithm analysis: BehaveSim clusters generated algorithms by behavior, enabling systematic analysis of problem-solving strategies--a crucial tool for the growing ecosystem of AI-generated algorithms. Data and code of this work are open-sourced at https://github.com/RayZhhh/behavesim.