Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Evaluator #47

Draft
wants to merge 102 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
1865d0d
timing benchmarks
matteo-meluzzi Jun 14, 2023
530c278
enumeration benchmarks added
matteo-meluzzi Jun 16, 2023
91fd389
compatibility with 'old' herb
matteo-meluzzi Jun 17, 2023
7d092ee
enumeration tests with constraints
Jun 20, 2023
c6cb6f5
Fix benchmarks without constraints
RobbinBaauw Jun 20, 2023
c74af97
Improve constraints for benchmark
RobbinBaauw Jun 20, 2023
66c9a10
Add extra constraint benchmarks
RobbinBaauw Jun 20, 2023
70a6534
Rename benchmarks to proper name
RobbinBaauw Jun 20, 2023
63934b0
print results in latex
matteo-meluzzi Jun 21, 2023
7cc923a
added a grammar with less terminals
matteo-meluzzi Jun 21, 2023
7ffb1ac
grammars with constraints have correct ioexamples
matteo-meluzzi Jun 21, 2023
603c506
generate benchmarks had typo
matteo-meluzzi Jun 21, 2023
481d30c
added propagation count to result tables
matteo-meluzzi Jun 21, 2023
360c9bb
Prototype Benchmark dataset
THinnerichs Oct 16, 2023
aae71c5
Update prototype string benchmark
THinnerichs Oct 16, 2023
deda1a2
Move data to src
THinnerichs Oct 17, 2023
316d846
remove HerbInterpret from dependencies
THinnerichs Oct 17, 2023
c86af45
Add automatic include of sub-modules
THinnerichs Oct 17, 2023
1956c86
Add attempt at String transformation grammar
ReubenJ Oct 18, 2023
565a0a4
Add automatic include of sub-modules
THinnerichs Oct 17, 2023
be37f30
Reformat Strings transformations
THinnerichs Oct 18, 2023
93aecf2
Reformat Robots
THinnerichs Oct 18, 2023
1440a53
update utilities and dependencies
THinnerichs Oct 18, 2023
60d7ef1
Reformat grammars
THinnerichs Oct 19, 2023
2898fe3
Add bitoperations SyGuS benchmark
THinnerichs Oct 19, 2023
f50307a
Update io functionality
THinnerichs Oct 19, 2023
abf7774
Update fileparsing
THinnerichs Oct 19, 2023
36dafde
Add REadmes and updated IO handling
THinnerichs Nov 1, 2023
d88f113
Added documentation for SyGus's main module
THinnerichs Nov 1, 2023
a785a14
Add ARC benchmark data, grammar and interpret still missing
THinnerichs Nov 1, 2023
1ee9140
add ARC grammar and functions
THinnerichs Nov 6, 2023
3c4b1c7
Include primitives
THinnerichs Nov 6, 2023
1bc73da
Merge branch 'ARC_2019' into dev
THinnerichs Nov 6, 2023
d52a4b4
Update script for parsing ARC data
THinnerichs Nov 6, 2023
6f1c3c5
Add working grammar for String transformations
THinnerichs Nov 7, 2023
99d74e6
Commit merge
THinnerichs Nov 8, 2023
97a9b4c
Finalize Robots dataset
THinnerichs Nov 8, 2023
12ee3a1
Fixed String benchmark
THinnerichs Nov 8, 2023
b079500
Fix Robots benchmark
THinnerichs Nov 9, 2023
028a737
Upload Pixels dataset
THinnerichs Nov 9, 2023
dfd74b9
remove prolog files from Brute
THinnerichs Nov 9, 2023
c0c6a80
Add all examples to working examples
THinnerichs Nov 21, 2023
eaf791d
Fixed @make_public warnings, fixed ARC benchmark
THinnerichs Nov 24, 2023
c8435f5
Fix ARC benchmark typo
THinnerichs Nov 30, 2023
c260835
Clean up main dir, add convenience functions
THinnerichs Dec 14, 2023
ad095ec
Add all_problems functionality and mapping problems to their grammars
THinnerichs Dec 14, 2023
af8130c
Remove all_problems from each module, and substitute it with more gen…
THinnerichs Dec 14, 2023
30fe68c
Make state in Robots mutable
THinnerichs Dec 19, 2023
b6d0e68
Fix robot grammar to include multi-operation programs
Whebon Jan 9, 2024
488d4a7
Merge branch 'dev' of github.com:Herb-AI/HerbBenchmarks.jl into dev
Whebon Jan 9, 2024
6c2ca4d
Make all values actual values
THinnerichs Feb 1, 2024
8376e09
Fix bit function arity and unknown functions
THinnerichs Feb 1, 2024
14f4b5b
Merge pull request #15 from Herb-AI/fix_sygus_symbols
THinnerichs Feb 26, 2024
7206f8c
`HerbData.jl` -> `HerbSpecification.jl`
ReubenJ Feb 23, 2024
08d6c1b
Grammar -> AbstractGrammar according to HerbCore 0.2
THinnerichs Feb 27, 2024
62df519
Update tests to use `HerbSpecification.jl`
ReubenJ Feb 23, 2024
d90a88b
Migrate individual benchmarks to `HerbSpecification.jl`
ReubenJ Mar 4, 2024
c2b3060
Add re-add formatting of 1 IOExample per line
THinnerichs Mar 7, 2024
93f6d26
Merge pull request #22 from Herb-AI/migrate-to-herbspec
THinnerichs Mar 7, 2024
3c08d62
Update `HerbCore` to v0.3.0
ReubenJ Apr 16, 2024
9f2ea49
Move legacy files
stefstef00 Apr 16, 2024
dd47ef0
Extract and extent problem fetching
stefstef00 Apr 16, 2024
f60f174
Move benchmark generator
stefstef00 Apr 16, 2024
77ca727
Rename utils to export module
stefstef00 Apr 16, 2024
c1d1c47
Added unit tests for problem fetcher
stefstef00 Apr 16, 2024
22d6bba
Add Benchmark struct
stefstef00 Apr 16, 2024
39be995
Move file to utils folder
stefstef00 Apr 16, 2024
1ff3fd5
Move module exporter to src folder
stefstef00 Apr 16, 2024
c52d95c
Changed benchmark name type from String to Module
stefstef00 Apr 16, 2024
1c4f28b
Included benchmark type in fetching and added types
stefstef00 Apr 16, 2024
27e9281
Corrected module exports
stefstef00 Apr 16, 2024
8a8d6bf
Fix SyGuS benchmarks
THinnerichs Apr 25, 2024
5b4462b
Merge pull request #25 from Herb-AI/fix_sygus_grammars
ReubenJ Apr 26, 2024
3729b0c
Fix SyGuS string primitive; Fix @all_problem_pairs macro
THinnerichs Apr 26, 2024
77a3b4a
Merge pull request #26 from Herb-AI/fix_string_function_and_problem_m…
ReubenJ Apr 26, 2024
224b8ae
Fix _arg_x indices
THinnerichs May 2, 2024
ab7c99b
Moved benchmark datatype
stefstef00 May 7, 2024
2a15fc3
Added problem grammar pair datatype
stefstef00 May 7, 2024
9c9769f
Added program grammar pair datatype
stefstef00 May 7, 2024
d08b861
Moved benchmark runner
stefstef00 May 7, 2024
c20ec30
Update `HerbGrammar` -> `^0.3.0`
ReubenJ May 14, 2024
50be6f2
Fix SyGuS input arguments issue
THinnerichs May 24, 2024
3db288e
Merge branch 'dev' into restructure
stefstef00 Jun 10, 2024
d1aed0d
Added method to fetch all benchmarks
stefstef00 Jun 10, 2024
01d461b
Moved legacy files to other folder
stefstef00 Jun 10, 2024
cd54863
Removed legacy files
stefstef00 Jun 10, 2024
d3fe79e
Added a debug benchmark
stefstef00 Jun 18, 2024
86cff51
Added docs
stefstef00 Jun 18, 2024
fc78e61
Added evaluation result structures
stefstef00 Jun 18, 2024
71930c0
Added docs
stefstef00 Jun 18, 2024
4e33c7e
Synth function for benchmarks
stefstef00 Jun 18, 2024
b3c49ff
Add evaluation functions
stefstef00 Jun 18, 2024
42530a9
Include everything in the module
stefstef00 Jun 18, 2024
badb074
Added support for selecting specific problem ids
stefstef00 Jun 19, 2024
ac56b84
Added an empty constructor for BenchmarkResult to which results can b…
stefstef00 Jun 20, 2024
eda913b
Added support for storing evaluation results
stefstef00 Jun 20, 2024
3fcc4da
Rename "evaluate" to "evaluate_iterator"
stefstef00 Jun 24, 2024
2577ac5
Added support for regex problem filtering
stefstef00 Jun 24, 2024
7412653
ProblemResult metrics now include SolverStatistics metrics
stefstef00 Jun 24, 2024
dcaa0bf
Added a decomposed synth for easy overloading
stefstef00 Jun 24, 2024
a87325f
A tour of the benchmark evaluator
stefstef00 Jul 2, 2024
e3c3206
Rename
stefstef00 Jul 2, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,6 @@ docs/site/
# committed for packages, but should be committed for applications that require a static
# environment.
Manifest.toml

