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

docs: minor updates to documentation #671

Merged
merged 8 commits into from
Nov 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Check out tutorials and documentation at

## Example

The following example demonstrates how to use AutoRA to automate the process of model discovery, experimental design, and data collection.
The following basic example demonstrates how to use AutoRA to automate the process of model discovery, experimental design, and data collection.

The discovery problem is defined by a single independent variable $x \in [0, 2 \pi]$ and dependent variable $y$.
The experiment amounts to a simple sine wave, $y = \sin(x)$, which is the model we are trying to discover.
Expand Down Expand Up @@ -127,18 +127,17 @@ for i in range(5):
print('\n')
```

If you are curious about how to apply AutoRA to real-world discovery problems, you can find use case examples of AutoRA in the [Use Case Tutorials](https://autoresearch.github.io/autora/examples/) section of the documentation.

## Contributions

We welcome contributions to the AutoRA project. Please refer to the [contributor guide](https://autoresearch.github.io/autora/contribute/) for more information. Also, feel free to ask any questions or provide any feedback regarding core contributions on the [AutoRA forum](https://github.com/orgs/AutoResearch/discussions/).

## About

This project is in active development by
the [Autonomous Empirical Research Group](http://empiricalresearch.ai),
in collaboration with the [Center for Computation and Visualization at Brown University](https://ccv.brown.edu).
This project is in active development by the [Autonomous Empirical Research Group](https://musslick.github.io/AER_website/Research.html).

The development of this package is supported by Schmidt Science Fellows, in partnership with the Rhodes Trust, as well as the Carney BRAINSTORM program at Brown University.
The development of this package was supported by [Schmidt Science Fellows](https://schmidtsciencefellows.org/), in partnership with the Rhodes Trust, as well as the [Carney BRAINSTORM program](https://ccbs.carney.brown.edu/brainstorm) at Brown University. The development of auxiliary packages for AutoRA, such as `autodoc`, is supported by [Schmidt Sciences, LLC. and the Virtual Institute for Scientific Software (VISS)](https://www.schmidtsciences.org/viss/). The AutoRA package was developed using computational resources and services at the [Center for Computation and Visualization at Brown University](https://ccv.brown.edu).


## Read More
Expand Down
4 changes: 2 additions & 2 deletions docs/contribute/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@ Child packages are generally maintained by individual contributors. The parent p
*core* packages, is maintained by the [Autonomous Empirical Research Group](https://musslick.github.io/AER_website/Team.html),
as well as external contributors.

![image](../img/package_overview.png)
![image](../img/contributor_model.png)

[`autora`](https://github.com/autoresearch/autora) is the parent package which end users are expected to install. The
parent depends on core packages, such as [`autora-core`](https://github.com/autoresearch/autora-core) and
[`autora-synthetic`](https://github.com/autoresearch/autora-synthetic). It also includes vetted modules (child packages) as optional dependencies which users can choose
to install.

You may contribute to any of the core packages or develop your own module as a stand-alone package (see below).
You may contribute to any of the core packages or develop your own module as a stand-alone child package (see below).


## Style Guide
Expand Down
Binary file added docs/img/contributor_model.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/img/package_overview.png
Binary file not shown.
Binary file added docs/img/state_logic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/img/state_wrapper.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,6 @@ Once you are familiar with the basics, you can explore the [Use Case Tutorials](

This project is in active development by the [Autonomous Empirical Research Group](https://musslick.github.io/AER_website/Research.html).

The development of this package was supported by Schmidt Science Fellows, in partnership with the Rhodes Trust, as well as the [Carney BRAINSTORM program](https://ccbs.carney.brown.edu/brainstorm) at Brown University. The development of auxiliary packages for AutoRA, such as `autodoc`, is supported by [Schmidt Sciences, LLC. and the Virtual Institute for Scientific Software (VISS)](https://www.schmidtsciences.org/viss/). The AutoRA package was developed using computational resources and services at the [Center for Computation and Visualization at Brown University](https://ccv.brown.edu).
The development of this package was supported by [Schmidt Science Fellows](https://schmidtsciencefellows.org/), in partnership with the Rhodes Trust, as well as the [Carney BRAINSTORM program](https://ccbs.carney.brown.edu/brainstorm) at Brown University. The development of auxiliary packages for AutoRA, such as `autodoc`, is supported by [Schmidt Sciences, LLC. and the Virtual Institute for Scientific Software (VISS)](https://www.schmidtsciences.org/viss/). The AutoRA package was developed using computational resources and services at the [Center for Computation and Visualization at Brown University](https://ccv.brown.edu).


6 changes: 3 additions & 3 deletions docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ In using AutoRA, it is helpful to be aware of its structure, which is described

``autora`` is organized into one "parent" and many "child" packages.

![image](img/package_overview.png)
![image](img/contributor_model.png)

The ``autora`` "parent" package depends on core packages, such as [`autora-core`](https://github.com/autoresearch/autora-core), [`autora-workflow`](https://github.com/autoresearch/autora-workflow), and [`autora-synthetic`](https://github.com/autoresearch/autora-synthetic), which are automatically installed with ``autora``.
The ``autora`` "parent" package depends on core packages, such as [`autora-core`](https://github.com/autoresearch/autora-core) and [`autora-synthetic`](https://github.com/autoresearch/autora-synthetic), which are automatically installed with ``autora``.

However, the ``autora`` ecosystem also includes vetted modules (child packages) as **optional dependencies** which users can choose to install. Below, we provide a list of all optional dependencies that are currently vetted by the ``autora`` core team.

Expand All @@ -62,7 +62,7 @@ To install any (combination) of optional dependencies, users should run the rele
pip install -U "autora[desired-dependency]"
```

