Оглавление:

KREQC: Квантовый компьютер с вращательной эмуляцией в Кентукки: 9 шагов
KREQC: Квантовый компьютер с вращательной эмуляцией в Кентукки: 9 шагов

Видео: KREQC: Квантовый компьютер с вращательной эмуляцией в Кентукки: 9 шагов

Видео: KREQC: Квантовый компьютер с вращательной эмуляцией в Кентукки: 9 шагов
Видео: KREQC in operation 2024, Июль
Anonim
KREQC: Квантовый компьютер с вращательной эмуляцией в Кентукки
KREQC: Квантовый компьютер с вращательной эмуляцией в Кентукки
KREQC: Квантовый компьютер с вращательной эмуляцией в Кентукки
KREQC: Квантовый компьютер с вращательной эмуляцией в Кентукки

Мы называем это «ручей» - по буквам KREQC: Квантовый компьютер с эмуляцией вращения в Кентукки. Да, это руководство покажет вам, как создать собственный рабочий квантовый компьютер, который надежно работал бы при комнатной температуре с минимальным временем цикла около 1/2 секунды. Общая стоимость сборки составляет 50-100 долларов.

В отличие от квантового компьютера IBM Q, показанного на второй фотографии, KREQC не использует напрямую явления квантовой физики для реализации своих полностью запутанных кубитов. Что ж, я полагаю, мы могли бы утверждать, что все использует квантовую физику, но на самом деле это просто сервоприводы с традиционным управлением, которые реализуют «жуткое действие на расстоянии» Эйнштейна в KREQC. С другой стороны, эти сервоприводы позволяют KREQC достаточно хорошо имитировать поведение, делая операцию легкой для просмотра и объяснения. Кстати об объяснениях….

Шаг 1. Что такое квантовый компьютер?

Image
Image

Прежде чем давать объяснения, дайте ссылку на красивое объяснение из документации IBM Q Experience. Теперь сделаем снимок….

Несомненно, вы много слышали (каламбур) о том, как кубиты наделяют квантовые компьютеры волшебными вычислительными способностями. Основная идея состоит в том, что, хотя обычный бит может быть 0 или 1, кубит может быть 0, 1 или неопределенным. Само по себе это не кажется особенно полезным - и с одним кубитом это не так - но несколько запутанных кубитов обладают довольно полезным свойством, заключающимся в том, что их неопределенные значения могут одновременно охватывать все возможные комбинации значений битов. Например, 6 битов могут иметь любое одно значение от 0 до 63 (т. Е. 2 ^ 6), а 6 кубитов могут иметь неопределенное значение, которое представляет собой все значения от 0 до 63 с потенциально различной вероятностью, связанной с каждым возможным значением. Когда значение кубита считывается, значения этого кубита и всех связанных с ним кубитов становятся определяемыми, причем одно значение, считываемое для каждого кубита, выбирается случайным образом в соответствии с вероятностями; если неопределенное значение равно 75% 42 и 25% 0, то примерно 3 раза из каждых четырех выполненных квантовых вычислений результат будет 42, а в других случаях - 0. Ключевым моментом является то, что квантовое вычисление выполняет оценку все возможные значения и возвращает один (из потенциально нескольких) действительных ответов, одновременно пробуя экспоненциально много значений - и это захватывающая часть. Чтобы сделать то, что может сделать одна 6-кубитная система, потребуется 64 6-битных системы.

Каждый из 6 полностью запутанных кубитов KREQC может иметь значение вращения 0, 1 или неопределенное. Равновероятное неопределенное значение представлено всеми кубитами, находящимися в горизонтальном положении. По мере выполнения квантовых вычислений вероятности различных значений изменяются - представленные в KREQC колебаниями отдельных кубитов и принятием статистических положений, отражающих вероятности значений. В конце концов, квантовые вычисления завершаются измерением запутанных кубитов, в результате чего неопределенное значение сворачивается в полностью определенную последовательность нулей и единиц. На видео выше вы видите, как KREQC вычисляет «ответ на главный вопрос жизни, вселенной и всего остального» - другими словами, 42… что в двоичном формате равно 101010, 101 в заднем ряду кубитов и 010 в перед.

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

Итак, давайте построим квантовый компьютер, работающий при комнатной температуре!

Шаг 2: инструменты, детали и материалы

Детали, напечатанные на 3D-принтере: внутренняя часть
Детали, напечатанные на 3D-принтере: внутренняя часть

