57,3K подписчиков

Почему квантовый компьютер ломает психику?

58K прочитали

Логика работы квантового компьютера буквально рвёт в клочья классические представления об устройстве вычислительных систем, а заодно и наше сознание. Сама мысль о том, что все возможные варианты вычислений уже известны и нужно только выбрать нужный, звучит как фантастика.

Квантовый компьютер
Квантовый компьютер

На самом деле, всё это совершенно состоятельный научный подход. Вот только физика тут работает не обычная, а квантовая. Ну а там многие взгляды на процессы уже кажутся чем-то из серии паранормальщины.

В основе работы квантового компьютера лежат принципы квантовой запутанности и суперпозиции квантовых состояний. Но как это поможет делать вычисления на практике? Давайте разбираться в вопросе, начиная с самых основ.

Кратко про то, как работает обычный компьютер

Принцип работы обычного полупроводникового компьютера построен на аппаратном обеспечении построения логической цепочки.

Логическая цепочка состоит из ряда "да" или "нет". Их взаимодействие выдаст в результате работы алгоритма тоже "да" или "нет". Компьютер работает с двоичным кодом, где информация представлена в виде 0 и 1, ну а те самые "да" или "нет" прекрасно ложатся на соответствующие им 0 и 1.

Для того, чтобы обеспечить такое функционирование на аппаратном уровне используются транзисторы. Их взаимное соединение позволяет реализовать логику булевой алгебры и создать ячейку памяти, а заодно является хранителем информации (1 или 0). 1 или 0 - это 1 бит.

Транзистор - это полупроводниковый прибор, основная "фишка" которого в том, что он может пропускать электрический ток, а может и не пропускать. Причем, пропусканием тока управляет тоже электрический ток. Подали сигнал - транзистор открыт. Подали второй сигнал - закрыт. Логично предположить, что и тут 1 и 0 из двоичного кода прекрасно сопрягаются с этой системой.

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

Из чередования этих поэтапно включающихся транзисторов вполне получается единая логическая цепочка на аппаратном уровне. Процесс сложения или умножения тут тоже аппаратные.

Вот так компьютер сложит 5 и -7 в виде двоичного кода
Вот так компьютер сложит 5 и -7 в виде двоичного кода

Цепь транзисторов, включенных друг за другом в определенной последовательности, обеспечивает работу нужного действия на уровне железяки.

В чем особенность такого подхода

Это классический подход к решению задачи. Тут мы исходим из того, что есть некоторые входные условия, а по результату аппаратной работы логической цепи на выходе мы получим некоторый неизвестный пока итог. Логика строится по принципу ОТ и ДО. Как лабиринт пройти. Мы всегда знаем в каком состоянии находится бит на аппаратном уровне. Всегда понятно открыт транзистор или нет и 1 там или 0. По этой логике мы поэтапно идём к нашему результату, оперируя известным состоянием бита.

Для работы цепи требуется время и хотя оно и сопоставимо со скоростями света, при многократных итерациях весь процесс может занимать минуты и даже часы. Даже суперкомпьютеры тратят часы на обсчёт массивных и объемных задач. Ну а заодно и гигаватты энергии. Сами транзисторы уже тоже сильно меньше не станут,

Что изменилось с приходом квантового компьютера

Квантовый компьютер работает иначе. Причем, уместно добавить слово СОВСЕМ большими буквами.

Стандартный бит, то есть транзистор на аппаратном уровне, который принимал значения 1 или 0, тут ещё получил возможность находиться между нулем и единицей. Это звучит как "может быть".

Бит и кубит
Бит и кубит

То есть имеем значения да, нет и может быть. Такая ячейка называется уже не бит, а кубит. Причем по умолчанию исходим из того, что все кубиты в состоянии "может быть". Ну а состояния кубита измеряются вероятностью, значит количество значений там гигантское. Вероятно, что значение кубита сейчас 1 - 70%, а 0 - 30%. А может быть 50% на 50%.

