Screenshot z návrhu algoritmu z IBM Q Experience.

Jak jsme psali v předchozím díle, kvantové počítače se ideálně hodí jen na jistý typ úloh, nicméně rozsah, kde lze tyto výpočty aplikovat je stále široký, od vyhledávajících algoritmů, přes optimalizace, kvantové simulace až po např. faktorizace velkých čísel. V tomto díle si představíme nejvíce zmiňované algoritmy a použití.

Kvantové simulace

První myšlenky na kvantové počítače jsou spojené s velkým jménem prof. Richard Feynman a jeho myšlenkou simulace kvantových systémů pomocí jiných kvantových systémů. Motivace vychází z velké náročnosti simulovat kvantový systém i v současnosti. Například, vezmeme-li si nějakou středně velkou molekulu s pár desítkami elektronů, tak pak dostaneme tak obrovské množství konfigurací všech elektronů (konkrétně n^k, kde n je počet elektronů a k počet konfigurací elektronu), že je to zcela mimo možnosti současných počítačů a výpočetní doba by byla delší, než bude možná i trvání našeho druhu ve vesmíru.

Zjednodušeně řečeno, náročnost roste exponenciálně s množstvím prvků (v případě molekul např. elektronů). Z těchto důvodů je současný chemický či farmaceutický průmysl věda hlavně na bazi jednodušších modelů a principu pokus-omyl. Na druhou stranu, pokud bychom měli možnost plné simulace molekul, tak bychom si teoreticky mohli nasimulovat a najít takové molekuly, které budou dělat přesně to, co chceme, např. efektivní katalyzátory nebo léky na rakovinu. Obecně s kvantovými simulátory můžeme simulovat strukturu a vlastnosti molekul a chemické reakce.

Současné trendy v kvantových simulacích jdou ve dvou směrech. První, nazývaný analogické kvantové simulace, se používají na konkrétní simulace, kde vlastní „algoritmus“ je implementován na hardwarové úrovni. Typickým použitím je využití jednotlivých fotonů, kde vlastní algoritmus je implementován pomocí systému zrcadel, polopropustných zrcadel, děliče svazku a dalších kvantově-optických elementů.

Druhým směrem jsou digitální kvantové simulace, kde se předpokládá univerzální kvantový procesor. Vlastní simulace je pak implementována jako software, v podstatě jako na současných klasických počítačích. Tento přístup je univerzálnější, avšak méně efektivní. Navíc je potřeba počkat na opravdu univerzální kvantový procesor, který bude mít dostatek qubitů pro naši simulaci.

Nicméně, kvantové programy jsou univerzální a lze na nich pracovat již nyní, testovat je na současných kvantových procesorech s omezeným počtem qubitů a vysokou chybovostí a pak se nasadí, až budou k dispozici výkonné kvantové procesory s miliony qubity. Opravdu univerzální výkonný (s dostatkem kvalitních qubitů) kvantový procesor bude znamenat obrovskou revoluci v chemickém a farmaceutickém průmyslu, která zcela změní možnosti a schopnosti lidstva. Ještě dodejme, že kromě chemického a farmaceutického průmysl se kvantové simulace uplatní i v celé řadě oblastí základního výzkumu, materiálového inženýrství, apod.

Nakonec si zmíníme pár příkladů, na čem se konkrétně pracuje: hledání katalyzátorů, které spotřebovávají CO2, které přispívá ke globálnímu oteplování, katalyzátory pro efektivnější získání vodíku pro vodíkový pohon či lepší katalyzátory pro současné motory v automobilovém či leteckém průmyslu. V případě farmaceutického průmyslu se pracuje na univerzálních nástrojích pro urychlení hledání vhodných látek pro farmaceutické použití, např. hledání nových vhodných proteinů. Jiné projekty se pak zaměřují na hledání vhodných náplní do baterií, které by mohly mít mnohem větší kapacitu a lepší vlastnosti.

Shorův algoritmus – ničitel šifrování

Velká část současných šifrování je založena na metodách násobení velkých prvočísel, např. RSA šifrování. RSA spoléhá na to, že vlastní násobení je velice rychlé, ale na druhou stranu faktorizace takovýchto čísel je obrovsky náročná operace. Konkrétně se jedná o exponenciální náročnost 2^n.

