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 and 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 implements an enactive, symbolic cognitive architecture that 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 - to endure, an agent must behave as if it actively minimizes surprisal (the negative log probability of some outcome )
- 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 currently found in these repositories
- Karma Prolog Utils - Prolog utility modules
- Karma Actors - Prolog actor framework
- Karma Apperception - A practical Apperception Engine
- 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
Note: This project is 100% GenAI-free.
- The Autocomplete Delusion by Ananta Nair
- "Embodiment in Cognitive Systems: on the Mutual Dependence of Cognition & Robotics" by David Vernon et al.
- The Apperception Engine by Richard Evans et al.