So this is where I'll be posting my psuedocode and, someday, my code for my AGI.
I've recently decided on a new AGI architecture that is a combination of various other AGI architectures and processes (why reinvent the wheel, right?). I'll let my iPad note speak for itself.
[left]My AGI Architecture
Design principles:
1. Three mechanisms that apparently help create human behavior:
A. Powerful perceptual and "pre-cognitive" processing
B. Memory, along with processes that contextualize and generalize experiences for applicable future use
C. Satisficing ("good enough") reasoning
2. Two more important aspects of human cognition:
A. Progressive filtering and structuring of perception ("cognitive pyramid")
a. The cognitive pyramid solves the trade-off problem of quantity and sophistication by collapsing and integrating large volumes of perceptual information into more abstract aggregates that can then easily be stored, retrieved, manipulated and composed.
b. Once the information is filtered and aggregated, the various pieces of information compete for the AGI's attention (functional consciousness).
c. When the volume of incoming data is high, the architecture locally aggregates and filters it. This means that in the architecture's progressively higher levels, the reduced data volume allows more computationally expensive processing (such as symbolic reasoning) to have a lighter load.
B. Tight integration of functionalities and modalities
a. Tight integration is fine-grained, full-spectrum interaction between the cognitive levels.
b. Tight integration allows better leveraging of the inherent power of the individual components. With loose integration, information (including about the situation) become "trapped" inside subsystems and cannot be effectively communicated.
c. All cognitive components will share a common memory, integrated control process, and a shared language for communication with individual components.
d. Learning and information flows both forwards and backwards between the layers. For example, Proto-cognition's filtering and clustering are modulated by signals from Micro-cognition indicating goodness-of-fit and applicability of high-salience clusters to ongoing problem solving. This allows the architecture to adapt and optimize itself to the nature of its processing and the structure of its environment.
-----------------------------------------------------------
2. The three layers of the AGI (and their components*):
A. Pre-cognitive processing (proto-cognition)
Perception, attention, aggregation
B. Micro-cognition
Motivation, actuation, memory, communication, learning, quantitative functions, map formations, goal and sub-goal creations, databases
C. Macro-cognition
(Symbolic) reasoning (such as abduction, deduction, induction, etc.,) social interaction, planning, emotion, modeling self/others, building/creation, knowledge (w/ cognitive synergy,) meta-cognition, other
*See competency areas below.
-----------------------------------------------------------
Competency Areas*
Perception
Proprioception, introspection, speech recognition, pattern recognition, musical processing, vision, smell, touch, auditory, prediction, natural language processing, salience, face/emotion/image etc. recognition
---------------------
Memory
Working, episodic, implicit, semantic, procedural, short-term, long-term, past-present event comparison, forgetting
---------------------
Attention
Visual, auditory, social, behavioral, internal, dynamic allocation, competitive selection,
reflexive response
---------------------
Social interaction
Communication, appropriateness, social inference, cooperation, competition, relationships
---------------------
Planning
Tactical, strategic, physical, social
---------------------
Motivation
Drives (incl. social,) appetence, aversion, goal and sub-goal planning and setting, affect-based, altruism
---------------------
Actuation
Physical skills, tool use, navigation, proprioceptive, face tracker/gaze director, animation database/generator, action selection, animation control, text-to-speech lip sync, conflict manager/scheduler
---------------------
(Symbolic) reasoning
Induction, deduction, abduction, physical, casual, associational, past-present event comparison
---------------------
Communication
Gestural, verbal, musical, pictorial, diagrammatical, language acquisition, natural language processing/understanding
---------------------
Learning
Experimentation, imitation, reinforcement, media-oriented, non-associative, cognitive, observational, non-monotonic learning, dialogical/through dialogue
---------------------
Emotion
Percieved, expressed, control, understanding, sympathy, empathy, mood, reactive
---------------------
Modeling self/other
Other-awareness, relationships, self-control, Theory of Mind, sympathy, empathy, self-awareness, self-reflection, metacognition
---------------------
Building/creation
Physical construction with objects, formation of novel concepts, verbal invention, social organization, internal simulation ("imagining,") concept creation
---------------------
Quantitative
Counting observed entities, comparison of quantitative properties of observed entities, measurement using simple tools
---------------------
Knowledge
Declarative, procedural, attentional, sensory, episodic, intentional, domain, meta-knowledge
---------------------
Databases
Query manager (incl. queries about processes and knowledge within the AGI's self,) agent models, faith engine, ontologies, situation model, context awareness, failsafes/protective programming
---------------------
Other
Beliefs, humor, conscious control of cognition, personality, likes/loves, dislikes/hates
-----------------------------------------------------------
The AGI's consciousness stems from three factors:
1. Different inputs competing for the creature's attention (a functional view of consciousness).
2. The AGI can think about and process (and thus be aware of) various parts of itself (i.e. Its beliefs and emotions) and have a sense of selfhood. It can also relate other things to itself (i.e. "I just spilled punch all over the floor, I must be really clumsy...").
3. The AGI can be made aware of all or, at least in the beginning, some aspects of other people (i.e. Personality, likes, dislikes, beliefs, etc.). This makes the AGI more than only self-conscious.
---------------------------------
Other notes:
Ontologies (as well as roles) in "Weaving a Fabric of Socially Aware Agents" can be stored in the databases module within the Micro-cognition level.
Modules within components (i.e. The visual module within the attention component) consist of even smaller codelets that only process information when they receive relevant or matching information. This saves time and computation expenses.[/left]
And here's the first bit of psuedocode I'm working on: attention (based on a PDF describing an AGI attention mechanism).
The reason I use only one if/else block is because the first four(!) times I tried to write this psuedocode, there were just too many. So I tried writing it without any if/else blocks to see if I could make a basic outline of the idea (and I did... I think).
However, I am still looking for input on this psuedocode, and I wouldn't mind more if/else blocks (as long as they don't make a giant if/else pyramid... yikes!).
So if you guys have any comments, ideas, questions and constructive criticism, I'd love to hear them!
But please remember, the AGI attention PDF said that this attention mechanism is supposed to run quickly and efficiently with limited computational resources (which I assume is why it's so short and simple).