KREQC не так уж много, но вам понадобятся некоторые детали и инструменты. Начнем с инструментов:

  • Доступ к 3D-принтеру потребительского уровня. Можно было бы сделать кубиты KREQC, используя фрезерный станок с ЧПУ и дерево, но сделать их намного проще и аккуратнее, экструдируя пластик PLA. Самая большая часть, напечатанная на 3D-принтере, имеет размер 180x195x34 мм, поэтому все будет намного проще, если у принтера есть достаточно большой объем печати, чтобы распечатать это целиком.
  • Паяльник. Используется для сварки деталей из PLA.
  • Кусачки или что-то еще, что может разрезать небольшие пластиковые детали толщиной 1 мм (рожки сервопривода).
  • По желанию, деревообрабатывающий инструмент для изготовления деревянной основы для крепления кубитов. База не является строго необходимой, потому что у каждой биты есть встроенная подставка, позволяющая выводить кабель управления через заднюю часть.

Не нужно много деталей и материалов:

  • PLA для изготовления кубитов. Если напечатать со 100% заполнением, это все равно будет меньше 700 граммов PLA на кубит; при более разумном заполнении 25%, 300 граммов будут лучшей оценкой. Таким образом, можно сделать 6 кубитов, используя всего одну 2-килограммовую катушку, при стоимости материала около 15 долларов.
  • Один микросервопривод SG90 на кубит. Они доступны по цене менее 2 долларов за штуку. Обязательно приобретите микросервоприводы, которые определяют операцию позиционирования на 180 градусов - вам не нужны ни 90-градусные, ни предназначенные для непрерывного вращения с переменной скоростью.
  • Плата сервоконтроллера. Есть много вариантов, в том числе использование Arduino, но очень простой выбор - это 6-канальный USB-сервоконтроллер Pololu Micro Maestro, который стоит менее 20 долларов. Существуют и другие версии, которые могут обрабатывать 12, 18 или 24 канала.
  • Удлинительные кабели для SG90 по мере необходимости. Кабели на SG90 несколько различаются по длине, но вам нужно, чтобы кубиты были разделены как минимум примерно на 6 дюймов, поэтому потребуются удлинительные кабели. Они легко стоят менее 0,50 доллара за штуку, в зависимости от длины.
  • Блок питания 5 В для Pololu и SG90. Обычно Pololu питается от ноутбука через USB-соединение, но было бы разумно иметь отдельный источник питания для сервоприводов. Я использовал стенные бородавки 5V 2.5A, которые у меня были, но новые 3A можно купить менее чем за 5 долларов.
  • По желанию, двусторонний скотч для скрепления вещей. Лента VHB (очень высокая связь) хорошо удерживает внешнюю оболочку каждого кубита вместе, хотя сварка работает даже лучше, если вам никогда не нужно разбирать ее.
  • По желанию - дерево и отделочные материалы для изготовления основы. Наш был сделан из отходов магазина и скреплен бисквитными швами с несколькими слоями прозрачного полиуретана в качестве финальной отделки.

В общей сложности 6-кубитный KREQC, который мы построили, стоил около 50 долларов.

Шаг 3: детали, напечатанные на 3D-принтере: внутренняя часть

Детали, напечатанные на 3D-принтере: внутренняя часть
Детали, напечатанные на 3D-принтере: внутренняя часть
Детали, напечатанные на 3D-принтере: внутренняя часть
Детали, напечатанные на 3D-принтере: внутренняя часть

Все дизайны деталей, напечатанные на 3D-принтере, бесплатно доступны как Thing 3225678 на сайте Thingiverse. Пойдите, получите копию сейчас… мы подождем….

Ах, так скоро вернулся? Ok. Фактический «бит» в кубите - это простая деталь, которая напечатана двумя частями, потому что легче иметь дело со сваркой двух частей вместе, чем использовать опоры для печати выпуклых букв на обеих сторонах одной части.

Я рекомендую распечатать его цветом, который контрастирует с внешней частью кубита - например, черным. В нашей версии мы напечатали верхнюю часть 0,5 мм белым цветом для придания контраста, но это потребовало замены нити накала. Если вы не хотите этого делать, вы всегда можете просто покрасить выступающие поверхности цифр «1» и «0». Обе эти части печатаются без пролетов и, следовательно, без опор. Мы использовали заполнение 25% и высоту экструзии 0,25 мм.

Шаг 4: детали, напечатанные на 3D-принтере: внешняя часть

Детали, напечатанные на 3D-принтере: внешняя часть
Детали, напечатанные на 3D-принтере: внешняя часть
Детали, напечатанные на 3D-принтере: внешняя часть
Детали, напечатанные на 3D-принтере: внешняя часть

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

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

Опять же, выбор цвета, который контрастирует с внутренними частями, сделает «Q» кубитов более заметным. Хотя мы напечатали лицевую часть с частями AGGREGATE. ORG и UKY. EDU из белого PLA на синем фоне из PLA, вы можете найти более привлекательный вид с меньшей контрастностью, чем цвет корпуса. Мы ценим, что вы оставили их там, чтобы напомнить зрителям, откуда появился дизайн, но нет необходимости визуально выкрикивать эти URL-адреса.

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

Шаг 5: соберите внутреннюю часть

Соберите внутреннюю часть
Соберите внутреннюю часть
Соберите внутреннюю часть
Соберите внутреннюю часть

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

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

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

