По-бързо от всякога светът се променя благодарение на цифровите промени.
С предстоящото навлизане на друга чисто нова вълна от технологии, способни драстично да променят настоящите парадигми с поразителна скорост и мощ: квантовите изчисления, разбирането на фундаменталните идеи на цифровата ера ще стане още по-важно.
Революционна техника, наречена квантово изчисление, използва квантовата физика за решаване на проблеми, които са извън обхвата на конвенционалните компютри.
Принципите на квантовата теория показват как се държат материята и енергията в атомен и субатомен мащаб, а Qiskit на IBM е комплект за разработка на квантов софтуер с отворен код, който помага при създаването на квантови изчислителни системи.
Тази статия се стреми да обясни това и да ви предостави общ преглед на квантовите изчисления.
Ще обясним на нашите читатели с помощта на квантово изчисление с отворен код SDK, т.е. Qiskit и ги оставете да изследват с помощта Jupyter преносими компютри хостван в IBM Quantum Lab.
Какво е квантово изчисление?
Квантово изчисление е клон на компютърните науки, който се фокусира върху разработването на компютърни технологии, използвайки идеи от квантовата теория.
Той се възползва от изключителния капацитет на субатомните частици да съществуват едновременно в много състояния, като 0 и 1.
Те могат да обработват много повече данни от обикновените компютри.
В процесите на квантово изчисление кубит се прави с помощта на квантовото състояние на обект. Основните части от информацията в квантовите изчисления са кубитите.
Те изпълняват същата функция като битовете в конвенционалните изчисления в квантовите изчисления, но действат съвсем различно. Квантовото изчисление е област, която се появява през 1980-те години на миналия век.
Тогава беше открито, че квантовите алгоритми са по-ефективни при изпълнението на някои компютърни задачи, отколкото техните класически аналози.
Суперпозицията и заплитането, две концепции от квантовата физика, са основите, върху които се базират тези суперкомпютри.
В сравнение с конвенционалните компютри, квантовите компютри в момента могат да вършат работа с порядък по-бързо, като същевременно консумират много по-малко енергия.
Трябва да продължим с работата на квантовите компютри, за да го разберем напълно. Да започнем сега.
Как наистина работи квантовият компютър?
В сравнение с традиционните компютри, с които сме свикнали, квантовите компютри подхождат по различен начин към решаването на проблеми. За някои задачи квантовите компютри са за предпочитане пред традиционните по много начини.
Смята се, че причината е способността им да съществуват в много държави едновременно. От друга страна, конвенционалните компютри могат да бъдат само в едно състояние едновременно.
Има три ключови концепции, които трябва да разберете, за да разберете как работят квантовите компютри:
- Суперпозиция.
- Заплитане.
- Намеса.
Наслагване
Битовете са основните компоненти на традиционните компютри. Квантовите битове или кубити са основните единици на квантовите компютри.
По същество квантовите битове работят по различен начин. Двоичният бит, понякога известен като традиционен бит, е превключвател, който може да бъде 0 или 1.
Получаваме обратно текущото състояние на бита, когато го измерваме. Кубитите са изключение от това. Кубитите могат да бъдат сравнени със стрелки, сочещи в три измерения.
Те са в състояние 0, ако сочат нагоре. Те са в състояние 1, ако сочат надолу. Същото важи и за класическите битове.
Те обаче могат също да изберат да бъдат в състояние на суперпозиция.
Стрелката е в състояние, в което сочи в друга посока. Суперпозицията на 0 и 1 води до това състояние. Qubit все още ще произвежда или 1, или 0 като резултат, когато бъде измерен.
Въпреки това, ориентацията на стрелката определя вероятността, която е уместна.
По-вероятно е да получите 1, ако стрелката сочи основно надолу и 0, ако сочи предимно нагоре.
Ще имате 50% шанс да спечелите за всеки, ако стрелката е в центъра. С две думи, това е суперпозиция.
заплитане
Битовете в традиционния компютър са независими един от друг. Състоянието на един бит няма отношение към състоянието на другия бит.
Кубитите в квантовите компютри могат да се заплитат един в друг. Това означава, че те се сливат в едно голямо квантово състояние.
За илюстрация, разгледайте два кубита, които са в различни състояния на суперпозиция, но все още не са заплетени. В този момент тяхната вероятност не зависи една от друга.
Когато ги заплитаме, трябва да отхвърлим тези независими вероятности и да определим вероятностите на всички алтернативни състояния, от които можем да избягаме, а именно 00, 01, 10 и 11.
Разпределението на вероятността на цялата система се променя, ако посоката на стрелката върху един кубит се промени, защото кубитите са заплетени.
Независимостта на кубитите един от друг е загубена. Всеки от тях е компонент на едно и също голямо състояние. Без значение колко кюбита имате, това все още е така.
Съществува възможна комбинация от 2n състояния за квантов компютър с n кубита.
Имате вероятностно разпределение в две състояния, например за един кубит. Имате вероятностно разпределение в четири състояния за два кубита и т.н. Основната разлика между класическите и квантовите компютри е следната.
Можете да поставите класическите компютри в каквото състояние изберете, но само един по един. Всички тези състояния могат да съществуват едновременно на квантовите компютри като суперпозиция.
Как може компютърът да се възползва от това, че е във всички тези състояния едновременно? Последният елемент на намеса влиза в този момент.
Интерференция
Квантова вълнова функция може да се използва за описание на състоянието на кубит.
Фундаменталното математическо описание на всичко в квантовата физика се предоставя от вълнови функции.
Когато много кубити са заплетени, техните отделни вълнови функции се комбинират заедно, за да образуват една вълнова функция, която описва цялостното състояние на квантовия компютър.
Интерференцията е резултат от събирането на тези вълнови функции заедно. Когато вълните се добавят заедно, те могат конструктивно да си взаимодействат и да се комбинират, за да създадат по-голяма вълна, точно както водните вълни правят.
Те също могат да си взаимодействат разрушително, за да си противодействат. Различната вероятност за различните състояния се определя от цялостната вълнова функция на квантовия компютър.
Можем да променим вероятността определени състояния да се появят, когато измерваме квантовия компютър, като променим състоянията на различни кубити.
Въпреки че квантовият компютър може да съществува в няколко суперпозиции на състояния наведнъж, измерванията разкриват само едно от тези състояния.
Следователно, докато се използва квантов компютър за завършване на изчислителна работа, е необходима конструктивна намеса, за да се повиши вероятността за получаване на правилния отговор и разрушителна намеса, за да се намали вероятността за получаване на неправилен.
Сега нека започнем с Qiskit.
Какво е Qiskit?
Qiskit е финансирана от IBM софтуерна рамка, предназначена да улесни всеки да навлезе в областта на квантовите изчисления.
Тъй като квантовите компютри са трудни за получаване, можете да получите такъв чрез облачен доставчик, като IBM, като използвате тяхната кутия с инструменти Qiskit.
Предлага се безплатно и целият му код е с отворен код.
Има онлайн учебник който ви учи на всички основи на квантовата физика, което е много полезно за тези, които не са запознати с темата. Python се използва за разработване на инструментариума Qiskit.
Така че, ако сте запознати с езика за програмиране Python, ще разпознаете много код.
Софтуерната рамка е подходяща за желаещите научете за квантовите изчисления като същевременно трупат практически опит.
Най-фундаменталният аспект на Qiskit е, че той работи на два етапа. Една от стъпките е етапът на конструиране, в който създаваме няколко квантови вериги и използваме тези вериги, за да разрешим проблема.
След това, след завършване на етапа на изграждане или достигане на решението, преминаваме към следващия етап, който е известен като етап на изпълнение, в който се опитваме да изпълним нашата компилация или решение в различните бекендове (бекенд на вектор на състоянието, единичен бекенд, отворен ASM backend), и след като изпълнението приключи, ние обработваме данните в компилацията за желания резултат.
Първи стъпки с Qiskit
Можете да го инсталирате локално на вашия персонален компютър или Jupyter Notebook, който IBM хоства. Напишете следния код за локално инсталиране на компютър с Windows:
Трябва да се регистрираме тук, за да получим достъп до API токена, който ни позволява да използваме квантовите устройства на IBM, и след това можем да започнем да работим с уебсайта на компанията. Можете да си представите да правите това, като използвате инсталиран на Qiskit Jupyter Notebook, работещ онлайн.
Можете да получите достъп до него, като изберете своя профил от менюто в горния десен ъгъл на страницата, след което изберете информация за акаунта. Можете да намерите вашия API токен в секцията за API токени под формата на ***. Той се копира и след това се въвежда в следния код:
След като този код бъде изпълнен, вашият API токен ще бъде записан на вашия компютър, което ви позволява да използвате квантовите устройства на IBM. Въведете следното, за да определите дали имате достъп до такова устройство:
Ако гореспоменатият код се изпълнява, трябва да можете да изпълнявате код не само на вашия компютър, но и чрез изпращане на вградените квантови вериги до квантовите устройства на IBM и получаване на резултати.
И така, използвайки библиотеката със схеми, можем да започнем да разработваме нашия първи квантов алгоритъм. Започваме с импортиране на основните зависимости от Qiskit в нашия проект.
След това конструираме двубитов квантов регистър и двубитов конвенционален регистър.
Така че сега имаме установен както класически, така и квантов регистър. Използвайки тези две, можем да конструираме веригата и ако по всяко време от модификацията на веригата искате да скицирате как изглежда квантовата верига, напишете следния код:
От снимката можем да видим, че веригата се състои от два квантови бита и два класически бита.
Както е, тази верига няма порти, което я прави безинтересна. Сега нека конструираме веригата, използвайки квантовите порти. Като класически логически порти (И, ИЛИ порти) са за нормални цифрови схеми, квантовите порти са основните компоненти на квантовите вериги.
Прилагането на вратата на Адамар към първия кюбит е първата стъпка в създаването на заплитане. След това, използвайки следния код, ще добавим двукубитова контролирана x операция:
След като тези два оператора са използвани за конструиране на нашата квантова верига, е време да измерим квантовите битове (кубити), да направим тези измервания и да ги съхраним в класическите битове. Нека създадем необходимия код, за да постигнем това:
Диаграмата по-долу изобразява оформлението на нашата верига:
След това веригата трябва да се изпълнява на традиционен компютърен симулатор. Веригата е завършена. И разгледайте резултатите от тази екзекуция.
Информацията, получена от изпълнението на тази верига, се съхранява в променливата резултат. Нека покажем тези резултати с помощта на хистограма.
Това се случва, когато стартираме нашата квантова верига. За числата 00 и 11 получаваме вероятности от около 50%. Вашата първоначална квантова компютърна верига е изградена. Честито!
Приложения на Qiskit Quantum Computing
Qiskit Finance
Колекция от демонстрационни инструменти и приложения се предлагат от Qiskit Finance. Те включват преводачи на Ising за оптимизиране на портфолио, доставчици на данни за действителни или произволни данни и реализации за ценообразуване на различни финансови опции или оценки на кредитния риск.
Qiskit Природа
Приложения като нагъване на протеини и електронна/вибронна структура изчисленията както за възбудени, така и за основни състояния се поддържат от Qiskit Nature.
Той предлага всички части, необходими за свързване на класически кодове и автоматично преобразуване в различни представяния, необходими на квантовите компютри.
Машинно обучение Qiskit
Квант машинно обучение методите, които ги използват за справяне с различни проблеми, като регресия и класификация, се предоставят от Qiskit Machine Learning, както и фундаментални квантови ядра и квантови невронни мрежи (QNN) като градивни елементи.
Той също така позволява свързването на QNN към PyTorch с цел включване на квантови елементи в класически операции.
Qiskit оптимизация
Qiskit Optimization предлага целия спектър от услуги за оптимизация, включително моделиране на високо ниво на проблеми с оптимизацията, автоматизиран превод на проблеми в различни необходими представяния и колекция от прости методи за квантова оптимизация.
Заключение
В заключение, докато най-бързият наличен сега суперкомпютър отнема години, квантовите компютри могат бързо да пробият настоящите методи за криптиране.
Въпреки факта, че квантовите компютри ще могат да пробият много от техниките за криптиране, използвани днес, се очаква, че те ще създадат устойчиви на хакове заместители.
Оптимизирането на проблемите е силна страна на квантовите компютри. За повече подробности, моля посетете Qiskit GitHub.
Оставете коментар