Avšak již v roce 1994 přišel americký matematik Peter Shor s kvantovým algoritmem, který na kvantovém počítači redukuje složitost faktorizace velkých čísel na polynomiální náročnost, konkrétně přibližně n^3.

Např. pro faktorizaci čísla o délce 2000 bitů budeme potřebovat řádově deset tisíc logických qubitů (tj. v případě fyzických qubitů se jedná o milionu a možná více). To zní jako hudba daleké budoucnosti a nejeden by si mohl říci, že např. RSA šifrování je ještě na pár let až desítek stále v bezpečí.

Část kvantového Shorova algoritmu. Zdroj: wikipedia.org

Háček však leží v tom, že v případě informací, které chceme udržet pod pokličkou v tajnosti dlouhou dobu, desítky let, tak může být pozdě. Již nyní se objevují zprávy, že některé země se snaží dostat k tajným informacím i když jsou šifrované a spoléhají na to, že v blízké budoucnosti budou mít k dispozici kvantový počítač, se kterým časem prolomí šifrování ukradených dat.

Kvantové optimalizační algotimy – aneb obchodní cestující

Problém obchodního cestujícího je dlouhodobě známý problém, kde se snažíme najít nejlepší řešení, tzn. jak co nejefektivněji navštívit všechny zákazníky. Obecně tedy mluvíme o nalezení nejlepšího řešení ze všech možných.

I zde kvantová algoritmy nabízejí svou pomoc, např. kvantové verze metody nejmenších čtverců, kvantové semidefinitní programování, kvantové kombinatorické optimalizace (např. populární QAOA algoritmus).

Dnes ještě nelze říci, zda tyto kvantové algoritmy jsou lepší než klasické. Například kvantový QAOA algoritmus inspiroval výzkumníky k ještě lepším klasickým algoritmům, které běží ještě rychleji, dokonce až exponenciálně. V tomto případě pak mluvíme o tzv. kvantově-inspirovaných algoritmech či optimalizaci. Tohle je jeden ze současných významných užitků kvantových počítačů, aniž by tu ještě nějaký pořádný byl. A to, že teoreticky rychlejší kvantové algoritmy „tlačí“ na výzkumníky v oblasti klasických algoritmů, aby našli lepší metody a algoritmy.

Obecně, optimalizační algoritmy budou jednou z dalších velice důležitých aplikací. V současnosti v této oblasti se snaží najít uplatnění společnosti mimo obor jako jsou Airbus, Volskwagen či Ford.

Groverův algoritmus – ďábelsky rychlé hledání

Groverův algoritmus je další z typických představitelů použití kvantového počítače. Tento algoritmus nepřináší až takové zrychlení, jako ten Shorův, nicméně jeho využití je širší.

Pro příklad mějme 10 vypínačů a jen jedna jediná kombinace je správná a rozsvítí žárovku. Klasicky bychom vyzkoušeli všechny kombinace, což vede k náročnosti 2^n. V případě Groverova algoritmu můžeme tento problém vyřešit s náročností \sqrt{2^n}, tedy jedná se o polynomiální zrychlení.

Typické použití tohoto algoritmu je všeobecně v problémech vyhledávání, zvláště výhodné pro vyhledávání v nestrukturovaných datech, což je dnes velká část problematiky tzv. big data.

Řešení lineárních rovnic

Dalším potenciálně zajímavým použitím kvantových počítačů je v oblasti řešení lineárních rovnic. Obrovské množství modelů kolem nás od předpovědi počasí, modelování pevnosti mostů, nákup a prodej akcií či algoritmy počítačových her jsou založeny na lineárních rovnicích. Ty zjednodušeně, ale většinou dostatečně přesně popisují co potřebujeme. Na druhou stranu s počtem parametrů rovnic roste i náročnost řešení.

Zde, například HHL kvantový algoritmus nabízí až exponenciální zrychlení. Tento algoritmus nicméně neposkytuje přesné řešení, ale řešení proporcionální tomu přesnému, tj. neznáme celé řešení, ale jen některé jeho aspekty, což ale pro mnoho aplikací může bohatě stačit. Jen pro ilustraci, pokud bychom měli lineární rovnice s 10 000 parametry, tak s klasickým počítačem potřebujeme 10 000 kroků k jeho vyřešení. HHL algoritmus nám může poskytnout část řešení již po 13 krocích.