For example, to install one of the [Theorists](theorist/index.md), such as the Bayesian Machine Scientist (BMS), a user should run:
For example, to install one of the [Theorists](theorist/index.md), such as the Bayesian Machine Scientist (BMS) from the package `autora-theorist-bms`, a user should run:

```shell
pip install -U "autora[theorist-bms]"
Expand Down
34 changes: 18 additions & 16 deletions docs/terminology.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,21 @@

The following table includes naming conventions used throughout AutoRA.

| Term | Description | Relevant Modules |
|--------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------|
| State | Object representing data from an experiment, like the conditions, observed experiment data and models. The State also includes rules on how to update those data if new data are provided using the "Delta mechanism". | Core |
| Delta | An object with new data that can be added to a State, returning a new State which includes the new data. | Core |
| StandardState | An optional default State that has the following fields: variables, conditions, experiment_data, models. | Core |
| Variables | A State field that holds experimental variables, which are defined according to name, type, units, allowed values, and range. | Experimentalists, Experiment Runners, Theorists |
| VariableCollection | Immutable metadata about dependent variables, independent variables, and covariates. | Experimentalists, Experiment Runners, Theorists |
| Conditions | A State field that defines what observations should be collected according to a specific combination of values of the independent variables | Experimentalists, Experiment Runners, Theorists |
| Experiment Data | A State field that holds specified conditions as well as the corresponding observations. | Experiment Runners, Theorists |
| Model | A State field that holds the the collection of best fit equations produced by theorists. | Theorists, Experimentalists |
| Components | The functions that can act on the State (e.g., experimentalists, experiment runners, theorists). | Experimentalists, Experiment Runners, Theorists |
| Experimentalist | A component that outputs new conditions, which are intended to yield novel observations. | Experimentalists |
| Theorist | A component that takes in the full collection of conditions and observations and outputs models that link the two. | Theorists |
| Experiment Runner | A component that takes in conditions and collects corresponding observations. | Experiment Runners |
| Wrapper | Special functions that make the components of AutoRA able to operate on State objects. | Experimentalists, Experiment Runners, Theorists |
| Workflow | A collection of tools that enable closed-loop empirical research with the AutoRA framework. | Experimentalists, Experiment Runners, Theorists |
| Term | Description | Relevant Modules |
|----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------|
| State | Object representing data from an experiment, like the conditions, observed experiment data and models. The State also includes rules on how to update those data if new data are provided using the "Delta mechanism". | Core |
| Delta | An object with new data that can be added to a State, returning a new State which includes the new data. | Core |
| StandardState | An optional default State that has the following fields: ``variables``, ``conditions``, ``experiment_data``, ``models``. | Core |
| Variables | A State field (``state.variables``) that holds experimental variables, which are defined according to name, type, units, allowed values, and range. | Experimentalists, Experiment Runners, Theorists |
| Independent Variable | An experimental variable that the researcher intends to manipulate or change to observe its effect. A parameteriation of independent variables is called a *condition*. | Experimentalists, Experiment Runners, Theorists |
| Dependent Variable | An experimental variable that that is measured or observed in response to changes in the independent variable. Values of independent variables are referred to as *observations* and are part of the *experimental data*. | Experimentalists, Experiment Runners, Theorists |
| VariableCollection | Immutable metadata about dependent variables, independent variables, and covariates. | Experimentalists, Experiment Runners, Theorists |
| Conditions | A State field (``state.conditions``) that defines what observations should be collected according to a specific combination of values of the independent variables | Experimentalists, Experiment Runners, Theorists |
| Experiment Data | A State field (``state.experiment_data``) that holds specified conditions as well as the corresponding observations. | Experiment Runners, Theorists |
| Model | A State field (``state.models``) that holds the the collection of best fit models produced by theorists. | Theorists, Experimentalists |
| Components | The functions that can act on the State (e.g., experimentalists, experiment runners, theorists). | Experimentalists, Experiment Runners, Theorists |
| Experimentalist | A component that outputs new conditions, which are intended to yield novel observations. | Experimentalists |
| Theorist | A component that takes in the full collection of conditions and observations and outputs models that link the two. | Theorists |
| Experiment Runner | A component that takes in conditions and collects corresponding observations. | Experiment Runners |
| Wrapper | Special functions that make the components of AutoRA able to operate on State objects. | Experimentalists, Experiment Runners, Theorists |
| Workflow | A collection of tools that enable closed-loop empirical research with the AutoRA framework. | Experimentalists, Experiment Runners, Theorists |
4 changes: 4 additions & 0 deletions docs/tutorials/basic/Tutorial III Functional Workflow.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,8 @@
"Using the functions and objects in `autora.state`, we can build flexible pipelines and cycles which operate on state\n",
"objects. State objects represent data from an experiment, like the conditions, observed experiment data and models. The State also includes rules on how to update those data if new data are provided using the \"Delta mechanism\". This state can be acted upon by experimentalists, experiment runners, and theorists. \n",
"\n",
"<img src=\"https://autoresearch.github.io/autora/img/state_logic.png\" width=\"75%\" alt=\"State Logic\">\n",
"\n",
"In tutorial I, we had experimentalists define new conditions, experiment runners collect new observations, and theorists model the data. To do this, we used the output of one as the input of the other, such as: \n",
"\n",
"`conditions = experimentalist(...)` $\\rightarrow$ <br>\n",
Expand Down Expand Up @@ -261,6 +263,8 @@
"- `on_state()` for experiment runners and experimentalists\n",
"- `estimator_on_state()` for theorists (specifically, scikit-learn estimators)\n",
"\n",
"<img src=\"https://autoresearch.github.io/autora/img/state_wrapper.png\" width=\"75%\" alt=\"State Wrapper Overview\">\n",
"\n",
"The first argument for each wrapper should be your corresponding function (i.e., the experiment runner, the experimentalist, and the theorist). The `on_state` wrapper takes a second argument, `output`, to determine where in the state the component is acting on. For the experimentalist this will be `output=[\"conditions\"]`, and for the experiment runner this will be `output=[\"experiment_data\"]`.\n",
"\n",
"Once the components are wrapped, their functionality changes to act on the state, meaning that they now expect a state as the first input and will return a modified version of that state."
Expand Down
Loading