Создание случайной матрицы QUBO
В статье рассмотрен пример создания случайной матрицы в формулировке QUBO при помощи образа виртуальной машины «Квантовый симулятор».
Постановка задачи
Создать случайную матрицу Q.
Найти вектор x, соответствующий минимуму функции.
Подключите пакеты с сэмплерами
В интерфейсе Jupiter Server отправьте команду:
import numpy as npfrom dwave.samplers import SimulatedAnnealingSamplerimport matplotlib.pyplot as plt
Где:
numpy, dwave.samplers — пакеты с самплерами DWave, в которых доступны несколько алгоритмов решения.
SimulatedAnnealingSampler — алгоритм имитации отжига из пакета DWave.
matplotlib — пакет для визуализации.
Создайте матрицу
Создайте матрицу со случайными значениями с помощью команды:
N = 10M = 10Q = np.random.uniform(low=-M, high=M, size=(N, N))
Где:
N — размер матрицы;
M — диапазон значений;
Q — название матрицы.
Получите изображение матрицы
Чтобы убедиться, что матрица случайная, получите ее изображение с помощью команды:
plt.matshow(Q)
В результате вы получите изображение случайной матрицы:
По шкале справа можно убедиться, что элементы матрицы положительные и отрицательные.
Далее вы можете приступить к решению задач в QUBO c использованием сэмплера Dwave.