Kvantové počítání naslepo

Ačkoliv samotné kvantové procesory jsou poměrně malinké, tak celý systém, který jej spravuje je obrovský prostorově i komplexní technicky. Je to z toho důvodů, že velká část typů kvantových bitů pracuje kolem absolutní nuly, abychom potlačili šum z okolí, který by mohl narušit samotný qubit. I z toho důvodů, lze předpokládat, že kvantové počítače nebudeme mít doma či ve firmách, ale primárně v cloudu.

Cloud a jeho použití je už otázka současnosti a jedná se o velký byznys. Na druhou stranu, pokud chcete na cloudu spustit nějaké výpočty, které podléhají utajení (ať už jde o vývoj nového léku nebo přísně tajný vojenský vývoj) tak pak nastává otázka, jak moc můžete důvěřovat poskytovateli cloudu.

V případě kvantových počítačů, kde zvláště lze předpokládat citlivé výpočty, ve spojení s kvantovými sítěmi (o kterých budeme psát v následujících dílech seriálu) tento problém odpadá. Již dnes jsou návrhy protokolů tzv. kvantového počítání naslepo (secure delegated quantum computing či blind quantum computing).

V případě nějakého útočníka, který má k dispozici veškerá práva na kvantovém cloudu, tak nejenže nebude schopný přečíst vstupní a výstupní data, ale ani nebude schopný poznat, co daný kvantový počítač počítá. Jediný, co může udělat je nám poslat zcela náhodná data, to však můžeme rozpoznat.

Kvantové strojové učení a kvantové AI

V počítačových vědách je strojové učení a umělá inteligence (AI) jedno z tzv. módních spojení a tzv. hype. To se nevyhnulo ani kvantovým verzím počítačů. Nelze si však představovat, že tu budeme mít super silnou kvantovou AI, která bude mít ještě větší potenciál ovládat svět, než ta klasická. Ve skutečnosti se jedná o použití výše zmíněných aspektů kvantových výpočtů – od řešení lineárních rovnic, manipulace s maticemi, optimalizační metody atp.

Reálně, ve spoustu rutinách strojového učení jsou klasické algoritmy a počítače lepší a efektivnější, než kdy budou (v nejbližší i střední budoucnosti) ty kvantové (například práce s obrazovými daty). To, kde lze hlavně užít kvantové algoritmy je pak například optimalizace mezi různými modely použitými pro samotné strojové učení. Obecně řečeno, kvantový počítač v nejbližší době nebude dobrý s práci vlastními daty, ale může pomoci s náročnou výpočetní částí, kde hledáme vazby a vlastnosti.

Dalším trendem v oblasti je pak právě spojení prvků AI a strojového učení s kvantovými simulacemi v oblasti chemie a farmaceutik, kde si daný algoritmus bude nejen simulovat přesně dané molekuly, ale rovnou se i učit a snažit se najít ten správný směr jejich modifikace.

Náhrada Monte Carlo – výpočet finančního rizika

Metody Monte Carlo jsou široce využívaný a v principu, čím chceme přesnější výsledek, tím více bodů musí metoda Monte Carlo použít. To v některých případech může vést k obrovskému množství vzorků. Například ve financích se Monte Carlo používá pro výpočet investičního rizika. Jedná se o poměrně složitý a komplexní algoritmus zahrnují např. velikost trhu, konkurence, ceny, náklady fixní a provozní, inflace, deflace, národní a mezinárodní ekonomika, politika atd. Výsledkem je, že Monte Carlo metoda potřebuje obrovské množství vzorků a to stojí čas.

Už v roce 2015 bylo ukázáno, že Monte Carlo metodu můžeme nahradit kvantovým algoritmem s kvadratickým zrychlením. V roce 2019 se objevila práce, která kvantové metody aplikuje přímo na finanční sektor. To by v budoucnu mohlo vést ještě k rychlejším finančním a bankovním operacím, než jsou dnes.

Další možnosti…

Výše popsané uplatnění kvantových počítačů představuje výběr těch nejvyhlášenějších. Pak je tu ještě řada dalších aplikací. Důležité je však zmínit, že obor kvantové informatiky a hledání všech možných uplatnění je stále poměrně na začátku a je stále dost možné, že se objeví další významné uplatnění, která budou nabývat velké důležitosti a významu.