Учи Кванты! → Курс → Задача о ранце

Эволюция с квантовым словарём

Прошлый урок держал норму веса битами запаса и штрафом. Здесь рюкзак собирает другой способ: не одиночка на ландшафте, а особь, у которой на каждый предмет записана пара чисел, похожих на амплитуды кубита. В названии алгоритма есть слово «квантовый», и к концу урока вы будете точно знать, что оно здесь значит, а чего не значит.

Другой способ искать

До сих пор решатель был одиночкой: один ходок по ландшафту энергии. Отжиг переворачивал по биту и решал, принять ли шаг. Эволюционные алгоритмы ищут толпой. Есть популяция готовых решений, в нашем случае рюкзаков. Лучшие из них отбирают, скрещивают, то есть собирают новый рюкзак из частей двух родителей, и чуть портят случайной мутацией. Так получается следующее поколение, и всё повторяется. Это генетический алгоритм, ему больше полувека, и он работает почти на любой задаче, где решение можно оценить числом.

В 2002 году Хан и Ким предложили хранить не рюкзаки, а нечто более компактное. На панели сейчас стартовое состояние их особи: шесть полосок, по одной на предмет, и все на половине. Что это за половина, разберём в следующем узле.

Это платный урок курса. Дальше — интерактив: виджеты, схемы и контрольные вопросы. Продолжение — в полном курсе «Учи Кванты!»: открыть полный курс.

Состояние

Измерение

Нажмите «Выполнить» — появится гистограмма исходов.

Сфера Блоха