211service.com
Komputery kwantowe prawie nie istnieją — oto dlaczego i tak piszemy dla nich języki
Badania IBM | Flickr
Komputery kwantowe są nadal niezwykle szczątkowe i w dużej mierze pozostają intrygującą zabawką w kilku zaawansowanych laboratoriach badawczych. To nie zniechęciło ludzi do tworzenia dla nich nowych języków programowania.
Najnowszy pochodzi od Microsoft, który ujawnił Q# (wymawiane jako Q ostry) i kilka powiązanych narzędzi, które pomagają programistom używać go do tworzenia oprogramowania. Dołącza do rosnącej listy innych języków programowania kwantowego wysokiego poziomu, takich jak QCL i Quipper.
Ale biorąc pod uwagę, że praktycznie nikt nie ma komputera kwantowego, po co?
Krysta Svore, główny kierownik ds. badań w dziedzinie obliczeń kwantowych w Microsoft, mówi, że języki są potrzebne, ponieważ te napisane dla dzisiejszych komputerów nie będą działać na komputerach kwantowych. Klasyczne komputery kodują informacje w postaci binarnej jako ciąg jedynek i zer, podczas gdy komputery kwantowe używają bitów kwantowych – lub kubitów – które mogą skutecznie kodować jednocześnie jedynkę i zero.
Stwarza to ogromne ilości mocy przetwarzania równoległego i wyjaśnia, dlaczego jest tak duże zainteresowanie próbami budowy maszyn. Istnieje nadzieja, że komputery kwantowe przyczynią się do znacznych postępów w dziedzinach, od materiałoznawstwa po sztuczną inteligencję (patrz Startup wykorzystuje obliczenia do wzmocnienia uczenia maszynowego).
Ale aby w pełni wykorzystać tę moc, a nawet zbadać, co jest możliwe, programiści będą potrzebować języków kwantowych, aby pomóc im w tworzeniu oprogramowania, które w pełni wykorzystuje możliwości komputerów.
Języki programowania dla klasycznych komputerów są zaprojektowane w sposób, który nie wymaga od programistów wiedzy, jak działa jednostka centralna. Teraz nacisk kładzie się na tworzenie języków programowania kwantowego wysokiego poziomu, które chronią również programistów przed złożonością sprzętu kwantowego.
Dziwactwa obliczeń kwantowych stwarzają ograniczenia, które nie istnieją w klasycznych językach programowania. Jeden przykład: programy kwantowe nie mogą zawierać pętli, które powtarzają sekwencję instrukcji; muszą biec prosto do końca.
Aby poradzić sobie z takimi problemami, Q# działa w połączeniu z kilkoma klasycznymi językami. Deweloperzy bez wiedzy kwantowej mogą pisać swoje główne programy w znanych językach, a następnie używać programu w języku Q#, gdy chcą wykorzystać moc przetwarzania kwantowego.
Powiązana historia
Powiązana historia Jeśli spełni swoją obietnicę, kwantowe uczenie maszynowe może zmienić sztuczną inteligencję.Chociaż nie ma jeszcze własnego komputera kwantowego, firma Microsoft wydała symulatory, które umożliwiają programistom testowanie programów opracowanych w Q# na komputerach stacjonarnych lub w usłudze przetwarzania w chmurze Azure. IBM jest również oferując symulatory, a kilku szczęśliwych programistów może nawet uruchomić swój kod bezpośrednio na swojej maszynie kwantowej.
Xiaodi Wu, ekspert od języków programowania kwantowego na Uniwersytecie Maryland, postrzega nowe języki kwantowe wysokiego poziomu jako logiczny następny krok. Otworzy to drzwi dla większej liczby osób korzystających z tych maszyn, mówi, co może prowadzić do nowych pól badań dla społeczności zajmującej się badaniami kwantowymi.
Pojawiło się kilka wezwań do stworzenia nowych języków kwantowych jako open source, aby szersza społeczność programistów mogła wnieść swój wkład. Pomysł jest taki, że może to dać obliczeniom kwantowym taki sam impuls, jaki rozwój Linuksa dał Internetowi.
Deweloperzy językowi mają też inny cel: studenci myślący o przyszłej karierze. Nowe języki, które sprawiają, że obliczenia kwantowe są bardziej dostępne, powinny zachęcić więcej ludzi do działania w tej dziedzinie. Chcemy rozwijać kadrę kwantową, mówi Svore, ponieważ obliczenia kwantowe odblokują zupełnie nową gospodarkę i będziemy potrzebować ludzi, którzy są programistami kwantowymi, programistami algorytmów i inżynierami.