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?


  1. Concepts

  2. Types (kinds) and individuals

  3. Functional terms (e.g. “the sum of one and two.” “the flower of the oak tree.”)

  4. Term subsumption hierarchy.

  5. Relationships between concepts

  6. Argument constraints on relationships

  7. Relationship subsumption hierarchy

  8. 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”)

  9. Logical operators (e.g. “not”, “or”, “and”, “xor”, “equivalent”, “implies”)

  10. Rules (e.g. “if something is a dog, then it has fur.”)

  11. Events (is the event reified with roles for actors, particpants, situation, etc., and/or is the event represented mainly by the actions that occur?)

  12. Actions (preconditions and effects suitable for planning)

  13. Procedures

  14. Time (e.g. “Today is Saturday.”, “at night” “Step A happens before step B.” “During the 1980's we feared the Soviet Union.”)

  15. Counterfactuals (e.g. “Dracula is a vampire.” “There are no human vampires.”)

  16. Percepts

  17. Thoughts (considered as temporary mental phenomena, actively evolving and not committed to memory)

  18. Beliefs about named concepts

  19. Beliefs about unnamed concepts

  20. Beliefs about procedures

  21. The degree/strength/certainty of a belief

  22. Hypothetical knowledge (“Pei believes the Earth is flat”)

  23. Contextual knowledge (“At parties, she is cute.”)

  24. Truth Maintenance (when a fact or rule is retracted, the solely supported facts should be automatically retracted).

  25. Fuzzy lexical terms (“near” “very close to” “approximately” “sort of” “might be”)

  26. Reflection -- the representation of the AGI by concepts and relationships, in particular its behavior

  27. Lexicon for associating concepts with natural language words. Support for NL parsing and generation

  28. Is there an XML serialization of the knowledge store?


Attention Allocation


  1. Of the many processes the system can carry out at a given time, what determines which ones get the most attention?

  2. Of the many knowledge items the system can focus on at a given time, what determines which ones get the most attention?

 Distributed Processing

  1.  Can the system collaborate with others of its kind?

  2. How is knowledge replicated?

  3. How is knowledge merged when two similar concepts are independently created by distributed instances of the AGI

  4. How do distributed instances of the AGI collaborate to achieve goals?

  5. What is the security model? (prevent “viruses”).

Knowledge Acquisition

  1. What facilities are provided for acquisition of knowledge from experts?

  2. Can information be extracted from text?





How are the following types of reasoning carried out?


  1. Deduction (including planning)

  2. Induction

  3. Abduction (hypothesis formation, and best explanation for observed evidence)

  4. Analogy

  5. Finding of generic “associations” between mental entities

  6. Prediction (“I expect that I will run much faster on the new computer.”)

  7. Classification (“This small animal has fur and barks, so it could be a dog.”)


Procedure Learning


  1. How are new procedures learned?

  2. How are existing procedures reinforced when they lead to desirable behavior?




  1. How are the system’s goals represented?

  2. Does it have initial built-in basic goals, and if so can it modify them?

  3. How does it create new subgoals and supergoals from its existing goals?

  4. How do the goals guide the system’s various processes?


Internal Sensation (“Feelings”)


  1. How does the system sense its own internal state?

  2. Can it create new ways of sensing its own internal state?

  3. How does the output of the system’s internal-state-sensors affect the system’s behavior?





How are the following processes carried out?


  1. Noun phrase parsing (“young computer scientists” “laptop computer parts”)

  2. Sentence parsing

  3. Syntactic disambiguation

  4. Semantic disambiguation

  5. Anaphor resolution

  6. Discourse (understanding the rhetorical structure of a document or speech)

  7. Sentence production (generation)

  8. Transformation of nonlinguistic “thought forms” into sentences

  9. “Semantic mapping” of sentences into nonlinguistic thought-forms




  1. How are perceptual gestalts recognized?

  2. How are inputs from different sensory modalities merged and interrelated?

  3. How are sensations turned into perceptions?

  4. Given a huge set of perceptions, how does the system recognize potentially salient patterns in the set?





How are the following distinctions represented, in terms of both structures and dynamics?


  1. Short-term vs. long-term memory

  2. Declarative versus procedural memory

  3. The modality-dependent “perceptual store” aspect of short-term memory, versus the “blackboard” aspect of short-term memory

  4. Memory of perceptions versus memory of ideas




  1. What determines when an item is “forgotten” from the system’s memory

  2. 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


  1. Time

  2. Space

  3. Other minds

  4. Self-perception and self-analysis




How does the system represent a causal relationship between two:


  1. events or event-categories

  2. processes

  3. actions taken by agents


What major components go into determining that there is a causal relation between two:


  1. Events or event categories

  2. Processes

  3. Actions taken by agents



Special Cognitive Processes


  1. How does the system go about predicting what is likely to happen in a given future situation?

  2. How does the system go about dividing a set of items into “natural categories”?

  3. 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:


  1. Visual data?

  2. Acoustic data?

  3. Tactile?

  4. Olfactory?

  5. Software code?

  6. Quantitative data tables?

  7. Database records?

  8. Text files?

  9. Knowledge records from repositories such as the Cyc KB or the WordNet lexical KB?

  10. Mathematical knowledge



Concept Formation


  1. What is the internal structure of a “concept”

  2. In what sort of external relationships is a “concept” involved?

  3. By what methods are new concepts formed?

  4. What factors determine the choice of method for concept-formation in a given context?





  1. How does cognition guide perception?

  2. How does action guide perception?

  3. How do cognition, perception and action guide the process of storing an item in memory, or retrieving an item from memory

  4. How do concepts relate to “mental imagery”


High-Level Structures


  1. What high-level structures exist in your system?

  2. Which of these structures are explicit in the codebase and which are expected to emerge dynamically?

  3. What are the primary categories of dynamics in your system?

  4. Which of these dynamics are explicit in the codebase and which are expected to emerge?

  5. 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


  1. How is a “system of beliefs” represented in your system?

  2. What mechanisms does a belief system use to preserve itself over time?



Mind and Reality


  1. How is your system’s “model of reality” defined?

  2. How is this model constructed?

  3. What is the relation between its model of self and its model of reality?





  1. How are fundamentally new ideas, not directly derived from existing ideas in the system, created?

  2. Is there a special component of the system, special structures, or special dynamics devoted to creativity?

  3. If creative thinking corresponds to a particular aspect or property of your system, which one (or ones)?





  1. Will different instances of your system have different “personalities”?

  2. Might there be multiple subpersonalities, in some sense – if so, in what sense?

  3. How might different personalities be grounded in different aspects of the system’s structure and dynamics?

  4. In what ways is the system’s understanding of itself affected by its interactions with others?

  5. How is morality expressed in the system?

  6. To what extent is morality learned versus in-built?  What is the relation between learned and in-built morality in your system?




  1. 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?

  2. 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


  1. Does your system rely heavily on (quasi) stochastic processes (e.g. random number generation).  For what purposes?

  2. What are the biggest general computational-complexity issues you’ve faced in building your system (or that you’ll envision you’ll face)

  3. What aspects of your system’s structure/dynamics are the most difficult from a computational-complexity perspective?




  1. What kind of hardware does the system require?

  2. If it is intended for distributed implementation, how are knowledge and processes to be distributed among machines?

  3. How  much RAM and processing power do you think will be necessary to achieve roughly human-level intelligence using your system?

  4. Does your system involve the “scheduling” of different processes?  If so how is this accomplished?

  5. Is an Application Programming Interface (API) provided that helps integrate foreign systems?

  6. Is the implementation open source – entirely or in part or none?




Of course, rough estimates are all that’s expected for these quantitative questions.


  1. How many non-fixed parameters does the system have?

  2. How many of these can be optimized once for a system’s whole lifetime and how many have to be tuned adaptively?

  3. 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?

  4. What mechanisms are used for automatic optimization of parameters, either offline or adaptively



Experiential Learning


  1. What kind of environment is the system intended to operate in?

  2. What kind of instruction will it be given, and by whom?