envs

package module
v1.0.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 1, 2023 License: BSD-3-Clause Imports: 0 Imported by: 0

README

envs

This repository contains various emer.Env environments for simulations, or ingredients for them, providing example code that can be adapted as needed.

Many examples are configured as a main package with a minimal GUI-based interactive testing program, so you can directly run and test the code without a full associated simulation.

See also the eve package (eve/examples) for virtual reality 3D environments and esg for a random sentence generator.

Strategies

Separate the "script" from the "production"

For more complex environments, an approach analogous to making a movie can be productive, where you first generate a "script" (screenplay) for the events, and then have a separable system for turning that into a fully-rendered environment. This separates the different levels of logic and constraints, and helps manage the complexity.

For example, the saccade package generates a script based on an abstract 2D visual environment, without any details of the objects involved. It coordinates the timing of planning vs. execution, and updating current vs. next variables, etc, and renders everything as normalized coordinates in a table. The obj3d package manages lists of 3D object files to present, with shuffled order and train / test sets. We then use these two packages to animate 3D objects in the eve based obj3dsac model to provide movie-like inputs for a predictive learning model.

The emer/esg package can be a useful tool for generating randomly-sampled story-like inputs with various sources of syntactic and semantic structure -- it is used for example in the sg sentence-gestalt model in https://github.com/CompCogNeuro/sims ch9/sg to generate sentences with these structures.

Documentation

Overview

package envs is a dummy placeholder so you don't get warning errors about no .go files. see the subdirectories for all the relevant code, which is typically main packages that are intended to be copied to projects and modified as needed.

Index

Constants

View Source
const (
	Version     = "v1.0.9"
	GitCommit   = "258761a"          // the commit JUST BEFORE the release
	VersionDate = "2023-09-01 08:16" // UTC
)

Variables

This section is empty.

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis
main for GUI interaction with Env for testing
main for GUI interaction with Env for testing
main
main for GUI interaction with Env for testing
main for GUI interaction with Env for testing
main for GUI interaction with Env for testing
main for GUI interaction with Env for testing
main for GUI interaction with Env for testing
main for GUI interaction with Env for testing
main for GUI interaction with Env for testing
main for GUI interaction with Env for testing
main for GUI interaction with Env for testing
main for GUI interaction with Env for testing
main for GUI interaction with Env for testing
main for GUI interaction with Env for testing
main for GUI interaction with Env for testing
main for GUI interaction with Env for testing
main for GUI interaction with Env for testing
main for GUI interaction with Env for testing

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL