• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    MAKROUSEKKvantové počítače a programování
    Kvantové počítače - už je buoucnost tady? Má někdo zkušenosti s programováním něčeho takového? Nebo se to za našeho života nepodaří?
    rozbalit záhlaví
    RAGUPKI
    RAGUPKI --- ---
    GIOMIKY: Toto znamená, že na qubit |0⟩ aplikuji odmocninu z NOT, což je v podstatě otočení na Blochově sféře z pólu na rovník. Tím se vytvoří superpozice |0⟩ - i|1⟩ (až na absolutní fázi, kterou jsem vytknul). Potom nastává měření, u kterého hádám, že je v bázi |0⟩/|1⟩. To ale znamená, že pravděpodobnost naměření 0 i 1 je 1/2. Proto se na výstupu náhodně střídají jedničky a nuly.

    Kvantové počítání si můžete udělat třeba v Pythonu, je tam dokonce i knihovna qutip, nebo i na koleně v jakémokoliv jazyce, třeba C. Pokud je vstupní kvantový stav čistý, stačí vám uložit 2^n komplexních čísel (2^(n+1) reálných čísel) na n qubitů, pokud vám záleží na globální fázi a budete si hlídat jednotkovou normu. Logické operace pak buďto můžete skládat maticově (to je ta lineární algebra, kterou tu někdo zmiňoval) a normálně jimi násobit vstupní vektor, nebo pokud jsou to jednoduché gaty, můžete to vymyslet přes prohazování koeficientů. Příklad: obecný stav na vstupu je a*|0⟩ + b*|1⟩. Chci aplikovat Pauliho x matici, tak to vrazím do funkce, která jen přehodí koeficienty a a b. Alternativně můžu vyrobit matici 2x2, kterou to maticově ponásobím. To je užitečnější, když by pak člověk skládal vícequbitová hradla, tak aby mohl jednoduše použít Kroneckerův součin a vyrobit jednu velkou megamatici, ve které se nemusí vyznat. Problém je ale samozřejmě s pamětí, protože u 10 qubitů mít matici 1024*1024 komplexních čísel už něco zabere, pokud není sparse. Ale v těchto implementacích se už tolik nevyznám.

    Jenom pro info, nejsem kvantový informatik, takže můj přehled končí u nějakých základů. Zrovna teď jsem pročítal články, které využívají vícerozměrných "quditů" k tomu, aby se snížil minimální počet logických hradel, ze kterých se dají poskládat vícequbitová hradla podmíněná několika qubity. (jistí vykukové se to snažili opublikovat, jako by to vymysleli oni :-)) Takže když chce člověk udělat třeba Toffoliho, stačí mu na to tři qudit-qubit hradla místo pěti dvouqubitových. Je to docela pěkný fígl, článek zde:
    https://qudev.phys.ethz.ch/static/content/QSIT13/pdfs/Lanyon2009.pdf
    ROLAND
    ROLAND --- ---
    GIOMIKY:
    KRAL_KAREL_IV:
    Díky.
    Trochu jsem zkoušel se dívat, ale ještě stále mi to nedochází, abych si dokázal zhruba představit ten princip fungování. Kdysi jsem viděl nějaký dokument ze kterého tak nějak vycházím. Trochu třeba u toho počasí si dokáži představit výhodu výpočtů pomocí Quantového počítače. Ale už vůbec nějak jak se tam ta data zapracovávají a vypočítávají.

    Kdysi bavil s někým kdo to studoval, a ptal jsem se ho ohledně mých představ pro AI u strategické hry, tak mi říkal, že pokud mě dobře pochopil, tak Quantum na mé představy jsou overkill, ale na druhou stranu tehdy klasacké PC zase nestačí. Takže jsem to o čem jsem přemýšlel někdy v 98 dal k ledu. Pak později jsem se pokusil udělat si nějaké základní schéma pro diplomacii a to má cca 102 řádek a každá řádka má 2-4 volby. Ale pokud se k tomu někdy vrátím, tak to budu muset výrazně z redukovat, protože by to pochopil málokterý hráč.

    A tak nějak naivně doufám že Quantové počítače převezmou jednoho dne žezlo nad těmi klasickými. I když z toho vývoje to vypadá tak, že skončíme u terminálových služeb a cloudu. Nějaké domácí PC nebo Konzole budou asi minulostí.
    GIOMIKY
    GIOMIKY --- ---
    GIOMIKY:
    > a asi podle cetnosi by mohl odhadnou, ze je to 0...
    Coz neni !!! :-)
    Tak ja fakt nevim...
    - sum([1,0,0,0,1,1,1,1,1,1,0,1,1,0,0,1,0,0,0])
    - 10
    10 jednicek ...
    - len([1,0,0,0,1,1,1,1,1,1,0,1,1,0,0,1,0,0,0])
    - 19
    19 prvku
    Tak asi jedna... a pritom:
    
    def sqrt(n):
      if n < 0:
        return
      else:
        return n**0.5
      
    print(sqrt(0))
    
    0.0
    

    GIOMIKY
    GIOMIKY --- ---
    Tohle by mohlo byt zajimave...
    GitHub - tensorflow/quantum: Hybrid Quantum-Classical Machine Learning in TensorFlow
    https://github.com/tensorflow/quantum
    ROLAND:
    Asi bych zacal tady:
    Quantum programming - Wikipedia
    https://en.wikipedia.org/wiki/Quantum_programming
    Kazdy pes, jina ves... asi neni moc standardu, kterym by nejaka kvantova pocitadla podlehala...
    Existujou najeky simulatory kvantovyho pocitace na legacy hardware... ale abych odpovedel na otazku...
    GitHub - quantumlib/Cirq: A python framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.
    https://github.com/quantumlib/Cirq
    
    import cirq
    
    # Pick a qubit.
    qubit = cirq.GridQubit(0, 0)
    
    # Create a circuit
    circuit = cirq.Circuit(
        cirq.X(qubit)**0.5,  # Square root of NOT.
        cirq.measure(qubit, key='m')  # Measurement.
    )
    print("Circuit:")
    print(circuit)
    
    # Simulate the circuit several times.
    simulator = cirq.Simulator()
    result = simulator.run(circuit, repetitions=20)
    print("Results:")
    print(result)
    


    Example output:
    
    Circuit:
    (0, 0): ───X^0.5───M('m')───
    Results:
    m=11000111111011001000
    


    Umel by to nekdo interpretovat?
    Ja to chapu tak, ze clovek vytvori otazku:
    Jaka je mozcnina nuly....
    A 20-tkrat (v tomto prikladu) zmeri polarizci (?) qubitu
    a asi podle cetnosi by mohl odhadnou, ze je to 0...

    Sorry za nepresnosti, fakt o tom nic moc nevim (a o to vice bych se chtel dozvedet)...
    KRAL_KAREL_IV
    KRAL_KAREL_IV --- ---
    ROLAND: Těžko říct, co je typický kód. Před časem tu proběhla zmínka o Q# https://docs.microsoft.com/en-us/samples/browse/?languages=qsharp Většina učebnic používá obvody https://homepages.cwi.nl/~rdewolf/qcnotes.pdf Články pak jak kdy, někdy vyjádří co chtějí udělat pomocí nějakého Hamiltoniánu a pak řeknou, že to jde optimalizovat. A samozřejmně lisp https://www.youtube.com/watch?v=svmPz5oxMlI
    ROLAND
    ROLAND --- ---
    Byla by prosím ukázka nějakého typického kódu? (Nejde mi asi ani tak o překladač to bude asi dosti podobné jako u klasického programování. Takový ten rozdíl ala - Basic vs Pascal vs C++ apot.) Respektive by mne zajímala nějaká jednoduchá obrazová/diagramová názornost. Pan google se se mnou nekamarádí a nebo nevím řádně ani co přesně zadat.

    U klasického strojového kódu si to představit ještě stále umím.
    Díky.
    MAKROUSEK
    MAKROUSEK --- ---
    GIOMIKY: To zni trochu jako "playstation prece nedokaze nikdo hacknout"!
    GIOMIKY
    GIOMIKY --- ---
    MAKROUSEK
    MAKROUSEK --- ---
    GIOMIKY: A zkusils to?
    GIOMIKY
    GIOMIKY --- ---
    A tady je pokus o kryptomenu pripravenou na kvantove pocitace
    QRL: The Quantum Resistant Ledger
    https://www.theqrl.org/
    GIOMIKY
    GIOMIKY --- ---
    Velka modra nabizi jajysi tutorial a pristup k necemu, cemu rika Quantum experience'
    IBM Quantum Experience
    https://quantum-computing.ibm.com/
    GIOMIKY
    GIOMIKY --- ---
    Must read
    Cryptography Apocalypse: Preparing for the Day When Quantum Computing Breaks Today's Crypto: Grimes, Roger A.: 9781119618195: Amazon.com: Books
    https://www.amazon.com/...tography-Apocalypse-Preparing-Quantum-Computing/dp/1119618193?tag=qrsx7-20
    MAKROUSEK
    MAKROUSEK --- ---
    RAGNAROK: Prave. Ale ono to bude trochu jako kdyz Elon strasi tou singularitou. Nez se to stane, uplyne mnoho vody pod mostem. Ale ze bych mel v kazdem telefonku entangleovane fotony, aby se mi hackeri nevloupali na ucet, to si dokazu tezko predstavit. I kdyz, kdyz si clovek vezme, ze flash pameti vlastne pouzivaji tunelovy efekt elektronu...
    RAGNAROK
    RAGNAROK --- ---
    MAKROUSEK:
    Quantum computing may make current encryption obsolete, a quantum internet could be the solution | ZDNet
    https://www.zdnet.com/...-make-current-encryption-obsolete-a-quantum-internet-could-be-the-solution/
    MAKROUSEK
    MAKROUSEK --- ---
    KRAL_KAREL_IV: Rekl bych, ze pocasi nebo AI budou takove nejvetsi vyuziti. Ale ono se neco najde, kdyz davali dohromady internet, taky uplne nevedeli, v co se to vyvine.
    KRAL_KAREL_IV
    KRAL_KAREL_IV --- ---
    Další dobrá otázka by byla: "když už bychom měli kvantové počítače, tak co na nich počítat." Pokud zapomenu na Shorův algoritmus (tolika qubitové počítače ještě nemáme), tak vím jen o chemických a fyzikálně-chemických simulacích. Ty jsou sice užitečné, ale taky už nějakou dobu běží (na specializovaných strojích). Ale moc nevím co bych dělal s výkonným univerzálním kvantovým počítačem (mimo jeho prodeje). Co jsem pochopil, tak velké firmy se jich nejspíš budou snažit využít na optimalizaci ve strojovém učení (neumím odhadnou, jak užitečné tohle bude). A už vůbec nevím jak užitečné může být řešit SAT v čase odmocnina z triviálního. Šifrování a přenos informace mi taky zní, že spíš než na univerzálním stroji bude prováděné na specializovaném zařízení (a tudíž nebude programované v Feynman úplném jazyce). Znáte nějaké užitečné využití, které mi uniklo? Nebo jsou ty, které jsem jmenoval užitečnější, než si myslím?
    MAIMONIDES
    MAIMONIDES --- ---
    Programování se už podařilo:)
    Akorát to není na čem pustit a nic ze současnosti nenaznačuje, že by se obecné kvantové počítače na užitečný (2k+) počet qubitů.
    MAKROUSEK
    MAKROUSEK --- ---
    Zdravim. Nejake zkusenosti? Ja si stahnul https://marketplace.visualstudio.com/items?itemName=quantum.DevKit ale zatim jsem to nerozchodil.
    Kliknutím sem můžete změnit nastavení reklam