211service.com
Jak programowanie kwantowe przekształciło się w trójwymiarową grę logiczną?
Oprogramowanie to część komputera składająca się z zakodowanych informacji i instrukcji. Jest całkowicie oddzielony od sprzętu — fizycznych struktur, które wykonują te instrukcje. Przynajmniej tak jest w przypadku konwencjonalnych komputerów.
Ale w ostatnich latach informatycy coraz bardziej skupiają się na komputerach kwantowych, które wykorzystują dziwne prawa mechaniki kwantowej do przetwarzania informacji. Skutkuje to znacznie potężniejszymi obliczeniami. Jednak w świecie kwantowym znacznie trudniej jest oddzielić oprogramowanie od sprzętu.
Niemniej jednak zaczyna się pojawiać nowy, potężny sposób myślenia o oprogramowaniu kwantowym. Ciekawą rzeczą w tym podejściu jest to, że zamienia programowanie kwantowe w rodzaj trójwymiarowej układanki. Prowadzi to do interesującego pytania: czy można gamifikować program kwantowy w sposób, który daje użyteczne wyniki?
Dzisiaj otrzymujemy odpowiedź dzięki pracy Simona Devitta z Riken w Saitama w Japonii, który zbudował grę online, która może odegrać kluczową rolę w przyszłości programowania kwantowego. Gra może nie tylko pomóc ludziom tworzyć lepsze programy, ale może również pomóc nowej generacji maszyn sztucznej inteligencji w podjęciu się tego zadania.
Najpierw trochę tła. Jednym ze sposobów myślenia o programie kwantowym jest dwuwymiarowa sieć kubitów, jak arkusz, lub trójwymiarowa siatka, jak kryształ. Informacje są kodowane poprzez utworzenie dziury lub defektu w sieci.
Jest to potężne podejście, ponieważ informacje są w naturalny sposób chronione przed błędami dzięki właściwościom samej sieci, która skutecznie blokuje ją w miejscu.
Informacje można przetwarzać, przesuwając defekty przez siatkę i owijając je wokół siebie, jak splątaną kłębek sznurka. Proces splątania może wywołać bramki logiczne, które wspólnie wykonują obliczenia.
Jest to zasadniczo proces topologiczny. Tak więc matematyka topologii opisuje cały proces, niezależnie od tego, jak nieporządne staje się splątanie. Dopóki sieci są topologicznie identyczne, inne szczegóły splątania nie mają znaczenia.
Jest to analogiczne do słynnego związku między pączkiem a filiżanką kawy. Te kształty są zupełnie inne, ale są identyczne topologicznie, ponieważ oba zawierają jeden otwór. Każda z nich może zostać przekształcona w drugą poprzez ściskanie i rozciąganie, ale nie przez rozdarcie.
Dokładnie to samo dotyczy programów kwantowych. Dwa programy wykonują to samo zadanie, pod warunkiem, że są identyczne topologicznie, ale niezależnie od tego, jak splątane stają się sieci.
To rodzi interesujący problem. Biorąc pod uwagę splątaną sieć reprezentującą kwantowy program komputerowy, jak łatwo można to zrobić, zachowując jego topologię? Innymi słowy, jak zoptymalizować program kwantowy?
To ważne, ponieważ dzisiejsze komputery kwantowe mogą obsłużyć tylko kilka kubitów. Przy tak ograniczonych zasobach kwantowych im prostszy program można stworzyć, tym łatwiej można go wdrożyć.
Tu właśnie wkracza Devitt. Opracował potężny sposób wizualizacji programów kwantowych jako trójwymiarowych siatek z zazębiającymi się sekcjami reprezentującymi sposób przechowywania i przetwarzania informacji. Zadaniem optymalizacji jest uproszczenie sieci poprzez przesuwanie, zmniejszanie, rozciąganie i przerabianie zazębiających się sekcji przy zachowaniu tej samej topologii.
Devitt poszedł dalej, grywalizując zadanie — przekształcił je w opartą na sieci łamigłówkę o nazwie MeQuanics, które możesz wypróbować tutaj . Ideą gry jest to, że program kwantowy może zasilać twój statek kosmiczny. Ale program, który masz, jest zbyt duży i dlatego należy go zmniejszyć za pomocą różnych narzędzi, które mogą go przerobić.
Gra jest fascynująca i nie różni się tak bardzo od innych łamigłówek. Jest trochę wadliwy, ale wygląda dobrze i warto spróbować, jeśli masz kilka minut.
Jest jeszcze jeden ukryty aspekt gry. Jednym ze sposobów przyspieszenia procesu optymalizacji programów kwantowych byłoby wytrenowanie algorytmu uczenia maszynowego do wykonania zadania. Algorytmy te odniosły ogromny sukces w innych zadaniach i ten rodzaj optymalizacji wydaje się idealnie dopasowany.
Ale jest problem. Algorytmy te muszą być przeszkolone, a to wymaga dużego zestawu danych przykładów, z których mogą się uczyć. Jednak optymalizacja programów kwantowych jest tak nowa, że nie ma odpowiednich zestawów danych do tego zadania.
Dlatego MeQuanics jest ważny – proces grania w grę tworzy bazę przykładów, które można wykorzystać do trenowania maszyny. A biorąc pod uwagę wystarczającą ilość danych, maszyny powinny w końcu przewyższyć ludzi. Program AlphaGo firmy Google pokazał, jak potężne mogą być, gdy ostatnio zmiażdżył jednego z najlepszych ludzkich graczy Go po pochłonięciu ogromnego zestawu danych gier Go, w które grano online.
Devitt to interesująca praca, która ma potencjał, aby wprowadzić nowe pokolenie ludzi do programowania kwantowego. A co najważniejsze, pozwoli im to na zabawę podczas nauki.
Nr ref.: arxiv.org/abs/1609.06628 : Programowanie komputerów kwantowych za pomocą puzzli trójwymiarowych, filiżanek do kawy i pączków