Skip to content

BrainStatesandLifeTimes

Clifford Bohm edited this page Jan 24, 2021 · 6 revisions

Brains In order to support the information theory tools the AbstractBrain class was extended to include the following:

bool recurrentOutput = false;
// If recordActivity = true then on update brain should update InputStates, OutputStates, and HiddenStates
// in addition on brain reset, a new value (0) should be added to lifetimes.

    bool recordActivity = false; // record activity will store input, output, and hidden for future access
    void setRecordActivity(bool setting) {
        recordActivity = setting;
    };

    TS::TimeSeries InputStates;
    TS::TimeSeries OutputStates;
    TS::TimeSeries HiddenStates;
    std::vector<int> lifeTimes = { 0 }; // a vector of the durration of each lifetime

    TS::TimeSeries getInputStates() {
        return InputStates;
    }
    TS::TimeSeries getOutputStates() {
        return OutputStates;
    }
    TS::TimeSeries getHiddenStates() {
        return HiddenStates;
    }
    std::vector<int> getLifeTimes() {
        return lifeTimes;
    }

    void resetStatesAndLifetimes() {
        InputStates.clear();
        OutputStates.clear();
        HiddenStates.clear();
        lifeTimes = { 0 };
    }
Clone this wiki locally