OpenCog is a project that aims to build an
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
artificial intelligence framework. OpenCog Prime is an architecture for robot and virtual
embodied cognition
Embodied cognition is the theory that many features of cognition, whether human or otherwise, are shaped by aspects of an organism's entire body. Sensory and motor systems are seen as fundamentally integrated with cognitive processing. The cognit ...
that defines a set of interacting components designed to give rise to human-equivalent
artificial general intelligence
Artificial general intelligence (AGI) is the ability of an intelligent agent to understand or learn any intellectual task that a human being can.
It is a primary goal of some artificial intelligence research and a common topic in science fictio ...
(AGI) as an
emergent phenomenon
In philosophy, systems theory, science, and art, emergence occurs when an entity is observed to have properties its parts do not have on their own, properties or behaviors that emerge only when the parts interact in a wider whole.
Emergence ...
of the whole system. OpenCog Prime's design is primarily the work of
Ben Goertzel
Ben Goertzel is a cognitive scientist, artificial intelligence researcher, CEO and founder of SingularityNET, leader of the OpenCog Foundation, and the AGI Society, and chair of Humanity+. He helped popularize the term 'artificial general intell ...
while the OpenCog framework is intended as a generic framework for broad-based AGI research. Research utilizing OpenCog has been published in journals and presented at conferences and workshops including the annual
Conference on Artificial General Intelligence. OpenCog is released under the terms of the
GNU Affero General Public License
The GNU Affero General Public License (GNU AGPL) is a free, copyleft license published by the Free Software Foundation in November 2007, and based on the GNU General Public License, version 3 and the Affero General Public License.
The Free So ...
.
OpenCog is in use by more than 50 companies, including
Huawei
Huawei Technologies Co., Ltd. ( ; ) is a Chinese multinational technology corporation headquartered in Shenzhen, Guangdong, China. It designs, develops, produces and sells telecommunications equipment, consumer electronics and various smar ...
and
Cisco
Cisco Systems, Inc., commonly known as Cisco, is an American-based multinational digital communications technology conglomerate corporation headquartered in San Jose, California. Cisco develops, manufactures, and sells networking hardware, ...
.
Origin
OpenCog was originally based on the release in 2008 of the source code of the proprietary "Novamente Cognition Engine" (NCE) of Novamente LLC. The original NCE code is discussed in the PLN book (ref below). Ongoing development of OpenCog is supported by Artificial General Intelligence Research Institute (AGIRI), the
Google Summer of Code
The Google Summer of Code, often abbreviated to GSoC, is an international annual program in which Google awards stipends to contributors who successfully complete a free and open-source software coding project during the summer. , the program is ...
project,
Hanson Robotics
Hanson Robotics Limited is a Hong Kong-based engineering and robotics company founded by David Hanson, known for its development of human-like robots with artificial intelligence (AI) for consumer, entertainment, service, healthcare, and researc ...
,
SingularityNET and others.
Components
OpenCog consists of:
* A
graph database
A graph database (GDB) is a database that uses graph structures for semantic queries with nodes, edges, and properties to represent and store data. A key concept of the system is the ''graph'' (or ''edge'' or ''relationship''). The graph relat ...
, dubbed th
AtomSpace that holds "atoms" (that is,
terms,
atomic formula
In mathematical logic, an atomic formula (also known as an atom or a prime formula) is a formula with no deeper propositional structure, that is, a formula that contains no logical connectives or equivalently a formula that has no strict subformu ...
s,
sentences
''The Four Books of Sentences'' (''Libri Quattuor Sententiarum'') is a book of theology written by Peter Lombard in the 12th century. It is a systematic compilation of theology, written around 1150; it derives its name from the ''sententiae'' o ...
and
relationships) together with their "values" (
valuations or
interpretations, which can be thought of as per-atom
key-value databases). An example of a value would be a
truth value
In logic and mathematics, a truth value, sometimes called a logical value, is a value indicating the relation of a proposition to truth, which in classical logic has only two possible values (''true'' or '' false'').
Computing
In some progr ...
. Atoms are globally unique, immutable and are indexed (searchable); values are fleeting and changeable.
* A collection of pre-defined atoms, terme
Atomese used for generic
knowledge representation
Knowledge representation and reasoning (KRR, KR&R, KR²) is the field of artificial intelligence (AI) dedicated to representing information about the world in a form that a computer system can use to solve complex tasks such as diagnosing a medic ...
, such as
conceptual graph
A conceptual graph (CG) is a formalism for knowledge representation. In the first published paper on CGs, John F. Sowa used them to represent the conceptual schemas used in database systems. The first book on CGs applied them to a wide range of ...
s and
semantic network
A semantic network, or frame network is a knowledge base that represents semantic relations between concepts in a network. This is often used as a form of knowledge representation. It is a directed or undirected graph consisting of vertices, ...
s, as well as to represent and store the rules (in the sense of
term rewriting
In mathematics, computer science, and logic, rewriting covers a wide range of methods of replacing subterms of a formula with other terms. Such methods may be achieved by rewriting systems (also known as rewrite systems, rewrite engines, or reduc ...
) needed to manipulate such graphs.
* A collection of pre-defined atoms, that encode a
type subsystem, including
type constructor
In the area of mathematical logic and computer science known as type theory, a type constructor is a feature of a typed formal language that builds new types from old ones. Basic types are considered to be built using nullary type constructors. S ...
s and
function type In computer science and mathematical logic, a function type (or arrow type or exponential) is the type of a variable or parameter to which a function has or can be assigned, or an argument or result type of a higher-order function taking or returni ...
s. These are used to specify the types of variables, terms and expressions, and are used to specify the structure of generic graphs containing variables.
* A collection of pre-defined atoms that encode both
functional
Functional may refer to:
* Movements in architecture:
** Functionalism (architecture)
** Form follows function
* Functional group, combination of atoms within molecules
* Medical conditions without currently visible organic basis:
** Functional sy ...
and
imperative programming styles. These include the
lambda abstraction
Lambda calculus (also written as ''λ''-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. It is a universal model of computation tha ...
for binding
free variable
In mathematics, and in other disciplines involving formal languages, including mathematical logic and computer science, a free variable is a notation (symbol) that specifies places in an expression where substitution may take place and is not ...
s into
bound variable
In mathematics, and in other disciplines involving formal languages, including mathematical logic and computer science, a free variable is a Mathematical notation, notation (symbol) that specifies places in an expression (mathematics), expressi ...
s, as well as for performing
beta reduction
Lambda calculus (also written as ''λ''-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. It is a universal model of computation t ...
.
* A collection of pre-defined atoms that encode a
satisfiability modulo theories
In computer science and mathematical logic, satisfiability modulo theories (SMT) is the problem of determining whether a mathematical formula is satisfiable. It generalizes the Boolean satisfiability problem (SAT) to more complex formulas involvi ...
solver, built in as a part of a generic graph query engine, for performing graph and hypergraph pattern matching (
isomorphic subgraph discovery). This generalizes the idea of a structured query language (
SQL) to the domain of generic graphical queries; it is an extended form of a graph
query language
Query languages, data query languages or database query languages (DQL) are computer languages used to make queries in databases and information systems. A well known example is the Structured Query Language (SQL).
Types
Broadly, query language ...
.
* A generic
rule engine
A business rules engine is a software system that executes one or more business rules in a runtime production environment. The rules might come from legal regulation ("An employee can be fired for any reason or no reason but not for an illegal rea ...
, including a
forward chainer and a
backward chainer, that is able to chain together rules. The rules are exactly the graph queries of the graph query subsystem, and so the rule engine vaguely resembles a
query plan
In general, a query is a form of questioning, in a line of inquiry.
Query may also refer to:
Computing and technology
* Query, a precise request for information retrieval made to a database or information system
** Query language, a computer lan ...
ner. It is designed so as to allow different kinds of
inference engine
In the field of artificial intelligence, an inference engine is a component of the system that applies logical rules to the knowledge base to deduce new information. The first inference engines were components of expert systems. The typical expert ...
s and
reasoning system
In information technology a reasoning system is a software system that generates conclusions from available knowledge using logical techniques such as deduction and induction. Reasoning systems play an important role in the implementation of artif ...
s to be implemented, such as
Bayesian inference
Bayesian inference is a method of statistical inference in which Bayes' theorem is used to update the probability for a hypothesis as more evidence or information becomes available. Bayesian inference is an important technique in statistics, a ...
or
fuzzy logic
Fuzzy logic is a form of many-valued logic in which the truth value of variables may be any real number between 0 and 1. It is employed to handle the concept of partial truth, where the truth value may range between completely true and completely ...
, or practical tasks, such as
constraint solver
Constraint programming (CP) is a paradigm for solving combinatorial problems that draws on a wide range of techniques from artificial intelligence, computer science, and operations research. In constraint programming, users declaratively state th ...
s or
motion planners.
* An attention allocation subsystem based on economic theory, termed ECAN. This subsystem is used to control the combinatorial explosion of search possibilities that are met during inference and chaining.
* An implementation of a probabilistic
reasoning engine based on
probabilistic logic network
A probabilistic logic network (PLN) is a conceptual, mathematical, and computational approach to uncertain inference; inspired by logic programming, but using probabilities in place of crisp (true/false) truth values, and fractional uncertainty in ...
s (PLN). The current implementation uses the rule engine to chain together specific rules of
logical inference
Inferences are steps in reasoning, moving from premises to logical consequences; etymologically, the word ''wikt:infer, infer'' means to "carry forward". Inference is theoretically traditionally divided into deductive reasoning, deduction and in ...
(such as
modus ponens
In propositional logic, ''modus ponens'' (; MP), also known as ''modus ponendo ponens'' (Latin for "method of putting by placing") or implication elimination or affirming the antecedent, is a deductive argument form and rule of inference. ...
), together with some very specific mathematical formulas assigning a probability and a confidence to each deduction. This subsystem can be thought of as a certain kind of
proof assistant
In computer science and mathematical logic, a proof assistant or interactive theorem prover is a software tool to assist with the development of formal proofs by human-machine collaboration. This involves some sort of interactive proof editor ...
that works with a modified form of Bayesian inference.
* A probabilistic
genetic program evolver called Meta-Optimizing Semantic Evolutionary Search, or MOSES. This is used to discover collections of short Atomese programs that accomplish tasks; these can be thought of as performing a kind of
decision tree learning
Decision tree learning is a supervised learning approach used in statistics, data mining and machine learning. In this formalism, a classification or regression decision tree is used as a predictive model to draw conclusions about a set of obse ...
, resulting in a kind of
decision forest, or rather, a generalization thereof.
* A natural language input system consisting of
Link Grammar
Link grammar (LG) is a theory of syntax by Davy Temperley and Daniel Sleator which builds relations between pairs of words, rather than constructing constituents in a phrase structure hierarchy. Link grammar is similar to dependency grammar, but d ...
, and partly inspired by both
Meaning-Text Theory as well as Dick Hudson's
Word Grammar, which encodes semantic and syntactic relations in Atomese.
* A natural language generation system.
* An implementation of
Psi-Theory for handling
emotion
Emotions are mental states brought on by neurophysiological changes, variously associated with thoughts, feelings, behavioral responses, and a degree of pleasure or displeasure. There is currently no scientific consensus on a definition. ...
al states, drives and urges, dubbed OpenPsi.
* Interfaces to
Hanson Robotics
Hanson Robotics Limited is a Hong Kong-based engineering and robotics company founded by David Hanson, known for its development of human-like robots with artificial intelligence (AI) for consumer, entertainment, service, healthcare, and researc ...
robots, including emotion modelling via OpenPsi. This includes the
Loving AI project, used to demonstrate meditation techniques.
Organization and funding
In 2008, the
Machine Intelligence Research Institute
The Machine Intelligence Research Institute (MIRI), formerly the Singularity Institute for Artificial Intelligence (SIAI), is a non-profit research institute focused since 2005 on identifying and managing potential existential risks from artific ...
(MIRI), formerly called Singularity Institute for Artificial Intelligence (SIAI), sponsored several researchers and engineers. Many contributions from the open source community have been made since OpenCog's involvement in the
Google Summer of Code
The Google Summer of Code, often abbreviated to GSoC, is an international annual program in which Google awards stipends to contributors who successfully complete a free and open-source software coding project during the summer. , the program is ...
in 2008 and 2009. Currently MIRI no longer supports OpenCog. OpenCog has received funding and support from several sources, including the Hong Kong government,
Hong Kong Polytechnic University
The Hong Kong Polytechnic University (PolyU) is a public research university located in Hung Hom, Hong Kong near Hung Hom station. The University is one of the eight government-funded degree-granting tertiary institutions in Hong Kong. Founded ...
, the
Jeffrey Epstein VI Foundation
The Jeffrey Epstein VI Foundation was a private foundation established in 2000 by New York convicted sex offender and financier Jeffrey Epstein. Officially registered as J. Epstein VI Foundation, the "VI" stands for Virgin Islands, where the found ...
and
Hanson Robotics
Hanson Robotics Limited is a Hong Kong-based engineering and robotics company founded by David Hanson, known for its development of human-like robots with artificial intelligence (AI) for consumer, entertainment, service, healthcare, and researc ...
. The OpenCog project is currently affiliated with
SingularityNET and Hanson Robotics.
Applications
Similar to other
cognitive architecture A cognitive architecture refers to both a theory about the structure of the human mind and to a computational instantiation of such a theory used in the fields of artificial intelligence (AI) and computational cognitive science. The formalized mod ...
s, the main purpose is to create virtual humans, which are three dimensional
avatar
Avatar (, ; ), is a concept within Hinduism that in Sanskrit literally means "descent". It signifies the material appearance or incarnation of a powerful deity, goddess or spirit on Earth. The relative verb to "alight, to make one's appearanc ...
characters. The goal is to mimic behaviors like emotions, gestures and learning. For example, the emotion module in the software was only programmed because humans have emotions. Artificial General Intelligence can be realized, if it simulates intelligence of humans.
The self-description of the OpenCog project provides additional possible applications which are going into the direction of natural language processing and the simulation of a dog.
See also
*
Soar
*
Cyc
Cyc (pronounced ) is a long-term artificial intelligence project that aims to assemble a comprehensive ontology and knowledge base that spans the basic concepts and rules about how the world works. Hoping to capture common sense knowledge, Cyc f ...
*
List of free and open source software packages
This is a list of free and open-source software packages, computer software licensed under free software licenses and open-source licenses. Software that fits the Free Software Definition may be more appropriately called free software; the GNU ...
*
OpenAI
OpenAI is an artificial intelligence (AI) research laboratory consisting of the for-profit corporation OpenAI LP and its parent company, the non-profit OpenAI Inc. The company conducts research in the field of AI with the stated goal of promo ...
Sources
*
Gbooks
* Goertzel, B., Iklé, M., Goertzel, I.F., Heljakka, A.
Probabilistic Logic Networks, A Comprehensive Framework for Uncertain Inference', Springer, 2009, VIII, 336 p., Hardcover
References
External links
*
OpenCog Wiki*
*
*
CogPrime: An Integrative Architecture for Embodied Artificial General Intelligence* Given at Monash University Australia, Sept 2011. Adam Ford
*. Ben speaks on OpenCog in Tai Po, Hong Kong, Dec 2011. Adam Ford
* Adam Ford
{{Existential risk from artificial intelligence
Software using the GNU AGPL license
Open-source artificial intelligence
Emergence