
Sziasztok!
A minap meglátogattam a kanadai Vancouverben található D-Wave Systems- t. Ez egy olyan cég, amely élvonalbeli kvantum számítógépeket gyárt.
Sokat kell megtanulnom az ott található kvantum számítógépekről, ezért szeretnék megosztani veletek néhány dolgot ebben a cikkben.
Ennek a cikknek az a célja, hogy egy egyszerű példa segítségével pontos intuíciót adjon arról, hogy mit használ egy kvantum számítógép.
Ez a cikk nem követeli meg a kvantumfizika vagy az informatika előzetes ismereteit ahhoz, hogy megérthesse azokat.
Oké, kezdjük.
Szerkesztés (2019. február 26.): Nemrégiben közzétettem egy videót ugyanarról a témáról a YouTube-csatornámon. Azt javaslom, hogy nézze meg (kattintson ide) a cikk elolvasása előtt vagy után, mert a videóban további, árnyaltabb érveket adtam hozzá.
Mi az a kvantum számítógép?
Itt van egy egy mondatos összefoglalás arról, mi a kvantum számítógép:
A kvantum számítógép olyan típusú számítógép, amely kvantummechanikát használ, hogy bizonyos típusú számításokat hatékonyabban tudjon végrehajtani, mint egy szokásos számítógép.Sokat kell kibontani ebben a mondatban, ezért egy egyszerű példa segítségével hadd vezessem végig, hogy mi is ez pontosan.
Hogy elmagyarázzam, mi egy kvantum számítógép, először el kell magyaráznom egy kicsit a szokásos (nem kvantum) számítógépeket.
Hogyan tárolja az információkat egy rendes számítógép?
Most egy rendes számítógép 0 és 1 sorokban tárolja az információkat.
Különböző típusú információk, például számok, szöveg és képek ábrázolhatók így.
Ebben a 0 és 1 sorozat minden egységét kissé nevezzük. Tehát egy bit 0 vagy 1 értékre állítható.
És mi van a kvantum számítógépekkel?
A kvantum számítógép nem biteket használ az információk tárolásához. Ehelyett a qubiteket nevezi.
Minden kvóta nemcsak 1-re vagy 0-ra állítható, hanem 1-re és 0-ra is. De mit jelent ez pontosan?
Hadd magyarázzam el ezt egy egyszerű példával. Ez kissé mesterséges példa lesz. De még mindig hasznos lesz megérteni a kvantumszámítógépek működését.
Egyszerű példa a kvantumszámítógépek működésének megértésére
Tegyük fel, hogy Ön utazási irodát működtet, és egy embercsoportot egyik helyről a másikra kell áthelyeznie.
Annak érdekében, hogy ez egyszerű legyen, tegyük fel, hogy egyelőre csak 3 embert kell mozgatnia - Alice, Becky és Chris.
Tegyük fel, hogy 2 taxit foglalt erre a célra, és szeretné kideríteni, ki melyik taxiba száll be.
Tegyük fel itt is, hogy információt kap arról, hogy ki kivel barátkozik, és ki kivel ellensége.
Tegyük fel, hogy:
- Alice és Becky barátok
- Alice és Chris ellenségek
- Becky és Chris ellenségek
Tegyük fel, hogy itt az a célja, hogy ezt a 3 fős csoportot felosztja a két taxira a következő két cél elérése érdekében:
- A lehető legtöbb barátja párok , hogy ugyanaz a kocsi
- Minimalizálja az ellenséges párok számát, akik ugyanazt az autót használják
Oké, tehát ez a probléma alapfeltétele. Gondoljunk először arra, hogyan oldanánk meg ezt a problémát egy szokásos számítógép segítségével.
A probléma megoldása rendes számítógéppel
Ahhoz, hogy ezt a problémát rendes, nem kvantum számítógéppel oldja meg, először ki kell találnia, hogyan tárolhatja a releváns információkat bitekkel.
Címkézzük fel a két taxit: Taxi # 1 és Taxi # 0.
Ezután 3 bittel képviselheti, ki melyik autóba száll be.
Például a három bitet 0 , 0 ,és 1 képviseli:
- Alice bejut a 0-as taxiba
- Becky bejut a 0-as taxiba
- Chris bejut az 1. taxiba
Mivel minden ember számára kétféle választási lehetőség van, 2 * 2 * 2 = 8 mód van arra, hogy ezt az embercsoportot két autóra osszuk.
Az alábbiakban felsoroljuk az összes lehetséges konfigurációt:
A | B | C
0 | 0 | 0
0 | 0 | 1
0 | 1 | 0
0 | 1 | 1
1 | 0 | 0
1 | 0 | 1
1 | 1 | 0
1 | 1 | 1
3 bit használatával ezeknek a kombinációknak bármelyikét képviselheti.
Az egyes konfigurációk pontszámának kiszámítása
Most egy szokásos számítógép segítségével hogyan határozhatnánk meg, hogy melyik konfiguráció a legjobb megoldás?
Ehhez határozzuk meg, hogyan számíthatjuk ki az egyes konfigurációk pontszámát. Ez a pontszám azt jelenti, hogy az egyes megoldások milyen mértékben érik el az előbb említett két célt:
- A lehető legtöbb barátja párok , hogy ugyanaz a kocsi
- Minimalizálja az ellenséges párok számát, akik ugyanazt az autót használják
Határozzuk meg egyszerűen a pontszámunkat a következőképpen:
(egy adott konfiguráció pontszáma) = (# barátpár ugyanazon autóval) - (# ellenségpár ugyanazon autóval)
Tegyük fel például, hogy Alice, Becky és Chris mind bejutnak az 1. taxiba. Három bit esetén ez 111- ként fejezhető ki .
Ebben az esetben csak egy barátpáros osztozik ugyanazon autóval - Alice és Becky.
Két ellenséges párnak azonban ugyanazon autója van - Alice és Chris, valamint Becky és Chris.
Tehát ennek a konfigurációnak az összpontszáma 1-2 = -1.
A probléma megoldása
Mindezzel a beállítással végre folytathatjuk a probléma megoldását.
Rendes számítógéppel a legjobb konfiguráció megtalálásához lényegében minden konfigurációt át kell néznie, hogy lássa, melyik éri el a legmagasabb pontszámot.
Elgondolkodhat egy ilyen táblázat elkészítésén:
A | B | C | Pontszám
0 | 0 | 0 | -1
0 | 0 | 1 | 1 <- az egyik legjobb megoldás
0 | 1 | 0 | -1
0 | 1 | 1 | -1
1 | 0 | 0 | -1
1 | 0 | 1 | -1
1 | 1 | 0 | 1 <- a másik legjobb megoldás
1 | 1 | 1 | -1
Amint láthatja, itt két helyes megoldás létezik - 001 és 110, mindkettő eléri az 1-es pontszámot.
Ez a probléma meglehetősen egyszerű. Gyorsan túl nehéz megoldani egy szokásos számítógéppel, mivel növeljük az emberek számát ebben a problémában.
Láttuk, hogy 3 fővel 8 lehetséges konfigurációt kell átélnünk.
Mi van, ha 4 ember van? Ebben az esetben 2 * 2 * 2 * 2 = 16 konfigurációt kell elvégeznünk.
N emberrel együtt át kell mennünk (2-n az n erejéig) konfigurációkon, hogy megtaláljuk a legjobb megoldást.
Tehát, ha 100 ember van, át kell mennünk:
- 2¹ ~ = 10³⁰ = egymillió millió millió millió millió konfiguráció.
Ezt egyszerűen lehetetlen megoldani egy szokásos számítógéppel.
A probléma megoldása kvantum számítógéppel
Hogyan folytatnánk ezt a problémát kvantum számítógéppel?
Ezen gondolkodva térjünk vissza arra az esetre, amikor 3 embert két taxira osztunk.
Mint korábban láttuk, erre a problémára 8 lehetséges megoldás létezik:
A | B | C
0 | 0 | 0
0 | 0 | 1
0 | 1 | 0
0 | 1 | 1
1 | 0 | 0
1 | 0 | 1
1 | 1 | 0
1 | 1 | 1
Rendes számítógéppel, 3 bit felhasználásával egyszerre csak ezeket a megoldásokat tudtuk képviselni - például 001.
Kvantumszámítógéppel, 3 qubit felhasználásával azonban mind a 8 megoldást egyszerre képviselhetjük .
Vannak viták arról, hogy mit is jelent pontosan, de én így gondolkodom.
Először vizsgálja meg az első qubitet ebből a 3 qubitből. Amikor mindkettőre állítja0 és 1, ez olyan, mintha két párhuzamos világot hoznánk létre. (Igen, furcsa, de csak kövesse itt.)
Az egyik ilyen párhuzamos világban a qubit 0-ra van állítva. A másikban 1-re van állítva.
És mi van, ha a második qubitet is 0-ra és 1-re állítja ? Ez olyan, mintha 4 párhuzamos világot hoznánk létre.
Az első világban a két qubit 00-ra van állítva. A másodikban 01-et. A harmadikban 10-et. A negyedikben 11-et.
Hasonlóképpen, ha mindhárom qubitet 0-ra és 1-re állítja, 8 párhuzamos világot hoz létre - 000, 001, 010, 011, 100, 101, 110 és 111.
Ez egy furcsa gondolkodásmód, de ez az egyik helyes módszer annak értelmezésére, hogy a qubitek hogyan viselkednek a való világban.
Most, amikor valamiféle számítást alkalmaz erre a három qubitre, valójában ugyanazt a számítást alkalmazza mind a 8 párhuzamos világban egyszerre.
Tehát ahelyett, hogy ezeket a lehetséges megoldásokat egymás után soroznánk végig, egyszerre számíthatjuk ki az összes megoldás pontszámát.
Ezzel a konkrét példával elméletileg a kvantum számítógéped néhány milliszekundum alatt képes lenne megtalálni az egyik legjobb megoldást. Ismét 001 vagy 110, amint azt korábban láttuk:
A | B | C | Pontszám
0 | 0 | 0 | -1
0 | 0 | 1 | 1 <- az egyik legjobb soluti kiegészítők
0 | 1 | 0 | -1
0 | 1 | 1 | -1
1 | 0 | 0 | -1
1 | 0 | 1 | -1
1 | 1 | 0 | 1 <- a másik legjobb tehát lúció
1 | 1 | 1 | -1
A valóságban a probléma megoldásához két dolgot kell megadnia a kvantum számítógépének:
- Minden lehetséges megoldás qubitekkel ábrázolva
- Olyan függvény, amely minden lehetséges megoldást ponttá alakít. Ebben az esetben ez az a funkció, amely megszámolja az ugyanazt az autót megosztó barátpárok és ellenségpárok számát.
Ezt a két dolgot figyelembe véve a kvantum számítógéped néhány milliszekundum alatt kiköpi az egyik legjobb megoldást. Ebben az esetben ez 001 vagy 110, 1-es pontszámmal.
Elméletileg egy kvantum számítógép képes minden futás során megtalálni az egyik legjobb megoldást.
A valóságban azonban vannak hibák egy kvantum számítógép futtatásakor. Tehát ahelyett, hogy a legjobb megoldást találná, megtalálhatja a második legjobb megoldást, a harmadik legjobb megoldást stb.
Ezek a hibák egyre hangsúlyosabbá válnak, mivel a probléma egyre összetettebbé válik.
Tehát a gyakorlatban valószínűleg több tucatszor vagy százszor szeretné futtatni ugyanazt a műveletet egy kvantum számítógépen. Ezután válassza ki a legjobb eredményt a sok kapott eredmény közül.
Hogyan méretez egy kvantum számítógép
Az általam említett hibák ellenére a kvantum számítógépnek nincs ugyanaz a méretezési problémája, amelyet egy szokásos számítógép szenved.
Ha három ember van, két autóra kell osztanunk, a kvantum számítógépen végrehajtandó műveletek száma 1. Ez azért van, mert egy kvantum számítógép egyidejűleg kiszámítja az összes konfiguráció pontszámát.
Ha négy ember van, a műveletek száma továbbra is 1.
Ha 100 ember van, a műveletek száma továbbra is 1. Egyetlen művelettel egy kvantumszámítógép kiszámítja az összes 2¹ ~ = 10 3 = 1 millió millió millió millió millió konfiguráció pontszámát egyszerre.
Mint korábban említettem, a gyakorlatban valószínűleg az a legjobb, ha a kvantumszámítógépet több tucatszor vagy százszor futtatja, és a sok eredmény közül a legjobb eredményt választja.
Azonban még mindig sokkal jobb, mint ugyanazt a problémát futtatni egy rendes számítógépen, és ugyanazt a számítási módot egymillió millió millió milliószor kell megismételni.
Csomagolás
Külön köszönet mindenkinek a D-Wave Systems-nél, hogy mindezt türelmesen elmagyarázta nekem.
A D-Wave nemrégiben felhő környezetet indított el egy kvantum számítógéppel való interakcióhoz.
Ha fejlesztő vagy, és tényleg szeretnéd kipróbálni a kvantum számítógépet, akkor valószínűleg ez a legegyszerűbb módszer erre.
Ugrásnak hívják, és a //cloud.dwavesys.com/leap címen található. Ingyenesen használhatja több ezer probléma megoldására, és könnyen követhető oktatóprogramokkal is ellátják a kvantum számítógépek használatának megkezdését, miután regisztrált.
Lábjegyzet:
- Ebben a cikkben a „rendes számítógép” kifejezést használtam egy nem kvantum számítógépre. A kvantumszámítástechnikában azonban a nem kvantumszámítógépeket általában klasszikus számítógépeknek nevezik.