MIKOS has been under development for over 10 years. It is a software platform for Compact Knowledge Models (CKM) applications.
CKM endows computers with the capacity to represent human knowledge in a program and apply computers’ already superb reasoning and memory processing capacities to extend and apply that knowledge, potentially equaling or surpassing human performance, over a vast field of application domains.
Our focus is to put knowledge, the most powerful end product of human cognitive processes, in computers. We are not recreating an artificial human brain any more than the Wright Brother’s flyer was an artificial bird. Still, the natural demarcation between the human brain, it’s cognitive processing, intelligence, and the result of the that process, knowledge, provides a compelling metaphor consistent with our design.
The “Brain” is the software engine that interprets our MICA knowledge processing language.
The MIKOS software engine, taken together with the computer it runs on, may be considered the “Brain” of our technology. The engine is a multi-threaded Ruby program. The J-Ruby version, itself written in Java, was chosen to enable import of third party libraries as well as enabling MIKOS to run on a variety of operating systems. The engine’s modular design supports “plugging-in” multiple data interfaces which can support information ranging from simple commands and data to conversational natural language.
The engine integrates with a third-party, highly available, multi-data model, non-SQL database which stores the knowledge model. The engine supports multiple application instances on a single engine instance and has recently been tested on Amazon Web Services (AWS). At runtime, the engine’s primary function is to interpret MICA our reasoning and query language that acquires, processes, and extends knowledge.
The “Intelligence” is a set of MICA procedures and functions that reason about the model.
Following our analogy, programs written in our proprietary MICA language provide the “intelligence” for an application. MICA routines covert incoming information into knowledge to extend the run-time knowledge model or as a result of reasoning about knowledge, perform tasks such as converting knowledge into an outgoing stream of information. The MICA language is itself a multi-threaded, object-oriented language with a full suite of programming flow control constructs such as procedures, functions and macros. MICA is fully cable of supporting the intellectual functions we perceive in our own minds involved with acquiring, extending and refining knowledge, such as interference, inductive and deductive reasoning, pattern-recognition and memory management.
The “Knowledge” is an integrated directed graph structure residing in a non-SQL database. It is independent from the engine and MICA code.
All applications of our technology have a world model as their core. Models are information structures that exists independently of the MICA routines that process them. Models are designed to represent the reality of the problem domain, not the way people talk about it, and therefore are not related to any human language or any linguistic considerations at all. The model data structure is a unique modified directed graph where edges not only connect nodes but edges themselves may have outgoing and incoming edges.
To build a model, the modeller must first understand the domain to be modelled. Then through introspection of that knowledge, core concepts and their relationships are identified and using out knowledge editor, represented in the system. Representing concepts about the world or a domain as they are rather than as we talk about them takes some getting used to and has no analog in describing something using human language or writing a computer program. We call this unique technique, Epistemological Engineering (EpE).