five

General Program Synthesis Benchmark Suite Datasets

收藏
github2024-04-10 更新2024-05-31 收录
下载链接:
https://github.com/thelmuth/program-synthesis-benchmark-datasets
下载链接
链接失效反馈
官方服务:
资源简介:
本仓库包含29个问题的数据集,这些问题来自入门编程教科书,需要使用一系列编程结构和数据类型来解决。这些数据集旨在适用于任何通用程序合成方法,包括但不限于归纳程序合成和进化方法,如遗传编程。

This repository contains a dataset of 29 problems derived from introductory programming textbooks, which require the use of a variety of programming constructs and data types to solve. The datasets are designed to be applicable to any general program synthesis approach, including but not limited to inductive program synthesis and evolutionary methods such as genetic programming.
创建时间:
2019-06-11
原始信息汇总

数据集概述

数据集名称

General Program Synthesis Benchmark Suite Datasets

版本

1.3

数据集内容

包含29个问题的数据集,这些问题来自入门级编程教科书,要求使用多种编程结构和数据类型来解决。

数据集用途

适用于任何通用程序合成方法,包括归纳程序合成和进化方法如遗传编程。

数据集结构

  • 每个问题在datasets目录下有单独的目录。
  • 数据文件使用gzip压缩。
  • 提供edge案例和random案例。
  • edge案例来自技术报告,random案例根据报告推荐的数据域生成。
  • random案例最多包含100万条记录,除非问题输入范围小于100万或文件大小超过100MB。

数据集使用

  • 每个运行使用所有edge案例作为训练集。
  • 每个运行使用不同的随机采样random案例作为训练集。
  • 使用更大的random案例作为未见过的测试集。

数据集格式

  • 提供CSV、JSON和EDN三种格式,数据内容相同。
  • CSV格式:第一行为列名,后续行为输入输出数据,输入输出列分别标记。
  • JSON和EDN格式:使用JSON Lines标准,每行一个案例。

引用信息

若在出版物中使用此数据集,请引用论文General Program Synthesis Benchmark Suite并包含此仓库链接。

搜集汇总
数据集介绍
main_image_url
构建方式
该数据集的构建基于29个编程问题,这些问题源自入门编程教材,涵盖了多种编程结构和数据类型。每个问题分别存储在独立的目录中,数据文件采用gzip压缩。数据集包括两类测试用例:`edge` 用例和 `random` 用例。`edge` 用例源自技术报告,而 `random` 用例则根据报告推荐的数据域生成,比例与推荐一致。每个问题最多包含100万个 `random` 用例,除非输入范围小于100万或文件大小超过100MB。
特点
该数据集的显著特点在于其多样性和广泛适用性。每个问题提供三种格式的数据:CSV、JSON和EDN,确保数据的一致性和易用性。此外,数据集设计考虑了程序合成的多种方法,包括但不限于归纳程序合成和遗传编程等进化方法。数据集的规模和多样性使其成为评估和训练程序合成算法的理想选择。
使用方法
使用该数据集时,通常为每次运行选择所有 `edge` 用例作为训练集,并随机抽取不同的 `random` 用例进行训练。此外,使用更大规模的 `random` 用例作为未见过的测试集。数据集的每个问题目录中提供了典型的训练和测试集大小。数据文件可通过解压缩脚本一次性解压,或单独解压每个文件。
背景与挑战
背景概述
General Program Synthesis Benchmark Suite Datasets(通用程序综合基准测试套件数据集)是由Thomas Helmuth和Lee Spector于2015年提出的,旨在为程序综合研究提供标准化的测试平台。该数据集源自入门级编程教材中的29个问题,涵盖了多种编程结构和数据类型,适用于各种程序综合方法,包括归纳程序综合和进化算法如遗传编程。其设计初衷是为研究人员提供一个统一的基准,以评估和比较不同程序综合技术的性能。
当前挑战
该数据集在构建过程中面临多项挑战。首先,如何从入门级编程教材中选取具有代表性的问题,确保这些问题能够覆盖广泛的编程结构和数据类型,是一个复杂的问题。其次,生成边缘案例和随机案例时,需确保案例的多样性和覆盖率,同时控制数据集的大小和复杂度。此外,数据集的格式多样化(CSV、JSON、EDN),虽然增加了灵活性,但也带来了格式转换和兼容性的挑战。最后,如何确保数据集在不同程序综合方法中的适用性和公平性,也是该数据集面临的一个重要问题。
常用场景
经典使用场景
General Program Synthesis Benchmark Suite Datasets 主要用于程序综合(Program Synthesis)领域的研究。该数据集包含了29个从基础编程教材中提取的问题,这些问题涵盖了多种编程结构和数据类型。研究者通常利用这些数据集进行程序综合算法的训练与测试,特别是在归纳程序综合(Inductive Program Synthesis)和遗传编程(Genetic Programming)等方法中。通过使用数据集中的`edge`案例和`random`案例,研究者可以评估算法在不同输入条件下的表现,从而优化和验证程序综合技术。
解决学术问题
该数据集解决了程序综合领域中算法性能评估和算法优化的关键问题。通过提供多样化的编程问题和丰富的测试案例,研究者能够系统地评估不同程序综合方法的有效性和鲁棒性。这不仅推动了程序综合技术的发展,还为学术界提供了一个标准化的基准,促进了相关研究的可重复性和比较性。此外,数据集的多样性有助于揭示现有算法在处理复杂编程任务时的局限性,从而激发新的研究方向和创新方法。
衍生相关工作
基于General Program Synthesis Benchmark Suite Datasets,许多研究工作得以展开,推动了程序综合领域的进一步发展。例如,有研究者利用该数据集开发了新的遗传编程算法,提升了程序生成的效率和准确性。此外,还有学者基于这些数据集设计了新的评估框架,用于比较不同程序综合方法的性能。这些衍生工作不仅丰富了程序综合的理论基础,还为实际应用提供了更多可能性,促进了该领域的技术进步和创新。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作