Как отвечает кубит
Как отвечает кубит

На аппаратном уровне кубит это - один атом, который связан квантовой запутанностью с другим атомом.

Квантовая запутанность - тут самый важный и очень сложный момент. Простыми словами это означает, что пока одна частица находится в одном состоянии, то другая частица, связанная с ней, повторяет её состояние вне зависимости от расстояния между ними. Это явление давно обнаружено и описано, но полноценного физического объяснения пока не получило.

Запутав частицы друг с другом, можно реализовывать их взаимодействия без обсчёта всей связанной цепи транзисторов и подачи тока, а мгновенно! Мгновенно можно выстроить все связанные друг с другом частицы в состояние 1 или 0. Использовать для идентификации состояния можно спин частицы.

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

Особенности построения алгоритма и квантового железа

Особенностей работы с такой техникой очень много. Квантовая запутанность - штука не совсем предсказуемая и не полностью изученная.

Квантовый компьютер
Квантовый компьютер

Что с железом?

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

Если запутанность вдруг нарушится, то квантовый компьютер превратится в Dendy :) Все кубиты станут битами и вместо миллионов комбинаций обеспечат всего лишь их сотню, работая как полупроводники.

Что с квантовым софтом?

Страшна тут сама логика формирования алгоритма, которая граничит с философией жизни ну и требует определенного подхода к построению программ.

Квантовый компьютер не может дать точный ответ, а способен оперировать вероятностями. Задача программиста - стремиться к единице в вероятности.

Представьте простой пример. Нам нужно дойти от дома до магазина и наш правильный путь (который единственный) нанесен на карту. При этом на точно такие же другие карты нанесены все возможные неправильные пути. Нам нужно выбрать правильную карту, исходя из наибольшей вероятности по ряду критериев. И если в случае полупроводникового компьютера мы поэтапно рисовали правильную карту на коленке, то тут нам говорят - вот вам 6 карт, одна из них верная. Выбирайте! А нам надо выбрать ПРАВИЛЬНУЮ карту исходя из признаков. Скажем, на правильной карте есть печать и это означает, что на 90% она верна.

Алгоритм квантового компьютера строится также.

Представьте, что у нас есть частицы (они же кубиты), увязанные квантовой запутанностью. Все частицы по принципу суперпозиции могут находиться во всех состояниях. Это принципиально отличает кубит от бита. Ведь у кубита сразу все состояния, а у бита только два, да ещё и железно прогнозируемых.

Такая частица (она же кубит) может находиться сразу во всех состояниях одновременно до тех пор, пока его не измерили. Компьютер мгновенно переберет все варианты построения цепи решения, ведь кубиты связаны между собой квантовой запутанностью. Сразу же строится большая цепочка.

Нужно помнить про возможность удерживать частицу в нужном состоянии посредством наблюдения (вспоминаем квантовый парадокс Зенона). Наблюдение (или измерение состояния) за каждой частицей - и есть инструмент управления таким алгоритмом.

Схема управления квантовым компьютером
Схема управления квантовым компьютером

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

Именно поэтому, существующие пока компьютеры такого типа хоть и работают мгновенно, но ориентированы на решение одного объемного алгоритма. Но зато решение известно сразу после внесения всех данных.

Такой подход к вопросу не только ломает железную логику построения компьютерного алгоритма, делая его из строго линейного относительный и вероятностный, но и в некоторой степени меняет мировоззрение нас с вами. Попробуйте-ка себе представить, оперируя только основными физическими знаниями, что частица находится сразу во всех состояниях. Прям тот кот, который не жив, ни мёртв.

Обязательно подпишитесь на проект, оцените статью лайком и напишите комментарий! Это поможет развитию канала, а вы не пропустите новые интересные статьи

Советую также прочитать на нашем канале:

-----

Смотрите нас на YouTube и присоединяйтесь к телеге!