Создание случайной матрицы 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.
- Постановка задачи
- Подключите пакеты с сэмплерами
- Создайте матрицу
- Получите изображение матрицы