Syntax & Semantics of this Requirements List
This is a (rough, in-progress) list of functional requirements for roughly human-like, roughly human-level general intelligence, collectively created during the AGI Roadmapping Workshop.
It is structured first of all as a set of high-level functional requirements, organized into two levels of categories.
These categories are considered as a heuristic guide rather than a rigorous ontology, and it is recognized that they have overlap and are somewhat fuzzily defined.
Intrinsic ordering constraints among the high-level functional requirements are indicated with the > sign; for instance "miming [ > gesturing]" means that miming has gesturing as a prerequisite.
Other than the explicit ">" indications, the high-level functional requirements are unordered.
After each high-level functional requirement, one or more "example requirement series" are listed. Each such series is ordered, e.g. in
|
Example req series:
- point at stationary object
- point at moving object
- point to indicate intended trajectory of moving object
|
the understanding is that pointing at a stationary object is prerequisite to pointing at a moving object, which is prerequisite to pointing to indicate the intended trajectory of a moving object.
Dependencies of an element of a requirement series on other requirements (that are outside that particular series) are indicated using ">"; for instance in
- learn two languages and translate between [ > learn a language from...]
Example req series:
- learn to translate words (>learn words)
- learn to translate simple sentences (> understand simple sentences)
- learn to translate recursive grammar (> learn recursive grammar)
|
there is an indication that the requirement "learn to translate recursive grammar" has as a natural prerequisite "learn recursive grammar."
Specific tasks may be listed after low-level requirements. These tasks are listed in boxes, as in the following example (note that the outer box in this example is a quoting device used in this section and does not depict an actual box used in the requirements list, whereas the inner box around the tasks/task families does depict an actual box used in the requirement list. Tasks are grouped in boxes for simplicity of presentation, to avoid overly deep nesting of bullets.)
|
Example req series:
- transfer knowledge from one domain to a similar domain
|
Example tasks/task families:
- transfer game-playing skill from one or more video games to another game of the same genre (> a number of skills required to play video games!)
- have a system play 5 RPGs for 100 hours each. Then, expose it to a sixth, randomly chosen RPG and test whether it learns this sixth RPG faster than it would if it had not played those 5 RPGs
- transfer skill at assembling blocks to mimic a certain structure, from one type of blocks to another (>build structure with blocks, take verbal instructions)
- teach the system to build particular structures (e.g. a tower, a car, a mountain) with one type of blocks (e.g. wooden blocks) and then test if it can do the same thing with a different kind of blocks (e.g. lego blocks)
|
- transfer knowledge from one domain to a very dissimilar domain
|
In the above example the listed tasks/task families are intended as tasks inheriting from the functional requirement "transfer knowledge from one domain to a similar domain." Note that (as in this example) additional dependencies may be introduced in the context of particular tasks or task families, even if they were not generically associated with the supervening functional requirements).
The collection of requirements listed here could naturally be depicted as a directed graph with
- one node type for category labels, one for requirements, and one for tasks
- a link type signifying (category or requirement) inheritance
but it is presented textually here purely for simplicity of editing.
It would probably be appropriate to associate each element (requirement, task family or task) in this list with a certain unique identifier to simplify the annotation of dependencies, but this hasn't been implemented yet.
Major Categories of Functional Requirements
Communication
Gestural communication
Example req series:
- Point at stationary object
- point at moving object
- point to indicate intended trajectory of moving object
- understanding pointing
- gesturing
- recognizing gestures
- miming [ > gesturing]
Pictorial Communication
- Understand simple pictures (what objects, events they refer to)
Example req series:
- picture with one object
- picture with two objects in a single relationship
- picture with one foreground object against a complex background
- pictures with multiple objects in multiple relationships against a complex background
- Draw diagram describing observed scene (> understand simple pictures)
- Draw diagram providing instructions in physical task (> draw diagram describing observed scene)
Example req series:
- put a specified object in a specified location
- get a set of objects from a specified location and build a certain structure from them (>assemble a structure)
- assemble a simple model using legos
Verbal communication
- comprehend simple language
- questions
- statements
- commands
- interjections
- generate simple language
- questions
- statements
- commands
- interjections
- comprehend recursive grammar ( > comprehend simple language)
- generate recursive grammar (> generate simple language)
- understand a simple story ( > comprehend simple language)
- understand a complex story ( > comprehend recursive grammar, understand a complex story)
- learn via reading ( > comprehend simple language)
- learn via reading handwritten notes [ > learn via reading]
- understand jokes [> comprehend simple language]
- create new words (neologisms)
Language acquisition
- learn a word from context
- learn a language from grounded interactions [ > learn a word from context]
Example req series:
- learn verb/argument relationships
- learn modifiers
- learn prepositional relations
- learn sentences with prepositional phrases (> learn verb/arg, learn prep)
- learn two languages and translate between [ > learn a language from...]
Example req series:
- learn to translate words (>learn words)
- learn to translate simple sentences (> understand simple sentences)
- learn to translate recursive grammar (> learn recursive grammar)
cross-modal communication
- learn behaviors via language
- describe actions and behaviors in language
- connect ideas w/ pictorial or textual references
- understand a childrens story book combining words and pictures (> undertand simple language, understand simple pictures, connect ideas w/ pictorial or textual references)
- generate queries by recognizing missing info in plan formation (> describe actions and behaviors in language, connect ideas w/ references)
- learn how to use a tool by reading the manual (> connect ideas w/ references)
Actuation
Physical skills
- Manipulate unfamiliar objects
Example req series:
- manipulate objects without moving parts
- manipulate objects with moving parts
- manipulate composite objects (that can be taken apart and reassembled)
- walk
- grasp
- wipe up a spill
Navigation
- Navigate in unfamiliar environments
- Navigate in highly dynamic environments (> navigate in unfamiliar environments)
Tool use
- Use tools based on imitation, instruction
- Learn to use new tools (> use tools?)
Perception
Vision
- image analysis, understanding
- comprehend visual scene
Hearing
Touch
Crossmodal
- object class recognition
- comprehend scene (> object class recognition)
- object class formation (>object class recognition)
- object composition
- object tracking
Proprioception
Imitation
Imitation of...
- Plans
- Sequences of social behaviors
- Physical movements
- Verbal utterances
Social
Empathy
- Behavior recognition via empathy
- Affect-sharing
- Joint attention
Appropriate Social Behavior
- Follow simple social rules
- Joint activities
Example req series:
- harmonious parallel play
- spontaneous cooperative play
- planned joint activities (> gestural or verbal communication, planning)
- Follow complex social rules that involve breaking simple social rules (> follow simple social rules)
Social Communication
- Asking permission / establishing if a plan is permissable
- Mixed initiative dialog (> understand simple language, generate simple language)
- Plan 'deals' involving social knowledge (business deals)
Social Inference
- Predict behavior of familiar agent in unfamiliar situation
- Choosing between physical and social mode of acquiring information
- Predict behavior of one agent based on observing similar agents
Emotion
Expressing Emotion
- Display internal feeling
- Display situationally appropriate emotional response
Understanding Emotion
- detect lies, confusion, frustration
- Understanding sarcasm
- Identifying human emotion
Self
Self-Awareness
- Identification of self as distinct from other
- Identification of itself as an agent
- Can I do that?
- Do I know that?
- Mirror test, surprise mirror test
Self-Control
- Self-regulation of learning
- Metacognition
- conversation with self
Other-Awareness
- Distinguishing agents from non-agent
- Taking the perspective of another
- What can Bob do?
- What does Bob know?
Memory
- Episodic memory
- Declarative memory
- Procedural memory
- Forgetting
Attention
- Identify the important parts of a series of behaviors
- situational salience filtering
- allocating attention within a visual scene or a collection of ideas
Learning
(Many other categories involve types of learning; this Learning category gathers types of learning that didn't fit elsewhere.)
Reinforcement
- learning from delayed rewards
Being Taught
- learning by example
- learning by being told
Learning via Media
- Learn physical task from diagram
- Learn by reading
- Learn by combination of text, diagrams (> learn by diagram, learn by reading)
Learning via Experimentation
- Learn to use an unfamiliar gadget
- Simple scientific experimentation
(Piaget pendulum tasks?)
- Improving skills by practice
Reasoning
General
- Deduction
- Induction
- Abduction
- Transfer learning
Example req series:
- transfer knowledge from one domain to a similar domain
|
Example tasks/task families:
- transfer game-playing skill from one or more video games to another game of the same genre (> a number of skills required to play video games!)
- have a system play 5 RPGs for 100 hours each. Then, expose it to a sixth, randomly chosen RPG and test whether it learns this sixth RPG faster than it would if it had not played those 5 RPGs
- transfer skill at assembling blocks to mimic a certain structure, from one type of blocks to another (>build structure with blocks, take verbal instructions)
- teach the system to build particular structures (e.g. a tower, a car, a mountain) with one type of blocks (e.g. wooden blocks) and then test if it can do the same thing with a different kind of blocks (e.g. lego blocks)
|
- transfer knowledge from one domain to a very dissimilar domain
|
Example tasks/task families:
- transfer game-playing skill from one or more multiple video games to another game of a different genre
|
- Handling uncertainty
- Deriving fairly certain conclusions from uncertain knowledge
- Deriving uncertain conclusions from fairly certain knowledge
- Deriving uncertain conclusions from uncertain knowledge
- manage contradictions
- counterfactual reasoning
- default reasoning & knowledge
- analogical reasoning
- analogies from one object to another
- analogies from one episode to another
- analogies from one agent to another
- analogies from one action or behavior to another
- abstraction of specific objects into general categories
Causal
- postulate cause-effect relationships
- chain existing cause-effect chains (> postulate cause-effect relationships?)
Physical
- spatial reasoning
- temporal reasoning
- spatiotemporal reasoning (> spatial reasoning, temporal reasoning)
- conservation of number, mass, weight
Associational
Planning
Tasks here may involve planning everyday (domestic) activities
- Learn skill by planning in model space and experimenting in physical world
- Accommodate internal conflicting views or goals
- Strategic planning
- Balancing short and long term implications
Motivation
- curiosity
- hedonic drives
- boredom
- motivation based on various affects
Teaching
Methods of Teaching
- Teach by demonstration
- Teach by interactive verbal instruction
- Give verbal directions
- Write a manual (> give verbal directions)
- Give pictorial directions
- Give directions combining words and pictures (> give verbal dir., give pictorial dir.)
Content to Teach
All teaching may be done to either similar or dissimilar agents.
- Teach language
- Teach knowledge
- Teach tool use
- Teach building structures
Building/Creation
Conceptual
- forming new concepts
- imagination: unreal scenario building
- creative association
Verbal
Physical
- build structure with blocks
- disassemble/assemble objects
Social
- pretend play
- act out a story
Systemic Properties
- Ability to adapt to (semi) permanent damage
- Long-term cognitive development ability