Skip to content

Commit 6215cea

Browse files
committed
added readme
1 parent 87e78a7 commit 6215cea

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

readme.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Query Complexity Framework
2+
The following is a simple framework for the empirical exploration of
3+
query complexity questions.
4+
5+
The project consists of an abstract framework for programatically
6+
analyzing query complexity functions, and provides a number of example
7+
instantiations of the framework on a few generalizations of GPW to 3D.
8+
9+
10+
## Project structure
11+
```
12+
.
13+
|-- dune
14+
|-- dune-project
15+
|-- gpw.ml
16+
|-- majority_gpw.ml
17+
|-- majority_alg.ml
18+
|-- generalized_gpw.ml
19+
|-- utils.ml
20+
|-- main.ml
21+
`-- readme.md
22+
```
23+
24+
The framework is logically decomposed into small modular reusable
25+
components by file:
26+
- `gpw.ml` - Defines the abstract interface of a query complexity
27+
problem generator - any such component should provide functions to
28+
generate true, false and random values.
29+
- `majority_gpw.ml` - Implementation of a problem generator for an
30+
extension of the Göös-Pitassi-Watson function to 3D by taking
31+
the majority of multiple instances of 2D GPW on seperate planes.
32+
- `majority_alg.ml` - Implementation of a solver algorithm for
33+
majority GPW, implementing Muks et al.'s 1-sided GPW solution
34+
strategy internally for each plane.
35+
- `generalized_gpw.ml` - Implementation of a problem generator for an
36+
extension of the Göös-Pitassi-Watson function to 3D by replacing columns
37+
with sub-cubes of the input instead.
38+
- `utils.ml` - Utility functions used throughout the project
39+
- `main.ml` - Example instantiations of the framework to run some experiments
40+
41+
## Requirements
42+
In order to run this project, you must have OCaml installed (version `>= 4.09.0`)
43+
with opam, and the following packages installed:
44+
- `core`
45+
- `gnuplot`
46+
47+
## Running
48+
To run the sample experiments, simply run the following from the project root:
49+
```
50+
dune exec ./main.exe
51+
```

0 commit comments

Comments
 (0)