Kuantum hesaplaması: Yazılım geliştirme için bir paradigma kayması

semaver

New member
Kuantum bilgisayar bilimi, bilginin işlenmesinde temel bir değişikliği temsil eder. Onlarca yıldır bilgisayarları modelleyen ikili mantığın ötesine geçiyor. Klasik bilgisayarlar 0 veya 1 koşullarında net bir şekilde bitlerle çalışırken, kuantum bilgisayarlar kuantum mekaniğinin garip özelliklerini kullanır. Kuantum bitleri (quit), aynı anda farklı koşullarda olabilen geliştirilmiştir.






Michael Stale




Dr. Michael Stal, 1991 yılından bu yana Siemens teknolojisi üzerinde çalışmaktadır. Yazılım mimarisi sorunları hakkında iş alanları önermektedir ve Siemens'in kıdemli yazılım mimarlarının mimari oluşumundan sorumludur.







Bir yazılım geliştiricisi olarak kuantum hesaplamasını anlamak istiyorsanız, sadece yeni programlama paradigmalarını anlamak değil, aynı zamanda bu tür hesaplamaya izin veren aşağıdaki fiziği de alın.



Kuantum hesaplamasının büyük umudu, belirli sorun sınıflarını klasik bilgisayarlardan katlanarak daha hızlı çözme yeteneğinde yatmaktadır. Bunlar, örneğin, ana faktörlerinde çok sayıda sökülmesini, taşınmayan veritabanlarının araştırılmasını ve kuantum mekanik sistemlerin kendilerinin simülasyonunu içerir. Bununla birlikte, kuantum hesaplaması klasik bilgisayar teknolojisinin basit bir sürümü değildir. Sorunları çözerken çok kendi algoritmaları ve tamamen farklı düşünme yolları gerektirir.

Python'da geliştirdiğim bir kuantum simülatörü GitHub'da mevcut. Komut dosyalarınızı veya kontrollerinizi simülatörde denemek istiyorsanız, bunu orada yapabilirsiniz.

Klasik bilgi teorisi ve kuantum


Klasik bilgi teknolojisinde, bitlerdeki bilgiler yapılır. Her bit 0 veya 1'i temsil eder. Tüm klasik işlemler, bu ikili değerlerin ve veya gereklilik gibi mantıksal kapılar yoluyla manipülasyonu olarak anlaşılabilir. N bitli klasik bir sistemin durumu, her bir bitin değeri belirlenerek tanımlanabilir – genel olarak bilgi gereklidir.



Diğer ilkeler kuantum bilgi teorisinde geçerlidir. Bir kubit, 0 ve 1 koşullarının üst üste binmesi de olabilir. Bu örtüşme matematiksel olarak iki temel durumun doğrusal bir kombinasyonu olarak tanımlanabilir. N quit'li bir sistem, 2'nin üst üste binmesiyle üst üste bindirilebilirN olası klasik koşullar. Bu durumun açıklamasını tamamlamak için genellikle 2'dir.N Gerekli karmaşık sayılar.

Bu üstel küçülme, kuantum bilgisayarlara potansiyellerini sunar, ancak aynı zamanda büyük bir karmaşıklığa sahiptir. Klasik bitin aksine, quibits istendiği gibi kopyalanamaz: klonlanmadan teorem onu dışlar. Bir kubit ölçülürse, örtüşmesi kaybolur. Ardından 0 veya 1 iki temel koşuldan birine atlayın.

Kuantum mekaniği için temel


Kuantum hesaplamasını anlamak istiyorsanız, klasik dünyada eşdeğer olmayan kuantum mekanik fenomenlerle karşılaşmalısınız.

Kaplama, kuantum hesaplamasının temelidir. 0 ve 1'in bir kombinasyonu – hiçbir ölçüm yapılmaması şartıyla. Bu ilke, Schrödinger'in bir kedinin hayatta olduğu ve aynı zamanda öldüğü ünlü düşünceleriyle açıkça karşılaştırılabilir. Bununla birlikte, bu benzetme yüzeysel kalır, çünkü kuantum alanında örtüşme tam olarak kontrol edilebilir ve manipüle edilebilir.

Matematiksel olarak, bir quibit durumu şu gibi görünüyor: |⟩ = α | 0⟩ + β | 1⟩. Α ve β karmaşık sayılardır, bu nedenle değiş tokuş edilir. Her zaman uygulanır | α | ² + | β | ² = 1. Kubit ölçülürse, bir sonuç 0 ve olasılıkla | β | ² A Sonuç 1.

