Questions about any Would-Be AGI System
Ben Goertzel
May 20, 2002
This question list is designed to aid in the comparative
discussion and analysis of different approaches to Artificial General
Intelligence (AGI).
It is in no sense complete, and it is certainly a bit
biased toward my own AGI approaches and interests, in spite of my efforts to
make it not too severely so. I hope
that near-future revisions will be less biased in this way.
For this preliminary version, feedback is sought on the
questions themselves. After the
question list has been fleshed out through feedback from others, I will provide
answers for my own Novamente AGI design, and try to get other AGI designers to
give their own answers.
I am less interested in reactions of the form “This or that
question is not relevant to my AGI system” and more interested in reactions of
the form “You left out this question, which is very important for my AGI
system.” I assume that not all
questions will be relevant to all AGI
systems.
Knowledge Representation
How are the following represented?
- Concepts
- Relationships
between concepts
- Quantified
relationships (e.g. “Every boy loves a girl”, “Every boy has a dog that
every girl likes to call by some special pet name”)
- Procedures
- Percepts
- Thoughts
(considered as temporary mental phenomena, actively evolving and not
committed to memory)
- Beliefs
about named concepts
- Beliefs
about unnamed concepts
- Beliefs
about procedures
- The degree/strength/certainty
of a belief
- Hypothetical
knowledge (“Pei believes the Earth is flat”)
- Contextual
knowledge (“At parties, she is cute.”)
Attention Allocation
- Of the
many processes the system can carry out at a given time, what determines
which ones get the most attention?
- Of the
many knowledge items the system can focus on at a given time, what
determines which ones get the most attention?
Reasoning
How are the following types of reasoning carried out?
- Deduction
- Induction
- Abduction
(hypothesis formation)
- Analogy
- Finding
of generic “associations” between mental entities
Procedure Learning
- How
are new procedures learned?
- How
are existing procedures reinforced when they lead to desirable behavior?
Goals
- How are
the system’s goals represented?
- Does
it have initial built-in basic goals, and if so can it modify them?
- How
does it create new subgoals and supergoals from its existing goals?
- How
do the goals guide the system’s various processes?
Internal Sensation (“Feelings”)
- How
does the system sense its own internal state?
- Can
it create new ways of sensing its own internal state?
- How
does the output of the system’s internal-state-sensors affect the system’s
behavior?
Linguistics
How are the following processes carried out?
- Sentence
parsing
- Syntactic
disambiguation
- Semantic
disambiguation
- Anaphor
resolution
- Sentence
production
- Transformation
of nonlinguistic “thought forms” into sentences
- “Semantic
mapping” of sentences into nonlinguistic thought-forms
Perception
- How
are perceptual gestalts recognized?
- How
are inputs from different sensory modalities merged and interrelated?
- How
are sensations turned into perceptions?
- Given
a huge set of perceptions, how does the system recognize potentially
salient patterns in the set?
Memory
How are the following distinctions represented, in terms of
both structures and dynamics?
- Short-term
vs. long-term memory
- Declarative
versus procedural memory
- The
modality-dependent “perceptual store” aspect of short-term memory, versus
the “blackboard” aspect of short-term memory
- Memory
of perceptions versus memory of ideas
And:
- What
determines when an item is “forgotten” from the system’s memory
- Is
there a mechanism for saving forgotten memories in long-term storage (e.g.
on disk) and then retrieving them (and if so, by what retrieval
mechanism?)
Specialized Cognitive Components
What primitive representations and/or dynamics are provides
for dealing with
- Time
- Space
- Other
minds
- Self-perception
and self-analysis
Causality
How does the system represent a causal relationship between
two:
- events
or event-categories
- processes
- actions
taken by agents
What major components go into determining that there is a
causal relation between two:
- Events
or event categories
- Processes
- Actions
taken by agents
Special Cognitive Processes
- How
does the system go about predicting what is likely to happen in a given
future situation?
- How
does the system go about dividing a set of items into “natural
categories”?
- If
the system is given examples of items in several different categories, how
does it go about creating implicit or explicit “models” that let it place
a new item in an appropriate one of the categories?
Specialized Data Types
How does the system represent:and manipulate:
- Visual
data?
- Acoustic
data?
- Tactile?
- Olfactory?
- Software
code?
- Quantitative
data tables?
- Database
records?
- Text
files?
- Knowledge
records from databases like Cyc or WordNet?
- Mathematical
knowledge
Concept Formation
- What
is the internal structure of a “concept”
- In
what sort of external relationships is a “concept” involved?
- By
what methods are new concepts formed?
- What
factors determine the choice of method for concept-formation in a given
context?
Integration
- How
does cognition guide perception?
- How
does action guide perception?
- How
do cognition, perception and action guide the process of storing an item
in memory, or retrieving an item from memory
- How
do concepts relate to “mental imagery”
High-Level Structures
- What high-level
structures exist in your system?
- Which
of these structures are explicit in the codebase and which are expected to
emerge dynamically?
- What
are the primary categories of dynamics in your system?
- Which
of these dynamics are explicit in the codebase and which are expected to
emerge?
- Does
your system involve a perceptual hierarchy? A motor hierarchy?
Are these hierarchies interconnected? How are they constructed?
How do the parts of the hierarchy corresponding to different
sensory modality or motor components interact?
Belief Systems
- How
is a “system of beliefs” represented in your system?
- What
mechanisms does a belief system use to preserve itself over time?
Mind and Reality
- How
is your system’s “model of reality” defined?
- How
is this model constructed?
- What
is the relation between its model of self and its model of reality?
Creativity
- How
are fundamentally new ideas, not directly derived from existing ideas in
the system, created?
- Is there
a special component of the system, special structures, or special dynamics
devoted to creativity?
- If
creative thinking corresponds to a particular aspect or property of your
system, which one (or ones)?
Personality
- Will
different instances of your system have different “personalities”?
- Might
there be multiple subpersonalities, in some sense – if so, in what sense?
- How
might different personalities be grounded in different aspects of the
system’s structure and dynamics?
- In
what ways is the system’s understanding of itself affected by its
interactions with others?
- How
is morality expressed in the system?
- To
what extent is morality learned versus in-built? What is the relation between learned and in-built morality
in your system?
Evolution
- Are
there elements of your system that “evolve” in the sense of surviving with
probability roughly proportional to “fitness” in some sense? If so, what are they?
- Is
this evolution ecological, in the sense that the fitness of one evolving
entity depends on the states of other entities in the system? If so, specify details.
Computation Theory
- Does
your system rely heavily on (quasi) stochastic processes (e.g. random
number generation). For what
purposes?
- What
are the biggest general computational-complexity issues you’ve faced in
building your system (or that you’ll envision you’ll face)
- What
aspects of your system’s structure/dynamics are the most difficult from a
computational-complexity perspective?
Implementation
- What
kind of hardware does the system require?
- If
it is intended for distributed implementation, how are knowledge and
processes to be distributed among machines?
- How much RAM and processing power do you
think will be necessary to achieve roughly human-level intelligence using
your system?
- Does
your system involve the “scheduling” of different processes? If so how is this accomplished?
Parameters
Of course, rough estimates are all that’s expected for these
quantitative questions.
- How
many non-fixed parameters does the system have?
- How
many of these can be optimized once for a system’s whole lifetime and how
many have to be tuned adaptively?
- How
many of these have to do with the internal performance of some relatively
localized system component, versus having to do with the interactions
between components?
- What
mechanisms are used for automatic optimization of parameters, either
offline or adaptively
Experiential Learning
- What
kind of environment is the system intended to operate in?
- What
kind of instruction will it be given, and by whom?