Mi az a kvantum számítógép? Egyszerű példával magyarázva.

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 ~ = 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.