Code Evolution Graphs: Understanding Large Language Model Driven Design of Algorithms
By: Niki van Stein , Anna V. Kononova , Lars Kotthoff and more
Potential Business Impact:
Helps computers understand how they write code.
Large Language Models (LLMs) have demonstrated great promise in generating code, especially when used inside an evolutionary computation framework to iteratively optimize the generated algorithms. However, in some cases they fail to generate competitive algorithms or the code optimization stalls, and we are left with no recourse because of a lack of understanding of the generation process and generated codes. We present a novel approach to mitigate this problem by enabling users to analyze the generated codes inside the evolutionary process and how they evolve over repeated prompting of the LLM. We show results for three benchmark problem classes and demonstrate novel insights. In particular, LLMs tend to generate more complex code with repeated prompting, but additional complexity can hurt algorithmic performance in some cases. Different LLMs have different coding ``styles'' and generated code tends to be dissimilar to other LLMs. These two findings suggest that using different LLMs inside the code evolution frameworks might produce higher performing code than using only one LLM.
Similar Papers
Evolutionary thoughts: integration of large language models and evolutionary algorithms
Neural and Evolutionary Computing
AI learns faster by trying many ideas.
Large Language Models for Code Generation: A Comprehensive Survey of Challenges, Techniques, Evaluation, and Applications
Software Engineering
Lets anyone write computer programs with plain English.
A Systematic Survey on Large Language Models for Evolutionary Optimization: From Modeling to Solving
Neural and Evolutionary Computing
Helps computers solve hard problems faster.