Комментарии 139
16MiB для представления состояния 20-ти кубитовой системы с 64-х битной точностью. Любая последовательность квантовых вентилей может быть представлена с помощью одной единственной матрицы комплексных чисел размером 2^20 на 2^20 (16 терабайт), но для небольшого количества вентилей это можно сильно оптимизировать. Так что да — наверно будет сильно дешевле.
Позапрошлогодний рекорд симуляции — 45 кубитов, использовалось 8192 процессора и 0.5 петабайт памяти.
И весь шум поднят из-за единственного «но». Добавление кубита в симулятор означает удвоенный расход ОЗУ. Как я уже писал, мой ноут вылетает на 28 кубитах. Товарищ выше упоминал лимит в 45 кубитов на системе в тысячи процов.
Компьютер же от IBM — реален, и не зависит от ОЗУ. Ребята надеются, что смогут урезать ошибки, и удваивать количество кубитов каждые N лет.
В октябре того же года появилась другая статья с чуть большим количеством кубит, также есть и другие варианты.
Вообще, количество кубит — не показатель. А как сравнивать, на данный момент неясно.
in this work, we focus on computing a single amplitude, which may be far less restrictive on our memory re-quirements.
Тогда текущий рекорд симуляций — 49 кубит поставленный в прошлом году на крупнейшем китайском суперкомпьютере (Sunway TaihuLight): arxiv.org/abs/1804.04797
Но вот если квантовый компьютер не сферический в вакууме идеал, а наподобие доступных в реальности сейчас, с ограниченной связанностью кубит, а не полной? Не понятно, насколько можно упростить модель и насколько снижаются требования к классическим компьютерам, чтобы условно «иметь возможность делать то же самое, что в принципе способен сделать такой реальный, а не идеальный квантовый компьютер»
Эмулировать то конечно можно было, но даже первые ламповые компьютеры считали в сотни — несколько тысяч раз быстрее, чем люди на счетах или даже с механическими арифмометрами. Причем только в некоторых видах задач один такой компьютер было возможно заменить на «несколько тысяч человек со счетами» — в других адекватной замены вообще не получалось.
Т.е. преимущество сразу было явное и наглядное.
AFAIK Тем что способен не только задачи оптимизации методом квантового отжига.
Кстати, пытался только что посчиать количество состояний для D-Wave — и мне не очевидно сколько их и как его сравнивать с «честным». Можете привести рассчеты?
На момент составления заметки сайт IBM с промо-разделом квантового компьютера был недоступен.
Этот? www.research.ibm.com/ibm-q/system-one
20 кубитовВыдохнули
Это понятно. Но сейчас у квантовых компов какие проблемы?
1. Число кубитов (20).
2. Связи между кубитами. (один кубит связывается максимум с 6 соседями)
3. Удерживание состояния на кубите. Сейчас вроде микросекудны.
4. Ошибки (при запутывании, при удержании — весь спектр). Тут все плохо. 7% ошибок на мультикубитах на Q5 Tenerife.
Соответственно, вы вполне справедливо волнуетесь по поводу первой проблемы. Я вдобавок интересуюсь, какой прогресс на оставшихся трех.
2. Связи между кубитами. (один кубит связывается максимум с 6 соседями)То есть на самом деле это 7-кубитный компьютер?
В левом верхнем углу по ссылке есть схема процессора. Вы можете запутать нулевой кубит с первым и вторым, первый — с нулевым и вторым, второй — со всеми четырьмя, и т.д…
То есть, в этом процессоре 5 кубитов, но вы не можете запутать первый с пятым напрямую. Для этого придется использовать «грязные хаки».
Из тех процессоров, что я видел, самый лучший результат по связанности — один кубит с шестью соседями. Схему сабжа я пока не видал.
Да, можно погонять маппинг кубитов в исходной программе, чтобы наиболее часто взаимодействующие кубиты располагались рядом друг с другом, но это требует усилий, совершенно не относящихся к решаемой задаче. Поэтому я называю это «грязными хаками». Полагаю, поэтому IBM и провела свой конкурс «компиляторов».
Из тех процессоров, что я видел, самый лучший результат по связанности — один кубит с шестью соседями. Схему сабжа я пока не видал.
Нашёл схему на 20 кубит. И много другой инфы, включая кое-что по следующему квантовому компьютеру IBM (50 кубит). Буду готовить новый пост по теме в ближайший месяц-два. Если есть какие-то интересные вопросы — задавайте, постараюсь раскрыть по возможности.
Например здесь пишут, что даже на 2 и 4 кубитах на реальном КК можно разлагать на сомножители достаточно большие числа:
we have experimentally factorized the integers 4088459 and 966887, using 2 and 4
qubits respectively
Конкретно к данному алгоритму есть вопросы, но тем не менее. К тому же есть и другие, где число используемых кубитов меньше чем размер ключа (в битах).
измененный алгоритм Гровера
Так изначально здесь и спрашивали в т.ч. за Гровера, правда относительно «реверса хеш-функций» (см. по ветке выше) ;).
Разумеется GSA (в отличие от алгоритма Шора) не даст «экспоненциального ускорения» (и вообще вряд ли потянет), необходимого при факторизации (дискретном логарифмировании/соотв. EC-задачах) на размерностях порядка современных ключей. Речь не про это.
«Измененный алгоритм Гровера» из статьи (хотя повторяю, к нему есть вопросы например в части масштабируемости, универсализации, скорости и т.д.) на реальных примерах показывает, что требуемое число кубитов может быть существенно меньше, чем «длина ключа (в битах)». Хотя бы для некоторых (частных) задач определенной размерности.
Как мы можем быть уверены, что невозможны подобные (или иные) оптимизации алгоритмов Гровера и/или Шора (или их модификации или вообще новые квантовые алгоритмы) для эффективного решения «серьезных» полноразмерных задач, но с «пониженным потреблением» кубитов? Имеются ли принципиальные препятствия к этому?
Насколько понял (особо не вчитывался в статью) для решения задачи
1 — используются априорные знания, например что у интересующего нас числа, которое мы планируем разложить точно имеется только 2 простых множителя конкретной длины равной друг другу. Получается своего рода как говорят школьники и студенты «проведем решение задачи методом подгонки решения под заранее известный результат» — решается задача не поиска собственно решения, а задача поиска схемы которая выдаст уже заранее известный результат, хотя и не будет иметь его в исходных данных или в самой себе в готовом виде
2 — алгоритм не чисто квантовый, а гибридный — часть (подготовка данных в нужной форме — расчет гамильтониана системы) выполняется на классическом компьютере
Что характерно для разложения числа 4088459 (22 бита в двоичной форме) оказалось достаточно всего 2 кубит, а для меньшего числа 966887 (20 бит) — потребовалось 4 кубита. Дело случая — множители во 2м числе лежат дальше друг от друга, чем в 1м большим числе, а в этом алгоритме ищется по сути разница между множителями (а не сами множителей) — отсюда кол-во нужных кубит зависит не от длины раскладываемого числа, и даже не от длины множителей входящих в него, а от длины разницы между его множителями.
Но если мы не знаем заранее какие они будут и сколько кубит понадобится — как «экономную» схему для вычислений строить?
Чисто на квантовом компьютере с количеством кубит меньше длины ключа, без помощи априорных знаний и помощи классического компьютера даже данные ввести-вывести корректно не получится.
А вот насчет компьютерной (классической) части задачи неясно как она масштабируется для больших чисел — про это в статье ни слова. С маленькими то проблем понятно дело нет. Но такие маленькие числа имея современный классический компьютер и классическим же алгоритмом, хоть простейшим перебором делителей, тоже можно за доли секунды разложить на множители без всяких квантов.
А какой например смысл будет в «экономии кубит» и решении квантовой части задачи за микросекунды, если для подготовки данных для ввода в квантовый компьютер в случае длинных ключей скажем потребуются миллион лет вычислений суперкопьютера на стадии подготовки — так же как и для простого перебора в классических алгоритмах. Ну или может в целую тысячи раз меньше — тысячи лет вместо миллиона.
Но наверное прикольно покопаться с реально железкой ;-)
Те, кому "прикольно покопаться с железкой", сами заняты исследованиями по к.к. (а не сисадминством несуществующих коммерческих образцов).
Ну как тут не вспомнить теорию — https://worldbuilding.stackexchange.com/a/134486/53161 :)
А потом он станет размером с кредитку.
Стоит отметить, что дизайн системы выполнен несколькими известными студиями и удивительно красив, для такого утилитарного устройства.
Класс, именно этого мы прежде всего от него хотели!
Ещё бы розовый и с яблочком. И под две симкарты.
Забавно, как тихо и почти без фанфар происходит революция. Точнее революция зарождается. Особенно это заметно, если взглянуть на эти новости в контексте истории теоретических исследований в области квантовых вычислений. Первые серьёзные работы на эту тему, предлагающие конкретные алгоритмы, были опубликованы в середине 90-х, что вызвало волну эйфории и энтузиазма. Люди стали мечтать о "более лучших компьютерах", невиданных доселе вычислительных мощностях и поломанных криптографических алгоритмах. Но когда эксперименты вскрывали всё больше новых трудностей на пути физической реализации квантовых вычислений, энтузиазм поутих, а затем и вообще сменился скептицизмом в отношении реальности сколько-нибудь практичного квантового компьютера. А теперь уже видно, как доселе фундаментальные исследования постепенно переезжают в R&D-отделы компаний (пусть больших и богатых), и квантовые компьютеры начинают обретать конкретные черты (напоминающие об эпохе ЭНИАКов, МАРКов и иже с ними).
Правда, нужно понимать, что сравнивать напрямую типичный современный компьютер, основанный на двоичной архитектуре, и квантовый компьютер — занятие неблагодарное и, скорее, бесполезное. Квантовые компьютеры по сути гораздо ближе к аналоговым вычислителям, весьма распространённым в середине 20-го века. И поэтому вопрос, когда напишут "DOOM" на квантовом компьютере, довольно бессмысленен. Скорее всего, никогда, потому что они предназначены для других задач. В частности, масса задач физики и химии требует решения задачи полной диагонализации. Классический алгоритм решает подобную задачу за O(4^N), где N — это число степеней свободы. Это делает невозможным решение некоторых задач. Квантовым алгоритмом такая задача может быть решена за O(1) — O(N), в зависимости от задачи. Правда, алгоритм потребует когерентной работы O(N) кубитов, так что всё будет зависеть от пределов масштабируемости. Но тут ещё есть запас по температуре (у IBM сейчас используется температура порядка десятков мК, ещё есть куда понижать), и по новым физическим эффектам (а-ля топологически нетривиальные электронные состояния), которые теоретически смогут позволить масштабировать квантовые компьютеры, оставаясь в области разумных температур.
И поэтому вопрос, когда напишут «DOOM» на квантовом компьютере, довольно бессмысленен. Скорее всего, никогда, потому что они предназначены для других задач. В частности, масса задач физики и химии требует решения задачи полной диагонализации.Первые компьютеры тоже не для игр создавались, а теперь на них в туалете в Angry Birds играют.
Ну DOOM — это святое. Запустят как-нибудь.
Используют миллиарды кубитов, найдут все вероятные прохождения всех уровней, и отыщут все секреты.
что за константные факторы? почему ещё нет статьи на хабре?
почему ещё нет статьи на хабре?
Вообще-то есть: https://habr.com/post/196560/
То есть параллельно проверить все пути прохождения дума не получится.Зачем все ветки алгоритма?
Храним любое значение как набор кубитов (Двоичное представление ситуации на уровне)_(история действий)_(число открытых секретов)_(служебные кубиты). Начальное значние: 100% вероятности состояние (старт уровня)_(000000000)_(0). Каждый тик «параллельно» меняем несколько битов энного шага в истории, изменяем состояние карты в соответствии с текущим состоянием, считываем число открытых секретов.
На выходе имеем 2^{N*100500} состояний. Амплифицируем те, где количество секретов равно максимальному. Муторно, требует много ресурсов, но реализуемо.
O(sqrt(2^{N*100500})), чтобы найти максимум.
Муторно, требует много ресурсов, но реализуемо.Но вы правы. Алгоритм надо оптимизировать.
- Скорее всего, мы получим n исходов с максимумом секретов. Соответственно, получим сложность корня из 100500/n.
- Можно поиграть с сокращением записи. Одни действия встречаются чаще, чем другие, так что можно попробовать использовать Код Шэннона для сокращения числа 100500.
- Записываем не все действия.
- Ищем по секрету за раз.
корня из 100500/n.
Нет, сложность всё-таки корень из {2^100500}/n. У нас есть функция преобразующая набор битов фиксированной длины (100500), в котором закодированы команды перемещения игрока, в количество открытых секретов. Квантовый алгоритм поиска глобального максимума функции на множестве S имеет сложность O(sqrt(N/n)), где N = |S| (см. [0]), то есть N = 2^100500 в нашем случае.
Это не "много ресурсов", а столько ресурсов, что в нашей вселенной их никогда не получить.
[0]: раздел 8 в https://research-management.mq.edu.au/ws/portalfiles/portal/62430609/Publisher+version+%28open+access%29.pdf
Но, опять-таки, основной недостаток критики Дьяконова состоит в том, что он сначала задаёт некие очень сильные требования к квантовым компьютерам, а потом торжественно делает вывод, что эти требования невыполнимы. Действительно, оптимисты считали (и, возможно, кто-то продолжает так считать), что квантовые компьютеры чуть ли не заменят обычные везде, где только можно, но об этом речи не идёт. То, к чему сейчас стремятся — это гибридные схемы. По сути, классический компьютер с квантовым вычислительным модулем. Об этом, кстати, говорится в ответе на критику, ссылку на которую дал rstm-sf ниже.
Справедливости ради, нужно сказать, что нечто похожее происходит и во всей теории QC и QM. Т.е. теорией задается нерушимость некоторых принципов ( как пример — принцип неопределённости Гейзенберга) и любые попытки натянуть результаты экспериментов полученных в рамках QM на принципы классической физики — отсекаются за счет упоминания этих принципов. Получается система замкнутая сама на себя.
Кроме того, само по себе признание того, что QC — это не совсем то, чего все ожидают — создает парадоксальную ситуацию. С одной стороны на исследования выделяются огромные деньги благодаря сильным ожиданиям от пользы QC. С другой стороны, если говорят что вы ожидаете от QC слишком многого, то появляется логичный вопрос: для чего тогда на QC выделяется такое огромное финансирование?
Ну а сегодня мы пожалуй получили простой ответ — в IBM считают эпоху x86-серверов подходящей к своему неизбежному концу (а вместе с этим предвещают конец славной корпорации Intel — которая сегодня большую часть прибыли получает именно за счёт продажи серверных x86-процессоров) и торжественно открывают новую эпоху квантовых серверов:)
Это потому что даже обычные компьютеры не постигнуты большинством населения как следует.
Написать Hello, World и понять и объяснить другому как это происходит до сих пор могут далеко не все.
Ученые сами шокированы таким проявлением интереса со стороны бизнеса.
Или кубитов пока маловато для этих целей?
Ныне 20 кубитов. Надо 2000. Это лет 7.
Проскакивала инфа, что 100.000 физических кубитов хватит для одного «эффективного» кубита. Это еще лет 17.
Скинем лет 5 на параллельные улучшения, добавим лет 10 в резерв — получается 30 лет.
Дальше считать не могу: вода закончилась, и вилы затупились.
D-Wave умеет только "квантовый отжиг", но не алгоритм Шора.
Ну то есть "на самом" деле "квантовый отжиг" (который работает и более-менее масштабируется) — это принципиально проще (до примитивизма) в сравнении с "универсальным квантовым вычислителем".
А для создания практически ценного "универсального квантового вычислителя" необходимо решить "проблему масштабирования", в отношении которой уместно процитировать wiki:
Чем больше кубитов находятся в связанном состоянии, тем менее стабильной является система. Для достижения «квантового превосходства» требуется компьютер со многими десятками связанных кубитов, работающими стабильно и с малым числом ошибок. Вопрос о том, до какой степени возможно масштабирование такого устройства (так называемая «Проблема масштабирования»), является предметом новой интенсивно развивающейся области — многочастичной квантовой механики. Центральным здесь является вопрос о природе декогерентности (точнее, о коллапсе волновой функции), который пока остаётся открытым.
На чем (IMHO) все и остановится примерно на 10^12 лет ;)
Впервые о них я узнал еще в начале 00-х. Прошло 18 лет, а воз и ныне там. Более того, со скрипом въехав в теорию, заложенную как теоретическую базу для них, стало понятно, что в их случае нет гарантированной точности результата.
в их случае нет гарантированной точности результата.Матожидание времени поиска решения на QC сильно меньше классики (на идеальных QC). Грубо говоря, вы заранее знаете, что на квантовом чипе вы решаете задачу с вероятностью в 1/2, и на каждую попытку уходит минута. На классическом вы решите задачу за 10 минут с первой попытки. Дальше — выбор за вами.
Ошибки можно корректировать ТОЛЬКО когда состояние зафиксировано, но не во время «расчетов». Любая проверка во время расчета означает что вы теряете суперпозицию, т.е. выходите из «квантового сумрака».
Поэтому «корректировка ошибок» возможно только как часть самого процесса/алгоритма вычислений. И вроде-бы «всё просто» — нужно только примерно удвоить кол-во кубит и связность между ними, а также быть готовым к тому, что результат отличный от незнаю/может_быть будет получаться в одном запуске из N^K^M, где N — кол-во кубитов, K-связи между ними, а M — кол-во «шагов» алгоритма…
Но это не точно :)
Хоть топик-стартера и минуснули, но в ру-википедии говорится, что это вполне жизнеспособная конструкция, позволяющая упростить некоторые вещи.
А сколько нужно кубитов чтобы взламывать биткойны?
Грубая оценка числа «железных» кубитов, необходимых для реализации «идеального» — 100.000.
Итого: 409.700.000 кубитов.
Итого: 409.700.000 кубитов.
Взаимосвязанных?! оо()
В некоторых подходах пытаются «схалтурить» и обойтись всего 3-5 кубитами, но тут пока ничего не получается.
Если вы владеете темой, или кто-то из ваших знакомых обладает нужными знаниями, отзовитесь здесь в ЛС или на почту david@piter.com
Первый коммерческий квантовый компьютер — IBM