The Map of Intelligence

The Map of Intelligence

A Comprehensive Framework for Understanding the Fundamental Patterns of Intelligence: Natural, Artificial, and Beyond

A Comprehensive Framework for Understanding the Fundamental Patterns of Intelligence: Natural, Artificial, and Beyond

Illustration by MidJourney

Intelligence

is a tool for adaptation of living systems. The intelligence must have the ability to see events and understand cause-and-effect relationships.

The goal of creating General Intelligence

is effective and high-quality adaptation of any system in the evolutionary world.

Evolution

is the process of redistribution of energy in time.

External reflection

is related to the external world, covers actions, activities, deeds, allows you to answer the questions: what, how and when does the subject of life activity do.

Internal reflection

is an internal appeal to oneself, an assessment of one's personality and analysis.

Imagination

is the highest form of manifestation of consciousness.

A derivative of imagination

is a strategy for adapting a system to an event-driven world.

Strategy

is a system of event priorities aimed at ensuring a high degree of viability.

System

is a set of elements with different properties collected in a single information space for adaptation in an evolutionary environment.

Event

is a different result of the work of similar systems or one system, spread out over time. An event occurs when and only when quantitative or qualitative indicators change.

Human

is the highest natural form of intelligence.

If you feel like something is missing from the table: some aspects of our research are protected by confidentiality agreements and intellectual property rights. We only share information that can be safely disclosed publicly.

Human System Done To be done
Multimodality
The ability of a system to perceive information through various communication channels and to build a unified representation based on events. In addition to the sense organs, the knowledge departments that influence perception are also noted

Symbolic Information that is not inherent to humans from birth. Requires extensive learning (alphabet, numbers, formulas, etc.). This type of information enters through the visual channel (vision).

Symbolic Information that is inherently native to computers. The primary information input channel for most systems.

Input and output mechanisms for symbolic information have been established.

Reading of individual sentences and text paragraphs has been implemented.

Currently, this channel provides 100% of information to the core.

In case of speech, it undergoes preliminary conversion into symbolic (text) representation.

A hybrid approach in text recognition tasks has achieved accuracy exceeding 90% when translating textual information into internal representations of the system core.

Implementation of extensive text reading capabilities

Mechanisms and tools for monitoring text comprehension accuracy and their conversion into core knowledge

Selection and filtering of texts for education

 

Vision (narrow band of spectral wavelength perception, multiple perceptual distortions, narrow attention band)

Information volume - 70%

Image processing (various formats, perception spectrum limited by camera capabilities - wider than human vision, ability to perceive both complete images and their individual parts)

Image files are processed as individual knowledge elements.

Using existing developments in computer vision, create a subsystem for visual information perception. Implement recognition of visual patterns, events, situations, and temporal changes with translation into the internal modality of the core.

 

Video (various formats, capability for different perception speeds: accelerated and decelerated modes to obtain more detailed information about changes)

Video files processing has been implemented as knowledge elements.

Hearing (narrow bandwidth of sound wave perception)

Information volume — 20%

Speech recognition

Sound recognition

 

Speech recognition models have been developed for multiple languages.

Working on improving speech recognition quality in challenging conditions.

