Квантовый компьютер величайшая афера 21 века Эрик Аберн
Пожалуй, уже нет в цивилизованной части человечества, той, которая читает газеты или смотрит новости по телевизору или в интернете, тех, кто не слышал бы уже хотя бы несколько раз про квантовые компьютеры.
Надо сказать, что слышим мы об этой идее уже очень и очень давно, как минимум, тридцать лет.
И слышим мы только всё самое хорошее, одни только восторги и восхищение.
Квантовые компьютеры, оптические процессоры, квантовая криптография – это флаги, которые, если их правильно выставить, помогают получить небывалой величины финансирование из государственного бюджета.
Есть тьма специалистов, которые хвалят квантовые компьютеры, обещают, что эти устройства будут решать невероятно сложные задачи невероятно быстро, и даже будут решать те задачи, которые обычным компьютером вообще никак не получится решить. Либо вследствие недостатка времени, либо вследствие недостатка бит, а чаще и того, и другого.
Объяснений о том, что такое квантовые компьютеры, мы слышали и читали уже очень много.
Обычный компьютер оперирует с битами, каждый бит имеет только два состояния – ноль или единица. Квантовый компьютер оперирует с кубитами, каждый кубит имеет множество состояний.
Дальше фантазии сказочников расходятся.
Один сказочник говорит о том, что кубит находится сразу в двух состояниях одновременно, например, вот вам ссылка
Другие сказочники утверждают, что кубит может находиться сразу в очень многих состояниях. Кто-то говорит о десятках и сотнях состояний, а кто-то и о бесконечном числе состояний одновременно.
Ну, допустим. Дальше-то что?
Кстати, идея о применении не двоичного, а троичного исчисления или исчисления с другим основанием обсуждалась. Принципиально нового тут нет ничего.
Но двоичная логика оказалась очень эффективной в том смысле, что в ней очень многие операции очень сильно упрощаются. С логикой по основанию два или другому основанию этого упрощения не будет. Так что вычислительные устройства сильно усложнятся. Но если бы речь шла о переходе на исчисления с другим основанием, проблемы были бы только технически, теоретически всё понятно, такие компьютеры могут существовать, только они будут сложнее и менее эффективными.
Тут же речь идёт не о простом изменении числа возможных состояния одного бита, а о том, что "все они реализуются одновременно с разной степенью вероятности".
Тут явно разум ушёл погулять за пивом, а апологеты этой идеологии считают возможным далее ничего НЕ ОБЪЯСНЯТЬ, а только ФАНТАЗИРОВАТЬ.
Что мы и видим.
Повсеместно.
Сказочки для дураков.
Можете вы создать устройство, у которого на выходе не два варианта значений, единица или ноль, а множество. Что это даёт?
Вот что утверждает специалист по квантовым вычислениям Руслан Юнусов, генеральный директор Российского квантового центра (ссылка та же):
«Представим, у нас есть коммивояжер или автомобиль, которому надо развезти 100 посылок по 100 точкам. Как ему выбрать оптимальный маршрут? Вроде, кажется, все просто: Яндекс-навигатор посчитает. Но на самом деле сложность в такой задаче растет экспоненциально быстро с ростом количества точек. В лоб решить задачу — перебрать все возможные варианты на 100 точках — не получится. Квантовый компьютер именно такие классы задач, когда надо перебирать много вариантов, будет решать хорошо».
Дальше объяснения нет, как именно «хорошо» будет решать эту задачу «квантовый компьютер».
Обычный компьютер решает эту задачу одним из алгоритмов оптимизации. Он перебирает решения, это верно, но он не перебирает их все! Тут господа, которые рассуждают о преимуществах квантового компьютера перед обычным даже не понимают, насколько сильно они демонстрируют свою полную безграмотность в отношении вычислительных технологий!
Если у коммивояжёра есть 100 точек, которые следует посетить, каждую только один раз, ни одну не пропуская, и ни в одной не побывав дважды, то первых шагов у него 100 вариантов, вторых шагов – 99, третьих – 98 и так далее, итого у него 100! вариантов ходов, то есть «сто-факториал».
Это, действительно, очень большое число.
100! = 9.332622e+157.
То кчть 9,3 умножить на десять в степени 157.
Если такую задачу решать перебором, действительно, получается, что не хватит памяти всех компьютеров мира на это.
Так ведь такую задачу НИКТО НЕ РЕШАЕТ ПЕРЕБОРОМ! Вот в чём дело!
А вы, господин Юнусов, знали об этом?
Методы численной оптимизации для того и разработаны, чтобы быстро найти решение, не перебирая все возможные значения. Они прекрасно работают даже и в том случае, когда задача не дискретная, а непрерывная, то есть значения нескольких величин могут принимать не два значения, ноль или единица, а бесконечное множество значений! И эти методы находят оптимальное решение довольно быстро.
Если вы, господин Юнусов, не знали об этом, обучайтесь. Подскажу, где искать. Наберите в Гугле «Численные методы оптимизации». Найдёте много интересного.
Например, задача коммивояжёра решается методом муравьиного алгоритма, или методом отжига, и так далее, существует множество методов, и все они работают прекрасно. Может быть и не сто точек, а тысячи и десятки тысяч. И обычные компьютеры великолепно справляются с этим.
А вы не знали? Теперь знаете. Не благодарите.
А теперь, господин Юнусов, расскажите, пожалуйста, будьте любезны, как вы собираетесь решать задачу коммивояжёра с помощью ваших кубитов, с помощью квантового компьютера?
Вопрос ведь не в том, чтобы сгенерировать какую-то величину, которая сразу находится в двух состояниях, это всё мифическая компонента вашего мышления.
Можно сгенерировать величину, значение которой будет случайно в некотором диапазоне, с заданной плотностью вероятности, или с заданной функцией вероятности, как вам будет угодно. Дальше-то что?
Ведь алгоритм решения должен предполагать какую-то зависимость целевой функции от генерируемых вариантов, после чего следует выбрать тот вариант, при котором целевая функция принимает экстремальное значение. Бывают целевые функции, в которых отыскивается минимум, тогда они называются «стоимость», «цена», «убыток» или «проигрыш». Бывают и такие, в которых отыскивается максимум, такие целевые функции называют «прибыль», «профит», и так далее.
И, наконец, бывают такие целевые функции, для которых следует отыскать аргументы, обращающие их в ноль. Такие целевые функции называются «невязка».
Во всех случаях мы должны иметь следующие возможности:
1. Формировать решения, то есть значения целевых функций от набора оптимизируемых параметров.
2. Иметь связь между результатом и входными условиями, то есть не просто видеть весь спектр значений целевых функций, а по экстремуму или по нулю такого значения сразу же без дополнительных вычислений определить входные значения параметров, которые привели к этому решению.
Дайте ссылку на описание той задачи, которая решена с помощью квантового компьютера.
Не на ту, про которую кто-то говорит, что мол-де квантовые компьютеры лучше справятся с такой задачей, чем обычные, а конкретно дайте условия задачи, опишите, какой именно квантовый компьютер и как именно её решил.
То же самое в отношении кодирования.
Для того, чтобы закодировать сообщение, его следует преобразовать. Вам требуется алгоритм преобразования исходной посылки и алгоритм обратного преобразования.
Вместо алгоритма может использоваться число, с которым исходный код взаимодействует.
В дискретной логике число может быть названо полиномом, то есть последовательностью нулей и единиц, число позиций – это степень полинома, числа в каждой позиции трактуются как коэффициенты полинома, принимающие значения нуля или единицы.
Например, слово из восьми бит будет представлено полиномом восьмого порядка, просто восемью позициями, где в каждой позиции стоит либо ноль, либо единица.
Исходная посылка также считается полиномом. Далее два эти полинома перемножаются, результатом является результат кодирования. Для обратного декодирования надо результат разделить на этот полином. Но деления не делается. Есть такие волшебные полиномы, что если на него умножить дважды, тогда в старшей позиции получится исходный код. Так что если вы знаете используемый полином, то, умножив принятый код на этот полином, вы получите исходный код.
Есть методы кодирования, которые позволяют обнаруживать и исправлять ошибки.
Я не собираюсь тут пересказывать теорию кодирования, но она известна, она понятна, она работает.
А как будет работать квантовый компьютер? Все утверждения, интервью, статьи и прочее только оперируют понятиями «в скором времени будет достигнуто», и такая позиция позволяет не задумываться о том, что для решения задачи НЕДОСТАТОЧНО сделать нечто, что имеет несколько состояний, такую задачу решить можно многими способами, не обязательно тем, который можно обозвать словосочетанием «Квантовые компьютеры».
Но вот если у вас нет ни малейшего представления о том, как должен будет работать ваш компьютер, квантовый, то есть чудодейственный, тогда пока что всё, чем вы занимаетесь – это развлекаетесь за счёт средств государственного финансирования.
Не думайте, я не против. Если в стране есть лишние деньги, пусть их занимаются тем, что им нравится. Но вот если денег в обрез, тогда надо ли оплачивать развлекуху?
Давайте так. Все знают игру в кости. Кидаем кость и нам выпадает одно из шести чисел, поскольку на кости шесть граней. На каждой грани своё количество дырочек от 1 до 6. Стало быть мы имеем величину с шестью состояниями. Если вам надо величину со ста состояниями бросайте сто костей, у вас будет величина в виде ста различных значений от 1 до 6. Дальше-то что? Что вы будете с этим делать?
Короче, пока я не увижу сообщений о том, что где-то кто-то решил какаю-то задачу, которую нельзя было решить обычным компьютером, я назову себя болваном.
А пока я это славное имя торжественно преподношу тем, что полагает, что достаточно иметь так называемые кубиты, то есть устройства, которые могут вам формировать несколько состояний одновременно, и вы в этом случае получите какие-то неимоверные возможности решать чрезвычайно сложные задачи. Но при этом считают, что можно не тратить время на то, чтобы задумываться о том, как будут программироваться подобные кубиты, и как будет получаться решение хотя бы какой-то задачи.
0 Комментариев
Рекомендуемые комментарии
Комментариев нет