4OPS: Structural Difficulty Modeling in Integer Arithmetic Puzzles
University of Michigan-Dearborn(密歇根大学迪尔伯恩分校)
本文研究整数运算谜题的难度结构决定因素,提出基于动态规划的精确求解器,构建340万实例数据集,证明难度由可解释的结构属性决定,为自适应学习提供理论支持。
2026-03-26 cs.AI
NAPS: Natural Program Synthesis Dataset
NEAR
我们提出了一个面向程序合成的数据集,由人类编写的问题陈述和解决方案,这些问题。问题陈述是通过众包收集的,程序解决方案是从编程竞赛中的人类书面解决方案中提取的,并附有输入/输出示例。我们建议使用此数据集的程序合成任务,旨在与真正的用户生成的数据。作为基线,我们提出了几个模型,最好的模型达到8.8%的准确率,展示了数据集的复杂性和未来研究的巨大空间。
2018-07-06 cs.AI cs.LG cs.PL
Heuristics, Answer Set Programming and Markov Decision Process for Solving a Set of Spatial Puzzles
Centro Universitário FEI(FEI大学中心);University of Corunna(科鲁尼亚大学)
由刚性物体、柔性弦和孔洞组成的空间谜题为人们对日常生活中常见的空间实体进行推理提供了有趣的领域。这项工作的目标是调查这类问题的自动化解决方案,采用一种算法,结合答案集编程(ASP)与马尔可夫决策过程(MDP),算法oASP(MDP),使用启发式算法加速学习过程。ASP被用来表示域作为一个MDP,而强化学习算法(Q学习)被用来找到最优策略。在这项工作中,数学是从放松版本的难题的解决方案。实验进行了确定性,非确定性和非平稳版本的难题。结果表明,所提出的方法可以加速学习过程中,呈现出优势相比,非启发式版本的oASP(MDP)和Q-Learning。
2019-02-16 cs.AI cs.LG
Automatic Synthesis of Neurons for Recurrent Neural Nets
Østfold University College(东福尔郡大学学院)
我们提出了一类新的神经元ARN,它在测试数据上的交叉熵比精心优化的LSTM神经元低三倍。对这些巨大改进的解释通常是,通过时间的精心设计的跳跃连接,每个神经元多达四个内部记忆状态,以及许多新颖的激活函数,包括小的二次型。新的神经元是使用自动编程生成的,并被公式化为纯函数程序,可以很容易地转换。我们展示了八个数据集的实验结果,发现其中七个数据集有很好的改进,但LSTM仍然是一个数据集的最佳改进。这些结果是如此有希望,以至于自动编程生成新神经元应该成为任何处理传感器信号等时间序列数据的机器学习从业者的标准操作程序的一部分。
2022-06-29 cs.AI cs.LG cs.NE
TinyverseGP: Towards a Modular Cross-domain Benchmarking Framework for Genetic Programming
RWTH Aachen University(亚琛工业大学);Brno University of Technology(布尔诺理工大学)
针对遗传编程基准测试分散、不同表示未跨域比较的问题,提出统一框架TinyverseGP,支持多种表示方式与符号回归等多问题域,推动遗传编程跨域基准测试标准化。
2025-04-14 cs.LG cs.NE cs.SC
ACES: Generating Diverse Programming Puzzles with with Autotelic Generative Models
Inria(法国国家信息与自动化研究所);MIT(麻省理工学院);University of California, Berkeley(加州大学伯克利分校)
ACES通过自激励生成模型生成多样且更具挑战性的Python编程谜题,提升谜题的多样性和难度。
2024-05-29 cs.AI cs.LG
VisualSphinx: Large-Scale Synthetic Vision Logic Puzzles for RL
University of Washington(华盛顿大学);Western Washington University(西华盛顿大学)
本文提出大规模合成视觉逻辑推理数据集VisualSphinx及规则到图像的合成流水线,通过GRPO训练显著提升VLM在逻辑推理及其他相关推理任务上的性能。
2026-11-02 cs.AI cs.CV cs.LG
Choose Your Programming Copilot: A Comparison of the Program Synthesis Performance of GitHub Copilot and Genetic Programming
Johannes Gutenberg University(约翰内斯·古腾堡大学)
GitHub Copilot是由大规模语言模型Codex提供支持的Visual Studio Code开发环境的扩展,为软件开发人员提供自动程序合成。该模型在深度学习领域已经得到了广泛的研究,然而,与遗传编程的比较尚未进行,遗传编程也以其在自动程序合成中的性能而闻名。在本文中,我们评估GitHub Copilot在标准程序合成基准问题上的表现,并将所取得的结果与遗传编程文献中的结果进行比较。此外,我们讨论了这两种方法的性能。我们发现这两种方法在基准测试问题上的性能相当相似,然而,与GitHub Copilot相比,基于遗传编程的程序合成方法还不够成熟,无法支持程序员进行实际的软件开发。遗传编程通常需要大量昂贵的手工标记的训练案例,并且需要花费太多的时间来生成解决方案。此外,由遗传编程方法生成的源代码通常是臃肿的并且难以理解。对于未来的工作与遗传编程的程序合成,我们建议研究人员专注于提高执行时间,可读性和可用性。
2021-11-15 cs.LG cs.NE cs.SE
Designing Perceptual Puzzles by Differentiating Probabilistic Programs
MIT(麻省理工学院);UCSD(加州大学圣地亚哥分校)
我们通过为人类感知的原则模型寻找“对抗性例子”来设计新的视觉错觉-特别是概率模型,它将视觉视为贝叶斯推理。为了有效地执行此搜索,我们设计了一个可微的概率程序设计语言,其API暴露MCMC推理作为一个一流的可微功能。我们展示了我们的方法,自动创建人类视觉的三个功能的错觉:颜色恒定性,大小恒定性,和人脸感知。
2022-04-26 cs.AI cs.GR cs.LG
Neural Task Synthesis for Visual Programming
Max Planck Institute for Software Systems(马克斯·普朗克软件系统研究所)
本文提出神经符号方法NeurTaskSyn,结合模仿学习与强化学习,自动合成符合指定编程概念和视觉约束的视觉编程任务,并在Code.org和CodeHS的参考任务上验证了有效性。
2024-01-14 cs.AI cs.CL cs.CY
PanGu-Coder: Program Synthesis with Function-Level Language Modeling
Huawei Noah’s Ark Lab(华为诺亚方舟实验室);Huawei Cloud(华为云)
我们提出了PanGu-Coder,一个预训练的解码器的语言模型,采用PanGu-Alpha架构的文本到代码生成,即程序设计语言解决方案的合成给出了一个自然语言的问题描述。我们使用两阶段策略训练PanGu-Coder:第一阶段使用因果语言建模(CLM)对原始程序设计语言数据进行预训练,而第二阶段使用因果语言建模和掩蔽语言建模(MLM)训练目标的组合,专注于文本到代码生成的下游任务,并对松散策划的自然语言程序定义和代码函数进行训练。最后,我们讨论PanGu-Coder-FT,它是微调的竞争性编程问题和代码的组合与持续集成测试。我们评估PanGu-Coder,重点是它是否生成功能正确的程序,并证明它比类似大小的模型(如CodeX)具有相同或更好的性能,同时参加较小的上下文窗口和较少的数据训练。
2022-07-22 cs.AI cs.CL cs.LG
BF++: a language for general-purpose program synthesis
Eindhoven University of Technology(埃因霍温理工大学);Philips Research Eindhoven(飞利浦埃因霍温研究院)
大多数基于强化学习(RL)的最先进的决策系统是数据驱动的黑盒神经模型,其中通常难以将专家知识并入模型中或让专家审查和验证学习的决策机制。在涉及人类健康和安全的许多应用中,知识插入和模型审查是重要的要求。弥合数据和知识驱动系统之间的差距的一种方法是程序合成:用神经网络或通过遗传编程生成的符号程序替换输出决策的神经网络。我们提出了一种新的程序设计语言BF++,专门用于部分可观察马尔可夫决策过程(POMDP)设置中的代理自动编程,并应用神经程序合成来解决标准OpenAI Gym基准测试。
2022-07-08 cs.AI cs.LG cs.NE
Neural Guided Constraint Logic Programming for Program Synthesis
University of Toronto(多伦多大学);Vector Institute(向量研究所);University of Alabama at Birmingham(阿拉巴马大学伯明翰分校);Uber ATG(优步先进技术集团)
使用示例输入/输出来综合程序是人工智能中的经典问题。我们提出了一种方法来解决编程的例子(PBE)的问题,通过使用神经模型来指导搜索的约束逻辑编程系统称为miniKanren。至关重要的是,神经模型使用miniKanren的内部表示作为输入; miniKanren将PBE问题表示为由所提供的示例施加的递归约束。我们探讨了递归神经网络和图神经网络模型。我们提供了一个修改后的miniKanren,可由外部代理驱动,可在https://github.com/xuexue/neuralkanren上获得。我们表明,我们的神经引导的方法,使用约束可以合成程序更快地在许多情况下,重要的是,可以推广到更大的问题。
2018-10-26 cs.LG stat.ML
Hexcute: A Compiler Framework for Automating Layout Synthesis in GPU Programs
University of Toronto(多伦多大学);NVIDIA(英伟达);Vector Institute(向量研究所)
Hexcute是一种自动布局合成的编译器框架,通过类型推断算法实现高效GPU程序编译,显著提升性能并减少代码量。
2026-01-28 cs.AI cs.LG cs.PL
Using Program Synthesis and Inductive Logic Programming to solve Bongard Problems
BITS Pilani(比尔拉理工学院);TCS Research(TCS研究院)
识别和类比的能力经常被用来衡量或测试人类的智力。解决Bongard问题的能力就是这种测试的一个例子。人们还假设,快速构建新颖抽象的能力对于解决类比问题至关重要。给定一个图像,构造一个程序来生成该图像的能力是抽象的一种形式,如Dreamcoder项目所示。在本文中,我们提出了一个初步的审查是否由Dreamcoder构建的程序可以用于类比推理,以解决某些Bongard问题。我们使用Dreamcoder来发现在Bongard问题中生成图像的程序,并将每个图像表示为一系列状态转换。我们装饰的状态使用位置信息在一个自动化的方式,然后编码产生的序列到逻辑事实的Prolog。我们使用归纳逻辑程序设计(ILP),学习一个(可解释的)理论的抽象概念中涉及的一个邦加德问题的实例。综合创建的Bongard问题的概念,如“上/下”和“顺时针/逆时针”的实验表明,我们的端到端系统可以解决这样的问题。我们研究的重要性和完整性,我们的方法的每个组成部分,突出其目前的局限性,并指出改进方向,在我们的制定,以及在任何Dreamcoder一样的程序合成系统用于这种方法的元素。
2021-10-19 cs.AI cs.LG cs.PL
Program Synthesis using Inductive Logic Programming for the Abstraction and Reasoning Corpus
INESCTEC-FCUP
针对 ARC 对强泛化与推理的挑战,本文提出以手工对象中心 DSL 作为背景知识、用 ILP 从少量网格示例合成逻辑程序的系统,并验证其可解决多种不同推理任务。
2024-05-10 cs.AI cs.LG cs.PL
Stepping Stones to Inductive Synthesis of Low-Level Looping Programs
Parity Computing, Inc.(Parity Computing公司)
归纳程序合成,从输入/输出的例子,可以提供一个机会,自动从头开始创建程序,而无需预先假设的算法形式的解决方案。对于带有循环的通用程序的归纳(相对于无循环程序,或特定领域语言的综合),最先进的是入门编程作业的水平。大多数需要算法精细性的问题,如快速排序,如果没有重要的特定问题背景知识的帮助,仍然无法实现。一个关键的挑战是识别可用于引导搜索正确循环程序的线索。我们提出了MAKESPEARE,一个简单的延迟接受爬山法,从输入/输出的例子,合成低层次的循环程序。在搜索过程中,延迟接受绕过小的收益,以确定显着改进的垫脚石程序,往往推广和实现进一步的进展。该方法在一组已建立的基准上表现良好,并成功地解决了以前未解决的“Collatz数”程序合成问题。其他基准测试包括快速排序整数数组的问题,其中我们观察到梳状排序(一种Shell排序变体,根据经验快速)的出现。MAKESPEARE还合成了一个创纪录的程序,从TIS-100汇编语言编程游戏的难题之一。
2018-11-26 cs.AI cs.LG cs.PL
Towards Cold-Start Drafting and Continual Refining: A Value-Driven Memory Approach with Application to NPU Kernel Synthesis
EvoKernel通过价值驱动的记忆强化学习方法,提升NPU内核合成的正确性和效率。
2026-03-11 cs.AI cs.CL cs.LG
TF-Coder: Program Synthesis for Tensor Manipulations
Google Brain(谷歌大脑)
深度学习的成功和流行正在上升,部分原因是强大的深度学习框架,如TensorFlow和PyTorch,使开发深度学习模型变得更容易。然而,这些库也有陡峭的学习曲线,因为在这些框架中编程与传统的显式循环和条件命令式编程完全不同。在这项工作中,我们提出了一个名为TF-Coder的工具,用于在TensorFlow中通过示例进行编程。TF-Coder使用自下而上的加权枚举搜索,对等价表达式进行基于值的修剪,以及灵活的基于类型和值的过滤,以确保表达式符合TensorFlow库提出的各种要求。我们通过训练模型,根据输入和输出张量的特征以及任务的自然语言描述来预测TensorFlow操作,从而在搜索过程中优先考虑相关操作。TF-Coder在5分钟内解决了70个真实任务中的63个,有时与经验丰富的人类程序员相比,可以在更短的时间内找到更简单的解决方案。
2022-04-07 cs.LG cs.PL stat.ML
Differentiable Functional Program Interpreters
Massachusetts Institute of Technology(麻省理工学院);Microsoft Research(微软研究院);Google Brain(谷歌大脑)
实例编程(Programming by Example,PBE)是从输入输出实例中归纳出计算机程序的任务。它可以被看作是一种机器学习,其中假设空间是某些程序设计语言中的合法程序的集合。最近的工作可微解释放松离散空间的程序到一个连续的空间,使搜索程序可以使用基于梯度的优化。虽然概念上很强大,但到目前为止,基于可微解释器的程序合成只能解决非常简单的问题。在这项工作中,我们研究建模时出现的选择,构建一个微分程序设计语言和它们的影响,成功的合成。建模选择的主要动机来自函数式编程:我们研究内存分配方案、不可变数据、类型系统和内置控制流结构的影响。从经验上讲,我们表明,将函数式编程思想到微分程序设计语言,使我们能够学习更复杂的程序比现有的微分语言是可能的。
2017-03-02 cs.LG cs.PL
TerpreT: A Probabilistic Programming Language for Program Induction
Microsoft Research(微软研究院);perceptiveIO
我们研究归纳程序合成的机器学习公式;给定输入输出示例,我们尝试合成将输入映射到相应输出的源代码。我们的目标是开发基于神经网络和图形模型的新机器学习方法,并了解机器学习技术相对于传统替代方案的能力,例如基于程序设计语言社区的约束求解。我们的主要贡献是TerpreT,一个特定领域的语言表达程序合成问题的建议。TerpreT类似于概率程序设计语言:模型由程序表示的规范(随机变量的声明)和描述程序如何将输入映射到输出的解释器(将未知数连接到观察结果的模型)组成。推理任务是观察一组输入输出示例并推断底层程序。TerpreT有两个主要好处。首先,它可以快速探索一系列领域,程序表示和解释器模型。其次,它将模型规范与推理算法分离,允许不同推理方法之间的相似比较。从一个单一的TerpreT规范中,我们使用四个不同的后端自动执行推理。这些是基于梯度下降,线性规划(LP)松弛的图形模型,离散可满足性求解,和草图程序合成系统。我们通过开发几种解释器模型并在替代推理算法之间进行实证比较来说明TerpreT的价值。我们的主要经验发现是,约束求解器占主导地位的梯度下降和LP为基础的配方。最后,我们建议机器学习社区在程序合成方面取得进展。
2016-08-15 cs.AI cs.LG cs.NE
Bayesian causal inference via probabilistic program synthesis
University of Massachusetts(马萨诸塞大学);Massachusetts Institute of Technology(麻省理工学院)
因果推理可以形式化为贝叶斯推理,其结合了因果模型的先验分布和解释观察和干预的可能性。我们表明,它是可能的,以实现这种方法,使用一个充分表达的概率程序设计语言。先验表示使用概率程序生成的源代码在一个特定领域的语言。干预是使用概率程序,编辑这个源代码修改原始的生成过程。这种方法可以直接将来自原子干预的数据,以及转移干预,方差缩放干预和其他修改因果结构的干预。这种方法也使得使用通用推理机的概率程序推断可能的因果结构和参数的数据。这一摘要描述了一个原型,这种方法在Gen概率程序设计语言。
2019-10-30 cs.AI cs.LG
Advanced Large Language Model (LLM)-Driven Verilog Development: Enhancing Power, Performance, and Area Optimization in Code Synthesis
University of Connecticut(康涅狄格大学);Arizona State University(亚利桑那州立大学)
本研究提出一个创新双阶段框架,通过初始生成、提升语言与操作精度及对齐PPA基准来优化ALMs的Verilog编程,在语言准确率与操作效能上显著超越现有技术。
2024-01-09 cs.LG
Grammar Filtering For Syntax-Guided Synthesis
George School(乔治学校);Yale University(耶鲁大学);Deerfield Academy(迪尔菲尔德学院)
PBE(Programming-by-Example)是一种综合范式,允许用户通过简单地提供输入输出示例来生成函数。虽然是一个很有前途的交互范例,但合成对于实时交互和更广泛的采用来说仍然太慢。PBE合成的现有方法已经使用了自动推理工具,例如SMT求解器,以及应用机器学习技术的工作。在其核心,自动推理方法依赖于程序设计语言的高度领域特定的知识。另一方面,机器学习方法利用这样的事实,即当使用程序代码时,可以生成任意大的训练数据集。在这项工作中,我们提出了一个系统,使用机器学习与自动推理技术,以解决指导合成(SyGuS)风格的PBE问题。通过用神经网络对SyGuS PBE问题进行预处理,我们可以使用数据驱动的方法来减少搜索空间的大小,然后允许基于自动推理的求解器更快地通过分析找到解决方案。我们的系统能够在现有的SyGuS PBE合成工具上运行,将2019年SyGuS竞赛的PBE Strings曲目获胜者的运行时间减少了47.65%,优于所有竞争工具。
2020-02-07 cs.LG cs.PL stat.ML
Relational decomposition for program synthesis
University of Southampton(索姆塞特大学);University of Oxford(牛津大学)
该研究提出将程序合成任务关系化分解为输入/输出事实并学习其间关系,使现成 ILP 系统在四个数据集上超过标准表示和领域专用方法。
2025-06-10 cs.AI cs.LG