What is Combinatorial AI?

Combinatorial AI is a learning algorithm of the automated search for computational functions that are both syntactically valid and pragmatically useful. The algorithm 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 the models using syntactically correct messages in a formal language.

The combinatorial approach is a method of structural search and optimization. Combinatorial AI gains knowledge starting from very simple to more and more complex models.

Under the right training supervision, training a combinatorial agent to search quazi optimal solutions takes polynomial time.

Application Opportunities

Possible application examples may include:

Software development

  • Programming communications between components
  • Task paralleling and scaling
  • Porting between platforms
  • Automated testing


  • Elements of automation in CAD development
  • Conjecture of different CAD applications
  • Record keeping


  • Supply chain/distribution management
  • Cost optimization
  • Risk control

Development Status

The proof-of-concept combinatorial agent trained on a demo problem was presented in 2019. In the demonstration, the agent:

  • builds simple models from the interplay with its environment,
  • generates solutions for a specified problem by combining the models,
  • represents the solution in a formal language that allows it’s analysis or execution.

Now there is continued R&D to train the combinatorial AI to

  • Process structured problem descriptions in XML extensions,
  • Represent solutions in a Turing-complete language.