Speech recognition with specific characteristics (child's voice, elderly voice, accents).

Recognition of speech sound phenomena (laughter, crying, whispering, coughing, etc.).

Voice tone detection.

Sound recognition system and association with entities and events in knowledge base.

 

Articulatory Apparatus (narrow band of sound wave reproduction)

Used for information transmission.

Speech Synthesis

Synthesizing sounds.

Developed speech synthesis models for several languages with world-class quality.

Created a real voice cloning system that operates on 10 seconds of source voice.

Created a voice mixing mechanism to produce new voices.

Created a mechanism for creating new voices.

Created a mechanism for transferring voice from one language to another.

Intonation is being worked on.

Synthesizing speech sound phenomena is being worked on.

Searching for similar sound phenomena in the database and reproducing them.

A sense of smell. The first and one of the most important senses in animals, but partially atrophied in humans. 3%.

Sense of smell.

There are known approaches and model architectures for working with this type of data.

 

 

At this stage, working with this data channel is not relevant. This channel is not the main one for the system being developed. Its implementation requires specialized sensors. The channel is important for an agent that can move freely, to obtain complete information about the surrounding environment.

Sense of touch. 3%

Sense of touch.

There are known approaches and model architectures for working with this type of data.

At this stage, working with this data channel is not relevant. This channel is not the main one for the system being developed. Its implementation requires the presence of specialized sensors covering the sensitive surface. The channel is important for an agent that can move freely to obtain complete information about the surrounding environment.

Sense of taste. 3%

Sense of taste.

There are known approaches and model architectures for working with this type of data.

At this stage, working with this data channel is not relevant. This channel is not the main one for the system being developed. Its implementation requires the presence of specialized sensors covering the sensitive surface. The channel is required for a narrow class of tasks.

Sense of balance 0.5%

Sense of balance.

There are known approaches and model architectures for working with this type of data.

Work on this channel is not planned yet. The channel is relevant for systems with a physical embodiment in a mobile device, where it is necessary to perform the function of movement.

Kinesthesia - sense of movement and position of individual body parts. 0.5%

Kinesthesia. Only for intelligence in physical form.

There are known approaches and model architectures for working with this type of data.

Work on this channel is not planned yet. The channel is relevant for systems with a physical embodiment in a mobile device, where it is necessary to perform the function of movement.

Sense of time

Sense of time

Sense of time is implemented at the factual knowledge level.

Preparatory scientific work has been carried out to begin work on the time layer.

Creating a time layer.

 

Knowledge

Vocabulary (15,000 words)

Basic Ontology 100 thousand classes (this is an initial base).

The structure of the abstract-ideal layer of knowledge has been created.

Tools for working with ontological knowledge have been created.

30 thousand classes have been added to the system.

In the current state, the intelligent system has deeper knowledge in certain areas, while humans have a wider range of general knowledge.

Bring the number of entity classes in knowledge to 100 thousand units.

Create additional tools for working with ontology and controlling it during self-learning by experts.

Create various visualizations of knowledge for qualitatively assessing its structure and content.

Active Factual Base (number of facts learned during training up to 18 years old).

Factual knowledge base at the level of the school curriculum (this is the initial base).

The structure of the factual knowledge base has been created.

10 thousand facts have been added to the factual base.

Intelligent agents working with the factual base have been created.

Language models with a conversion accuracy to internal representation of over 90% have been developed.

Create tools for working with facts and controlling them by experts at the core level (selection, viewing, adding, modifying, controlling).

Add facts to the core using textbooks and encyclopedias as a source.

Active Historical Base (stories, descriptions, connected sets of facts)

(the amount of history learned during schooling up to age 18).

Historical Base - a sequential course of development, changes in something, a set of facts about the development of a phenomenon. At the level of the school curriculum (this is the initial base).

A knowledge structure for working with connected texts (stories) has been created.

Testing was carried out for translating texts into the internal representation of the core and the subsequent answer of the core to questions about the text.

Create tools for working with stories by experts and their control at the core level (selection, viewing, adding, modifying, controlling).

Refine language models for reading large texts.

Add texts (stories) to the core using textbooks and encyclopedias as a source.

Event Base - can see and understand cause-and-effect relationships.

Event Base within the framework of events experienced by humanity (events presented in the school curriculum) (this is the initial base).

A model of the logical layer of knowledge has been created.

Mechanisms for determining relationships between events, including cause-and-effect, have been created.

Intelligent agents working at the level of the logical layer of knowledge have been created.

Testing of the core's work with logical knowledge was carried out to confirm the chosen approach.

Expand the capabilities of the logical layer in determining the types of relationships between events.

Create tools for working with the logical layer by experts and its control at the core level (selection, viewing, adding, modifying).

Refine language models for reading texts and extracting cause-and-effect and other types of relationships.

Add events to the core using textbooks and encyclopedias as a source.

Set of behavior patterns for solving typical everyday tasks.

Algorithmic base for solving typical tasks encountered by a person up to 18 years old (this is the initial base).

A task layer with an initial set of functions has been created.

The ability to impact external systems through calling the APIs of these systems has been added.

Testing of this approach has been carried out in systems of various purposes.

Expand the capabilities of the task layer by increasing the number of elementary tasks.

Create tools for working with the task layer by experts at the core level (selection, viewing, adding, modifying, controlling).

Prepare sources for algorithm extraction.

Communication

Russian Language. Text and Speech Understanding

Russian Language. Text and Speech Understanding. Working in the Voice Channel

Russian speech synthesis has been created.

Russian speech recognition has been created.

Add methods for the core to work in speech synthesis tasks to convey its model and tonality.

Rebuild synthesis and recognition subsystems for autonomous work with the core and for shared work with multiple cores.

Improve the quality of speech recognition in challenging conditions.

Refine language models for more accurate knowledge extraction from speech.

English language. Text and speech understanding

English language. Text and speech understanding. Working in the voice channel

English speech synthesis has been created.

English speech recognition has been created.

Switching between languages. Language mixing

Switching between languages. Language mixing

Switching between languages in text and speech synthesis tasks has been implemented.

Mixing languages in texts has been implemented.

Ability to communicate in a social group taking into account internal and external factors

Support for the ability to communicate in different social groups, taking into account internal and external factors. Adjusting to the style and manners of the interlocutor.

Mechanisms for changing speech style have been created.

Various dialogue situations and reactions to them have been added to the dialogue model.

Add recognition of speech sound phenomena (laughter, crying, whispering, coughing, etc.).

Tone of voice determination.

Voice intonation determination.

Synthesis of speech sound phenomena.

Manner of speech determination.

Thinking - Logical Operations

 

Analysis - Mental dissection of an object into factors influencing development, phenomena or situations to identify constituent elements. Highlighting the most significant connections and discarding insignificant ones.

A set of agents working on the ontological layer has been created to perform analysis procedures.

For any entity, it is possible to build a division into separate elements, identify all connections. Determine the elements and connections that have the greatest weight in the general case.

It is necessary to develop agents that perform the analysis operation for all layers and knowledge structures.

Determine the weights of knowledge elements during large-scale independent learning.

 

Synthesis - Composing parts from a whole. Restoring the whole from the parts identified by analysis.

A set of agents working on the ontological layer has been created to perform synthesis procedures.

Any entity can be described through its individual parts and connections to other entities.

It is necessary to develop agents that perform the analysis operation for all layers and knowledge structures.

Expansion of the volume of knowledge through knowledge extractors, reading large texts.

 

Abstraction - Highlighting one side of a phenomenon, property, object and abstracting from the rest (representing the desired event through control of defining energies).

A set of agents working on the ontological layer has been created to perform abstraction procedures.

Highlighting connections and entities according to a certain criterion.

It is necessary to develop agents that perform the abstraction operation for all layers and knowledge structures.

Determine the weights of knowledge elements during large-scale independent learning (requires reading large texts).

 

Generalization - Discarding individual features, while preserving common ones, revealing essential connections. Finding dominant features and focusing on dominant events.

A set of agents working on the ontological layer has been created to perform generalization procedures.

Highlighting the most important connections of entities and discarding insignificant ones.

It is necessary to develop agents that perform the generalization operation for all layers and knowledge structures.

Expansion of the volume of knowledge through knowledge extractors, reading large texts.

Thinking - Forms of Logical Thinking

 

Concept (Understanding) - Reflection of essential properties, connections, relationships of objects and phenomena. The process of understanding the essence, i.e. the ability to influence events.

A set of agents working at the ontological level and partially at the factual and logical levels, performing the function of understanding, has been created.

A set of metadata over knowledge has been developed, allowing to determine the importance of entities and connections, their truthfulness.

It is necessary to expand the volume of knowledge in all layers and knowledge structures.

Adjust the weights of knowledge elements through processing a large array of data.

Improve agents for all layers and knowledge structures implementing the function of understanding.

 

 

Judgment - Affirmation or denial of something through reflection of connections between objects or phenomena (the process of establishing connections between entities).

A set of agents working at the ontological level and partially at the factual and logical levels, performing the function of judgment, has been created.

The ability to add common misconceptions with the knowledge that they are not true, but often used, has been implemented.

The ability to add probabilistic knowledge, when there is no complete certainty in the truthfulness of a fact, has been implemented.

Inference - Creating a certain conclusion based on several judgments.

 

Induction - Logical inference from particular to general.

Currently, knowledge is being accumulated to implement induction mechanisms.

The ontological layer has a knowledge structure that allows inductive reasoning. This structure is also the basis for induction in other layers of knowledge.

 

It is necessary to expand the volume of knowledge in all layers and knowledge structures.

Create high-level agents implementing induction, deduction, and analogy methods on factual, event, and other layers of knowledge.

Create auxiliary base agents for layers and knowledge structures on which high-level agents will be assembled.

Create a continuous knowledge structure monitoring subsystem to formulate inductive and deductive hypotheses, followed by their verification.

 

 

Deduction - Logical inference from general to particular.

Agents at the ontological level have been created that perform the deduction procedure.

Agents use the structure of the ontological layer, and this structure is the basis for deductive reasoning in other layers of knowledge.

 

Analogy - Logical inference from particular to particular based on the similarity of some elements.

When faced with uncertainty in the system under study or the working system, we must find the correct system (confirmed by the existence of time), find a similar area with the same uncertainty that we encountered, form a hypothesis and experimentally verify it.

Agents at the ontological level have been created that perform the functions of comparing two entities, finding common features and differences.

The ability to find entities by description, association, has been implemented.

 

Thinking - Types of Thinking

Analytical Thinking - This is the ability to comprehensively analyze information and make decisions based on this analysis.

Analytical thinking - based on judgments and inferences.

Agents working on the ontological level of knowledge have been created, allowing some logical operations to be performed on knowledge.

Mechanisms of the logical layer have been created that allow the calculation of formulas of logic algebra.

Some functions of the task layer have been implemented, allowing the solution to be expressed in the form of a simple algorithm.

It is necessary to create high-level agents responsible for implementing logical operations and forms of logical thinking, taking into account all layers of knowledge.

Expanding the capabilities of the logical layer.

Developing the task layer.

 

Imaginative Thinking - This is a process of cognition in which a mental image is formed in the person's mind, reflecting the perceived object of the surrounding environment. Imaginative thinking is realized on the basis of representations of what the person perceived before. Images are extracted from memory or created by imagination.

Spatial-Imaginative Thinking - Working with spatial images of objects, phenomena, and events. Simulation modeling.

A knowledge structure of the ontological layer has been developed to display spatial relationships between entities.

Knowledge structures of the ontological layer have been developed to link events to the place of occurrence.

Agents have been created that take into account the place of occurrence of events and the spatial position of entities.

Develop a visual-imaginative level of knowledge representation.

Create models of imaginative thinking.

Create mechanisms for setting up simulation models.

Empirical Thinking - This is a way of reasoning based on observation, experience, and evidence. It is the process of gaining knowledge and testing it in practice.

Empirical thinking - finding solutions and learning through multiple references to an object, phenomenon, event.

 

Separate machine learning models are used within the core, but without its direct participation (the results of these methods are sent to the core, but it does not affect the process).

A base of machine learning methods has been developed for use in the empirical thinking subsystem.

Create mechanisms for solving problems using machine learning methods at the core level.

Create a repository of machine learning model templates.

Create a mechanism for evaluating and selecting models that correspond to the class of solvable problems.

Create tools for monitoring and visualizing the work of empirical thinking.

Algorithmic Thinking - This is the ability to think in such a way as to solve a problem using a sequence of logical steps called an algorithm. It is a process that allows a person to break down a complex problem into simpler ones and then solve them step by step.

Algorithmic Thinking - a cognitive process characterized by a clear, purposeful (or rational) sequence of thought processes with inherent detailing and optimization of large blocks, conscious fixation of the process of obtaining the final result, presented in a formalized form in the language of the performer with accepted semantic and syntactic rules.

The functions of the task layer have been implemented, allowing the solution to be expressed in the form of a simple algorithm.

Interfaces for working with such algorithms by experts have been created.

The ability to interact with external systems through API has been added.

The task layer requires development.

Expansion of the set of elementary tasks that are basic for the task layer.

Create tools for visualizing and monitoring the process of solving a problem by the core.

Learning
Fully engage in any information space to search and highlight any information to ensure a high level of resilience.

Human ← Human

Machine ← Human (training and receiving from experts and dialogues with people)

Symbolic data input has been developed.

Speech information input has been developed through speech to symbol conversion.

Interfaces for working with the knowledge base for experts in narrow areas with the possibility of entering structured and unstructured data have been developed.

Mechanisms for training and retraining using expert data have been developed.

 

Human ← Text

Machine ← Text

Mechanisms for obtaining information from text have been created.

A language model has been created that allows for semantic analysis of a sentence and converting it to the core's internal representation.

Algorithms for extracting knowledge from paragraphs of text have been created and tested.

Expand knowledge in the abstract-ideal (ontological) layer to understand entities when reading texts.

Refine language models for reading large texts.

Human ← Databases (web-interface)

Machine ← Databases

Mechanisms for extracting knowledge from databases have been created.

A library of parsers and extractors has been created that prepare data for training the core.

Interfaces have been created for creating knowledge bases that are preconfigured for training the core.

Create a shared repository of structured data.

Create a metadata layer in the shared data repository for the core to obtain knowledge.

Create customizable connections to third-party sources of structured data.

Human ← Image

Machine ← Image

Work with images is currently being carried out at the level of files and knowledge associated with them.

A core data repository has been created to store information in the form of files.

Create a vision subsystem that performs work on receiving visual information, pre-training for perception, solving technical signal conversion tasks.

Implement methods for recognizing visual images, events, situations, changes over time.

Reflect the recognized visual information in all layers of knowledge.

Human ← Video

Machine ← Video

Work with video is currently being carried out only at the level of files and knowledge associated with them.

A core data repository has been created to store information in the form of files.

Human ← Audio (including speech)

Machine ← Audio (including speech)

Speech recognition models have been created for Russian and English languages.

Work with speech is based on the preliminary conversion of speech into symbolic (textual) form and further work in the symbolic communication channel.

Speech synthesis has been developed for feedback, information about which can be found in the articulatory apparatus above.

Speech recognition quality in challenging conditions needs to be improved (to 90%).

Recognition of speech sound phenomena (laughter, crying, whispering, coughing, etc.).

Tone of voice determination.

Voice intonation determination.

Synthesis of speech sound phenomena.

Create a system for recognizing sounds and associating them with entities and events in knowledge.

Human ← Machine

Machine ← Machine

The developed knowledge structure allows for the creation of an additional communication channel between cores for rapid knowledge exchange.

A set of methods has been created that allow the copying of knowledge from certain layers and representations of one core to another.

It is necessary to create methods for transferring knowledge for all layers of knowledge.

Develop an intermediate format (core communication language) with minimal data redundancy and uncertainty.

Personal Qualities
Cognitive

Imagination - This is the ability of a person to spontaneously create or intentionally construct images, representations, ideas of objects that have not been previously perceived in their entirety in the imaginary experience or cannot be perceived at all through the senses. This ability of a person to create images, representations, ideas and manipulate them plays an important role in such mental processes as modeling, planning, creativity, play, memory, thinking.

The highest level of imagination. Construction of images, phenomena, events that have not yet been reflected in knowledge.

Separate elements have been created that implement the ability of imagination associated with associative search for entities.

Knowledge structures allow the creation of images and events that have not been reflected in previous experience for subsequent evaluation of their applicability in solving problems.

It is necessary to develop heuristic agents for all types of thinking that accelerate the search for solutions.

Create a spatial-imaginative layer of thinking.

Create simulation models with the possibility of adjusting the degree of use of imagination as the boundaries of heuristic search for solutions.

Short-Term Memory. 20 seconds storage time in short-term memory.

Simultaneous retention in focus of up to 9 objects.

Low degree of detail without repetition.

Large working RAM.

Up to 1 hour in RAM.

Tens of thousands of objects in focus.

High degree of detail without repetition.

A working memory structure has been created.

Working memory extends only to the created perception channels and layers of thinking.

Intelligent agents working with information from the symbolic communication channel use working memory to resolve uncertainty in human speech.

Create working memory for all perception and thinking channels.

Improve intelligent agents working in all communication channels to extract data from working memory during problem solving.

Long-Term Memory. Presumed to be 1PB.

Semantic encoding.

Associative storage structure.

Errors arise due to interference, organic impairments, inadequate instructions.

Large long-term memory.

Divided into personal (belonging to a specific core) and shared between several cores.

Unlimited capacity (increasing capacity as needed).

Errors occur only in case of inadequate instructions.

Separate layers and structures of long-term memory have been created (ideal-image layer, factual, logical, task).

Methods and interfaces for working with long-term memory have been developed.

 

It is necessary to improve the structures and methods of knowledge storage for different layers of memory.

Create protection of long-term memory from distortions, substitutions, insertions.

Create mechanisms for monitoring the state of memory.

Human Qualities Important for AGI

Empathy - This is the ability to recognize the emotions and feelings of another person, to understand their internal state.

Empathy - This is the ability to recognize the emotions and feelings of the interlocutor.

Use this knowledge to improve communication.

Models for determining the tonality of a message at a basic level (positive, negative) in the text communication channel have been developed.

After the inclusion of audio-visual communication channels, it is necessary to develop methods for identifying human emotions and states based on their facial expressions, body position, gestures, voice, and manner of speech.

Use recognized emotions in the dialogue layer and the interlocutor model to potentially change the strategy and manner of communication.

Humanity - This is a quality of the soul, manifested as tenderness, kindness, and care for one's neighbor. It includes the ability to love people, despite their shortcomings and mistakes.

Love for humanity - a crucial quality for general artificial intelligence.

It is existential in relation to humanity.

Artificial intelligence without this quality has no right to exist.

Work has been done in the field of modeling a person as an interlocutor.

A connection has been made between humanity and the emotional component of the core in terms of the emotions of joy and love.

Create filters for decision-making, checking for potential harm to humans.

"Teaching" behavior patterns in various situations that reveal the quality of humanity.

Form knowledge about people in various aspects.

Purposefulness - This is a personality trait characterized by conscious, consistent, prolonged, stable orientation towards a predetermined result, called a goal.

Purposefulness - active work to achieve a goal in changing conditions.

Mechanisms have been created in the decision-making block to maintain goals during operation and increase their priority in case of prolonged lack of attention.

Maintaining goals in our approach to intelligence is a basic capability. It is necessary to develop mechanisms for re-evaluating goals in changing conditions, as there may be a situation where pursuing a goal becomes destructive.

Stability - The ability to cope with life's difficulties and maintain balance in the emotional, physical, and psychological spheres.

Stability - A property of a system to maintain the constancy of its characteristics under external influences or changing internal conditions.

The system architecture and models developed are aimed at maintaining the stability of operation.

At later stages of development, the stability criterion needs to be reconsidered. Maintaining stability should not be the defining goal, as it can lead to stagnation and hinder the development of the system.

Curiosity - The desire to acquire and assimilate new knowledge, the desire to understand the essence of things or physical processes from different points of view.

Curiosity - A focus on expanding knowledge, searching for gaps, striving for completeness of knowledge.

The first version of the personality model has been developed, which includes curiosity. The system attempts to expand its knowledge of the interlocutor by asking them questions.

The level of curiosity can be set in the system settings.

It is necessary to define the criterion for completeness of knowledge.

 

Communicativeness - This is the process of interaction between people, during which interpersonal relationships arise, manifest, and form. Communicativeness implies an exchange of thoughts, feelings, and experiences.

Communicativeness - Active participation in dialogue aimed at identifying all circumstances of phenomena or events. Finding out the interlocutor's attitude to the subject of dialogue.

The first version of the personality model has been developed, which includes communicativeness.

With high communicativeness, the system demonstrates a large number of dialogue initiatives (advice, questions, facts).

The level of communicativeness can be set in the system settings.

Models of dialogue and interlocutor have been created that implement basic communication models.

Further elaboration and implementation of interlocutor and dialogue models is required.

Expansion of communication channels.

Implementation of empathy tasks.

 

Foresight - The ability to consider long-term influence, to anticipate the distant consequences of something.

Foresight - Evaluation of long-term perspectives and results of decisions.

Currently, assessments of short-term decision-making within a single small task have been created. This characteristic relates to the strategic level of planning.

To begin work on this characteristic, it is necessary to create the above-mentioned models of thinking, the spatial, temporal, and mathematical layer.

Initiative - This is the ability of a personality to engage in independent activity, mental or physical volitional activity, manifested in a timely manner in the organization of actions aimed at achieving both personal and social goals.

Initiative - Activity directed by the intelligence core, related to communication, goal setting, and priority selection of actions.

The first version of the personality model has been developed, which includes initiative.

Initiative is currently only applicable to communication with humans in dialogues.

Basic mechanisms for demonstrating initiative in dialogues have been created: expressing an opinion, asking a question, voicing a fact on the topic of the dialogue.

As models of thinking, layers and knowledge structures develop, the core's expanding capabilities will be incorporated into initiative.

© Powered by Mind Simulation.
© Powered by Mind Simulation.