tocdepth

2

Создание случайной матрицы QUBO

В статье рассмотрен пример создания случайной матрицы в формулировке QUBO при помощи образа виртуальной машины «Квантовый симулятор».

Постановка задачи

  1. Создать случайную матрицу Q.

  2. Найти вектор x, соответствующий минимуму функции.

Подключите пакеты с сэмплерами

В интерфейсе Jupiter Server отправьте команду:

import numpy as np
from dwave.samplers import SimulatedAnnealingSampler
import matplotlib.pyplot as plt

Где:

  • numpy, dwave.samplers — пакеты с самплерами DWave, в которых доступны несколько алгоритмов решения.

  • SimulatedAnnealingSampler — алгоритм имитации отжига из пакета DWave.

  • matplotlib — пакет для визуализации.

Создайте матрицу

Создайте матрицу со случайными значениями с помощью команды:

N = 10
M = 10
Q = np.random.uniform(low=-M, high=M, size=(N, N))

Где:

  • N — размер матрицы;

  • M — диапазон значений;

  • Q — название матрицы.

Получите изображение матрицы

Чтобы убедиться, что матрица случайная, получите ее изображение с помощью команды:

plt.matshow(Q)

В результате вы получите изображение случайной матрицы:

../../_images/screen__quantum-simulator__matrix.svg

По шкале справа можно убедиться, что элементы матрицы положительные и отрицательные.

Далее вы можете приступить к решению задач в QUBO c использованием сэмплера Dwave.

Запустили Evolution free tier
для Dev & Test
Получить