Большинство задач, которые мы решаем, относятся к классу NP-сложных. Для них не существует алгоритмов поиска точного решения за разумное время. Точное решение, теоретически, можно найти с помощью квантового компьютера, но существующие образцы пока слишком слабы для решения практических задач.
Поэтому мы используем идеи дискретной математики и квантовых вычислений, чтобы эффективно решать эти задачи на доступном на сегодняшний день оборудовании с точностью 99%, но за разумное время.
Сначала данные проходят предобработку. Это позволяет уменьшить пространство для поиска и упростить ландшафт целевой функции. Для этого наша компания разработала алгоритм QuSolve SpaceCut.
Мы описываем поставленную заказчиком задачу в виде логических высказываний и выбираем критерий, по которому оценивается оптимальность (целевая функция). Им может быть, например, минимизация расходов.
Этот подход позволяет учитывать большое число переменных даже при работе на классическом компьютере. Такой широкий охват пространства поиска приближает его к квантовому компьютеру.
После обработки солвер ставит вопрос: имеет ли эта задача решение при заданных значениях? Если проверка выполнимости пройдена, то солвер пытается уменьшить значение целевой функции (то есть еще сэкономить) и так происходит до тех пор, пока не будет найден подходящий заказчику вариант. Поиск оптимального решения мы выполняем на нашем солвере QuSolve Heisenberg Machine. В сложных случаях мы используем его в комплексе со специально настроенным оборудованием.