Home  / 



Automation of programming has been a challenge from the very creation of lambda calculus and functional languages as it requires structural optimization of models for conjugating dissimilar applied models to syntax of a formal language.

The core of combinatorial AI is an automated purposeful search for computational functions that are both syntactically valid and pragmatically useful. This is an approach to some basic structure generating algorithms used by humans when learning.
Proof of Concept

In the end of 2018, a proof-of-concept combinatorial agent was trained on a demo problem.

  • It learns to write and launch a simple but useful program in a formal language
  • Probability of success approximates to 100% with time
  • The proof-of-concept runs on a laptop PC using one core of a 1.6 GHz CPU
  • The whole training takes about 15 minutes and 10M of RAM
Video presentation
The Demo Problem

Combinatorial AI is able to

  • Learn to build simple models of objects and processes in a changing environment
  • Combine the simple models into solutions for problems defined in the environment
  • Communicate using syntactically correct messages in a formal language
  • Write syntactically valid programs in a formal language that solve the problems when executed
Program Able To Program

Now there is ongoing research to train the combinatorial AI to

  • Process structured problem descriptions in extentions of XML
  • Represent solutions in a language that is Turing-complete
Read more
Q & A

+ Why combinatorial AI is the true one?

The main feature of natural intelligence is the ability to build models and to use language for transferring them fast and reliably to and from other members of the community. These principal abilities of the combinatorial agent were demonstrated in the first test.

+ How combinatorial AI can be used in development?

Solutions tend to become more and more complicated as they meet new requirements. So when new requirements are introduced, the combinatorial agent learns how to meet them first on simple examples thus getting the meanings of the individual concepts, and then combines them with the models it has already learned before to build new solutions. This is how combinatorial AI can fight against the complexity in the development process.

+ Can combinatorial AI win combinatorial explosion?

Combinatorial explosion is a known problem of structural search and optimization. It’s also known that only quazi optimal solutions can be found by methods taking polynomial time to compute. The combinatorial approach is such a method applied to generating computational functions.

+ Can combinatorial AI reason, follow strategy, solve puzzles, make judgments under uncertainty, evaluate risks, etc?

Combinatorial AI do have some priory set decision making rules, but these rules have little to do with the types of behavior in question. Just like a child, the combinatorial agent needs to be trained to solve specific problems under specific conditions.

+ Can combinatorial AI be trained to communicate in natural languages?

Natural languages are certainly more rich in notations and diverse in syntax than the formal. Remember infants in their first attempts to learn language: they mostly start from single words if not syllables and proceed to short sentences next. This infantile language looks more like formal than natural. Because of this consideration our research is now focused on using formal languages that can facilitate agent’s training, not to complicate it.

+ Did combinatorial AI pass the Turing test?

Not yet but we believe it will be able when trained to communicate in natural languages and gain a lot of knowledge, including commonsense knowledge. Unlike some researches that focus on cheating the interrogators in the Turing test by directly programming chat bots and have little to do with AI according to the Chinese room argument, ours is focused on building models that have some applied sense first. Passing the Turing test looks like just a question of time on this way.

+ What computation power is needed for AI to get on the level of human brain?

There are two aspects of the power of human brain, the one is computational and the other is algorithmic. Parallelizing tasks and scaling up data storage are little problems nowadays. But what is the algorithm we are going to enhance to get on the level of humans? It may be too early to care about the computational powers before we have an algorithm solving problems although simple but in a way humans might pass to solve them. Combinatorial AI is an important algorithmic approach towards the power of human thinking.

And though neural networks proved to be effective for parallel data processing, there seems like little profit from that for the combinatorial function of brain. How many new ideas do you get a day? You can count them. To prove an idea one needs special time to perform necessary actions and get experience which is probably irrelevant to other ideas. Looks like the combinatorial function of brain had no other way but to form in neurons though the neurons are actually not the best platform for that. Low level models can be effectively trained on neural networks, but then it’s simpler and faster to combine them on devices of sequential execution.

© 2020 Combinatorial.ai