/karma_system

Umbrella repo for the sym-cog-robotics project of the Active Inference Institute

MIT LicenseMIT

karma_system

This repository is an umbrella for the sym-cog-robotics research project of the Active Inference Institute that I am conducting as a Research Fellow.

This project is an experiment in Artificial Agency. It asks the question What does it take, at a minimum, for a robot to learn, on its own, how to survive in a world it knows initially almost nothing about?

The name of the software system under development is Karma. Why the name

Karma [...] is a concept of action, work, or deed, and its effect or consequences> In Indian religions, the term more specifically refers to a principle of cause an> effect, often descriptively called the principle of karma, wherein individual> intent and actions (cause) influence their future [...]

The objective of this project is to realize artificial agency.

It asks the question: What does it take, at a minimum, for an autonomous robot to learn to survive in a world it knows initially almost nothing about?

If successful, the software will animate an autonomous rover that can learn, on its own and starting with minimal a priori knowledge, how to survivably engage its environment by progressively making sense of it and discovering its affordances.

Though it implements a computational model of embodied cognition -software running on mobile hardware-, this effort must not be construed as supporting the view that cognition in living beings is computational. I don't believe it is.

Here are key concepts and opinions shaping this effort:

  • Active Inference - an agent must behave as if it actively minimizes surprise to preserve its identity
  • Enactivism - cognition arises through a dynamic interaction between an agent and its environment, and an agent's perceptions and actions are constructively co-dependent
  • Apperception - predictive sense-making is realized by the discovery of unified causal theories
  • Mortal Computing - meaning is grounded in the agent's drive to survive
  • Society of Mind - agency is realized by a collective of cognition actors interacting with each other and the agent's environment
  • Kantian Whole - the parts (cognition actors) exist for and by means of the whole (the society of mind)
  • Constraint Closure - a cognition actor constrains how the society of mind can change, and vice-versa
  • Autopoeisis - an agent's society of mind is a continuous process of self-production and self-maintenance

The code of the Karma project is distributed over these repositories

  • Karma Agency - Prolog code implementing agency
  • Karma Body - Elixir code giving access to the robot's sensors and motors, embodied or simulated
  • Karma World - Elixir code implementing a virtual, simulation environment - to accelerate the development of Agency
  • Karma Observer - TBD - Code providing an outsider's view on the robot's cognition
  • Karma Analyst - TBD - Code facilitating analysis of data gathered from running the robot