Başka bir saf kuantum mekanik fenomen dolaşımdır. İki veya daha fazla Quantum, artık bireysel durumların ürünü olarak tanımlanamayan bir duruma girer. Bu bağlamda Einstein “uzun vadeli spektral etki” den bahsetti. Ancak, büyük mesafelerde acil korelasyonlar mümkün olsa bile, örtüşen hızla iletişim hariç tutulur. Artış, birçok kuantum algoritmasının temelidir ve kuantum hatalarının düzeltilmesi için gereklidir.

İki kubit dolaşırsa, bir kubbit ölçümü, mesafeden bağımsız olarak eşinin durumuna eşzamanlı olarak karar verir. Bu korelasyon tüm klasik olasılıkları aşar ve hesaplamalarda uygulanabilir görünmeyen yollar açar.

Kuantum alanına müdahale, doğru sonuçları güçlendirmenizi ve yanlış gizlemenizi sağlar. Bunu yapmak için, kuantum algoritmaları, yanlış sonuçların genişlikleri eklenirken birbirine iptal edilecek şekilde inşa edilmelidir. Bu girişim, Govers Search gibi algoritmaların arkasındaki merkezi mekanizmadır.

Kuantum alanındaki ölçüm temel olarak klasik gözlemden farklıdır. Bir ölçüm, sistemi olası temel durumlardan birine getirir ve örtüşen ve iç içe geçmiş tüm yok eder. Bu geri döndürülemez özellik, kuantum algoritmalarını, aşçı sisteminden önce ilgili bilgileri elde edecek şekilde zorlar.

Kuantum kapısı ve devrenin bir diyagram modeli


Kuantum hesaplaması genellikle devrenin şemasını (devre modeli) takip eder. Kuantum Kapısı klasik bit mantıksal kapılara benzer kubit manipüle edin. Bununla birlikte, kuantum kapısı geri dönüşümlü olmalıdır: üniterdirler, yani genel olasılığı alırlar ve iptal edilebilirler.

Bireysel Quable için en temel kapıya Pauli -x, -ye -z denir. Quibit durumlarının geometrik bir temsili olan So -Called Bloch Ball üzerindeki birkaç eksen etrafında bir quibit durumunu döndürürler. X-mastar klasik bir acil durum kapısı borsalarına karşılık gelir | 0⟩ Eksileri | 1⟩. Hadamard Gatter (H) örtüşmeler yaratır. Değişim | 0⟩ (| 0⟩ + | 1⟩)/√2 ve | 1⟩ (| 0⟩ – | 1⟩)/√2.

İki kubit kapısı dolaşmaya izin verir. En önemli örnek Gate CNOT'dur (kontrol edilmemiştir). Bir quibite hedefinin durumunu yalnızca vergi quube eyalette mevcutsa dönüştürür | 1⟩. Bireysel kubit kapıları ile birlikte, akla gelebilecek tüm kuantum algoritmaları oluşturulabilir.

Klasik devrelerin aksine, kuantum devresi klasik halkalar içeremez. Kuantum işlemlerindeki zamansal işlem üniter kalır. Bunun yerine, birçok kuantum algoritması kuantum paralel kullanır: örtüşme birçok çözüm yolunun eşzamanlı araştırmasına izin verir.

Kod sayfaları olan kuantum algoritmaları


İlk örnek, gerçek kuantum kuantum hesaplama donanımının yürütülmesini de destekleyen bir IBM kütüphanesi olan Qiskit'in yardımıyla örtüşme ve ölçüm gösterir:



from qiskit import QuantumCircuit, QuantumRegister, ClassicalRegister

from qiskit import execute, Aer

from qiskit.visualization import plot_histogram


qreg = QuantumRegister(1, 'q')

creg = ClassicalRegister(1, 'c')


circuit = QuantumCircuit(qreg, creg)

circuit.h(qreg[0])


circuit.measure(qreg[0], creg[0])


backend = Aer.get_backend('qasm_simulator')

job = execute(circuit, backend, shots=1000)

result = job.result()

counts = result.get_counts(circuit)

print(counts)




Bu örnek örtüşme prensibini göstermektedir. Hadamard kapısını kullandıktan sonra, kubit | 0⟩ E | 1⟩. 1000 tekrardaki ölçüm istatistiksel olarak 0 ve 1 için aynı sayıda sonuçla sonuçlanır.

