Monty.Frameworks.Models.Salience.ReturnInhibitor.DecayField (ExTbpMonty.Core v0.1.0)

Copy Markdown View Source

Every place the sensor has been, as kernels that fade.

Mirrors tbp/monty/frameworks/models/salience/return_inhibitor.py::DecayField. A field answers a salience module's inhibition-of-return: at each point, how strongly the sensor's recent visits argue against looking there. Overlapping visits do not add up — the strongest kernel wins — so walking over a patch twice does not make it twice as unattractive, only as unattractive as the most recent visit says.

Kernels are dropped once they stop mattering, which is what keeps an episode's memory of where it has been finite.

Summary

Functions

Adds a kernel where the sensor just was.

One step older, and the kernels that have stopped mattering are gone.

How strongly the field argues against each point; zero when it is empty.

Types

t()

@type t() :: %Monty.Frameworks.Models.Salience.ReturnInhibitor.DecayField{
  kernel_factory:
    Monty.Frameworks.Models.Salience.ReturnInhibitor.DecayKernelFactory.t(),
  kernels: [Monty.Frameworks.Models.Salience.ReturnInhibitor.DecayKernel.t()]
}

Functions

add(field, location)

@spec add(t(), [float()]) :: t()

Adds a kernel where the sensor just was.

new(options \\ [])

@spec new(keyword()) :: t()

reset(field)

@spec reset(t()) :: t()

step(field)

@spec step(t()) :: t()

One step older, and the kernels that have stopped mattering are gone.

weights(field, points)

@spec weights(t(), [[float()]]) :: [float()]

How strongly the field argues against each point; zero when it is empty.