• Home
  • Kemi
  • Astronomien
  • Energi
  • Naturen
  • Biologi
  • Fysik
  • Elektronik
  •  science >> Vetenskap >  >> Fysik
    Forskare tar steg mot felsökningsverktyg för kvantdatorer

    Kredit:CC0 Public Domain

    I klassisk datoranvändning, felsökningsprogram är en av de mest tidskrävande uppgifterna inom mjukvaruutveckling. Framgångsrik felsökning är beroende av verktyg för mjukvaruutveckling och även på programmerarens erfarenhet. Inom kvantberäkning, forskare förutspår att felsökning kommer att bli en ännu större utmaning. I en artikel som snart kommer att visas på ACM/IEEE 46th Annual International Symposium for Computer Architecture (som en del av ACM:s 2019 Federated Computing Research Conferences), forskare vid Princeton University presenterar felsökningsverktyg baserade på statistiska tester, med ett mål att hjälpa programmerare att bygga korrekta kvantprogram för kortsiktiga kvantdatorer.

    Quantum computing lovar att förändra datorvärlden genom att erbjuda funktioner utöver alla klassiska datorer. Dessa funktioner kommer från kvantalgoritmer - sekvenser av instruktioner som berättar för en kvantdator vad de ska göra för att beräkna något resultat, ungefär som mjukvara för klassiska datorer idag. Dessa algoritmer täcker ett brett spektrum av applikationer. Till exempel, kvantkemialgoritmer skulle tillåta forskare att beräkna egenskaper hos kemiska föreningar direkt från kvantmekanikens styrande ekvationer, en formidabel uppgift utom räckhåll för moderna datorer för alla utom de enklaste molekylerna. Andra algoritmer lovar att påskynda sökningen inuti databaser och möjliggöra säker kommunikation som är resistent mot avlyssning.

    I ungefär två decennier har dessa kvantalgoritmer existerade bara som abstrakta ekvationer och specifikationer, och har faktiskt aldrig körts på riktiga kvantdatorer. Det forskningslandskapet har förändrats snabbt. Under de senaste åren, forskare har byggt den första prototypen av kvantdatorer som kan köra kvantprogram. I synnerhet, IBM har gjort småskaliga kvantdatorer tillgängliga för allmänheten för att köra kod och se resultat. Med detta växande intresse för kvantberäkningsexperiment, en ny och brådskande utmaning ligger i att hjälpa programmerare att översätta dessa abstrakta algoritmer till korrekt fungerande kvantprogramskod.

    "Vi upptäckte att även forskare som är specialiserade på kvantberäkning gör subtila misstag i kvantprogramskod, förhindra att programmen ger korrekta resultat, "Yipeng Huang, postdoc vid Princeton University och författare till tidningen, sa. "Om det är så knepigt för erfarna kvantprogrammerare, hur kan elever som är nya inom kvantberäkning skriva korrekta program, utan hjälp av verktyg som debuggers?"

    I artikeln "Statistiska påståenden för att validera mönster och hitta buggar i kvantprogram, "Huang och Margaret Martonosi, professor i datavetenskap vid Princeton, identifiera tre viktiga svårigheter vid felsökning av kvantprogram, och utvärdera deras lösningar för att hantera dessa svårigheter.

    Den första svårigheten är att programmerare inte enkelt kan undersöka värdena på variabler i ett kvantprogram, medan programmet körs. Denna begränsning försvårar felsökning, med tanke på att ett av de viktigaste stegen i felsökningsprogram är att inspektera värdena för variabler steg för steg under ett programs gång. Kvantprogrammerare kan inte göra den här typen av felsökning eftersom att läsa kvantvariabler skulle innebära att mäta och "kollapsa" de känsliga kvanttillstånden inuti kvantdatorer. När ett kvanttillstånd väl kollapsar, några observationer skulle inte vara en fullständig beskrivning av programmets tillstånd.

    I deras tidning, Huang och Martonosi tar itu med denna utmaning genom att hitta sätt att felsöka kvantprogram med endast information om de kollapsade kvanttillstånden. De överväger att felsöka program i två olika typer av inställningar; i en inställning körs kvantprogrammen i simulering på en klassisk dator, och i den andra inställningen körs programmen på riktiga prototypkvantdatorer. I båda inställningarna, de använder flera körningar av kvantprogrammet för att hitta fördelningen av tillstånden inuti kvantprogrammet.

    Den andra svårigheten är att även när observationer eller simuleringar är tillgängliga, kvanttillstånd är i allmänhet högdimensionella och svåra att tolka, begränsa deras användbarhet för programmerare att felsöka felaktiga kvantprogram.

    Huang och Martonosis lösning på denna utmaning är att använda statistiska tester på mätresultat, för att hjälpa programmerare att avgöra om resultaten överensstämmer med tre typer av tillstånd. De använder chi-square statistiska testet för att avgöra om de observerade tillstånden tillhör ett av klassiska, superposition, eller intrasslade tillstånd. "Vi fokuserar vår uppmärksamhet på dessa tre typer av tillstånd eftersom de förekommer genom ett kvantprogram, och är lättare för programmerare att identifiera, "Sa Huang." Om staterna inte matchar vad programmeraren förväntar sig, de statistiska testerna hjälper programmeraren att zooma in och hitta misstag i programkoden. "

    Den tredje svårigheten är att programmerare ännu inte har några riktlinjer för var och vad de ska kontrollera vid felsökning av kvantprogram. Tills nyligen, kvantalgoritmer existerade huvudsakligen som ekvationer; ibland, algoritmerna skulle vara mer utarbetade i form av kvantkretsdiagram. Uppgiften att koda kvantprogram innebär att översätta dessa kvantkretsdiagram till programkod. "Det senaste inom kvantprogrammering liknar programmering av klassiska datorer för 50 år sedan, "Sa Huang." För närvarande, forskare skriver kvantprogram operation för operation, på mycket låga informationsbitar. Ett bidrag i vår uppsats är att diskutera hur mönstren och strukturerna i kvantalgoritmer guidar programmerare att veta vad de ska kontrollera. "

    I deras tidning, Huang och Martonosi använder sina felsökningsverktyg för att testa flera riktmärkekvantprogram, inklusive en för att faktorisera heltal, en för att söka efter data, och en inom området kvantkemi. Programmönster som är vanliga i dessa algoritmer, såsom loopingoperationer, häckningsoperationer, och speglingsoperationer, fungera som guider för kvantprogrammerare för att veta var de ska använda felsökningsverktygen.

    Stöds av National Science Foundation genom projektet EPiQC Expedition, Huang och Martonosis arbete med felsökningsverktyg är ett pragmatiskt förhållningssätt till problemet med att skriva korrekta kvantprogram. Det ansluter sig till ett växande område av relaterade tillvägagångssätt, många som bygger på formella bevis. "Vi har upptäckt att att skriva korrekta kvantprogram bygger på en blandning av tekniker, ", sa Huang. "Precis som fallet i klassisk programmering, kvantprogrammerare kommer att förlita sig på en blandning av pragmatiska och formella tekniker."

    © Vetenskap https://sv.scienceaq.com