MindAgent specific stimulus

Bug #250362 reported by ferrouswheel
Affects Status Importance Assigned to Milestone

Bug Description

The conversion from stimulus (the quantity that MindAgents reward useful atoms with) should be converted to short term importance (STI) after each MindAgent runs.

This change of when conversion occurs is because the amount of STI to reward per unit of stimulus is dependent on the amount of STI the MindAgent has to distribute. This prevents a MindAgent that isn't particular effective (in achieving system goals) from upping the importance of the atoms it uses - since they are not important in the overall OpenCog instance.

At the moment, stimulus -> STI/LTI is just done by the ImportanceUpdatingAgent (along with collecting rent and taxation when necessary). For the above stim->STI/LTI scheme, it'd probably be better to include it as a separate process.

I'm thinking:

    * Add an AttentionValue and a stimulus map to the MindAgent class.
    * Split the ImportanceUpdatingAgent into a RentCollectionAgent and a WageAgent: The WageAgent needs to be called after every other MindAgent has completed it's cycle (assuming the MindAgent has distributed any stimulus or has STI to pay its atoms with.
    * move the atom stimulus map from the AtomSpace to a separate map per MindAgent.
    * In the MindAgent base class, provide a method rewardAtoms() which calls the WageAgent. This method would also signal to the WageAgent who the caller was so that the correct stimulus map and amount of STI for reward could be worked out.
    * It's up to the MindAgent to figure out the appropriate time to reward the atoms it uses. Usually at the end of a run cycle.

    * This scheme would prevent us from batching/preprocessing the importance updates -- which would be left as one of the tasks of the WageAgent. Alternatively, we could let the server itself collect the stimulus/importance data from each agent and pass it to the Wage agent.

ferrouswheel (joel-pitt)
Changed in opencog:
importance: Undecided → Medium
milestone: none → release-1.0
status: New → Confirmed
Revision history for this message
ferrouswheel (joel-pitt) wrote :

Partly completed by Trent's submission...

The ImportanceUpdatingAgent still needs to be split into a RentCollectionAgent and a WageAgent.

rewardAtoms() in the MindAgent base class still needs to be implemented.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Related blueprints