Введение
Это не очень серьёзная статья
Пусть даже не серьёзная.
Библиографического списка в конце не будет. И списка литературы, наверное, тоже...
Я позволю себе написать обычную статью, а не научную уровня журнала nature. Извините...
Это моя вторая статья на данном ресурсе на тему праздных рассуждений. Рассуждение в этой статье - по-прежнему офф-топ моей основной деятельности, но да-да "надо быть разносторонним". Тем не менее, физика для меня гораздо ближе экономики, политики и истории, так что должно получиться лучше.
Тема статьи была "сжата" намеренно: чтобы ограничить круг уместных размышлений. Большую часть статьи можно применить не только к трассировке и расстановке, но я хотел в конечном счёте ±раскрыть именно тот небольшой кусочек "квантовой темы", который закрепил в заголовке статьи, так как это было темой "сочинения на случайную тему".
Что за "сочинения на случайную тему"?
Мне кажется (пока что) довольно интересной идеей "сочинения на случайную тему". Иногда у меня появляется время на это. Смысл в том, чтобы сесть и начать рассуждение в случайном направлении, и из момента, когда непринуждённое рассуждение "заходит в тупик", сформировать тему, на которую начать "более сложное" рассуждение. Это и просто хорошее упражнение для ума (как видится мне), и неплохая возможность "запечатлеть мнение" (в тексте, например), чтобы "в старости" посмотреть на "себя молодого"...
Введение 2: что-то по теме
Перед рассмотрением непосредственно темы статьи, важно разобраться с тем, что такое квантовый компьютер в принципе. Наверное, сказанное ниже Вы уже не раз слышали, так что можете перейти к другому разделу...
Главное отличие квантовых компьютеров от выполненных на основе транзисторов, которые сейчас используются всеми, состоит в том, как они выполняют работу с данными. Привычные всем устройства – от микрокомпьютеров и встроенных компьютеров до суперкомпьютеров представляют все свои данные в виде битов.
В компьютерах традиционного типа один бит в единицу времени представляет из себя только одно из двух состояний: 0 или 1. В отличие от привычной физики, квантовая разрешает суперпозицию нескольких состояний, то есть для квантового бита (кубита) допустимо одновременное нахождение в состояниях 0 и 1 (и даже между ними), что даёт невообразимые ранее возможности для вычислений комбинаторного типа (и не только).
Для суперкомпьютера нужны тысячи мощных процессоров. Расчёты, на которые у достаточно мощного стационарного компьютера уйдет месяц, суперкомпьютер выполнит за сутки. Однако важно, чтобы обрабатывающая программа учитывала все особенности суперкомпьютера, иначе распределённое вычисление может не дать значительного выигрыша.
Квантовые компьютеры выполняют обработку данных при помощи квантовых битов – кубитов, которые могут находиться не только во включенном или выключенном состояниях, но и между этими состояниями, или даже быть в один момент времени и единицей, и нулём. Если приводить аналогию, то кубит можно сравнить с котом Шредингера, который жив и мертв одновременно.
Так как кубиты могут находиться одновременно в нескольких состояниях, временные затраты на расчёт каждого состояния не требуются, а общее время расчётов уменьшается. Именно такая возможность позволяет решать некоторые сложные задачи гораздо быстрее даже самого мощного суперкомпьютера.
Квантовое превосходство
Способность квантовых вычислительных устройств решить задачу, которую классические компьютеры не смогут решить за разумное время, называют «квантовым превосходством».
В последние несколько лет был достигнут заметный прогресс в развитии материалов для сверхпроводников. Можно сказать, что один из прорывов совершился в конце октября 2019 года, когда специалисты из корпорации Google заявили, что собрали прототип полноценного квантового компьютера – Google Sycamore: как утверждается, система примерно за двести секунд смогла решить задачу, которая заняла бы порядка 10 тысяч лет работы передового суперкомпьютера. Тогда Google и стали утверждать, что смогли достичь «квантового превосходства». Однако, тут важно сделать оговорку о том, что:
Алгоритм, выполнявшийся на квантовом компьютере Google, был изначально рассчитан на особенности квантового компьютера, а точнее – выполнение известной случайной последовательности команд, считывание финального состояния кубитов в виде строки и повторения этой операции миллионы раз. Затем статистику получившегося распределения ответов сравнивают с ожидаемой. Эта задача обладает весьма ограниченным потенциалом в плане практических приложений, но автор термина «квантовое превосходство» не делал различия между полезными в реальности и сугубо технически возможными вычислениями.
В тексте трех сотрудников компании IBM, которая также активно занимается разработками в области квантовых вычислений, оспаривается утверждение о неподъемной сложности подобных вычислений для классического суперкомпьютера. Авторы утверждают, что современный классический вычислитель сможет за 2,5 дня достичь гораздо большей точности, причем это консервативная оценка, то есть дополнительные средства должны еще больше сократить требуемое время. К такому выводу сотрудники IBM пришли, включив в теоретический анализ несколько способов оптимизации. Основной из них заключался в том, что необходимую для текущих вычислений информацию классический компьютер будет хранить не только в оперативной памяти, но и на жестких дисках. Необходимо отметить, что данная оценка также является теоретической, так как в IBM лишь моделировали процесс, а не проводили необходимые вычисления в полном объеме.
Как можно заметить, с частью «превосходства» всё оказалось не так однозначно.
Цифра и аналог
Аналоговый компьютер – это устройство, выполняющее вычислительные задачи, оперируя не дискретными, а непрерывными данными. Бит – это дискретная величина, единица или ноль. Ток, напряжение, давление, температура, яркость, сила – этот список можно продолжать долго – есть величины непрерывные, то есть их точное значение измерить нельзя в принципе, все ограничивается точностью измерительного прибора.
Имеет ли квантовый компьютер что-то общее с аналоговым компьютером?
Оказывается, что да. Всё дело в сути преимущества, которое даёт квантовый компьютер, а именно – параллельности. Квантовый компьютер способен одновременно обработать исходы со всеми возможными состояниями кубитов, то есть одновременно «проверить» соответствие всех возможных значений кубитов заданным условиям. Таким образом удаётся достичь огромного преимущества в задачах комбинаторного типа, где обычному компьютеру пришлось бы перебирать все исходные значения по очереди, а квантовый может проверить всё одновременно.
Где же схожесть с аналоговым компьютером? Всё дело в том, что квантовые элементы выдают не точный, а вероятностный результат, что связано с принципами квантовой физики (а также с наличием шумов). Именно поэтому для получения правильного результата, вычисления на квантовом компьютере нужно повторить множество раз, – для получения статистического распределения. Распределение вероятностей везде является непрерывным, так что его можно назвать аналоговой величиной. Непрерывным является распределение вероятностей и в суперпозиции. Например, при разрушении суперпозиции, вероятность возникновения состояния «единица» может быть 75%, а «ноль» – 25%, а может быть 75,004% на 24,996% и др.
Фактически, возможных распределений вероятностей в суперпозиции бесконечно много (по сути – аналоговая величина), так что набор распределений может хранить сразу всю информацию о возможных исходах задачи. Квантовые вентили корректируют вероятности состояний кубит в зависимости от условия вентиля и вероятностей других участвующих кубит, не разрушая суперпозицию, что позволяет применять несколько вентилей последовательно. Таким образом можно закодировать решение любой задачи. Однако, участие любого вентиля добавляет некоторый «шум» в результирующую вероятность, а так как система получается аналоговой, она очень восприимчива к шуму.
В конечном итоге суперпозицию разрушают для получения результата. Весьма вероятно, что в результате получится то состояние, у которого была большая вероятность возникновения.
Размещение и трассировка
Здесь приведу цитату некоторой части некоторой книги: https://docplayer.com/37141267-5-proektirovanie-topologii-pechatnyh-plat-i-integralnyh-shem-5-1-vvedenie.html
Этап проектирования топологии представляет собой переход от схемной информации (принципиальной схемы) к геометрической информации (размещению в поле чертежа печатной платы или площади кристалла интегральной схемы элементов схемы и созданию рисунка проводников, соединяющих эти элементы). Одновременно это переход от модельного описания проектируемого изделия к описанию реальной физической его реализации. Только на этом этапе станут известными реальные характеристики проводников, их длина, ширина, площадь и следовательно их емкость, сопротивление и индуктивность, что в конечном счете определит ряд важнейших характеристик изделия, например, его быстродействие.
Топология печатных плат (ПП) представляет собой только рисунок соединительных проводов, размещенных в соответствующем слое платы. Такой рисунок можно создать после того, как намечены места размещения элементов схемы и, следовательно, известны координаты всех выводов каждого элемента. Однако рисунок самого элемента не является обязательным элементом топологии ПП. Еще одной особенностью ПП является то, что здесь можно вести трассу под элементом схемы. Например, можно провести один или несколько проводников под корпусом ИС и даже между ее выводами.
В случае монолитной ИС (Интегральной Схемы) ситуация иная. В этом случае элементы схемы сформированы в толще кристалла у его поверхности, а разводка выполнена на поверхности окисла, покрывающего кристалл. Поэтому здесь возможность проведения проводника над элементом схемы сильно ограничена. Если же при проектировании топологии ИС используются стандартные блоки (подсхемы), уже имеющие внутреннюю разводку, внешние проводники можно вести только вне площади блока. Кроме того, рисунок областей элемента схемы, например, транзистора, входит в общее описание топологии ИС. Еще одной особенностью процесса проектирования топологии ИС является ее чрезвычайная сложность (современные микропроцессоры, например, содержат несколько десятков миллионов транзисторов на кристалле), тогда как ПП значительно проще (максимум полторы две сотни элементов, хотя среди них могут быть элементы, содержащие очень много выводов, например, микропроцессоры).
Таким образом, требования к топологии и соответственно к подсистеме проектирования топологии ИС и ПП сильно различаются, что приводит к тому, что это бывают разные подсистемы. Однако во всех случаях можно выделить некоторые общие задачи, которые решаются подобными методами. Такими задачами являются размещение элементов и последующая разводка соединений.
Остальная часть этого раздела написана на основе сведений из ранее указанной части книги.
Алгоритмы размещения можно разделить на следующие основные группы:
алгоритмы, использующие силовые функции, в которых задача размещения сводится к задаче определения статического состояния модельной механической системы материальных точек – алгоритмы этой группы сложны для реализации на ЭВМ.;
алгоритмы последовательного размещения предусматривают первоначальное размещение части элементов: рассматривается упорядоченное множество неразмещенных элементов, множество свободных позиций и матрица длин связей;
алгоритмы перестановки элементов (парные замены, соседние парные замены, частичный перебор) предполагают наличие начального размещения, полученного с помощью других алгоритмов или вручную, и используются для улучшения первоначального размещения;
алгоритмы, использующие принцип случайного размещения, предусматривают решение многокритериальной и многоэкстремальной задачи о назначении: решение получается точным, но требует большого машинного времени, так как просматриваются различные варианты (полный перебор).
Несколько конкретных примеров алгоритмов размещения:
Метод половинного деления: критерием качества размещения является минимизация количества проводников, проходящих через границу области блока. Этот метод предусматривает такое разделение коммутационного поля на две части, при котором общая площадь блоков будет в них приблизительно одинаковой, а число групп проводников, соединяющих эти части, – минимальным.
Метод использования потоков сигналов в логической схеме. Данный метод отображает последовательность, в которой разработчик, анализируя логическую схему при ручном проектировании, определяет расположение отдельных блоков. Действительно, при вычерчивании логической схемы разработчик размещает логические вентили (блоки) по возможности в соответствии с направлениями потоков сигналов. Во многих случаях такой подход позволяет сократить длину сигнальных шин и количество их пересечений.
Метод парных перестановок. Если, выбрав один блок A, можно добиться улучшения топологии путем его перестановки с каким-либо другим блоком, то такая процедура называется перестановкой блоков A и B (если наибольшая эффективность достигается при этой перестановке).
Одномерная задача размещения. Если в ряду блоков, входящих в состав группы, расположенной на кристалле или на его части, можно пренебречь их связями с блоками других групп, то локально-оптимальное расположение блоков можно приближенно оценить с помощью модели, в которой учитываются соединения вдоль только по горизонтали или вертикали.
Алгоритмы трассировки соединений:
Метод трассировки с распространением по сетке, называемый также методом трассировки лабиринтов (волновой алгоритм) – это, в сущности, общее наименование группы методов, объединяемых использованием алгоритма поиска самого короткого пути в лабиринте.
Метод поиска по отрезкам прямых и метод ограниченного поиска (лучевой алгоритм). Использование данного метода при ограничении поля поиска не дает гарантий того, что существующее решение может быть найдено.
Применимость квантовых компьютеров для проектирования топологии
Наконец, самый важный раздел.
Рассматривая вышесказанное, видно, что большинство алгоритмов для размещения или трассировки являются итеративными, либо же сводятся к итеративной реализации. На практике вводится сокращение количества итераций, а также некие «предсказания» для того, чтобы с большей вероятностью следующая итерация оказалась последней.
Фактически, единственным способом найти гарантированно самый лучший вариант расположения элементов и дорожек остаётся полный перебор.
Для обыкновенной ЭВМ такая задача при даже небольших размерах схемы может потребовать значительных временных затрат. Однако, если вспомнить, в чём преимущество квантовых вычислительных машин, становится очевидно, что за применением характерных для них особенностей находится будущее для такого плана задач.
Тем не менее, до сих пор ещё не удалось применить квантовую систему для решения подобной задачи. Почему же? Основная проблема в том, что для решения комбинаторной задачи с N элементами, нужно N кубитов, а с увеличением числа кубитов, управлять системой (получать корректный результат) становится всё сложнее.
Стоит пояснить, что один элемент схемы не равняется одному кубиту, так как элемент схемы обладает сразу множеством несвязанных характеристик (например, размер и расположение выводов, координаты X и Y на схеме) в то время, как несвязанных характеристик у кубита на данный момент применено максимум – две (но пока что только в условиях исключительно экспериментальных), в работающих же исследовательских системах используется какая-то одна квантовая характеристика. Один кубит можно привязать, скорее, к единице площади интегральной схемы. В зависимости от масштаба это могут быть сантиметры, дециметры, миллиметры и др.
Даже с одной характеристикой, на момент написания статьи, максимум кубитов в одном процессоре – 127. Этого может хватить на площадь в 11 миллиметров квадратных при точности в 1 миллиметр, чего для современных схем явно недостаточно.
Существует также некоторая сложность с описанием условий, по которым будут отсекаться некорректные варианты схемы. Во-первых, это будет довольно крупная и сложная последовательность квантовых вентилей, которая очень значительно повысит ошибку вычислений.
Так как на данный момент (мне) неизвестно применений квантовых систем для трассировки или размещения элементов схемы, второй пункт чисто теоретический, но, тем не менее, весьма вероятен. Второй трудностью может стать реализация условий корректности схемы в виде вентилей. Может оказаться весьма нетривиальной задачей перенести все критерии качества разработанной топологии (например, длина пути дорожки, с которой связано время прохождения по ней сигнала) на строго определённую последовательность квантовых вентилей.
Возможно, для создания приемлемой последовательности вентилей, придётся создать целую программу (возможно, для квантового компьютера). То есть для размещения и трассировки нужно будет разработать схему вентилей для квантового компьютера (программу для этого компьютера), для разработки которой опять же может потребоваться разработка программы для квантового компьютера (но уже, конечно, более простой).
Выводы
Перспективы у квантовых компьютеров в области автоматизации проектирования интегральных схем однозначно есть. Однако, для того чтобы получить преимущества использования квантовых компьютеров при размещении и трассировке необходимо решить множество технологических проблем, что может занять значительный период времени. Тем не менее, вероятно, это произойдёт до конца 21 века.
Можно точно утверждать только одно: применению квантовых компьютеров для таких задач будет предшествовать множество потрясений в других областях цифрового мира. Например, в информационной безопасности (криптографии в частности).
P.S.
Буду рад конструктивной критике. Это довольно интересная тема, уточнения (поправки) по которой мне было бы интересно прочитать.
P.P.S
Библиографического списка нет, как и обещал ;)
Комментарии (18)
Tzimie
30.01.2022 10:25+1Операции, которые может делать квантовый компьютер, ограничены и программирование специфическое
Я пытался понять, является ли квантовый компьютер Turing complete, но информация в сети противоречива
nckma
30.01.2022 14:57Квантовый компьютер это труба, которой на вход подают данные, а на выходе считывают данные. В трубе есть некоторая логика без регистров, переходов, без циклов. Пока все.
Причем, что важно, везде можно прочитать размышления о том, как кардинально сокращается количество операций при вычислениях на квантовом компьютере, но никто никогда не говорит о рабочей частоте этах процессов и никто не говорит о небходимости многократных повторных вычислений для получения достоверной статистики.
Может быть когда нибудь в будущем это и даст толчек, но пока еще нет.
Ququmber
31.01.2022 12:22Про "повторные вычисления" и так понятно, что о них говорить? Хотя таки временами говорят, когда нужно оценить их количество.
"Квантовый компьютер это труба, которой на вход подают данные, а на выходе считывают данные. В трубе есть некоторая логика без регистров, переходов, без циклов. "
Никто не запрещает делать измерения тех или иных кубитов по мере выполнения квантового алгоритма и модифицировать алгоритм в зависимости от того, что показали измерения. В частности, именно так работают коды коррекции ошибок. Или можно проверять неизменность какого-нибудь инварианта, если таковой есть в решаемой задаче, а если он изменился из-за ошибок гейтов, то прерывать алгоритм и начинать считать заново.
AVI-crak
30.01.2022 12:01+2Тут не квантовый компьютер виноват, а сам способ натягивания совы на глобус. Качественных автоматов нет даже у дорогих продуктов (из тех что можно купить). Везде предлагается ручная разводка, с разной степенью крутости. Ну это как молоток за 100р и за 50к - разницы не ощущается. Потому как этими молотками забиваются и гвозди и шурупы, и даже болты с левой резьбой. Буквально всё руками.
Качественный способ работает иначе - описание свойств для каждой электрической цепи, для каждого контакта, для комнат, для зон, + схема замещения для каждого компонента на плате.
Очень много рутинной работы, которая к счастью выполняется всего один раз при создании компонента. И немного креатива при создании схемы, с последующей прогонкой в симуляторах и тестах.
Вот когда обьёма дополнительной информации достаточно - уже может работать автоматическая разводка. При этом ей не нужны блоки ИИ, обучение и прочая хрень. У неё чёткий алгоритм - найти кротчайший путь по условиям. Такая программа уже может осмысленно двигать компоненты, потому как их положение уже описано в условии задачи. И это не чёткая позиция на ПП - а положение относительно других компонентов.
msea Автор
31.01.2022 23:48Качественный способ работает иначе - описание свойств для каждой электрической цепи, для каждого контакта, для комнат, для зон, + схема замещения для каждого компонента на плате.
Вот именно на это я намекал в статье. Выполнить идеальную разводку с учётом всех требований современному компьютеру не под силу. Он может выполнить просто неплохую разводку, но не идеальную.
Помимо этого, большинство САПР делают только разводку, а размещение компонентов "не совсем их дело". Если бы САПР мог гарантировать идеальное размещение и разводку, возможно, за получилось бы ещё уменьшить схему и добиться лучших характеристик.
У неё чёткий алгоритм - найти кротчайший путь по условиям.
Но выполнить все эти условия может оказаться так сложно, что условия упростят, принебрегая каким-нибудь радиоизлучением (антенным эффектом) с дорожек и т.п.
Сейчас САПР может либо хорошо выполнить разводку с небольшим количеством условий, либо просто выполнить разводку как-то, если условий много (речь про схемы вроде материнской платы).
И это не чёткая позиция на ПП - а положение относительно других компонентов.
В идеале САПР сам должен расставлять компоненты так, как будет лучше для схемы.
AVI-crak
01.02.2022 10:27+1Но выполнить все эти условия может оказаться так сложно, что условия упростят, принебрегая каким-нибудь радиоизлучением (антенным эффектом) с дорожек и т.п.
Звучит как либо да, либо нет. Спектра умела находить решения по сложным условиям, использовала минимум памяти и очень простые алгоритмы. Самостоятельно осмыслено двигала компоненты, и даже могла перекидывать на обратную сторону. Но для того чтобы магия работала, нужно было написать страницы смецификаций. Не одну строчку, не поле, а десятки страниц в ручном режиме. Это был очень гибкий инструмент написания заданий, который допускал максимальное упрощение до базового уровня. Вот с этим базовым уровнем почти все и работали, и плевались от результатов.
Я считаю ошибкой стратегии развития спектры, которые полностью игнорировали пользовательский интерфейс, так-же как и наследия с генератора схемы. Типа у нас всё работает, а вы там сами разбирайтесь. Не разобрались и просто забили.
В результате уникальный продукт, который на голову превосходит по возможностям всё существующее на данный момент пакеты - стал не актуальным с переходом на новые версии виндовс.
В система с жосткими правилами - ИИ избыточен. Это больше похоже на ленивого программиста, которому лень самостоятельно писать алгоритм, и он перекладывает всю ответсвенность на машинное обучение. Получается крайне медленно, и не всегда то что задумывалось.
juramehanik
30.01.2022 20:28Кажется многие, кто не особо знаком с трассировкой соверенной электроники(речь только об печатных платах далее если что, не о внутренностях микросхем), или кто хоббийно занималься ею и в основном игрался с транзисторами, логическими микросхемами (а не МК и тем более CPU) представляют себе автоматический трассировщик плат примерно вот так:
Полностью автоматическая трассировка для печатных плат (с расстановкой компонентов видимо) неактуальна уже много лет:
1 в силу очень высокой интеграции микросхем, посольку сейчас на платах отсилу пара крупных ИС , ну стоят они гдето посередине платы, к ним подводятся шины, расположение всех выводов разьемов и прочего уже известно и особо ничего тут не поменяешь.
Тут особо кратчайший путь искать и не надо(кроме спец требований для высокоскоростных сигналов, но и тут речь не о автоматической трассировки, а просто по удовлетворению некоторых требований кторые и вручную с наличием нужных проверок спокойно реализуются), просто оптимизировать рутину. А если FPGA то там вообще FPGA planner используется, который оптимизирует распиновку в чипе, чтобы удобнее всего подвести сигналы которые уже как то расположены на плате.2 относительно дешевая возможность делать много слоев и тем самым упрощать ручную трассировку (и не только)
3 опять же в сложных цифровых системах кроме больших ИС на плате остались только цепи питания, в которых компоненты должны быть например максимально близко друг другу (минимизация импеданса проводников питания к примеру), после расстановки компонентов по гайдам и на основе опыта разработчика идет симуляция , которая как по цене лицензий так по времени стоит ой как недешего, и некий автоматический алгоритм:
1 расстановка компонентов как то рандомом
2 проверка оптимальности расстановки при помощи симуляции, если ок то выходим, если нет то п1
будет безумно дорогим и долгим занятием.Ну и да, как сказано выше, это актуально для очень специфичных проектов и все долго и нудно описывается правилами, без которых даже квантовый блокчейн ну никак не поможет.
msea Автор
02.02.2022 00:091 в силу очень высокой интеграции микросхем
Да, микросхемы упрощают дело, но от этого не становится меньше условий. Например, пусть микросхемы 3, но у каждой по 50 ножек с частотами порядка нескольких гигагерц. Такие дорожки достаточно сложно вести, если пытаться минимизироваь нежелательные последствия (рассинхронизацию, антенный эффект на приём шума и на создание шума другим элементам, отражения и др.).
А если FPGA то там вообще FPGA planner используется
Да, но проблема трассировки всё равно не решена как минимум по 2 причинам:
FPGA - тоже микросхема, которую сначала надо сделать перед тем, как использовать;
внутри имплементаторов языков программирования аппаратуры задача трассировки сигналов между LUT и др. всё равно остаётся. Если "аппаратная программа" сложная, то и задача трассировки не из простых и может занять приличное время.
2 относительно дешевая возможность делать много слоев и тем самым упрощать ручную трассировку (и не только)
Да, но шумы, наводки и т.д.
Конечно, там, насколько мне известно, часто чередуют слои: слой чистого минуса и слои сигналов, но это только для цифры подходит. Если же на такой схеме появляются аналоговые компоненты, всё сильно усложняется.
осле расстановки компонентов по гайдам и на основе опыта разработчика идет симуляция , которая как по цене лицензий так по времени стоит ой как недешего, и некий автоматический алгоритм: 1 расстановка компонентов как то рандомом 2 проверка оптимальности расстановки при помощи симуляции, если ок то выходим, если нет то п1 будет безумно дорогим и долгим занятием.
Вот как раз на количестве неободимых симуляций и времени подготовки (предварительной расстановки и трассировки) к ним в целом и можно сэкономить, используя квантовый компьютер.
Ququmber
31.01.2022 10:27А с помощью какого именно квантового алгоритма предлагается проводить оптимизацию? Это ведь только на словах квантовый компьютер способен очень хорошо решать задачи оптимизации. Дьявол в деталях.
msea Автор
02.02.2022 00:39Конкретного алгоритма пока нет, насколько мне известно.
Тем не менее, "ещё не вечер" - когда-нибудь придумают.
Shkaff
31.01.2022 10:29Всё дело в сути преимущества, которое даёт квантовый компьютер, а именно
– параллельности. Квантовый компьютер способен одновременно обработать
исходы со всеми возможными состояниями кубитов, то есть одновременно
«проверить» соответствие всех возможных значений кубитов заданным
условиям.Это не совсем верно. КК не обрабатывает все значения одновременно/параллельно. Он работает с интерференцией волновых функций, чтобы реализовать нужное распределение вероятностей исходов измерения.
Традиционно, разговор о том самом в виде комикса
ksbes
01.02.2022 11:02Как-то всё равно не понятно в чём ускорение?
Квантовые вычисления я понимаю так:
Вот у меня задача: вычислить 3+9.
Я беру восемь кубитов. В первую четвёрку «записываю» 0011, во вторую 1001. Затем начинаю «кастовать квантовую магию» (многократно) и я получаю что в третьей четвёрке (или в одной из исходных) с вероятностью 99% декогеренция даёт 1011, а другие распределение значений — встречается гораздо реже и решаю что именно таков ответ.
Очевидно, что для такой задачи все преимущества — у классических вычислений.
Если мы, например, так попытаемся найти делители 2048-битного числа — таким образом мы найдём их все. Но не одновременно. Чтобы набрать статистику на них на все — нам, очевидно, надо провести вычисление довольно много раз (чем больше делителей — тем больше раз, чтоб для каждого «вывести» вероятность ошибки в малое значение).
Т.е. в некотором смысле у нас идёт такой же перебор как и в классическом алгоритме. И «параллельность» — это следствие большого количества повторений (как и в классическом алгоритме). Не «съедается» ли здесь весь выигрыш? Не является ли квантовое преимущество аналогом «газодинамического преимущества» аэродинамических труб?Shkaff
01.02.2022 16:58+1Чтобы набрать статистику на них на все — нам, очевидно, надо провести
вычисление довольно много раз (чем больше делителей — тем больше раз,
чтоб для каждого «вывести» вероятность ошибки в малое значение).Все верно, так и есть. Просто в классическом случае рост сложности вычисления - экспоненециальный. А в квантовом - полиномиальный. Как раз за счет того, что это не просто параллельный перебор, а за счет сложного алгоритма, который основан на интерференции волновой функции. Собственно, суть в том, что квантовый аналог вероятности - амплитуда волновой функции - может быть отрицательной. То есть, в отличие от просто случайного перебора всех вариантов (пусть и параллельно), мы можем складывать амплитуды так, что амплитуда нужного ответа увеличивается, а остальных - уменьшается (за счет прибавления отрицательной амплитуды).
И «параллельность» — это следствие большого количества повторений (как и в классическом алгоритме).
Нет, это не так. Да, повторения нужны в любом случае, но их нужно гораздо меньше, чем в классическом алгоритме. Как раз за счет "усиления" правильного ответа через интерференцию.
Порекомендую статью Вастрика про квантовый компьютер, там все отлично объяснено. Если хочется больше: у издательства Питер есть целый цикл книг про квантовые вычисления, для всех уровней мастерства)
msea Автор
02.02.2022 00:27+1Это не совсем верно. КК не обрабатывает все значения одновременно/параллельно.
Да, КК не обрабатывает значения параллельно. Я в статье писал так:
Квантовый компьютер способен одновременно обработать исходы со всеми возможными состояниями кубитов, то есть одновременно «проверить» соответствие всех возможных значений кубитов заданным условиям.
Закладывался такой смысл, что квантовый компьютер может обработавть все возможные состояния кубит согласно условиям обработки. Я хотел дать наиболее близкое к реальности понятное объяснение без вплетания математики.
Он работает с интерференцией волновых функций
Ну вот что и требовалось доказать: интерференция - понятние физическое, а функция - математическое. Снова получаетсся замечательное смешение, которое способно запутать почти всех и вся, потому что не понятно, где кончается физическая "магия" (то есть то что есть на самом деле) и начинается математическая "магия" (то есть разные математические фокусы вроде применения квантовых операций в виде умножения на матрицу).
Традиционно, разговор о том самом в виде комикса
Вот как раз в этом самом комиксе и сглажен переход от физике к математике, что как раз и путает многих, чего я хотел избежать.
Очевидно, что комплексная сфера, которой в комиксе объясняется работа квантовых эффектов и функции плотности вероятности - чисто математические абстракции, которые могут описывать реальность, но не являются ею. Это крайне удобные абстракции, но важно понимать, что эти абстракции сами по себе не являются объяснением.
Подход к объяснению квантовых эффектов "shut up and calc" я не разделяю...
Shkaff
02.02.2022 00:33то есть одновременно «проверить» соответствие всех возможных значений кубитов заданным условиям.
Ну вот этот момент как раз не совсем точен.
Ну вот что и требовалось доказать: интерференция - понятние физическое, а функция - математическое.
Это как посмотреть. Многомировая интерпретация (как и некоторые другие) утверждает, что волновая функция - это буквально реально физический объект. Я, как и Скотт Ааронсон, придерживаюсь этой интерпретации, как наиболее полно описывающей наблюдаемую физику.
Я понимаю желание сгладить некоторые моменты, и мой комментарий - не критика, а дополнение. Для желающих покопаться глубже.
msea Автор
02.02.2022 01:05Многомировая интерпретация (как и некоторые другие) утверждает, что волновая функция - это буквально реально физический объект.
Да, нужно отметить иногда очень сложно найти переход между физикой и математикой. При том, эта граница, если приблизить, всегда размыта, и очертить её можно только начиная с определённого масштаба.
Волновая функция очень хорошо описывает реальность, но если вспомнить, математика для того и была придумана, чтобы хорошо описывать реальность.
В реальности много всего, что обладает свойствами, описываемыми волновой функцией. Объяснения почему, насколько мне известно, нет - есть только формулы и коэффициенты... Здесь вообще сложно говорить о том, что на самом деле есть в реальности.
Не то что бы многомировая интерпретация означала, что волновая функция реальна... Это скорее означает, что некоторые свойства могут быть описаны такой функцией, значит, свойства функции соответствуют свойствам физического объекта (собственно, математическая модель для того и нужна). Многомировая интерпретация интерпретирует не просто свойства математической абстракции, она интерпретирует поведение физических свойств, описываемых волновой функцией.
Граница физики и математики тут уже довольно размыта, поэтому дальше уже только философия "истинности бытия"...
Tzimie
Можно было написать статью более кратко
Перспектив нет
msea Автор
Как раз наоборот: только перспектива и есть. На данный момент применить вряд ли получится (разве что в рамках эксперимента, без реальной пользы), но в будущем это может стать возможно.