Я не совсем уверен, как сформулировать этот вопрос, но я буду стараться изо всех сил. Я хочу иметь примеры квантовых алгоритмов, которые могут выполнять логические параллельные задачи. Он выходит за рамки простого суммирования, например, умножения или нахождения наибольшего значения или значения, ближайшего к заданному фиксированному значению.
Я знаю, что квантовые алгоритмы могут очень легко "вводить" несколько состояний в функцию / схему и получить суперпозицию всех ответов и даже выбрать заданные c желаемые результаты с помощью алгоритма Гровера, но возможно ли включить несколько суперпозиций в окончательный классический ответ? Поскольку у каждой «вероятности» нет порядка, очевидно, что операции, зависящие от последовательности, невозможны.
Я пытаюсь понять, как использовать квантовый компьютер, и спроектировать схемы для него. Я не интересуюсь теорией или уравнениями, просто необработанные схемы / схемы связи.
Такие примеры, на которые я пытаюсь ссылаться, могут быть записаны в виде псевдо-кода, как показано ниже
struct possibility {
float weight;
int value;
};
int summation(possibility[] input) {
int result = 0;
for (int i = 0; i < sizeof(input); i++) {
result += input[i].value * input[i].weight;
}
return result;
}
int multiplication(possibility[] input) {
int result = 1;
for (int i = 0; i < sizeof(input); i++) {
result *= input[i].value * input[i].weight;
}
return result;
}
int findClosest(possibility[] input, int toValue) {
int result = input[0].value;
int resultDistance = abs(toValue - result) * input[0].weight;
for (int i = 1; i < sizeof(input); i++) {
int distance = abs(toValue - input[i].value) * input[i].weight;
if (distance < resultDistance) {
result = input[i].value;
resultDistance = distance;
}
}
return result;
}
Извините за мой бедный формулировка. Я совсем не уверен, как лучше сформулировать этот вопрос, имея мои крошечные знания в этой области. Любая помощь приветствуется!