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