# Ignore large data files
*_large.jl
30 changes: 28 additions & 2 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,30 @@
name = "HerbBenchmarks"
uuid = "eadf8b74-d38a-4b1a-a063-8d36e493d376"
authors = ["jaapjong <[email protected]>"]
version = "0.1.0"
authors = ["jaapjong <[email protected]>", "Tilman Hinnerichs <[email protected]>", "Sebastijan Dumancic <[email protected]>"]
version = "0.2.1"

[deps]
FilePathsBase = "48062228-2e41-5def-b9a4-89aafe57970f"
HerbConstraints = "1fa96474-3206-4513-b4fa-23913f296dfc"
HerbCore = "2b23ba43-8213-43cb-b5ea-38c12b45bd45"
HerbGrammar = "4ef9e186-2fe5-4b24-8de7-9f7291f24af7"
HerbInterpret = "5bbddadd-02c5-4713-84b8-97364418cca7"
HerbSearch = "3008d8e8-f9aa-438a-92ed-26e9c7b4829f"
HerbSpecification = "6d54aada-062f-46d8-85cf-a1ceaf058a06"
JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
Revise = "295af30f-e4ad-537b-8983-00126c2a3abe"
SExpressions = "eaa8e424-c5f6-11e8-1b3d-d576ba0eee97"
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"

