6 Comments

" the sequence of events is permanently replenished, while the amount of available memory is limited. Therefore, the oldest items must be deleted if the available memory is full." -- events (as data or as knowledge) have different value and practicality. It makes sense to assign weight (value) to events or data and increase value if they are used and prove their usefulness. This way, not the oldest items would be deleted but the least useful ones. Of course, the value should "degrade" over time as well to let newer items stay for longer. The speed of value degradation would define the "conservatism" of the system, i.e. its favoring of older or newer data.

Expand full comment

Right, events have different values. But note that:

(1) Removing some event from the Chronicle sequence means forgetting only the order of events (timing), but not the fact of their existence.

(2) Event can be atomic or composite (pattern); changing the value of the element of a composite one requires the existence of rules for updating the value of each composite that it contains; design of such rules are not obvious and will consume a computational resources.

(3) Importance of the particular event is different for different current intension/goals.

So using event importance is possible, but is it worth doing it requires additional analysis for particular implementation; make sense start by simple scheme then try more complex ones.

Expand full comment

Indeed, the importance can be different, however almost any event has some initial value and some non-zero speed of becoming "obsolete" (importance goes down). Here, if we remove the event from the chronicle sequence, we lose the ability to properly evaluate this speed and apply it. Nevertheless, I agree that decrease of value requires excessive computational resource. But such a decrease can run similar to a garbage collector, i.e., periodically "on idle", so this is less of a problem.

Expand full comment

In practice, it is not so simple. By postponing the update, we must accumulate the information required for the update. We have also to design the updating formulas.

And, most importantly, we have to find a way to use the importance values, implement them in code, and experimentally verify that all of this generally gives better results than the option without it; until such confirmation, usefulness will remain hypothetic. It is why I prefer to start from the simplest version :-)

Expand full comment

Hi Mykola,

I love what you are doing, lots of food for thought. I just have a comment on the paragraph:

"Finally, patterns can be used to exchange knowledge between AGI systems and implement a collective version of knowledge accumulation. Importing a pattern is essentially the equivalent of learning by repeating the actions of another agent."

Since the representation of the patterns is grounded it depends on the specific configuration of the AGI's sensors and actuators. Thus the patterns can only be exchanged with another AGI that has the same sensor and actuator configuration.

Expand full comment

Exactly! I mean (implicitly) exchange between identical systems.

Expand full comment