İkinci bir örnek, çan kısıtlamasının üretimini gösterir:



qreg = QuantumRegister(2, 'q')

creg = ClassicalRegister(2, 'c')

circuit = QuantumCircuit(qreg, creg)

circuit.h(qreg[0])

circuit.cx(qreg[0], qreg[1])

circuit.measure(qreg, creg)

job = execute(circuit, backend, shots=1000)

result = job.result()

counts = result.get_counts(circuit)

print(counts)




Hadamard kapısını ilk kubit ve CNOT bağlantısına kullandıktan sonra, iç içe geçmiş durum (| 00⟩ + | 11⟩)/√2 sunulur. Bu nedenle ölçüm sadece '00' ve '11' – asla '01' veya '10' gösterir.

Govers'ın araştırma algoritması, kuantum mekanik ivmenin üçüncü bir örneği olarak işlev görür. Makale sırasında açıklamalarla tam bir uygulama izlenir.

Kuantum hata düzeltmesi


Kuantum bilgisayarlardaki hataların düzeltilmesi özellikle zorludur, çünkü kuantum bilgileri bozukluklara son derece duyarlıdır. Deco-. Korumanın basit bir kopyası klonlanmadan teoremden çıkarılabilir.

Hatanın düzeltilmesi, farklı fiziksel quibitlere mantıksal quibitlerin dahil edilmesiyle elde edilir. Bu şekilde, hatalar gerçek bilgileri yok etmeden tanınabilir ve çözülebilir. Basit bir örnek, üç kubit ile devrilme kodudur: | 0⟩ | 000⟩, | 1⟩ | 111⟩.

Bu şekilde çağrılan yüzey kodu, ölçeklenebilir hatanın düzeltilmesi için umut verici olarak kabul edilir. Quibits iki boyutlu bir ızgarada bulunur. Gerçek kübiti etkilemeden hataların tespiti için daha fazla rahatlama miktarları kullanılır. Yüzey kodu, yaklaşık %1'in altında kaldığı sürece yüksek bir hata oranını tolere eder.

Ancak, önemli bir aşırı yük vardır. Hata ile korunan tek bir mantıksal quibit için yüz binlerce fiziksel quibit gereklidir. Bu gerçek, kuantum bilgisayarların pratik kullanımının en büyük engellerinden birini temsil eder.

Mevcut donanım ve programlama ortamları


Kuantum donanımının uygulanmasında çeşitli teknolojik çizgiler rekabet etmektedir. Quit Super -Testate – örneğin IBM ve Google – son derece düşük sıcaklıklarda (yaklaşık 10 mil in) çalışın ve çok hızlı kapı işlemlerine izin verir, ancak sadece kısaca tutarlıdır.

İyonik tuzaklar – örneğin ionq veya honeywell – quibit olarak elektrikle yakalanan iyonları kullanır. Bu sistemler daha uzun tutarlılık süreleri ve daha fazla hassasiyet gösterir, ancak daha yavaş çalışırlar. Mimariniz herhangi bir kubit arasında doğrudan bağlantılar sağlar.

Fotona dayanan kuantum bilgisayarlar, kubit gibi hafif parçacıklar kullanır ve oda sıcaklığında çalışır. Bununla birlikte, iki kubit kapısının bu teknolojide uygulanması daha zordur. Küçülmeniz hala diğer yaklaşımların arkasında.

Yazılım açısından, birkaç resim var. QISKIT (IBM), kuantum devrelerinin oluşturulması ve yürütülmesi için eksiksiz bir Python kütüphanesi sunmaktadır. CIRQ (Google) Google'ın donanımını hedefliyor. Microsoft Q#, kuantum programlama için özel olarak tasarlanmış bir dili temsil eder.

Tüm çerçeve genellikle devre şemasını (devre) kullanır. Orada, geliştiriciler kuantum kapıların sırasını açıkça tanımlar. Kuantum bilgisayarlar için daha yüksek programlama dili, kuantum programlamayı gelecekte daha erişilebilir hale getirmek için araştırmalar yapmaktadır.




Ne yazık ki, bu bağlantı artık geçerli değil.

Boşa harcanan eşyalara olan bağlantılar, 7 günlük daha büyükse veya çok sık çağrılmışsa gerçekleşmez.


Bu makaleyi okumak için bir Haberler+ paketine ihtiyacınız var. Şimdi yükümlülük olmadan bir hafta deneyin – yükümlülük olmadan!
 
Üst