[compat]
HerbCore = "^0.3.0"
HerbGrammar = "^0.3.0"
HerbSpecification = "^0.1.0"
julia = "^1.8"

[extras]
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
test = ["Test"]
33 changes: 33 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,36 @@
# Benchmarks.jl

A collection of useful program synthesis benchmarks. Each folder contains a different benchmark and a README.

A benchmark has:
- A readme, including description of data fields and dimensionality
- (multiple) sets of input output examples
- file that references where we found that
- evaluation function/interpretation function
- program grammar

Optional:
- a data grammar or data generation scripts, ideally with a notion of increasing complexity
- download script to download that specific dataset, if too big for Github
- test-/train-split getter functions if specified in the original data
- landmarks for planning problems

## How to use:
HerbBenchmarks is still not yet complete and is lacking crucial benchmarking functionality. However, if you want to test on a single problem and grammar, you can do the following

Select your favourite benchmark, we use the string transformation benchmark from the SyGuS challenge:
```Julia
using HerbSpecification, HerbGrammar

using HerbBenchmarks.PBE_SLIA_Track_2019

# The id has to be matching
grammar = PBE_SLIA_Track_2019.grammar_11604909
problem = PBE_SLIA_Track_2019.problem_11604909

# Print out the grammar and problem in readable format
println("grammar:", grammar)
println("problem:", problem.examples)
```

For some benchmarks there is only a single grammar for all problems.
55 changes: 0 additions & 55 deletions e1-robots/Data_generation.jl

This file was deleted.

16 changes: 0 additions & 16 deletions e1-robots/README.md

This file was deleted.

18 changes: 0 additions & 18 deletions e1-robots/Robotparser.jl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-0-0.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-0-1.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-0-10.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-0-2.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-0-3.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-0-4.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-0-5.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-0-6.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-0-7.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-0-8.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-0-9.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-1-0.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-1-1.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-1-10.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-1-2.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-1-3.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-1-4.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-1-5.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-1-6.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-1-7.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-1-8.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-1-9.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-2-0.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-2-1.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-2-10.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-2-2.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-2-3.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-2-4.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-2-5.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-2-6.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-2-7.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-2-8.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-2-9.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-3-0.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-3-1.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-3-10.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-3-2.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-3-3.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-3-4.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-3-5.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-3-6.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-3-7.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-3-8.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-3-9.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-4-0.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-4-1.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-4-10.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-4-2.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-4-3.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-4-4.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-4-5.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-4-6.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-4-7.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-4-8.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-4-9.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-5-0.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-5-1.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-5-10.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-5-2.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-5-3.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-5-4.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-5-5.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-5-6.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-5-7.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-5-8.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-5-9.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-6-0.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-6-1.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-6-10.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-6-2.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-6-3.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-6-4.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-6-5.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-6-6.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-6-7.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-6-8.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-6-9.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-7-0.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-7-1.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-7-10.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-7-2.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-7-3.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-7-4.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-7-5.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-7-6.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-7-7.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-7-8.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-7-9.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-8-0.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-8-1.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-8-10.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-8-2.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-8-3.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-8-4.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-8-5.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-8-6.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-8-7.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-8-8.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-8-9.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-9-0.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-9-1.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-9-10.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-9-2.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-9-3.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-9-4.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-9-5.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-9-6.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-9-7.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-9-8.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/10-9-9.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/2-0-0.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/2-0-1.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/2-0-10.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/2-0-2.pl

This file was deleted.

1 change: 0 additions & 1 deletion e1-robots/data/2-0-3.pl

This file was deleted.

Loading