Шаг 6: сориентируйте сервопривод и установите звуковой сигнал

Сориентируйте сервопривод и установите рог
Сориентируйте сервопривод и установите рог

Для того, чтобы это работало, нам необходимо иметь известное прямое соответствие между сервоуправлением и положением вращения сервопривода. Каждый сервопривод имеет минимальную и максимальную ширину импульса, на который он будет реагировать. Вам нужно будет найти их эмпирически для ваших сервоприводов, потому что мы рассчитываем на полное движение на 180 градусов, и разные производители производят SG90 с немного разными значениями (на самом деле, они также имеют немного разные размеры, но они должны быть достаточно близки к вписываются в отведенное пространство). Назовем самую короткую ширину импульса «0», а самую длинную - «1».

Возьмите один из рожков, который идет в комплекте с сервоприводом, и отрежьте от него крылья кусачками или другим подходящим инструментом - как показано на фотографии выше. Очень малый шаг шестерни сервопривода очень сложно напечатать на 3D-принтере, поэтому вместо этого мы будем использовать для этого центр одного из рупоров сервопривода. Поместите обрезанный рог сервопривода на один из сервоприводов. Теперь подключите сервопривод, установите его в положение «1» и оставьте в этом положении.

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

Вы должны увидеть, как PLA немного складывается, когда вы вставляете обрезанный рог внутрь, создавая очень прочное соединение с рогом. Дайте связке немного остыть, а затем вытащите сервопривод. Рупор должен теперь скрепить деталь достаточно хорошо, чтобы сервопривод мог свободно вращать деталь без значительного люфта.

Шаг 7: соберите каждый кубит

Соберите каждый кубит
Соберите каждый кубит
Соберите каждый кубит
Соберите каждый кубит

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

Как только все будет на одном уровне, поместите переднюю внешнюю часть над сборкой. Подсоедините сервопривод и управляйте им, удерживая узел вместе, чтобы убедиться, что ничего не заедает или не совмещено. Теперь либо используйте ленту VHB, либо используйте паяльник, чтобы сварить внешнюю переднюю и заднюю части вместе.

Повторите эти шаги для каждого кубита.

Шаг 8: Монтаж

Монтаж
Монтаж
Монтаж
Монтаж

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

Я чувствую, что вид проводов разрушает иллюзию жуткого действия на расстоянии, поэтому я предпочитаю полностью скрыть провода. Для этого все, что нам нужно, - это монтажная платформа с отверстием под каждым кубитом, которое достаточно велико для прохода разъема сервокабеля. Конечно, мы бы хотели, чтобы каждый кубит оставался на месте, поэтому в основании есть три отверстия с резьбой 1 / 4-20. Намерение состоит в том, чтобы использовать центральную резьбу, но другие можно использовать, чтобы сделать вещи более безопасными или если центральная резьба будет сорвана из-за чрезмерного затягивания. Таким образом, один просверливает два близко расположенных отверстия в основании для каждого кубита: одно для пропуска винтовой резьбы 1 / 4-20, другое для пропуска разъема сервокабеля.

Поскольку дерево диаметром 3/4 дюйма является наиболее распространенным, вы, вероятно, захотите использовать его для верхней части основания - как это сделал я. В этом случае вам понадобится винт 1 / 4-20 или болт примерно 1,25 дюйма длинный. Вы можете купить их в любом хозяйственном магазине по цене около 1 доллара за шесть. В качестве альтернативы вы можете напечатать их на 3D-принтере … но я рекомендую распечатывать их по одному, если вы все-таки печатаете, потому что это минимизирует дефекты мелкой резьбы винта.

Очевидно, что размеры крепления не критичны, но они определят длину необходимых вам удлинительных кабелей. KREQC был выполнен в виде двух рядов по три кубита, в первую очередь для того, чтобы крепление поместилось в чемодан ручной клади, именно так мы привезли его на нашу исследовательскую выставку IEEE / ACM SC18.

Шаг 9. Брендируйте это

Бренд это
Бренд это
Бренд это
Бренд это
Бренд это
Бренд это

В качестве последнего шага не забудьте маркировать свой квантовый компьютер!

Мы напечатали на 3D-принтере фирменную табличку черным цветом на золоте, которая затем была прикреплена к деревянной передней части основания. Не стесняйтесь наклеивать ярлыки другими способами, такими как 2D-печать прилагаемого изображения паспортной таблички в формате PDF на лазерном или струйном принтере. Также не помешало бы пометить каждый кубит его положением, особенно если вы слишком творчески подходите к размещению кубитов на базе.

Вам также может понравиться раздавать напечатанные на 3D-принтере кубитные брелки для ключей; они не запутаны и не моторизованы, но они свободно вращаются, когда на них дуют, и являются отличным напоминанием о демонстрации KREQC.

Рекомендуемые: